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ă. Prefixul /api/v2 este activ și servește aceleași rute, cu un comportament identic: este un alias rezervat pentru modificările incompatibile cu /api/v1 care vor apărea ulterior. Până atunci, ambele prefixe răspund la fel și includ automat toate funcționalitățile recente (deduplicarea liniilor cu același produs, auditul și izolarea per tenant). Exemplele din această documentație folosesc /api/v1.
Operațiile unei chei de client
O cheie legată de un client extern poate face exact operațiile de mai jos, în schema de client descrisă pe pagina fiecărei resurse. Scrierile POST pe produse, avize și comenzi acceptă antetul Idempotency-Key (vezi erori).
| Operație | Descriere |
|---|---|
GET /api/v1/products | Listează produsele clientului. |
GET /api/v1/products/{id} | Citește un produs. |
POST /api/v1/products | Creează un produs. |
PUT /api/v1/products/{id} | Actualizează un produs. |
DELETE /api/v1/products/{id} | Șterge un produs fără stoc. |
GET /api/v1/orders | Listează comenzile. |
GET /api/v1/orders/{id} | Citește o comandă cu istoricul ei. |
POST /api/v1/orders | Plasează o comandă. |
GET /api/v1/orders/{id}/change-requests | Listează cererile de modificare ale unei comenzi. |
POST /api/v1/orders/{id}/change-requests | Cere modificarea unei comenzi. |
GET /api/v1/inventory | Stocul pe locații. |
GET /api/v1/inventory/summary | Stocul agregat per produs. |
GET /api/v1/asns | Listează avizele de expediție. |
GET /api/v1/asns/{id} | Citește un aviz. |
POST /api/v1/asns | Anunță o recepție. |
POST /api/v1/asns/{id}/cancel | Anulează un aviz neînceput. |
Grupuri de resurse
| 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. |
| Avize de expediție (ASN) | Anunță marfa care sosește, citește starea recepției, anulează un aviz. |
| 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ă. |
Webhook-uri
Pe lângă cererile către API, notso WMS poate trimite evenimente către sistemele clienților 3PL (comandă expediată, recepție finalizată). Formatul livrării, semnătura, fereastra de 300 de secunde, lista de verificare a receptorului și codurile de rezultat sunt descrise în Webhook-uri către clienții 3PL.
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.