Vzhľad
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ácia | chyba |
|---|---|
| generácia nemá žiadne objekty | 409 generation_incomplete |
| generácia pokrýva menej než 50 % katalógu | 409 generation_incomplete |
| generácia je už commitnutá | 409 generation_committed |
| marker neexistuje | 404 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
- Vyber si marker — dátum alebo ID behu.
- Pošli celý katalóg po dávkach po 100 objektoch s tým markerom.
- Skontroluj, že žiadna dávka nehlásila
failed. - 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.