Locații
Locațiile depozitului identifică unde se află stocul fizic — de obicei un cod ierarhic, ca CULOAR1-RAFT-3. O locație poate avea o locație-părinte (parent_location_id) și sub-locații (children).
Read-only prin API
Locațiile sunt doar de citit prin API. Crearea / actualizarea / ștergerea se fac din editorul de layout din interfața WMS, ca să se păstreze integritatea referențială cu inventory.
Endpoint-uri
| Metodă | Cale | Descriere |
|---|---|---|
| GET | /api/v1/locations | Listă paginată; filtre zone, type, parent_location_id, roots_only, search. |
| GET | /api/v1/locations/{id} | Citește o locație (cu sub-locațiile și stocul ei). |
Filtre la listare
| Parametru | Tip | Note |
|---|---|---|
zone | string | Filtrează după zonă. |
type | string | Filtrează după tipul locației. |
parent_location_id | integer | Doar sub-locațiile acestei locații. |
roots_only | boolean | true → doar locațiile fără părinte (ignorat dacă trimiți parent_location_id). |
search | string | Potrivire parțială pe location_code. |
per_page | integer | Implicit 100. |
Exemplu — citire locație
bash
curl https://tenant.notsowms.ro/api/v1/locations/14 \
-H "Authorization: Bearer tenant.7c4a8d09ca3762af61e59520943dc26494f8941b"Răspuns:
json
{
"data": {
"id": 14,
"location_code": "CULOAR1-RAFT-3",
"zone": "CULOAR1",
"type": "shelf",
"parent_location_id": 2,
"status": "active",
"children": [
{ "id": 31, "location_code": "CULOAR1-RAFT-3-A", "zone": "CULOAR1", "type": "bin", "parent_location_id": 14, "status": "active" }
],
"inventory_items": [
{ "id": 3391, "product_id": 812, "quantity": 20, "product": { "product_id": 812, "sku": "BRK-PAD-001", "name": "Plăcuțe frână față" } }
]
}
}GET /api/v1/locations/{id} încarcă sub-locațiile (children) și stocul curent (inventory_items, cu produsul aferent). Listarea (GET /api/v1/locations) întoarce locațiile fără aceste relații, paginate.