Autentificare
Laravel Sanctum (Bearer token). Token-ul reprezintă un utilizator; datele operaționale se filtrează pe companie prin header.
Obținere token
/api/auth/tokencurl -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
/api/auth/revokeNecesită Bearer. Invalidează token-ul curent (deconectare API).
Context companie (X-Company-Id)
- Utilizatorul trebuie să aibă acces la compania indicată.
- Fără header: super-admin poate vedea toate companiile; utilizatorii obișnuiți văd compania principală.
- Listați companiile accesibile:
GET /api/companies(nu cereX-Company-Id).
/api/companies/api/userModule și drepturi (scopes)
Pe lângă autentificare, fiecare rută de date verifică:
- Modulul API activ pe companie
- Modulul de conținut (ex. inbound, outbound, articole)
- 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.