Skip to content
FunkceCeníkPartneřiBlogNápovědaO násKontakt
ZačítPřihlásit se
Zpět na Blog
guides2026-07-216 min čtení

Jeden sklad, tři marketplace: integrace Getir + Trendyol GO + Yemeksepeti

Síť döner se 4 pobočkami v Izmiru provozuje tři turecké rozvozové platformy z jediného menu. Master record thMenu, webhook fan-out a atomický UPDATE D1.

th

thMenu Team

thmenu.com

Síť döner se 4 pobočkami v Izmiru Alsancak je současně připojena ke Getir Yemek, Trendyol GO a Yemeksepeti. Místo udržování tří samostatných menu používají thMenu jako master record; odečty skladu probíhají na jednom místě a webhook fan-out aktualizuje tři platformy.

Architektura master record

Sloupec products.stock_quantity v D1_MENU je jediný kanonický zdroj. Při potvrzení objednávky: UPDATE products SET stock_quantity = stock_quantity - 1 WHERE id = ? AND stock_quantity > 0. 0 řádků = vyprodáno.

Při úspěchu jde event do Cloudflare Queue. Tři workeři paralelně PATCHují API. Průměrná latence fan-out 340 ms.

Řešení konfliktů

Scénář: 5 lahmacun skladem. Ve stejné sekundě přichází 5 objednávek ze tří platforem. Atomický UPDATE serializuje — poslední najde 0 a je odmítnut. Konečný stav 0, tři signály "vyprodáno".

D1 nemá explicitní row lock, ale WHERE stock > 0 plní stejnou roli. Nula over-sellingu za 6 měsíců.

Sjednocení driftu

Webhook Yemeksepeti má 30s zpoždění, Trendyol je okamžitý, Getir polluje každých 5 s. Hodinový cron porovnává tři s masterem.

  • Yemeksepeti 5, Getir 3: master na 5, PATCH Getir
  • Master 0, platforma 2: okamžitě PATCH 0
  • Drift > 3: Slack alert

FAQ

Musím menu vkládat ručně na každé platformě? Ne, master record + fan-out vše automatizují.

Kdo má prioritu při race? FIFO podle timestamp, poražený dostane 422.

Je cron manuální? Ne, hodinový na Workers s Slack alertem při velkém driftu.

Bylo to užitečné? Sdílejte to.