Kitchen

Portal do Desenvolvedor

Bem vindo!

Aqui, você vai conhecer o Programa iFood Integra e acessar as documentações de que precisa para iniciar sua integração com nossa plataforma de maneira rápida e segura.

Além disso, vai ter acesso a guias práticos e ao nosso Suporte.

Documentação    

Cadastro    

Primeiros passos com IFood Kitchen

Antes de começar...

Nossa documentação está estruturada por niveis e funções. E em diversos pontos você encontrará boxes de informação. Fique atento a eles! O significado dos boxes são:

Informativo

As informações contidas nesse box tem carater informativo. Essas questões são dicas de como utilizar bem a nossa ferramenta.

Atenção!

Informações contidas em boxes laranjas devem ser observadas, elas podem ter impacto futuro caso não sejam respeitadas.

Cuidado!

Informações contidas em boxes vermelhos devem ser respeitadas! Caso isso não ocorra, a sua softwarehouse pode não ser homologada em produção!

Ok!

Apenas um check de informações e boas praticas.

Começando

Para começar a utilizar as APIs IFood é necessário registrar-se como um parceiro.

Ja sou um parceiro iFood e possuo uma credencial | Não possuo uma credencial

Caso ainda não seja parceiro IFood, envie seu cadastro e lhe enviaremos um contrato digital.

Após a assinatura do contrato, você receberá suas credenciais e um restaurante fake para testes antes de entrar em produção.

O modelo de autorização é baseado no OAuth2. Portanto, mantenha o client_id e client_secret seguros, o client_id será sua identificação para o iFood.

Importante

Você precisará das credenciais (username and password) do restaurante para realizar operações quando entrar em produção. Fornecemos um ambiente de testes para auxiliar no desenvolvimento.

De posse das credenciais, é hora de gerar um token para utilizar as APIs do IFood.
Exemplo:

var xhr = new XMLHttpRequest();

xhr.open("POST", "https://pos-api.ifood.com.br/oauth/token");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "multipart/form-data");

var formData = new FormData();

formData.append('client_id', 'scott'); // e-POS id
formData.append('client_secret', 'tiger'); // e-POS password
formData.append('grant_type','password'); // allways 'password'
formData.append('username','merchantOne'); // merchant's username
formData.append('password','keepitsecret'); // merchant's password

xhr.send(formData);
curl -X POST \
  https://pos-api.ifood.com.br/oauth/token \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/x-www-form-urlencoded' \
  -d 'client_id=scott&client_secret=tiger&grant_type=password&username=merchantOne&password=keepitsecret'
import http.client

conn = http.client.HTTPSConnection("pos-api.ifood.com.br")

payload = "client_id=scott&client_secret=tiger&grant_type=password&username=merchantOne&password=keepitsecret"

headers = {
    'content-type': "application/x-www-form-urlencoded",
    'cache-control': "no-cache"
    }

conn.request("POST", "/oauth/token", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))

Em caso de sucesso, você receberá uma resposta semelhante com o token de acesso:

{
  "access_token": "ab04421d-10d4-462c-b370-6456lrk897564aa48",
  "token_type": "bearer",
  "expires_in": 3599,
  "scope": "trust read write"
}

Alerta

Toda comunicação com as APIs do IFood deve ser realizada sob HTTPS. O envio de credenciais via HTTP é uma grave falha de segurança e é proibida sob quaisquer circustâncias.

Pronto! Você já pode utilizar as APIs do IFood. Para informações mais detalhadas, consulte a seção Reference.