REST API Import balení produktů V1
Tento zdroj slouží k importu balení produktů v Quantu. Vstupním i výstupním formátem je JSON.
Pro vytvoření a nastavení importu použijte sekci Automatické úlohy. Po vytvoření bude v seznamu úloh ID, které předáte v URL požadavku.
Nastavení
Před použitím API je nutno upravit tyto atributy v záložce Nastavení:
- Zaškrtněte atribut Zapnuto pro povolení úlohy.
- V atributu Uživatelé s povoleným přístupem pro API zvolte jednoho nebo více uživatelů s rolí Robot, kteří budou mít oprávnění úlohu spouštět.
- V atributu Mapování atributů balení produktů zvolte atributy pro import a volitelně upravte jejich JSON klíče.
- Dále doporučujeme vyplnit Emaily k notifikacím, kde zadáte jednu či více e-mailových adres, na které budou zasílány e-maily s chybovými stavy.
Atributy
Atribut | Popis | Typ |
Zapnuto | Určuje, zda je daná automatické úloha aktivní a mohou přes ní být posílána data. | ano/ne |
Titul | Vlastní název automatické úlohy. | text |
Popis | Vlastní popis funkce automatické úlohy. | formátovaný text |
Poznámky | Poznámky. | dlouhý text |
Emaily k notifikacím | Jedna nebo více e-mailových adres, na které budou zasílány e-maily s chybovými stavy. | seznam řetězců |
Uživatelé s povoleným přístupem pro API | Uživatelé s rolí Robot, kteří jsou oprávněni úlohu spouštět. | seznam uživatelů |
Jednotka rozměru | Měrná jednotka jako cm, mm atd. | výběr |
Formát dat | Formát zápisu data, např. 31.12.19 | výběr |
Formát datumu a času | Formát zápisu data a času, např. 31.12.19 23:59:59 | výběr |
Mapovací atribut | Atribut produktu v Quantu, pomocí kterého se budou párovat položky z importu s produkty v Quantu. | výběr |
Vytvořit nové produkty | Je-li zapnutý, import vytvoří nové produkty pro neexistující ID produktů. Tato volba je aktivní pouze, když v Mapovací atribut je vybraný Primární ID produktu. | ano/ne |
Nastavit nové produkty pro planogramy | Je-li zapnutý, nově vytvořené produkty budou určené pro tvorbu planogramů. Tato volba je aktivní pouze, když Vytvořit nové produkty je zapnutý. | ano/ne |
Ignorovat smazané produkty | Standardně, když import nenajde živý produkt k danému ID, tak hledá mezi smazanými produkty. Pokud najde smazaný, tak ho oživí. Zapnutím této volby se smazané produkty místo oživení ignorují. | ano/ne |
Nepřepisovat nenulové rozměry | Je-li zapnutý, rozměry z importovaných záznamů (např. výška, šířka) se naimportují pouze, když existující balení má nulové rozměry. | ano/ne |
Odstranit neaktualizovaná balení | Je-li zapnutý, smaže balení, které nebyly aktualizovány žádným záznamem. Platí pouze pro produkty zahrnuty v tomto importu. | ano/ne |
Odstranit pouze prázdná balení | Je-li zapnutý, smaže pouze prázdná neaktualizovaná balení, tj. balení s prázdným názvem a nulovými rozměry. | ano/ne |
Mapování atributů balení produktů | Mapování obsahující položku pro každý atribut, který má být importován. | komplexní typ |
Požadavek
/v1/import/product-packages/{id_ulohy}
Parametr | Hodnota |
URL | ?debug přidaný do URL zobrazí v odpovědi i varování. Bez toho se vypisují pouze chyby. |
Hlavička | Accept: application/json |
Hlavička | Content-type: application/json |
Hlavička | Authorization: Bearer <TOKEN> TOKEN se získává pomocí /authenticate (viz. Přihlášení). |
Metoda | POST |
Obsahem požadavku je pole JSON objektů obsahující klíče definované v nastavení Mapování atributů balení produktů.
Je důležité, aby požadavek odpovídal standardům pro JSON formát. Kompletní definici těchto standardů najdete zde. Hodnoty číselných atributů prosím posílejte bez uvozovek viz příklad.
Odpověď
Klíč | Hodnota |
Status | Řetězec popisující výsledný stav importu.
|
Warnings | Je volitelný, tzn. je zahrnut pouze, pokud je v URL parametr ?debug a import vygeneroval alespoň jedno varování. Seznam řetězců s varováními. |
Errors | Volitelný - je zahrnut pouze, pokud import vygeneroval alespoň jednu chybu. Seznam řetězců s chybami. |
Total Lines | Volitelný - je zahrnut pouze, pokud import neskončil se stavem "FAILURE" Počet záznamů na vstupu. |
Duplicated Packages | Volitelný - Je zahrnut pouze, pokud import neskončil se stavem "FAILURE" Počet záznamů které byly přeskočeny, protože toto balení již bylo importováno ve stejném požadavku. |
Ignored Products | Volitelný - Je zahrnut pouze, pokud import neskončil se stavem "FAILURE" Počet produktů ze vstupu, pro které se balení produktů nenaimportovaly. Možné důvody jsou:
|
Stavové kódy
Stav | Význam |
200 OK | Import proběhl úspěšně s výsledným stavem "SUCCESS" nebo "PARTIAL_SUCCESS". Odpověď může obsahovat varování nebo nezávažné chyby. |
400 Bad Request | Chybné nastavení úlohy, nebo chybný požadavek. |
401 Unauthorized | Autorizační token je neplatný, nebo uživatel, který je tokenem přihlášen, nemá oprávnění spouštět tuto úlohu. |
404 Not Found | Nebyla nalezena úloha s ID daným v URL. |
500 Internal Server Error | Během importu nastala kritická chyba na straně serveru. |
503 Service Unavailable | Import již běží. Zkuste to spustit znova za počet sekund udávaných v hlavičce Retry-After. |
Záznam průběhu
V Quantu vedle nastavení úlohy lze prohlížet i záznamy průběhů jednotlivých importů, včetně statistik, chyb a varování.
Vybereme-li konkrétní záznam, můžeme zobrazit jeho detaily tlačítkem Zobrazit položky.
Požadavek
curl -X POST --location "https://[YOUR_COMPANY].iquant.eu/v1/import/product-packages/28?debug" \
-H "Authorization: Bearer ywJqq25pXO6oaCPqgEAiTioBVwM8Ih2kOwzzd3eWK3R2oDSA5n" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Cache-Control: no-cache" \
-d "[{ \"Primary Product ID\": \"100001\", \"Packaging\": \"Test Package\", \"Width\": 10.5, \"Height\": 3, \"Depth\": 0.4 }]"
- Odpověď
{
"Status": "SUCCESS",
"Total Lines": 1,
"Duplicated Products": 0,
"Ignored Products": 0
}