grantType: refresh_tokenclientId y 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 | Descripción | Ejemplo |
|---|---|---|
userCode | Código de usuario que vincula la aplicación al Portal del Socio. Muestra al usuario para que lo inserte en el Portal del Socio. | HJLX-LPSQ |
authorizationCodeVerifier | Código de verificación adicional a usar al solicitar el token de acceso. Mantén este código hasta que se emita el token de acceso. | test123 |
verificationUrl | URL del Portal del Socio que permite a los usuarios insertar el código de usuario y otorgar acceso a la aplicación. Muestra al usuario. | https://portal.ifood.com.br/apps/code |
verificationUrlComplete | URL de verificación completa con el código de usuario como parámetro de consulta. Útil para entornos que permiten hacer clic y abrir un navegador. | https://portal.ifood.com.br/apps/code?c=HJLX-LPSQ |
expiresIn | Expiración del código de usuario en segundos. El código es válido por 10 minutos. | 600 |
/oauth/tokenauthorization_code y refresh_token.cURL de ejemplo — 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 | Requerido | Descripción |
|---|---|---|
grantType | Sí | Tipo de grant OAuth. Para aplicaciones distribuidas: authorization_code, refresh_token |
clientId | Sí | Identificador del cliente |
clientSecret | Sí | Secreto del cliente |
authorizationCode | Solo para authorization_code | Código de autorización retornado después de la autorización de la aplicación |
authorizationCodeVerifier | Solo para authorization_code | Código verificador retornado en la solicitud de código de usuario. La solicitud fallará si este código no está presente o no coincide con el retornado. |
refreshToken | Solo para refresh_token | Token de refresh retornado después de solicitar un token de acceso. Disponible solo en aplicaciones distribuidas. |
| Campo | Descripción | Ejemplo |
|---|---|---|
accessToken | JWT que representa el token de acceso | eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJzdWIiOiJlNjkwYjczZC01OTI4LTRkMTctODE2ZC01Y2Y5YjgyZTJhOWUiLCJhdWQiOiJvcmRlciIsInVzZXJfbmFtZSI6ImU2OTBiNzNkLTU5MjgtNGQxNy04MTZkLTVjZjliODJlMmE5ZSIsInNjb3BlIjpbIm9yZGVyIl0sInRlbmFudElkIjoiNmFjNjkxZDEtMjZjNi00ZmVkLWJmN2ItOTEwMzJkNTM4NWZkIiwiaXNzIjoiaUZvb2QiLCJtZXJjaGFudF9zY29wZSI6WyI2YjQ4N2EyNy1jNGZjLTRmMjYtYjA1ZS0zOTY3YzIzMzE4ODI6b3JkZXIiXSwiZXhwIjoxNjEyMjMwNDU5LCJpYXQiOjE2MTIyMDg4NTksIm1lcmNoYW50X3Njb3BlZCI6dHJ1ZSwiY2xpZW50X2lkIjoiZTY5MGI3M2QtNTkyOC00ZDE3LTgxNmQtNWNmOWI4MmUyYTllIiwiYXV0aG9yaXRpZXMiOlsiUk9MRV9DTElFTlQiXX0.lYqdxjHoOksq8COqJ-VZxzd524MhVzH7hkMfp5zGTpqzp26z5XJwOPHAy7L6oyagUgRfxntKeu0Up_JHgJ-Vr0h5Y9wY4XHcK1yxpFXFB5f5ilGDB0hVN3UGa4GBqeVpCbAPQUl4VhbF2byeL9PuO4TfTZmoWyuec9-xEH_nbHg |
type | Tipo del token. Actualmente, el único tipo soportado es bearer | bearer |
expiresIn | Tiempo de expiración del token en segundos | 21600 |
| Campo | Descripción | Ejemplo |
|---|---|---|
error.code | Código de error para solicitudes no autorizadas | Unauthorized |
error.message | Descripción de error legible | Bad credentials |
| Campo | Descripción | Ejemplo |
|---|---|---|
error.code | Código de error para errores internos | InternalServerError |
error.message | Descripción de error legible | Unexpected error |