{
  "id": 9833566,
  "title": "Integração com o iFood: o problema na homologação do developer",
  "url": "https://urgent.news/2026/09/25/integracao-com-o-ifood-o-problema-na-homologacao-do-developer",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-25T20:48:48.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/felipebufelli/integracao-com-o-ifood-o-bug-que-ficou-escondido-por-semanas-e-a-investigacao-que-terminou-numa-30hf"
  },
  "original_language": "pt",
  "account": "O objetivo é falar sobre a Temperô, um SaaS multi-tenant de gestão de restaurantes que integra o marketplace iFood. A integração exige que pedidos feitos no iFood entrem no fluxo operacional da Temperô, indo para a cozinha, produção e entrega, com o status sincronizado em ambos os sentidos. No entanto, durante o desenvolvimento, surgiram vários problemas.\n\nUma das principais dificuldades foi a implementação de um sistema de polling, em vez de um webhook, para receber eventos do iFood. O iFood oferece dois modelos de credencial: distribuído (OAuth2 por restaurante/unidade) e centralizado (uma única credencial para toda a plataforma). Escolheram a opção centralizada, o que exigiu refatorar o cache de token.\n\nNo caminho, também houve um bug sutil envolvendo o mapeamento de código abreviado 'code' para o nome extenso 'fullCode' de eventos. O switch que processava os eventos comparava contra 'code', mas o valor real era 'PLC'. Essa correção foi fácil, mas o aprendizado foi valioso, pois enfatizou a importância de sempre comparar contra o campo canônico definido na documentação.",
  "summary": "O desafio Hoje eu quero falar da Temperô, um SaaS multi-tenant de gestão de restaurantes: pedidos, cozinha, caixa, comandas, várias unidades por restaurante. Stack em Node/TypeScript/Express, Postgres com pg puro (sem ORM, SQL cru, migrations numeradas). O objetivo era simples de enunciar,mas em termos de produção, bem difícil de sustentar: um pedido feito no marketplace iFood precisa entrar…",
  "key_points": [
    "Temperô SaaS integrates iFood marketplace, syncing orders to kitchen and delivery.",
    "Used polling instead of webhook, requiring refactoring of token cache.",
    "Bug in mapping code to fullCode caused switch to compare against incorrect field."
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}