Commerce API
Locații, catalog și sincronizare incrementală
GET
Commerce /locationslocations:read
Listează locațiile, adresa, coordonatele `latitude`/`longitude` și starea operațională folosind paginare cursor-based.
Coordonate pentru livrare
Coordonatele sunt furnizate numai dacă merchantul le-a configurat în Launch. O platformă trebuie să trateze valorile `null` ca locație incompletă și să nu publice restaurantul până la configurare.
Schimbările salvate de comerciant sunt trimise imediat prin `location.created`, `location.updated` și `location.deleted`. Fă upsert după `location.id`, deduplică după `event.id` și folosește snapshotul primit pentru denumire, adresă, coordonate, activare și stare operațională.
Webhook + cursor, nu una dintre ele
Webhookul oferă actualizare rapidă. Cursorul `/catalog/changes` este mecanismul de recuperare după downtime, retry sau DLQ și include resurse `location` împreună cu resursele catalogului. Nu reseta și nu interpreta cursorul opac.
POST
Commerce /locations/{location}/statelocations:write
Deschide, pune pe pauză sau închide locația cu `expected_version`.
GET
Commerce /catalog/productscatalog:read
Returnează produsele disponibile, prețurile locației și modificatorii.
GET
Commerce /catalog/changescatalog:read
Livrează schimbările incrementale și tombstones; păstrează cursorul opac primit.
bash
curl "https://api.monedo.eu/commerce/v1/catalog/products?location_id=LOCATION_ID&limit=50" \
-H "Authorization: Bearer $MONEDO_API_KEY" \
-H "Monedo-Merchant-Id: MERCHANT_BUSINESS_ID" \
-H "Monedo-Version: 2026-08-28"