Buscar en la documentación
ctrl+4K
Módulos
Authentication
Merchant
Catalog
Order
Events
Logistics
Shipping
Review
Financial
Soluciones

Endpoints

Referência completa da API Review V2. Todos os endpoints requerem autenticação JWT e retornam JSON.Base URL: https://merchant-api.ifood.com.br/review/v2.0
MétodoEndpointDescrição
GET/merchants/{id}/reviewsLista avaliações com filtros e paginação
GET/merchants/{id}/reviews/{reviewId}Obtém detalhes de uma avaliação
POST/merchants/{id}/reviews/{reviewId}/answersResponde uma avaliação
GET/merchants/{id}/summaryConsulta estatísticas e média de notas
Todos os endpoints requerem token OAuth 2.0 no header Authorization:
Authorization: Bearer {JWT_TOKEN}
Para detalhes sobre autenticação e gerenciamento de tokens, consulte a documentação de autenticação.
GET /merchants/{merchantId}/reviewsRetorna lista paginada de avaliações, com suporte a filtros por data e ordenação.Path:
  • merchantId (required) - ID da loja (UUID)
Query:
ParâmetroTipoPadrãoValoresDescrição
pageinteger1-Número da página (começa em 1)
pageSizeinteger10Máx: 50Itens por página
addCountbooleanfalsetrue/falseIncluir total e pageCount na resposta
dateFromdatetime-ISO 8601Filtro: data início (ex: 2025-01-01T00:00:00Z)
dateTodatetime-ISO 8601Filtro: data fim
sortstringDESCASC, DESCOrdenação: crescente ou decrescente
sortBystringCREATED_ATCREATED_AT, ORDER_DATECampo para ordenação
curl -X GET "https://merchant-api.ifood.com.br/review/v2.0/merchants/550e8400-e29b-41d4-a716-446655440000/reviews?page=1&pageSize=10&addCount=true" \
  -H "Authorization: Bearer {JWT_TOKEN}"
Ou com filtro de data:
curl -X GET "https://merchant-api.ifood.com.br/review/v2.0/merchants/550e8400-e29b-41d4-a716-446655440000/reviews?page=1&pageSize=20&dateFrom=2025-01-01T00:00:00Z&dateTo=2025-03-31T23:59:59Z" \
  -H "Authorization: Bearer {JWT_TOKEN}"
{
  "page": 1,
  "size": 10,
  "reviews": [
    {
      "id": "a26c8718-b1f5-44a0-8f06-ecc71ddfcd5a",
      "comment": "Lanche gostoso e saboroso.",
      "score": 5.0,
      "status": "PUBLISHED",
      "visibility": "PUBLIC",
      "version": "v2",
      "createdAt": "2021-04-07T01:46:59.722169Z",
      "replies": [
        {
          "text": "Obrigado! Volte sempre.",
          "from": "MERCHANT",
          "createdAt": "2021-04-07T15:30:00.000000Z"
        }
      ],
      "order": {
        "id": "bbec78f9-d579-414b-9120-37fda7968824",
        "shortId": "1234",
        "createdAt": "2021-04-07T00:39:30.902486Z"
      },
      "surveyId": "2c35c485-9f23-464d-bd83-cf6ecd1c71e0"
    }
  ],
  "total": 142,
  "pageCount": 15
}
GET /merchants/{merchantId}/reviews/{reviewId}Retorna informações completas de uma avaliação, incluindo questionário respondido e histórico de respostas.Path:
  • merchantId (required) - ID da loja (UUID)
  • reviewId (required) - ID da avaliação (UUID)
