Sari la conținut

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ăCaleDescriere
GET/api/v1/locationsListă paginată; filtre zone, zone_id, 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 ​

ParametruTipNote
zonestringFiltrează după zonă.
zone_idintegerDoar locațiile din zona cu acest id.
typestringFiltrează după tipul locației.
parent_location_idintegerDoar sub-locațiile acestei locații.
roots_onlybooleantrue → doar locațiile fără părinte (ignorat dacă trimiți parent_location_id).
searchstringPotrivire parțială pe location_code.
per_pageintegerImplicit 100.

Câmpuri adăugate în septembrie 2026 ​

CâmpTipImplicitSemnificație
is_pickablebooleantruestocul de aici poate fi alocat la picking (fals pentru carantină, QC hold, locații inactive)
pick_sequenceinteger|nullnullordinea locației în ruta de picking (mod sequence); locațiile fără valoare vin ultimele
is_sellablebooleantruestocul de aici intră în cantitatea comunicată magazinelor (eMAG, Wix)
allow_putawaybooleantruerecepția poate sugera și accepta locația
putaway_sequenceinteger|nullnullordinea preferată de recepție când nu există deja stoc din produs; locațiile fără valoare vin ultimele
storage_policystringmixedmixed / single_product / dedicated / allowed_products
dedicated_product_idinteger|nullnullprodusul dedicat (pentru dedicated)
allowed_product_idsarray|nullnulllista de produse permise (pentru allowed_products)
allow_other_productsbooleantruepentru dedicated / allowed_products: alte produse acceptate cât timp slotul e gol
zone_idinteger|nullnullzona ca înregistrare; zone rămâne codul ei

Rândurile din inventoryItems (la citirea unei locații) au acum și level_number (integer|null) — nivelul ca număr, derivat din textul shelf_level.

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",
    "zone_id": 3,
    "type": "shelf",
    "parent_location_id": 2,
    "status": "active",
    "is_pickable": true,
    "pick_sequence": null,
    "is_sellable": true,
    "allow_putaway": true,
    "putaway_sequence": null,
    "storage_policy": "mixed",
    "dedicated_product_id": null,
    "allowed_product_ids": null,
    "allow_other_products": true,
    "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.

Documentație API notso WMS