Referință API
API-ul REST notso WMS expune următoarele grupuri de resurse sub /api/v1. Alege o secțiune din meniul lateral pentru detalii complete despre cereri și răspunsuri per endpoint.
Versiune
Toate endpoint-urile documentate aici sunt sub /api/v1, versiunea curentă. Modificările incompatibile cu versiunile anterioare vor fi expuse pe viitor sub un prefix nou (/api/v2, /api/v3); până atunci, /api/v1 este singura versiune și include automat toate funcționalitățile recente (deduplicarea liniilor cu același produs, auditul și izolarea per tenant).
| Grup | Scop |
|---|---|
| Produse | Listează, citește, creează, actualizează și șterge produse din catalog. |
| Comenzi | Creează comenzi, citește-le după id, actualizează statusul, șterge comenzile noi sau anulate. |
| Stocuri | Citește stocul per locație și sumarele agregate; adaugă sau scoate stoc. |
| Furnizori | Gestionează înregistrările furnizorilor. |
| Locații | Listează locațiile depozitului și ierarhia lor. |
| Curieri | Descoperă curierii configurați pentru tenantul tău — necesar la crearea comenzilor. |
| Facturi (billing) | Trimite facturi de platformă în modulul "Facturi" din tabloul de bord (folosit de NotSoCRM). |
| Service auto (moto / ATV) | Atelier de service: clienți, vehicule, comenzi de reparație, devize, inspecții, pontaj, urmărire publică. |
Forma standard a unei cereri
Toate endpoint-urile acceptă și returnează JSON. Fiecare cerere autentificată trebuie să includă:
Authorization: Bearer <slug-tenant>.<cheie>
Content-Type: application/json # pentru POST/PUTPe /api/* platforma forțează randarea ca JSON a oricărei erori (validare, excepție internă), așa că antetul Accept: application/json este opțional. Îl poți trimite oricum — multor clienți HTTP le ușurează tratarea răspunsurilor.
Forma standard a unui răspuns
Resursă unică:
{
"data": { /* resursa */ }
}Colecție (paginată): endpoint-urile de listare (index, summary) returnează paginatorul standard Laravel — un singur obiect cu rândurile în data și metadatele de paginare la nivelul de sus (nu sub meta):
{
"current_page": 1,
"data": [ /* resurse */ ],
"first_page_url": "https://tenant.notsowms.ro/api/v1/products?page=1",
"from": 1,
"last_page": 12,
"last_page_url": "https://tenant.notsowms.ro/api/v1/products?page=12",
"links": [
{ "url": null, "label": "« Previous", "active": false },
{ "url": "https://tenant.notsowms.ro/api/v1/products?page=1", "label": "1", "active": true },
{ "url": "https://tenant.notsowms.ro/api/v1/products?page=2", "label": "Next »", "active": false }
],
"next_page_url": "https://tenant.notsowms.ro/api/v1/products?page=2",
"path": "https://tenant.notsowms.ro/api/v1/products",
"per_page": 25,
"prev_page_url": null,
"to": 25,
"total": 287
}Controlează dimensiunea paginii cu ?per_page=N și navighează cu ?page=N. Reține: links este un array de linkuri per pagină (url/label/active), nu un obiect first/last/prev/next.
Creare / actualizare (ex. POST /orders, PUT /products/{id}) returnează resursa rezultată sub data — 201 Created la creare, 200 OK la actualizare:
{
"data": { /* resursa creată sau actualizată */ }
}Ștergere / acțiune simplă returnează un mesaj scurt:
{
"message": "Order deleted."
}Vezi erori pentru forma răspunsurilor de eșec.