curl -X GET "https://merchant-api.ifood.com.br/review/v2.0/merchants/550e8400-e29b-41d4-a716-446655440000/reviews/a26c8718-b1f5-44a0-8f06-ecc71ddfcd5a" \
  -H "Authorization: Bearer {JWT_TOKEN}"
{
  "id": "a26c8718-b1f5-44a0-8f06-ecc71ddfcd5a",
  "comment": "Chegou muito rápido, ingredientes de qualidade.",
  "score": 5.0,
  "status": "PUBLISHED",
  "visibility": "PUBLIC",
  "version": "v2",
  "customerName": "Elisa",
  "createdAt": "2021-03-30T00:32:32.820884Z",
  "replies": [
    {
      "text": "Obrigado Elisa! Ficamos felizes.",
      "from": "MERCHANT",
      "createdAt": "2021-03-30T10:15:00.000000Z"
    }
  ],
  "order": {
    "id": "23651b6d-042e-4c66-8e1a-ee2a92544e4f",
    "shortId": "1234",
    "createdAt": "2021-03-29T03:10:28.552082Z"
  },
  "questions": [
    {
      "id": "7e7346ca-b24e-46c9-bda4-62411a8eb2fe",
      "type": "CHOICE",
      "title": "Do que você mais gostou?",
      "answers": [
        {
          "id": "05e8622f-be9f-4692-b087-25a06d02cc59",
          "title": "Educação"
        }
      ]
    }
  ],
  "surveyId": "2c35c485-9f23-464d-bd83-cf6ecd1c71e0"
}
POST /merchants/{merchantId}/reviews/{reviewId}/answersCria uma resposta para uma avaliação. Apenas reviews com status: NOT_REPLIED aceitam respostas.
Você tem 5 dias para responder uma avaliação. Após esse prazo, a avaliação é publicada automaticamente. Respostas podem ser editadas em até 10 minutos após envio.
Path:
  • merchantId (required) - ID da loja (UUID)
  • reviewId (required) - ID da avaliação (UUID)
Body:
{
  "text": "Obrigado pelo feedback! Vamos melhorar."
}
CampoTipoObrigatórioRestriçõesDescrição
textstringSim10-300 caracteresTexto da resposta. Sem xingamentos, dados pessoais do cliente, links ou promoções não autorizadas. Veja validação de respostas
curl -X POST "https://merchant-api.ifood.com.br/review/v2.0/merchants/550e8400-e29b-41d4-a716-446655440000/reviews/a26c8718-b1f5-44a0-8f06-ecc71ddfcd5a/answers" \
  -H "Authorization: Bearer {JWT_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Obrigado pelo feedback! Vamos melhorar nosso atendimento."
  }'
Para editar uma resposta (dentro de 10 minutos):
# Enviar novo POST com texto atualizado na mesma rota
curl -X POST "https://merchant-api.ifood.com.br/review/v2.0/merchants/550e8400-e29b-41d4-a716-446655440000/reviews/a26c8718-b1f5-44a0-8f06-ecc71ddfcd5a/answers" \
  -H "Authorization: Bearer {JWT_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Texto atualizado da resposta"
  }'
{
  "createdAt": "2021-04-07T15:30:00.000000Z",
  "reviewId": "a26c8718-b1f5-44a0-8f06-ecc71ddfcd5a",
  "text": "Obrigado pelo feedback! Vamos melhorar nosso atendimento."
}
GET /merchants/{merchantId}/summaryRetorna estatísticas agregadas: contagem total, contagem válida e nota média.Path:
  • merchantId (required) - ID da loja (UUID)
curl -X GET "https://merchant-api.ifood.com.br/review/v2.0/merchants/550e8400-e29b-41d4-a716-446655440000/summary" \
  -H "Authorization: Bearer {JWT_TOKEN}"
{
  "totalReviewsCount": 142,
  "validReviewsCount": 53,
  "score": 4.3
}
CampoTipoDescrição
totalReviewsCountintegerTotal de avaliações (todas as épocas)
validReviewsCountintegerAvaliações que contam no score
scorenumberMédia aritmética das avaliações válidas (1.0-5.0)
O score é a média aritmética de todas as avaliações válidas.Avaliações são válidas quando:
  • Status é PUBLISHED (e não DISCARDED ou INVALID)
  • Criadas nos últimos 3 meses
  • Visibilidade é PUBLIC (não PRIVATE)
