logo
logo

Docs Order Homologação do Módulo de Pedidos

A integração de pedidos é um dos fluxos mais sensíveis da jornada de um usuário dentro da plataforma iFood. Se a loja não for capaz de receber e confirmar os pedidos, os pedidos são cancelados e isso gera uma experiência ruim para os usuários da plataforma.

Por esse motivo é importante que todos os aplicativos que utilizam o módulo de pedidos da API atendam requisitos mínimos para garantirmos uma boa experiência para os nossos clientes e parceiros.

Critérios para Homologação

O aplicativo deve ser capaz de:

  • Receber eventos de pedidos via polling ou via webhook.
    • No caso do polling:
      • Fazer requests no endpoint de /polling regularmente a cada 30 segundos para não perder nenhum pedido. Isso garante que o merchant fique aberto na plataforma; Utilize o header x-polling-merchants sempre que precisar filtrar eventos de um ou mais merchants. Também é possível filtrar os eventos que deseja receber por tipo e por grupo;
      • Enviar /acknowledgment para todos os eventos recebidos (com status code 200) imediatamente após a request de polling;
    • No caso do webhook: responder com sucesso às requests do webhook, verificado por nossa auditoria interna;
  • Receber, confirmar e despachar um pedido delivery para agora (orderType = DELIVERY / orderTiming = IMMEDIATE);
  • Receber, confirmar e despachar um pedido delivery agendado (orderType = DELIVERY / orderTiming = SCHEDULED). É necessário exibir a data e hora do agendamento;
  • Receber e cancelar um pedido delivery para agora (orderType = DELIVERY / orderTiming = IMMEDIATE). Antes de solicitar um cancelamento é obrigatório a consulta dos códigos/motivos disponíveis para o momento do pedido através do endpoint /cancellationReasons, esta lista de códigos/motivos deverá ser disponibilizada no sistema de PDV, para o usuário do PDV escolher qual motivo usar;
  • Receber, confirmar e avisar que está pronto um pedido Pra Retirar (orderType = TAKEOUT);
  • Receber pedidos com pagamento em cartão e exibir detalhes do tipo de pagamento, como bandeira;
  • Receber pedidos com pagamento em dinheiro e exibir o valor do troco na tela e/ou comanda impressa;
  • Receber pedidos com todos os cupons de desconto e exibir o valor e o responsável pelo subsídio (iFood / Loja);
  • Exibir observações dos itens na tela e/ou comanda impressa (Ex: Retirar cebola);
  • Atualizar o status de um pedido cancelado pelo cliente ou pelo iFood;
  • Atualizar o status de um pedido que pode ter sido confirmado/cancelado por outro aplicativo como por exemplo o Gestor de Pedidos;
  • Receber um mesmo evento mais de uma vez no polling e descartá-lo caso esse evento tenha sido entregue mais de uma vez;
  • Informar o CPF/CNPJ na tela caso seja obrigatório pela loja ou já preencher no documento fiscal automaticamente;
  • Receber eventos da Plataforma de Negociação de Pedidos e ser capaz de processá-los através dos endpoints disponíveis;
  • Exibir na tela e/ou impresso na comanda o código de coleta do pedido;

Requisitos não funcionais:

  • Renovar o token somente quando estiver prestes a expirar ou imediatamente após a expiração.
  • O aplicativo deve respeitar as políticas de rate limit de cada endpoint.

Desejável:

  • A comanda impressa seguir o modelo sugerido na documentação é um requisito desejável.
  • Informar na tela e/ou comanda impressa a informação de indicar qualquer observação sobre a entrega do pedido (que vem no campo delivery.observations)

Dica Para validar se seu aplicativo é capaz de atualizar o status de pedidos com as alterações feitas por outro aplicativo, você pode confirmar e cancelar pedidos de teste usando o Gestor de Pedidos Web e acompanhar o status desses pedidos no seu aplicativo.

Como Agendar

Para agendar a homologação do seu aplicativo acesse a área de chamados e abra uma requisição para homologação do seu aplicativo. Nossa equipe entrará em contato com você para agendar o processo.

Nova Tentativa Antes de agendar a homologação do seu aplicativo certifique-se de que ele atende todos os requisitos listados acima. É preciso aguardar 15 dias para uma nova tentativa.

Preparação

Antes de iniciar, tenha em mãos os dados da sua loja de teste, como id e nome da loja. Certifique-se de ter acesso a um serviço de internet estável

Duração

No horário agendado, um analista do nosso time fará o acesso remoto para acompanhar cada etapa dos testes. O processo dura em média 45 minutos.

Reagendamento

Caso seu aplicativo não seja homologado, nosso time registrará no ticket os requisitos que não foram atendidos e você deverá ajustar seu software. Você poderá agendar uma nova homologação 15 dias depois da tentativa anterior.