How Temperô debugged a weeks-long iFood integration mystery involving missing cancel events
Temperô, a multi-tenant SaaS platform for restaurant management built on Node/TypeScript and PostgreSQL, developed a direct integration with the iFood marketplace to automatically route delivery orders into its kitchen and payment workflows. Rather than using webhooks, the system relies on iFood's polling API, queried every 15 seconds via a Node.js setInterval loop with an overlap-prevention flag. The team chose iFood's 'Centralised' credential model, requiring a mid-project refactor of the OAuth2 token cache from per-unit to a single in-memory store with both proactive and reactive renewal logic. Menu mapping was deferred, so iFood order items enter the system without an internal product ID, using names and prices directly from the payload. The article details several bugs encountered during the build, including a prolonged investigation into why order-cancellation confirmation events sometimes never arrived.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)
Log in to join the discussion and vote.
Log in