Exemplo prático:
CampoValor
Total de avaliações142 (todas as épocas)
Avaliações válidas53 (últimos 3 meses + PUBLIC)
Score exibido4.3 (média das 53 válidas)
Avaliações antigas (> 3 meses) continuam no histórico mas não afetam o score. Avaliações privadas (PRIVATE) são visíveis para você mas não contam na nota pública.
Todos os endpoints de Reviews respeitam os mesmos limites de requisição. Consulte a documentação de rate limit para detalhes sobre como lidar com erro 429.
EndpointLimite
GET /merchants/{merchantId}/reviews2000 req/min
GET /merchants/{merchantId}/reviews/{reviewId}2000 req/min
POST /merchants/{merchantId}/reviews/{reviewId}/answers2000 req/min
GET /merchants/{merchantId}/summary2000 req/min
CódigoStatusQuando ocorreAção
200OKSucesso em GETProcessar response
201CreatedResposta criada com sucessoProcessar response
400Bad RequestParâmetros inválidosValidar entrada e retry
401UnauthorizedToken expirado/ausenteRenovar token e retry
403ForbiddenSem permissão nesta lojaVerificar acesso e cancelar
404Not FoundRecurso não existeValidar IDs e cancelar
409ConflictConflito de estadoVerificar status e retry ou cancelar
422Unprocessable EntityValidação falhouRevisar dados e retry
429Too Many RequestsRate limit excedidoAguardar e retry com backoff
500Internal Server ErrorErro no servidorRetry com backoff exponencial
503Service UnavailableServiço temporariamente indisponívelRetry com backoff exponencial
Objeto principal retornado pelos endpoints.
CampoTipoDescrição
iduuidIdentificador único da avaliação
scorenumberNota de 1.0 a 5.0
statusenumCREATED, NOT_REPLIED, REPLIED, PUBLISHED, INVALID, DISCARDED
visibilityenumPUBLIC ou PRIVATE
versionstringVersão da API que criou (v1 ou v2)
commentstringComentário do cliente (opcional)
customerNamestringNome do cliente
createdAtdatetimeTimestamp ISO 8601
repliesarrayLista de respostas (veja Reply)
orderobjectPedido avaliado (veja Order)
questionsarrayQuestionário respondido (veja Question)
surveyIduuidID da versão do questionário
Resposta à avaliação.
CampoTipoDescrição
textstringTexto da resposta (10-300 caracteres)
fromenumMERCHANT (você) ou CUSTOMER (cliente)
createdAtdatetimeTimestamp ISO 8601
Pedido que foi avaliado.
CampoTipoDescrição
iduuidID único do pedido
shortIdstringCódigo curto para exibição
createdAtdatetimeQuando o pedido foi criado
Pergunta do questionário dinâmico.
CampoTipoDescrição
iduuidID da pergunta
typeenumRATING, CHOICE ou BINARY
titlestringTexto da pergunta
answersarrayRespostas selecionadas (id, title)
Estatísticas agregadas (endpoint /summary).
CampoTipoDescrição
totalReviewsCountintegerTotal de avaliações
validReviewsCountintegerAvaliações que contam no score
scorenumberMédia das avaliações válidas (1.0-5.0)
Status: Ciclo de vida da avaliação.
ValorDescriçãoSua açãoImpacto no score
CREATEDEm processamento (minutos)AguardeNão contabilizado
NOT_REPLIEDAguardando sua resposta (5 dias)Responda via APINão contabilizado
REPLIEDRespondida, cliente pode reagir (5 dias)Aguarde reaçãoNão contabilizado
PUBLISHEDPublicada (permanente)NenhumaSim (se visibility: PUBLIC)
INVALIDViolou diretrizes iFoodNenhumaNão
DISCARDEDRemovida automaticamenteNenhumaNão
Avaliações em status CREATED são processadas automaticamente em alguns minutos. Após triagem, passam para NOT_REPLIED (se requerem resposta) ou PUBLISHED (se não requerem).
Visibility: Quem pode ver a avaliação.
ValorQuem vêAfeta scoreCaso de uso
PUBLICTodos (página da loja)SimPadrão - visível publicamente
PRIVATEVocê + clienteNãoFeedback confidencial
Version: Indica qual API criou a avaliação.
ValorSignificado
v1Criada pela API Review V1 (legado)
v2Criada pela API Review V2 (atual)
O endpoint V2 retorna avaliações de ambas as versões (v1 e v2). Use o campo version para detectar origem.
¿Esta página fue útil?
Evalúa tu experiencia en el nuevo portal de desarrolladores: