Driver du en 32-seters specialty-kafé i Brooklyn med både Square Terminal og en thMenu QR-meny, kan prissynkronisering bli et operasjonelt mareritt. Baristaen endrer latten fra 5,50 til 5,75 USD, men QR-menyen viser fortsatt gammel pris. Denne artikkelen beskriver en hybridarkitektur: webhook først, polling som sikkerhetsnett.
Webhook som hovedkanal
Squares catalog.version.updated event utløses ved enhver endring av item, variation eller modifier. Rute det til thMenu Worker-endepunktet /api/integrations/square/webhook: verifiser HMAC-SHA256-signaturen, les object_id, og hent detaljer med /v2/catalog/object/{id}.
Workeren mapper svaret til D1_MENU: variations[0].price_money.amount i øre (575) blir products.price = 5,75 USD. Kolonnen square_object_id muliggjør upsert. Squares SLA leverer 99,2 % av webhooks innen 15 minutter.
Polling og rate limit
Ved nettverksbrudd eller sjeldne Square-forsinkelser på 5+ minutter dekker en 30-minutters cron hullene ved å spørre /v2/catalog/search filtrert på de siste 35 minuttene.
Squares grense er 10 forespørsler/sek. For 500 varer: 100 per batch_retrieve og 1 sekunds pause.
Skattemapping: US vs NO
Brooklyn krever 8,875 % NY sales tax; en kafé i Oslo krever 15 % MVA på matvarer. Legg til tax_us_pct og tax_no_pct i products.
FAQ
Hva hvis webhooks feiler?Polling utligner innen 30 minutter.
Synkroniseres lager?Nei, kun katalog.
Hvilken plan?Pro og Platinum.
Var dette nyttig? Del det.
Relaterte artikler
Hva er en QR-meny? Komplett guide for restauranter
En QR-meny gir gjestene øyeblikkelig tilgang til menyen din via smarttelefon — u…
Bytte fra papirmeny til digital QR-meny: steg for steg
Vil du innføre QR-menyer, men vet ikke hvor du skal begynne? Denne guiden dekker…
Geo-målrettede QR-menyer: ulike språk basert på besøkendes IP
Hvordan et 180-seters all-inclusive resort i Antalya ruter samme QR til tyrkiske…