grantType: refresh_tokenclientId e clientSecret/oauth/userCodecurl -X POST "https://merchant-api.ifood.com.br/authentication/v1.0/oauth/userCode" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "clientId=YOUR_CLIENT_ID"| Campo | Descrição | Exemplo |
|---|---|---|
userCode | Código de usuário que vincula o aplicativo ao Portal do Parceiro. Exiba ao usuário para que ele insira no Portal do Parceiro. | HJLX-LPSQ |
authorizationCodeVerifier | Código de verificação adicional a ser usado ao solicitar o token de acesso. Mantenha este código até que o token de acesso seja emitido. | test123 |
verificationUrl | URL do Portal do Parceiro que permite aos usuários inserir o código de usuário e conceder acesso ao aplicativo. Exiba ao usuário. | https://portal.ifood.com.br/apps/code |
verificationUrlComplete | URL de verificação completa com o código de usuário como parâmetro de query. Útil para ambientes que permitem clicar e abrir um navegador. | https://portal.ifood.com.br/apps/code?c=HJLX-LPSQ |
expiresIn | Expiração do código de usuário em segundos. O código é válido por 10 minutos. | 600 |
/oauth/tokenauthorization_code e refresh_token.cURL de exemplo — Authorization Codecurl -X POST "https://merchant-api.ifood.com.br/authentication/v1.0/oauth/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grantType=authorization_code&clientId=YOUR_CLIENT_ID&clientSecret=YOUR_CLIENT_SECRET&authorizationCode=AUTH_CODE&authorizationCodeVerifier=CODE_VERIFIER"curl -X POST "https://merchant-api.ifood.com.br/authentication/v1.0/oauth/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grantType=refresh_token&clientId=YOUR_CLIENT_ID&clientSecret=YOUR_CLIENT_SECRET&refreshToken=REFRESH_TOKEN"| Parâmetro | Obrigatório | Descrição |
|---|---|---|
grantType | Sim | Tipo de grant OAuth. Para aplicativos distribuídos: authorization_code, refresh_token |
clientId | Sim | Identificador do cliente |
clientSecret | Sim | Segredo do cliente |
authorizationCode | Apenas para authorization_code | Código de autorização retornado após a autorização do aplicativo |
authorizationCodeVerifier | Apenas para authorization_code | Código verificador retornado na requisição de código de usuário. A requisição falhará se este código não estiver presente ou não corresponder ao retornado. |
refreshToken | Apenas para refresh_token | Token de refresh retornado após a solicitação de um token de acesso. Disponível apenas em aplicativos distribuídos. |
| Campo | Descrição | Exemplo |
|---|---|---|
accessToken | JWT representando o token de acesso | eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJzdWIiOiJlNjkwYjczZC01OTI4LTRkMTctODE2ZC01Y2Y5YjgyZTJhOWUiLCJhdWQiOiJvcmRlciIsInVzZXJfbmFtZSI6ImU2OTBiNzNkLTU5MjgtNGQxNy04MTZkLTVjZjliODJlMmE5ZSIsInNjb3BlIjpbIm9yZGVyIl0sInRlbmFudElkIjoiNmFjNjkxZDEtMjZjNi00ZmVkLWJmN2ItOTEwMzJkNTM4NWZkIiwiaXNzIjoiaUZvb2QiLCJtZXJjaGFudF9zY29wZSI6WyI2YjQ4N2EyNy1jNGZjLTRmMjYtYjA1ZS0zOTY3YzIzMzE4ODI6b3JkZXIiXSwiZXhwIjoxNjEyMjMwNDU5LCJpYXQiOjE2MTIyMDg4NTksIm1lcmNoYW50X3Njb3BlZCI6dHJ1ZSwiY2xpZW50X2lkIjoiZTY5MGI3M2QtNTkyOC00ZDE3LTgxNmQtNWNmOWI4MmUyYTllIiwiYXV0aG9yaXRpZXMiOlsiUk9MRV9DTElFTlQiXX0.lYqdxjHoOksq8COqJ-VZxzd524MhVzH7hkMfp5zGTpqzp26z5XJwOPHAy7L6oyagUgRfxntKeu0Up_JHgJ-Vr0h5Y9wY4XHcK1yxpFXFB5f5ilGDB0hVN3UGa4GBqeVpCbAPQUl4VhbF2byeL9PuO4TfTZmoWyuec9-xEH_nbHg |
type | Tipo do token. Atualmente, o único tipo suportado é bearer | bearer |
expiresIn | Tempo de expiração do token em segundos | 21600 |
| Campo | Descrição | Exemplo |
|---|---|---|
error.code | Código de erro para requisições não autorizadas | Unauthorized |
error.message | Descrição de erro legível | Bad credentials |
| Campo | Descrição | Exemplo |
|---|---|---|
error.code | Código de erro para erros internos | InternalServerError |
error.message | Descrição de erro legível | Unexpected error |