Exemple requesturi

Copii **curl** gata de adaptat — înlocuiți token-ul, ID-ul companiei și URL-ul instanței. Toate exemplele presupun `https://flowscmc.ro` și modul **API** activ.

Sfat: testați interactiv în Playground înainte de a integra în ERP.

Variabile comune


export BASE="https://flowscmc.ro"
export TOKEN="1|inlocuiti_cu_token_real"
export COMPANY="42"

1. Autentificare și companii


# Token (preferați UI Administrare → Token-uri API în producție)
curl -sS -X POST "$BASE/api/auth/token" \
  -H "Content-Type: application/json" \
  -d '{"email":"integrator@firma.ro","password":"***","abilities":["stock:read","sales-orders:write"],"device_name":"erp-prod"}'

# Companii accesibile
curl -sS "$BASE/api/companies" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

2. Articole — listă și sync delta


# Pagină articole
curl -sS "$BASE/api/articles?per_page=50" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Company-Id: $COMPANY"

# Sync incremental (articole modificate după timestamp)
curl -sS "$BASE/api/articles/sync?updated_since=2026-07-01T00:00:00Z" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Company-Id: $COMPANY"

Creare articol


curl -sS -X POST "$BASE/api/articles" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Company-Id: $COMPANY" \
  -H "Content-Type: application/json" \
  -d '{
    "code": "SKU-DEMO-001",
    "name": "Produs demonstrativ",
    "unit": "buc",
    "barcode": "5901234567890"
  }'

Update după cod ERP


curl -sS -X PATCH "$BASE/api/articles/by-code/SKU-DEMO-001" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Company-Id: $COMPANY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Produs demonstrativ v2", "weight_kg": 1.25}'

3. Stoc


# Stoc filtrat
curl -sS "$BASE/api/stock?warehouse_id=1&article_id=10" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Company-Id: $COMPANY"

# v2 — paginare cursor (volume mari)
curl -sS "$BASE/api/v2/stock?limit=100" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Company-Id: $COMPANY"

4. Comandă vânzare (SO)


curl -sS -X POST "$BASE/api/sales-orders" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Company-Id: $COMPANY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \
  -d '{
    "partner_id": 5,
    "warehouse_id": 1,
    "external_ref": "ERP-ORD-2026-001",
    "lines": [
      {"article_code": "SKU-DEMO-001", "quantity": 10}
    ]
  }'

Schimbare status (v2)


curl -sS -X PATCH "$BASE/api/v2/sales-orders/123/status" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Company-Id: $COMPANY" \
  -H "Content-Type: application/json" \
  -d '{"status": "LIVRAT"}'

5. Intrări — PO și recepție


# Comandă achiziție
curl -sS -X POST "$BASE/api/purchase-orders" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Company-Id: $COMPANY" \
  -H "Content-Type: application/json" \
  -d '{
    "partner_id": 3,
    "warehouse_id": 1,
    "lines": [{"article_code": "SKU-DEMO-001", "quantity": 100}]
  }'

# Recepție parțială
curl -sS -X POST "$BASE/api/receptions" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Company-Id: $COMPANY" \
  -H "Content-Type: application/json" \
  -d '{
    "purchase_order_id": 88,
    "warehouse_id": 1,
    "selected_items": [
      {"po_item_id": 201, "quantity_um3pl": 40}
    ]
  }'

6. Retur


curl -sS -X POST "$BASE/api/returns" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Company-Id: $COMPANY" \
  -H "Content-Type: application/json" \
  -d '{
    "sales_order_id": 123,
    "warehouse_id": 1,
    "lines": [{"article_code": "SKU-DEMO-001", "quantity": 2}]
  }'

7. Webhook — creare abonament


curl -sS -X POST "$BASE/api/webhooks" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Company-Id: $COMPANY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://erp.firma.ro/hooks/flowscmc",
    "events": ["sales_order.status_changed", "stock.updated"],
    "auth_type": "hmac",
    "signing_secret": "whsec_generati_un_secret_lung"
  }'

8. Batch v2 (până la 10 sub-request-uri)


curl -sS -X POST "$BASE/api/v2/batch" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Company-Id: $COMPANY" \
  -H "Content-Type: application/json" \
  -d '{
    "requests": [
      {"method": "GET", "path": "/api/v2/stock?limit=5"},
      {"method": "GET", "path": "/api/v2/articles?per_page=5&fields=id,code,name"}
    ]
  }'

9. Health (fără auth)


curl -sS "$BASE/api/health"

Headers obligatorii — rezumat

Header Când
Authorization: Bearer … Aproape toate endpoint-urile autentificate
X-Company-Id Orice resursă operațională (stoc, comenzi, articole)
Idempotency-Key POST critice (SO, PO) — UUID unic
Content-Type: application/json POST/PATCH cu body

Următorii pași

  • REST v1 — referință completă resurse
  • REST v2 — cursor, batch, ambalaje
  • Webhooks — evenimente și retry
  • Erori — coduri și depanare
flowSCMC · documentație publică · 2026-07-29