Skip to content
FunktionerPriserPartnerBlogHjælpOm osKontakt
Kom i gangLog ind
Tilbage til Blog
guides2026-07-216 min læsning

Ét lager, tre marketplaces: Getir + Trendyol GO + Yemeksepeti integration

En döner-kæde med 4 filialer i Izmir kører tre tyrkiske leveringsplatforme fra en enkelt menu. thMenu master record, webhook fan-out og atomisk UPDATE i D1.

th

thMenu Team

thmenu.com

En döner-kæde med 4 filialer i Izmir Alsancak er tilsluttet Getir Yemek, Trendyol GO og Yemeksepeti samtidigt. I stedet for at vedligeholde tre separate menuer bruger de thMenu som master record; lagerfradrag sker ét sted, og en webhook fan-out opdaterer de tre platforme.

Master record arkitektur

Kolonnen products.stock_quantity i D1_MENU er den eneste kanoniske kilde. Ved ordrebekræftelse: UPDATE products SET stock_quantity = stock_quantity - 1 WHERE id = ? AND stock_quantity > 0. 0 rækker = udsolgt.

Ved succes ryger en event til Cloudflare Queue. Tre workers patcher parallelt API'erne. Gennemsnitlig fan-out latency 340 ms.

Konfliktløsning

Scenarie: 5 lahmacun på lager. Inden for samme sekund kommer 5 ordrer fra tre platforme. Atomisk UPDATE serialiserer — den sidste finder 0 og afvises. Slutstand 0, tre "udsolgt"-signaler fan-outes.

D1 har ikke eksplicit row lock, men WHERE stock > 0 spiller samme rolle. Nul over-sell på 6 måneder.

Drift-afstemning

Yemeksepeti-webhooken har 30 s forsinkelse, Trendyol er øjeblikkelig, Getir pollerne hver 5 s. En timeligt cron sammenligner alle tre med master.

  • Yemeksepeti 5, Getir 3: master til 5, PATCH Getir
  • Master 0, platform 2: øjeblikkelig PATCH 0
  • Drift > 3: Slack-alarm

FAQ

Skal jeg indtaste menuer på hver platform manuelt? Nej, master record + fan-out automatiserer alt.

Hvem har prioritet ved race? FIFO efter timestamp; taberen får 422.

Er cron manuel? Nej, timelig på Workers med Slack-alarm ved stort drift.

Var dette nyttigt? Del det.