REST API Import základních entit V1
Tento zdroj slouží k importu základních entit jako poboček, kategorie nebo plánovaných náhrad 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.
Automatická úloha
- 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 Základní entita pro import vyberte jakou entitu požadujete importovat.
- V atributu Párovací atribut vyberte atribut podle, kterého se mají propojit stávající hodnoty s novými.
- V atributu Mapování atributů 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 |
Nadpis | 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ů |
Základní entita pro import | Určuje pro jakou entitu se má import provést. | výběr |
Párovací atribut | Určuje podle jakého atributu se mají nové hodnoty párovat se stávajícími. | výběr |
Párovací atribut produktu | Určuje podle jakého atributu se mají nové hodnoty produktu párovat se stávajícími. | výběr |
Mapování atributů | Atribut entity v Quantu, pomocí kterého se budou párovat položky z importu. | komplexní typ |
Vytvořit nové položky | Je-li zapnutý, import vytvoří nové položky pro neexistující ID párovacího atributu. | ano/ne |
Ignorovat smazané položky | Standardně když import nenajde živou položku k danému ID, tak hledá mezi smazanými položkami. Pokud najde smazanou položku, tak ji oživí. Zapnutím této volby se smazané položky místo oživení ignorují. | ano/ne |
Zpoždění v sekundách před opakováním | Počet sekund, jak dlouho má klient čekat, než znovu zkusí provést import v případě dlouhé kolony požadavků na server. | celé číslo |
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 |
Oddělovač položek seznamu | Znak oddělující jednotlivé položky v seznamu. | výběr |
- Požadavek
/v1/import/basic-entities/{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ů.
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 | Volitelný - je zahrnut pouze, pokud import neskončil se stavem "FAILURE" Počet záznamů, které byly přeskočeny, protože tento produkt již byl importován ve stejném požadavku. |
Empty IDs | Volitelný - je zahrnut pouze, pokud import neskončil se stavem "FAILURE" Počet záznamů, které byly přeskočeny, protože k nim nebylo nalezeno párovací ID požadavku. |
Ignored | Standardně, když import nenajde živou položku k danému ID, tak hledá mezi smazanými položkami. Pokud najde smazanou položku, tak ho oživí. Zapnutím této volby se smazané položky místo oživení ignorují. |
- 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. |
- Nejnovější logy
V Quantu vedle nastavení úlohy lze prohlížet i nejnovější logy jednotlivých importů, včetně statistik, chyb a varování.
Vybereme-li konkrétní záznam, můžeme zobrazit jeho detaily tlačítkem Stáhnout soubory.
- Požadavek
curl -X POST --location "https://[YOUR_COMPANY].iquant.eu/v1/import/basic-entities/959977?debug" \
-H "Authorization: Bearer ywJqq25pXO6oaCPqgEAiTioBVwM8Ih2kOwzzd3eWK3R2oDSA5n" \-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Cache-Control: no-cache" \
-d "[ {"id":"CAT001","name":"Number 1","prodAt": ["External ID attribute 1","External ID attribute 2"]},
{"id":"CAT002","name":"Number 2","prodAt": "External ID attribute 1"},
{"id":"CAT003","name":"Number 3","prodAt": ["External ID attribute 1","External ID attribute 4","External ID attribute 5"]
"}]"
- Odpověď
{
"Status": "SUCCESS",
"Total Lines": 4,
"Duplicated": 0,
"Empty Ids": 1,
"Ignored": 0
}