Przejdź do głównej zawartości

products — import kartoteki produktów

Klucz JSON: products · Handler: App\Api\Bizami\Products

Import tworzy lub aktualizuje produkt (Product) oraz jego dane dodatkowe (ProductData). Rekord jest zapisywany tylko wtedy, gdy przynajmniej jedna wartość uległa zmianie względem stanu w bazie.

Pola rekordu

PoleWymaganeMapowane naOpis
PKtakIdentyfikator rekordu do zwrotki wyniku
ItemCodetakproduct_idUnikalny identyfikator produktu (SAP item code)
KodFemaxnieskuKod SKU; jeśli pusty, używany jest ItemCode
U_NrKatDostniecatalog_numberNumer katalogowy dostawcy
CardCodetakproviderKod dostawcy
FirmCodetakproducentKod producenta
ItmsGrpCodtakcatalog_groupKod grupy towarowej
SWeight1takgross_weightWaga brutto (float, akceptuje przecinek dziesiętny)
SVolumetakgross_volumeObjętość brutto (float)
FrozenFortakis_active"Y" → produkt nieaktywny (is_active = 0), inna wartość → aktywny
PurchasePricetakvalueCena zakupu (float)
ItemNamenienameNazwa produktu
CatalogPriceniecatalog_priceCena katalogowa (float) — pole zapisywane tylko jeśli obecne w żądaniu
PurPackUnniedata.package_class_aWielkość opakowania klasy A (float)
SalPackUnniedata.package_class_bWielkość opakowania klasy B (float)
Qrygroup5takdata.is_for_shares"Y" → produkt akcyjny (1), w przeciwnym razie 0
Qrygroup1takdata.is_discontinued"Y" → produkt wycofany (1), w przeciwnym razie 0
UserTextniedata.commentsKomentarz / uwagi
substitutesnieLista kodów zamienników jako string rozdzielony przecinkami, np. "ABC123,DEF456"

Przykład żądania

{
"products": [
{
"PK": 1,
"ItemCode": "ABC123",
"KodFemax": "SKU-ABC123",
"U_NrKatDost": "NK-001",
"CardCode": "D-001",
"FirmCode": "F-100",
"ItmsGrpCod": "GRP-01",
"SWeight1": "1,250",
"SVolume": "0,003",
"FrozenFor": "N",
"PurchasePrice": "12,50",
"ItemName": "Przykładowy produkt",
"CatalogPrice": "19,99",
"PurPackUn": "10",
"SalPackUn": "1",
"Qrygroup5": "N",
"Qrygroup1": "N",
"UserText": "Uwaga: produkt sezonowy",
"substitutes": "XYZ001,XYZ002"
}
]
}

Przykład odpowiedzi

{
"products": [
{ "PK": 1, "SendStatus": "Y" }
]
}

Przy błędzie (np. brak wymaganego pola):

{
"products": [
{ "PK": 1, "SendStatus": "N", "SendMessage": "Undefined array key \"CardCode\"" }
]
}