REST API Import dat uživatelů V1
Tento zdroj slouží k importu uživatelů 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ů uživatele zvolte atributy pro import a volitelně upravte jejich JSON klíče
- Pro vytváření nových nebo pro změnu role existujících uživatelů je nutné vyplnit Mapování rolí pro atribut Role. Zde se zadává řetězec, co se vyskytuje jako hodnota atributu Role v JSONu a uživatelská role v Quantu, jemuž je přiřazen.
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 |
E-maily pro notifikace | 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ů |
Oddělovač položek seznamu | Znak, čímž se oddělují položky seznamu, např. pro hodnoty atributu Jednotlivé pobočky. | výběr z předdefinovaných položek |
Mapování atributů uživatelů | Mapování obsahující položku pro uživatelské jméno, roli, e-mail a další atributy, které májí být importovány. | komplexní typ |
Požadavek
/v1/import/user-data/{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 (více v manuálu Úvod a přihlášení). |
Metoda | POST |
Obsahem požadavku je pole JSON objektů obsahující klíče definované v nastavení Mapování atributů uživatele. Tyto jednotlivé záznamy popisují jednoho uživatele.
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. |
Empty IDs | Volitelný - je zahrnut pouze, pokud import neskončil se stavem "FAILURE" Počet záznamů s prázdným uživatelským jménem. |
Duplicated Users | Volitelný - Je zahrnut pouze, pokud import neskončil se stavem "FAILURE" Počet záznamů s uživatelským jménem, který se již dřív vyskytoval v záznamech. |
Ignored Users | Volitelný - je zahrnut pouze, pokud import neskončil se stavem "FAILURE" Počet ignorovaných záznamů z důvodu.
|
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 "http://[VASE_SPOLECNOST.iquant.eu/v1/import/user-data/206?debug" \
-H "Authorization: Bearer ywJqq25pXO6oaCPqgEAiTioBVwM8Ih2kOwzzd3eWK3R2oDSA5n" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Cache-Control: no-cache" \
-d '[\
{ \
"Username": "john.foo", \
"Name" : "John Foo", \
"Role": "catman", \
"E-mail": "[email protected]", \
"All Stores": true \
}, \
{ \
"Username": "jack.woo", \
"Name" : "Jack Woo", \
"Role": "store manager", \
"E-mail": "[email protected]", \
"All Stores": false \
"Individual Stores": "store1,store2,store3"
} \
]'
Odpověď
{
"Status": "SUCCESS",
"Total Lines": 2,
"Empty IDs": 0,
"Ignored Users": 0,
"Duplicated Users": 0
}