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

Tovejs Square POS Synkronisering med thMenu: Webhook + REST Polling

Case fra en Brooklyn-café: Square catalog.version.updated webhook med 30-minutters polling fallback og US/DK skattemapping.

th

thMenu Team

thmenu.com

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.