Sari la conținut

Autentificare

Fiecare cerere către API trebuie să includă un Bearer token în antetul Authorization.

Formatul token-ului

Tokenurile sunt restricționate la un singur tenant și au forma <slug-tenant>.<cheie>:

tenant.7c4a8d09ca3762af61e59520943dc26494f8941b
  • Partea dinaintea punctului (aici tenant) este slug-ul tenantului tău — același care apare în subdomeniu (tenant.notsowms.ro). Îi indică platformei către ce bază de date să direcționeze cererea, încă dinainte ca cheia să fie validată.
  • 7c4a8d09... este secretul propriu-zis. Tratează-l ca pe o parolă — oricine are tokenul complet poate acționa ca tenantul tău.

Trimiterea token-ului

http
GET /api/v1/products HTTP/1.1
Host: tenant.notsowms.ro
Authorization: Bearer tenant.7c4a8d09ca3762af61e59520943dc26494f8941b
Accept: application/json

curl:

bash
curl https://tenant.notsowms.ro/api/v1/products \
  -H "Authorization: Bearer tenant.7c4a8d09ca3762af61e59520943dc26494f8941b" \
  -H "Accept: application/json"

Emiterea unei chei

Tokenurile se gestionează din interfața WMS, Setări → Chei API. Fiecare cheie are:

  • Nume — etichetă descriptivă (ex. integrare eMag, sync-erp-intern).
  • Permisiuni — listă opțională de permisiuni. Unele endpoint-uri cer permisiuni specifice (orders:write, inventory:read, etc.).
  • Expirare — dată ISO opțională după care cheia nu mai funcționează.
  • Activă — comutator pentru suspendare fără ștergere, util în caz de incident.

După salvare, tokenul complet (<slug-tenant>.<cheie>) este afișat o singură dată. Stochează-l imediat în managerul tău de secrete. Platforma stochează doar un hash SHA-256 și nu îl poate recupera.

Rotație

Pentru a roti o cheie:

  1. Emite o cheie nouă.
  2. Mută integrările pe noul token.
  3. Revocă cheia veche.

Cele două chei pot coexista pe perioada tranziției; nimic nu te obligă la o trecere bruscă.

Erori legate de autentificare

StatusBodyCauză
401{"error":"API key missing. Use Authorization: Bearer <key>"}Lipsește antetul Authorization.
401{"error":"Invalid API key format. Expected: <tenant>.<key>"}Tokenul nu conține prefixul de tenant și separatorul ..
401{"error":"Invalid API key (unknown tenant)."}Slug-ul de tenant din token nu corespunde niciunui tenant activ.
401{"error":"Invalid API key (no matching key in tenant DB).", "debug":{…}}Partea de cheie nu se potrivește cu nicio înregistrare în baza tenantului. Răspunsul include un bloc debug cu DB-ul așteptat și cel conectat efectiv — util pentru depanarea unei comutări de conexiune nereușite.
403{"error":"Account suspended."}Tenantul este suspendat din panoul central de admin.
403{"error":"API key is inactive."}Comutatorul de activare este oprit.
403{"error":"API key has been revoked."}Cheia a fost revocată explicit.
403{"error":"API key has expired."}Data de expirare este în trecut.
403{"error":"Missing permission: orders:write"}Endpoint-ul a cerut o permisiune pe care cheia nu o are.

Jurnalizare

Fiecare cerere autentificată este înregistrată în tabela api_request_logs cu metoda, calea, statusul răspunsului și durata. Poți audita traficul unei chei din aceeași pagină de Setări.

Documentație API notso WMS