Skip to content
FunzionalitàPrezziAffiliatiBlogAiutoChi siamoContatti
Inizia oraAccedi
Torna al Blog
guides2026-07-216 min di lettura

Un inventario, tre marketplace: integrazione Getir + Trendyol GO + Yemeksepeti

Una catena döner con 4 filiali a Izmir Alsancak gestisce tre piattaforme turche da un menù unico. Master record thMenu, webhook fan-out e UPDATE atomico D1.

th

thMenu Team

thmenu.com

Una catena döner con 4 filiali a Izmir Alsancak è connessa contemporaneamente a Getir Yemek, Trendyol GO e Yemeksepeti. Invece di mantenere tre menù, usano thMenu come master record; i decrementi di stock avvengono in un solo posto e un fan-out webhook aggiorna le tre piattaforme.

Architettura master record

La colonna products.stock_quantity in D1_MENU è la fonte canonica unica. Alla conferma di un ordine: UPDATE products SET stock_quantity = stock_quantity - 1 WHERE id = ? AND stock_quantity > 0. 0 righe = esaurito.

Al successo, un evento finisce in Cloudflare Queue. Tre worker patchano in parallelo le API. Latenza media 340 ms.

Risoluzione conflitti

Scenario: 5 lahmacun in stock. Nello stesso secondo arrivano 5 ordini da tre piattaforme. L'UPDATE atomico serializza — l'ultimo trova 0 ed è rifiutato. Stato finale 0, tre segnali "esaurito".

D1 non ha lock di riga ma WHERE stock > 0 svolge lo stesso ruolo. Zero over-sell in 6 mesi.

Riconciliazione drift

Yemeksepeti ha 30 s di delay, Trendyol è immediato, Getir polla ogni 5 s. Un cron orario confronta i tre col master.

  • Yemeksepeti 5, Getir 3: master a 5, PATCH Getir
  • Master 0, piattaforma 2: PATCH 0 immediato
  • Drift > 3: alert Slack

FAQ

Bisogna caricare i menù su ogni piattaforma? No, il master record + fan-out automatizzano tutto.

Chi ha priorità in una race? FIFO per timestamp; il perdente riceve 422.

Il cron è manuale? No, orario su Workers con alert Slack.

Ti è stato utile? Condividilo.