Driver du en 32-pladsers specialty café i Brooklyn med både Square Terminal og en thMenu QR-menu, kan prissynkronisering blive et operationelt mareridt. Baristaen ændrer latten fra 5,50 til 5,75 USD, men QR-menuen viser stadig den gamle pris. Denne artikel beskriver en hybrid arkitektur: webhook først, polling som sikkerhedsnet.
Webhook som primær kanal
Squares catalog.version.updated event affyres ved enhver ændring af item, variation eller modifier. Dirigér det til thMenu Worker endpointet /api/integrations/square/webhook: verificér HMAC-SHA256 signaturen, læs object_id, og hent detaljer via /v2/catalog/object/{id}.
Workeren mapper svaret til D1_MENU: variations[0].price_money.amount i øre (575) bliver til products.price = 5,75 USD. Kolonnen square_object_id muliggør upsert. Squares SLA leverer 99,2% af webhooks inden for 15 minutter.
Polling og rate limit
Ved netværksudfald eller sjældne Square-forsinkelser på 5+ minutter dækker en 30-minutters cron hullerne ved at forespørge /v2/catalog/search filtreret på de seneste 35 minutter.
Squares rate limit er 10 anmodninger/sek. For 500 items: 100 pr. batch_retrieve og 1 sekunds pause.
Skattemapping: US vs DK
Brooklyn opkræver 8,875% NY sales tax; en café i København opkræver 25% moms. Tilføj tax_us_pct og tax_dk_pct til products.
FAQ
Hvad hvis webhooks fejler?Polling udligner inden for 30 minutter.
Synkroniseres lager?Nej, kun katalog.
Hvilken plan?Pro og Platinum.
Var dette nyttigt? Del det.
Relaterede artikler
Hvad er en QR-menu? Den komplette guide til restauranter
En QR-menu giver gæster øjeblikkelig adgang til dit menukort via deres smartphon…
Skift fra papirmenu til digitalt QR-menu: trin-for-trin guide
Vil du indføre QR-menuer, men ved ikke, hvor du skal starte? Denne guide dækker …
Geo-målrettede QR-menuer: forskellige sprog efter besøgendes IP
Sådan dirigerer et 180-pladsers all-inclusive resort i Antalya samme QR til tyrk…