Skip to content

Generácie a export

Bezpečný full snapshot

Keď chceš nahrať celý katalóg a zmazať všetko, čo v ňom už nie je, označ dávky markerom generation a na konci ich commitni.

json
{ "identity": "sku-1", "type": "item", "generation": "2026-07-31", "fields": { "…": "…" } }

Po nahratí všetkých dávok:

bash
curl -X POST https://api.metty.eu/v1/content/commit \
  -H "Authorization: Bearer msk_…" \
  -H "Content-Type: application/json" \
  -d '{"generation": "2026-07-31"}'
json
{ "generation": "2026-07-31", "status": "committed", "kept": 1240, "removed": 37 }

Objekty mimo commitnutej generácie sa odstránia z databázy aj z indexu.

Poistky

Commit neúplného snapshotu by zmazal katalóg, preto ho odmietneme, keď:

situáciachyba
generácia nemá žiadne objekty409 generation_incomplete
generácia pokrýva menej než 50 % katalógu409 generation_incomplete
generácia je už commitnutá409 generation_committed
marker neexistuje404 not_found

Keď vieš, že katalóg naozaj zmenšuješ (napr. si vyradil polovicu sortimentu), pošli {"generation": "…", "force": true}.

Zápis do už commitnutej generácie je bežná inkrementálna zmena a stav negeneruje.

Odporúčaný postup

  1. Vyber si marker — dátum alebo ID behu.
  2. Pošli celý katalóg po dávkach po 100 objektoch s tým markerom.
  3. Skontroluj, že žiadna dávka nehlásila failed.
  4. Commitni. Keď niečo zlyhalo, necommituj — dopošli chybné objekty a až potom commitni.

Export

Kontrola, čo Metty naozaj drží:

bash
curl "https://api.metty.eu/v1/content_export?size=100" \
  -H "Authorization: Bearer msk_…"
json
{ "objects": [ { "identity": "sku-1", "type": "item", "fields": { "…": "…" } } ], "next_cursor": 12345 }

Ďalšiu stránku vypýtaš s ?cursor=12345. next_cursor: null znamená koniec.

Kurzor je posledné videné ID, nie offset — pri súbežných zápisoch tak export objekt nepreskočí ani nezopakuje.

Dokumentácia Metty