Pro komunikaci s mobilním skladníkem je potřeba komunikovat s adresou api.mobilni-skladnik.cz. K tomu je potřeba uvést hlavičku identifikující developera „x-client-id“ a autorizaci. Pro založení nového tenanta (instalace mobilního skladníka) Vám přidělíme developerský token. Po založení tenanta dostanete Token pro konkrétního tenanta.
Dokumentaci API najdete na https://api.mobilni-skladnik.cz/api/public
Založení tenanta
Na začátku je nutné založit „tenanta“. To uděláte tak, že pošlete API volání:
PUT https://api.mobilni-skladnik.cz/api/v1/tenant
Authorization: Bearer ${developerToken}
x-client-id: 78fbbedf-569c-48ca-bd7e-fc420ae540be
{
"tenantId": "51a57cd2",
"companyName": "Firma s.r.o.",
"requireLogin": false
}
Odpovědí je autorizační token pro daného klienta. Ten se pak používá pro komunikaci.
requireLoginse používá pokud potřebujete, aby klient vždy před použitím terminálu zadal PIN)companyName– název – pro snažší identifikaci klientadativeryOrganizationId– pouze evidenční – můžete si uložit nějaký váš identifikátor kvůli fakturacidativeryFlowId– pouze evidenční – můžete si uložit identifikátor integrace (např. máte dva sklady a tak jej chcete rozdělit)tentantId– ID – 8 znaků HEXA – vygenerujte si vždy náhodné ID.documentSyncUrl– URL, které se zavolá když uživatel skladníka chce vynutit synchronizaci (je na to tlačítko)changeRequestUrl– URL, které se zavolá když uživatel změní umístění produktu nebo přidá další EAN
Zapsání procesů
Proces identifikuje jednotlivé typy dokumentů nebo úkolů (např. objednávka nebo inventura). Samotné vyladění procesů je nejsložitější a nejlepší je vyjít z naší šablony.
POST https://api.mobilni-skladnik.cz/api/v1/{tenantId}/process
Authorization: Bearer ${tokenProTenanta}
x-client-id: 78fbbedf-569c-48ca-bd7e-fc420ae540be{...}
Přenos produktů a stavu skladu
Následně je potřeba zapsat produkty (products), stav skladu (warehouse-state) a případně existující doklady (transaction-document)
Přenos dokladů
Nyní je potřeba přenést existující doklady do zařízení (např. objednávky apod.).
Spárování zařízení
Následně je potřeba spárovat zařízení a tím aktivovat aplikaci v mobilním zařízení.
POST https://api.mobilni-skladnik.cz/api/v1/{tenantId}/device
Authorization: Bearer ${tokenProTenanta}
x-client-id: 78fbbedf-569c-48ca-bd7e-fc420ae540be
{
"name": "Můj telefon"
}
Název pro identifikaci zařízení (je pak v seznamu zařízení). Vrací „pairToken„, který lze zadat do zařízení. Platí pouze nějakou chvíli.
Zpracování webhooků
Moblilní skladník je kvůli rychlosti přenosů postaven na webhookách. Zkusíme je trochu popsat.
Každý dokument, který zapíšete má vlastní webhook (notifyUrl), který je zavolaný při změně. Po tom co dokument ve skladníkovi finálně uzavřou, dostanete status ‚COMPLETE‚. Vy jej přenesete a zpátky nastavíte u přeneseného dokladu buď "finished": true a nebo "responseError" s popisem chyby
Když se změní produkt (nový EAN nebo umístění), je zavolán webhook tentant.changeRequestUrl s daným produktem. Měli byste pak zpátky přes úpravu produktu zapsat aktuální verzi produktu
Dokumenty nově vytvářené ve skladníkovi se volají podle procesu (process.webhook). Takže jej můžete zapsat
Vždy platí, že jste notifikování o většině úprav na dokladu. My si zapíšeme, že je doklad rozpracovaný a pak čekáme na "COMPLETE". Pak jej označíme jako přenesený. A pozor, po označení jako přenesený přijde znovu notifikace (ignorujeme finished=true).