Dokumentace k API mobilního skladníka

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.

  • requireLogin se používá pokud potřebujete, aby klient vždy před použitím terminálu zadal PIN)
  • companyName – název – pro snažší identifikaci klienta
  • dativeryOrganizationId – pouze evidenční – můžete si uložit nějaký váš identifikátor kvůli fakturaci
  • dativeryFlowId – 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).