logo
logo

Docs / Primeiros Passos

Aplicativos e Credenciais

O primeiro passo para começar a utilizar as APIs do iFood é se cadastrar através do botão "Cadastrar" no topo da página. Ao se cadastrar você receberá uma mensagem na sua caixa de entrada para confirmar seu email. Caso não encontre essa mensagem, verifique sua caixa de spam. Se você já possui cadastro, faça login com o usuário e senha através do botão "Entrar". E se você já fez login no portal, pule para a próxima seção.

Ao se cadastrar, será criada uma loja de teste e um aplicativo teste automaticamente. Com os dados do seu aplicativo e loja de teste você já conseguirá começar a utilizar as APIs.

Você pode começar a fazer os testes seguindo as instruções da seção Utilizando as APIs. Depois veja como gerar pedidos de teste no iFood .

Antes de liberar seu aplicativo para os seus clientes é necessário fazer a homologação dele para garantir que a integração está funcionando de forma correta. Veja como homologar seu aplicativo.

Criação Automática do Aplicativo de Teste Ao se cadastrar no portal um aplicativo de teste é gerado automaticamente para que você já consiga testar a API. Você só vai precisar cadastrar um novo aplicativo para utilizar a API em produção depois de homologar o aplicativo de teste. Para visualizar as credenciais do seu aplicativo de teste, faça login e depois clique em "Meus apps".

Depois de finalizar o desenvolvimento e realizar todos os testes necessários, você pode criar o seu primeiro aplicativo para utilizar a API em produção.

Depois de estar logado, clique no menu Apps e em seguida em "Novo Aplicativo".

Escolha o tipo de aplicativo de acordo com modelo de distribuição do seu software:

  • Centralizado (SaaS) - quando seu software está disponibilizado em um ambiente na nuvem e ele tem acesso a todas as lojas nessa única instância centralizada;

  • Distribuído (On-premises) - quando seu software está disponibilizado no ambiente da loja e apenas essa instância tem permissão de acesso a essa loja;

Depois de escolher o tipo de aplicativo, preencha os dados necessários como nome, descrição e url. Escolha quais os módulos da API sua aplicação deverá ter acesso e se ele pode ser listado para todos os parceiros que utilizam o iFood ou se é exclusivo para algum cliente.

Ao registrar seu aplicativo, as credenciais de acesso serão geradas automaticamente, mas antes de disponibilizá-lo para seus clientes, é necessário homologá-lo.

Depois de homologado, você pode solicitar permissão para ter acesso aos dados das lojas que irão utilizar o seu aplicativo em produção. A solicitação de acesso depende do tipo de aplicativo criado.

  1. Acesse o menu Meus Apps no Portal do Desenvolvedor e selecione o aplicativo
  2. Na aba Permissões, localize a loja pelo id ou pelo CNPJ
  3. Confirme os dados da loja e envie a solicitação
  4. O responsável pela loja receberá a solicitação e, assim que ela for aprovada através do Portal do Parceiro, você automaticamente terá acesso aos dados dessa loja (de acordo com os módulos informados no cadastro do aplicativo).
  1. Você deve disponibilizar no seu aplicativo um botão/link para o usuário conceder o acesso.
  2. Quando o usuário clicar nesse botão, você deve gerar um código (userCode) através do endpoint authentication/v1.0/oauth/userCode
  3. Disponibilize a URL (verificationUrlComplete) e o código (userCode) obtidos na requisição anterior para o usuário.
  4. O usuário deve clicar nessa URL (verificationUrlComplete) que deve abrir o Portal do Parceiro que exige autenticação.
  5. O usuário (responsável pela loja) visualizará um modal "Autorizar Aplicativo" e depois de clicar em "Autorizar" receberá um código de autorização (authorizationCode).
  6. O usuário deve copiar o código de autorização (authorizationCode) e configurá-lo no PDV.
  7. Com o código de autorização (authorizationCode) você consegue autenticar através do endpoint de authentication/v1.0/oauth/token.

Exemplo:

curl -X POST '[https://merchant-api.ifood.com.br/authentication/v1.0/oauth/token](https://merchant-api.ifood.com.br/authentication/v1.0/oauth/token)' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d '{
      "grantType": "authorization_code"
      "clientId": "d28ed85f-9b43-4555-a7c1-9b0df25e9999",
      "clientSecret": "s18lm6m5uwatgihxdl6h9pr0j11ugh9sjjs9a127gohyyqsitzulx12p5b5kty1l59orgbaryy7r1545ty6se9ljnlvea609999",
      "authorizationCode": "LHQX-ZZZZ",
      "authorizationCodeVerifier": "f3u8geu9uq31k7l8co7kct2ow3ctxu1ujoaoewgotj7gc60ji1r3zmzhy13tmcp577gyck4lka3c5852k2jg1h1gkpr8nca9999"
    }

Ativar aplicativo via código Caso o seu aplicativo esteja instalado em um dispositivo sem acesso ao navegador, exiba o userCode e oriente o usuário a acessar o Portal do Parceiro e no menu Aplicativos clicar em "Ativar aplicativo via código". Após digitar o userCode ele receberá o authorizationCode.

Utilizando as APIs

Todos os endpoints disponibilizados na API exigem autenticação. Portanto, o primeiro passo antes de qualquer requisição é obter um token de acesso através do endpoint de autenticação.

Com o token de acesso em mãos, você pode configurar os dados da sua loja, como como horário de funcionamento e indisponibilidades, através dos endpoints do módulo de merchant. Além disso, consegue configurar os itens/pratos através do módulo de catálogo.

Você também pode fazer essas configurações através do Portal do Parceiro.

Para abrir uma loja na plataforma, é necessário que:

  • Ela esteja dentro do horário de funcionamento,
  • Não tenha nenhuma indisponibilidade cadastrada,
  • Tenha um catálogo configurado, e
  • Uma área de entrega configurada.

Além disso, é necessário que sua loja esteja conectada à plataforma. Por isso, ela deve estar se comunicando regularmente para receber novos pedidos.

Portanto, para manter uma loja aberta na plataforma é necessário que as requests de polling estejam sendo executadas regularmente a cada 30 segundos. Você encontra detalhes sobre como fazer polling aqui. Em caso de interrupções e oscilações nessa comunicação, a loja é fechada temporariamente.

Saiba se a sua loja está online Você pode consultar o status da loja em tempo real utilizando o endpoint de disponibilidade.

Agora que seu aplicativo está fazendo polling regularmente e sua loja está aberta, sempre que um novo pedido for feito você receberá um novo evento no polling (PLACED).

Ao receber um novo pedido no polling você deve consultar os detalhes do mesmo e, em seguida, confirmá-lo ou cancelá-lo.

Depois de preparado, você deve avisar que ele está pronto (para os pedidos Pra Retirar e Na Mesa) ou despachá-lo (para pedidos que devem ser entregues - delivery).

Pronto! Seu aplicativo já está pronto para receber pedidos. Na seção de cada módulo você conhecerá todos os recursos de cada um deles.