Autentificare

Laravel Sanctum (Bearer token). Token-ul reprezintă un utilizator; datele operaționale se filtrează pe companie prin header.

Obținere token

POST/api/auth/token
curl -s -X POST https://www.flowscmc.ro/api/auth/token \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"email":"utilizator@exemplu.ro","password":"parola-dvs"}'
{
  "token": "1|abc123…",
  "user": { "id": 1, "name": "…", "email": "…" }
}

Limita: aproximativ 10 request-uri / minut pe acest endpoint.

Folosirea token-ului

Authorization: Bearer 1|abc123…
X-Company-Id: 123
Accept: application/json
Content-Type: application/json

Revocare

POST/api/auth/revoke

Necesită Bearer. Invalidează token-ul curent (deconectare API).

Context companie (X-Company-Id)

GET/api/companies
GET/api/user

Module și drepturi (scopes)

Pe lângă autentificare, fiecare rută de date verifică:

  1. Modulul API activ pe companie
  2. Modulul de conținut (ex. inbound, outbound, articole)
  3. Opțional: scopes pe token (ex. articles:read, sales-orders:write)

Dacă lipsește un modul, răspunsul tipic este 403 cu mesaj clar în envelope-ul de eroare.

Idempotency-Key

Pe POST/PUT/PATCH puteți trimite Idempotency-Key: <uuid> pentru a evita dublarea documentelor la retry de rețea.

Integrări fără Sanctum

eTSM / MDM inbound folosesc un Bearer partajat din mediu (ETSM_INBOUND_BEARER_TOKEN, MDM_INBOUND_BEARER_TOKEN), nu token-ul utilizatorului. Detalii: documentația eTSM și secțiunea inbound din OpenAPI.