Autentificare API

API-ul flowSCMC folosește **Bearer tokens** (Laravel Sanctum) cu permisiuni granulare (**abilities**) și context obligatoriu de tenant via X-Company-Id.

Bearer token (Sanctum)

Aspect Detaliu
Emitere POST /api/auth/token sau UI Administrare
Revocare POST /api/auth/revoke
Expirare Configurabilă (typical 90 zile)
Abilities Subset din whitelist platformă
Transport Header Authorizationniciodată în URL

Emitere token — request complet


POST /api/auth/token
Content-Type: application/json

{
  "email": "integrator@firma.ro",
  "password": "***",
  "abilities": [
    "articles:read",
    "stock:read",
    "sales-orders:write"
  ],
  "device_name": "erp-production-2026"
}

Răspuns:


{
  "token": "1|plainTextTokenHere",
  "abilities": ["articles:read", "stock:read", "sales-orders:write"]
}

Stocați token-ul o singură dată la creare — nu e re-afisat complet din UI.

Abilities disponibile


*
articles:read, articles:write
stock:read
sales-orders:read, sales-orders:write
purchase-orders:read, purchase-orders:write
receptions:read, receptions:write
returns:read
webhooks:read, webhooks:write
clients:read, partners:read, warehouses:read
Ability Permite
* Tot — evitați producție
articles:read GET articole, sync
articles:write POST/PATCH articole
stock:read GET stoc
sales-orders:write Creare/actualizare SO
webhooks:write Configurare webhooks

Token cu ability lipsă → 403 Forbidden.

Headers obligatorii

Header Când Exemplu
Authorization: Bearer {token} Aproape tot Bearer 1\ abc...
X-Company-Id: {numeric} Resurse date 42
X-Three-Pl-Id Context 3PL multi-company 1
Idempotency-Key: {uuid} POST duplicate-safe uuid v4
Accept: application/json Recomandat
Content-Type: application/json POST/PATCH body

Exemplu request complet


GET /api/articles/123
Authorization: Bearer 1|xxxxxxxx
X-Company-Id: 42
Accept: application/json

Multi-company — flux


1. POST /api/auth/token
2. GET  /api/companies     → [{ id: 42, name: "ACME" }, ...]
3. Pentru fiecare request operațional:
      X-Company-Id: {id ales}

Un token poate accesa mai multe companii — separați logic în integrare (ex. mapare ERP plant → company id).

Autentificare web vs API

Canal Mecanism Utilizare
Browser utilizator SCMC-Gate SSO Operatori, admin
Script / ERP Bearer token Automatizare
Webhook inbound HMAC signature Verificare evenimente
Integrări eTSM Bearer dedicat Config admin

Nu expuneți parola utilizatorului în scripturi — token API din UI.

Integrări inbound (Bearer separat)

Integrare Prefix Auth
eTSM transport /api/integrations/etsm/* Bearer partajat per site

Credențialele se configurează în panoul administrare — nu sunt publice.

Detalii: Integrări inbound.

Kernel API (platformă SCMC)

/api/kernel/v1/* — token dedicat platformă:

  • Topology site-uri
  • Statistici globale
  • Module on/off

Nu pentru integratori ERP obișnuiți.

Rate limiting

Limită Valoare tipică
Auth token 10 req/min per IP
API date ~60 req/min per companie
Răspuns 429 + Retry-After

Strategie: backoff exponențial, webhooks în loc de polling.

Detalii: Erori.

Securitate — checklist

  • [ ] TLS 1.2+ obligatoriu
  • [ ] Token rotit periodic
  • [ ] Abilities minime
  • [ ] Revocare la offboarding integrator
  • [ ] Logs fără token plain text
  • [ ] Webhook signature verificată

Vezi și

flowSCMC · documentație publică · 2026-07-29