Prowadząc 32-osobową kawiarnię specialty na Brooklynie z Square Terminal i menu QR thMenu, synchronizacja cen może stać się operacyjnym koszmarem. Barista zmienia latte z 5,50 na 5,75 USD, ale QR menu nadal pokazuje starą cenę. Ten artykuł opisuje architekturę hybrydową: webhook na pierwszym planie, polling jako siatka bezpieczeństwa.
Webhook jako kanał główny
Zdarzenie Square catalog.version.updated uruchamia się przy każdej zmianie item, variation lub modifier. Skieruj je do endpointu Worker thMenu /api/integrations/square/webhook: zweryfikuj podpis HMAC-SHA256, wyciągnij object_id, następnie pobierz /v2/catalog/object/{id}.
Worker mapuje odpowiedź do D1_MENU: variations[0].price_money.amount w centach (575) staje się products.price = 5,75 USD. Kolumna square_object_id umożliwia upsert. SLA Square dostarcza 99,2% webhooków w 15 minut.
Polling i limity
Przy awariach sieci lub rzadkich opóźnieniach Square ponad 5 minut, cron 30-minutowy pyta /v2/catalog/search z filtrem ostatnich 35 minut.
Limit Square to 10 żądań/sek. Dla 500 pozycji: 100 na batch_retrieve, potem 1 sekunda pauzy.
Mapowanie podatków: US vs PL
Brooklyn nalicza 8,875% NY sales tax; lokal w Warszawie 8% VAT na gastronomię. Dodaj tax_us_pct i tax_pl_pct do products.
FAQ
Co gdy webhooki zawiodą?Polling naprawia w 30 minut.
Czy synchronizuje stany?Nie, tylko katalog.
Który plan?Pro i Platinum.
Czy to było pomocne? Udostępnij.
Powiązane artykuły
Czym jest menu QR? Kompletny przewodnik dla restauracji
Menu QR umożliwia klientom natychmiastowy dostęp do karty dań przez smartfon — b…
Przejście z papierowego na cyfrowe menu QR: przewodnik krok po kroku
Chcesz wdrożyć menu QR, ale nie wiesz od czego zacząć? Ten przewodnik obejmuje f…
Geo-targetowane menu QR: różne języki w zależności od IP gościa
Jak resort all-inclusive na 180 miejsc w Antalyi kieruje ten sam kod QR do menu …