REST API v1
Prefix: /api · OpenAPI: GET /openapi.json
Descoperire & sănătate
| Metodă | Cale | Auth | Descriere |
|---|---|---|---|
| GET | /api |
Nu | Index JSON endpoints |
| GET | /api/health |
Nu | Health check |
Autentificare
| Metodă | Cale | Descriere |
|---|---|---|
| POST | /api/auth/token |
Emitere token |
| POST | /api/auth/revoke |
Revocare token curent |
| GET | /api/user |
User curent |
| GET | /api/companies |
Companii accesibile |
Articole
Modul: content-articole · Abilities: articles:read / articles:write
| Metodă | Cale |
|---|---|
| GET | /api/articles |
| GET | /api/articles/{id} |
| POST | /api/articles |
| PUT/PATCH | /api/articles/{id} |
| GET | /api/articles/sync |
| PATCH | /api/articles/by-code/{code} |
Stoc
Modul: content-stoc · Ability: stock:read
| Metodă | Cale |
|---|---|
| GET | /api/stock |
Query params tipice: warehouse_id, article_id, paginare.
Comenzi vânzare (outbound)
Modul: content-outbound · Abilities: sales-orders:*
| Metodă | Cale |
|---|---|
| GET | /api/sales-orders |
| GET | /api/sales-orders/{id} |
| POST | /api/sales-orders |
| PUT/PATCH | /api/sales-orders/{id} |
Statusuri: CREAT, IN_LUCRU, INCARCAT, LIVRAT, ANULAT.
Intrări (inbound)
Modul: content-inbound
| Resursă | Cale |
|---|---|
| Purchase orders | /api/purchase-orders |
| Receptions | /api/receptions |
CRUD complet pe ambele.
Retururi
Modul: content-retururi · Ability: returns:read (create fără write ability separat pe unele instalări)
| Metodă | Cale |
|---|---|
| GET | /api/returns |
| POST | /api/returns |
| GET | /api/returns/{id} |
Referință
| Resursă | Cale | Modul |
|---|---|---|
| Clienți | /api/clients |
content-clienti |
| Parteneri | /api/partners |
content-parteneri |
| Depozite | /api/warehouses |
content-depozite |
Doar GET (list + show).
Webhooks
Modul: webhooks — vezi Webhooks.
Exemplu: listă articole
GET /api/articles?per_page=50
Authorization: Bearer {token}
X-Company-Id: 42
{
"data": [
{
"id": 1,
"code": "SKU-001",
"name": "Exemplu articol",
"unit": "buc"
}
],
"meta": { "current_page": 1, "last_page": 3 }
}
Cantități pe linii
La POST comenzi/recepții, liniile conțin article_id sau article_code, quantity, opțional warehouse_id.
Filtre utile
| Resursă | Parametri query |
|---|---|
/api/articles |
page, per_page, search, code |
/api/stock |
warehouse_id, article_id, updated_since |
/api/sales-orders |
status, partner_id, page |
/api/purchase-orders |
status, partner_id |
/api/receptions |
purchase_order_id, status |
Sync articole (ERP)
GET /api/articles/sync acceptă:
updated_since— ISO8601, doar articole modificate după timestamp- cursor paginare în răspuns (continuați până la epuizare)
Recomandare: rulați sync la 15–60 min, nu la fiecare secundă.
Exemplu POST recepție
{
"purchase_order_id": 88,
"warehouse_id": 1,
"transport_ecc": "AWB123456",
"selected_items": [
{
"po_item_id": 201,
"quantity_um3pl": 50,
"lot_number": "LOT-2026-07",
"serial_data": null
}
]
}
Module necesare
| Resursă | Modul companie |
|---|---|
| Articole | content-articole + api |
| Stoc | content-stoc + api |
| SO | content-outbound + api |
| PO / REC | content-inbound + api |
| Retururi | content-retururi + api |
| Webhooks | webhooks + api |
Modul dezactivat → 403 Forbidden chiar cu token valid.
Exemple complete
Copii curl gata de rulat: Exemple requesturi.
Erori
Răspuns JSON: { "message": "...", "code": "VALIDATION_FAILED" } — detalii.