Client API
A API REST pode ser usada em seu aplicativo mobile ou para permitir uma maior customização da solução em seu e-commerce ou aplicativo de vendas.
Endpoints
Endpoints de Avaliações de produto
- Obter notas
- Obter avaliações
- Enviar avaliação
- Enviar fotos
- Enviar vídeo
- Enviar atributos de avaliação
- Marcar avaliação como útil
- Marcar avaliação como não útil
Endpoints de Avaliações de loja
Endpoints de Produtos Top Rated
Endpoints de avaliações de produto
Obter notas
Obtém os dados agregados de avaliações para uma lista de produtos
GET /{customer}/ratings?skus={produtos}
Parâmetros de Query String
| Parâmetro | Descrição |
|---|---|
| skus | IDs de produtos separados por vírgula |
Resposta
[
{
"product": {
"image": "https://production-na01-havaianas.demandware.net/on/demandware.static/-/Sites-havaianas-master/default/dw0cc4315e/product-images/4149926_5568_HAVAIANAS-TRACK-PLUS_A.png",
"name": "Chinelo Havaianas Track Plus",
"url": "https://production-na01-havaianas.demandware.net/s/Havaianas-BR/p/chinelo%20havaianas%20track%20plus-4149926_5568_390.html"
},
"sku": "4149926",
"aggregateRating": 4.9,
"recommendedPercentage": 100,
"reviewCount": 14
},
{
"product": {
"image": "https://production-na01-havaianas.demandware.net/on/demandware.static/-/Sites-havaianas-master/default/dw45a80267/product-images/4150149_0570_FARM-PAPILLON_A.png",
"name": "Chinelo Havaianas Farm Papilon",
"url": "https://production-na01-havaianas.demandware.net/s/Havaianas-BR/p/chinelo%20havaianas%20farm%20papilon-4150149_0570_378.html"
},
"sku": "4150149",
"aggregateRating": 4.8,
"recommendedPercentage": 96.15384615384616,
"reviewCount": 26
}
]
Campos
| campo | descrição | tipo de dados |
|---|---|---|
| product.image | URL da imagem do produto | string |
| product.name | nome do produto | string |
| product.url | URL do produto | string |
| sku | ID do produto | string |
| aggregateRating | Nota média do produto | float |
| recommendedPercentage | Percentual de avaliações que recomendam o produto | float |
| reviewCount | Total de avaliações do produto | integer |
Obter avaliações
Obtém os dados agregados totais e os dados detalhados das primeiras 50 avaliações de um produto
GET /{customer}/{sku}/summary/{sortField,sortOrder}?page={page}&pageSize={pageSize}
Parâmetros de URL
| Parâmetro | Descrição |
|---|---|
| customer | Fornecido pelo nosso time de integração |
| sku | SKU do produto |
| sortField | Campos para ordenação (tabela abaixo) |
| sortOrder | Direção da ordenação (asc ou desc) |
Parâmetros de Query String
| Parâmetro | Descrição |
|---|---|
| page | Página a ser obtida |
| pageSize | Quantidade de avaliações por página |
| filterMedia | Filtra avaliações por tipo de mídia: pictures, videos, any (qualquer mídia), none (sem mídia) |
| hasText | Quando true, retorna apenas avaliações que possuem texto |
Campos de ordenação
| Campo | Descrição |
|---|---|
| helpfulScore | Score de ordenação (algoritmo padrão - mais úteis) |
| created | Data da avaliação |
| rating | Nota da avaliação (1 a 5) |
Se os parâmetros page e pageSize não foram enviados, todas as avaliações para o SKU serão retornadas
Resposta
{
"reviews": [
{
"_id": "337892",
"aggregateRating": 4.6,
"recommendedPercentage": 100,
"reviewCount": 13,
"textReviews": 10,
"pictureReviews": 3,
"videoReviews": 1,
"mediaReviews": 4,
"attributes": [
{
"_id": "Qualidade",
"description": "Qual a sua avaliação sobre a qualidade do material dos produtos da Minimal Club?",
"avg": 4.85,
"type": "stars",
"choices": [],
"scaleMin": 1,
"scaleMax": 5,
"appliesTo": "product"
}
],
"reviews": [
{
"_id": "61a862cde3cabb8625858fb9",
"customer": "tokstok",
"sku": "337892",
"name": "Fabiane de Moraes",
"rating": 5,
"helpful": 2,
"unhelpful": 0,
"verified": false,
"created": "2021-05-28T17:31:13.000Z",
"status": "published",
"recommended": true,
"updated": "2021-12-12T11:07:54.716Z",
"pictures": [
{
"_id": "629f79d569ede80012ca7172",
"url": "https://uploads.konfidency.com.br/a98cd120-abe9-436f-b4de-78e8a0b52071",
"thumb": "https://uploads.konfidency.com.br/thumbs/a98cd120-abe9-436f-b4de-78e8a0b52071.jpg"
}
],
"video": {
"fileName": null,
"fileKey": "0cf18fc5-1766-4dc1-9c62-e4a75214b0a6",
"converted": true,
"url": "https://uploads.konfidency.com.br/video/0cf18fc5-1766-4dc1-9c62-e4a75214b0a6.mp4",
"thumb": "https://uploads.konfidency.com.br/thumbs/0cf18fc5-1766-4dc1-9c62-e4a75214b0a6.jpg"
},
"attributes": [
{
"title": "Qualidade",
"value": 5,
"type": "stars",
"scaleMin": 1,
"scaleMax": 5
},
{
"title": "Tamanho",
"value": 1,
"type": "multiple-choice",
"response": "Igual"
}
],
"reply": {
"created": "2021-12-15T10:00:00.000Z",
"text": "Obrigado pelo seu feedback! Ficamos felizes que tenha gostado.",
"helpful": 1,
"unhelpful": 0
},
"productReviewed": {
"sku": "337892-P",
"name": "Camiseta Minimal - Tamanho P",
"url": "https://loja.com.br/camiseta-minimal-p"
}
}
]
}
],
"composition": [
{
"_id": 3,
"count": 1
},
{
"_id": 4,
"count": 3
},
{
"_id": 5,
"count": 9
}
],
"customerSettings": {
"minStarsHighlightPDP": 3.5
},
"product": {
"categories": ["Shirts & Tops"],
"brand": "Minimal Club",
"name": "Camiseta Minimal",
"aiSummaryProcessed": "2025-01-08T13:48:32.463Z",
"aiSummaryText": "As avaliações da Camiseta Minimal destacam sua alta qualidade, conforto excepcional e bom caimento. Os clientes elogiam a durabilidade do material, que se mantém bem após várias lavagens, e o ajuste da camiseta ao corpo. Contudo, não foram citadas reclamações significativas que pudessem afetar a percepção geral do produto.",
"aiSummaryTopics": {
"Qualidade": "positive",
"Conforto": "positive",
"Tamanho": "positive"
},
"image": "https://production-na01-havaianas.demandware.net/on/demandware.static/-/Sites-havaianas-master/default/dw0cc4315e/product-images/4149926_5568_HAVAIANAS-TRACK-PLUS_A.png",
"url": "https://production-na01-havaianas.demandware.net/s/Havaianas-BR/p/chinelo%20havaianas%20track%20plus-4149926_5568_390.html",
"isKit": false,
"modified": "2025-01-08T13:48:32.463Z",
"status": "active",
"variants": ["4149926-1", "4149926-2"],
"variantIds": [1001, 1002],
"eans": ["7891234567890", "7891234567891"],
"sumRatings": 62,
"totalReviews": 13
}
}
Campos
reviews (lista de avaliações agregadas por SKU)
| campo | descrição | tipo de dados |
|---|---|---|
| _id | SKU do produto | string |
| aggregateRating | avaliação média do produto | float |
| recommendedPercentage | percentual de usuários que avaliaram o produto positivamente | double |
| reviewCount | quantidade total de avaliações | integer |
| textReviews | total de avaliações com texto | integer |
| pictureReviews | total de avaliações com pelo menos uma foto | integer |
| videoReviews | total de avaliações com vídeo | integer |
| mediaReviews | total de avaliações com mídia (foto ou vídeo) | integer |
reviews.reviews[] (lista de avaliações individuais)
| campo | descrição | tipo de dados |
|---|---|---|
| _id | ID único da avaliação | string |
| sku | SKU do produto | string |
| name | nome do cliente que avaliou | string |
| rating | nota atribuída pelo cliente | integer |
| text | texto de avaliação do cliente | string |
| helpful | quantidade de pessoas que consideraram a avaliação útil | integer |
| unhelpful | quantidade de pessoas que não consideraram a avaliação útil | integer |
| verified | indica se o cliente é um comprador verificado | boolean |
| created | data de envio da avaliação | string (ISO-8601) |
| recommended | indica se o cliente avaliou o produto positivamente | boolean |
| updated | última data de atualização da avaliação | string (ISO-8601) |
| pictures | fotos enviadas com a avaliação | array |
| video | vídeo enviado com a avaliação | objeto |
| attributes | atributos preenchidos pelo cliente nesta avaliação | array |
| reply | resposta da loja a esta avaliação (quando houver) | objeto ou null |
| productReviewed | produto específico avaliado — presente apenas em avaliações de produtos que fazem parte de um grupo ou kit | objeto ou null |
| syndicationDisplaySource | nome de exibição da loja de origem — presente apenas em avaliações sindicalizadas | string ou null |
| syndicationSourceLogo | URL do logotipo da loja de origem — presente apenas em avaliações sindicalizadas | string ou null |
| syndicationSourceProductUrl | URL do produto na loja de origem — presente apenas em avaliações sindicalizadas | string ou null |
| syndicationOriginalText | texto original da avaliação antes da tradução — presente apenas quando tradução foi aplicada | string ou null |
reviews.pictures[]
| campo | descrição | tipo de dados |
|---|---|---|
| _id | ID único da foto | string |
| url | URL da foto | string |
| thumb | URL da miniatura da foto | string |
reviews.video
| campo | descrição | tipo de dados |
|---|---|---|
| url | URL do vídeo | string |
| thumb | URL da miniatura do vídeo | string |
reviews.reviews[].attributes[] (atributos por avaliação)
Atributos preenchidos pelo cliente ao enviar a avaliação. Diferente do reviews[].attributes (resumo agregado), este array contém os valores individuais de cada avaliador.
| campo | descrição | tipo de dados |
|---|---|---|
| title | título do atributo | string |
| value | valor numérico atribuído (1–5 para stars) | integer |
| type | tipo do atributo: stars ou multiple-choice | string |
| response | texto da resposta selecionada (apenas para atributos multiple-choice) | string |
| scaleMin | valor mínimo da escala (apenas para atributos stars) | integer |
| scaleMax | valor máximo da escala (apenas para atributos stars) | integer |
reviews.reviews[].reply
Resposta da loja à avaliação. Este campo estará ausente ou null quando a loja ainda não tiver respondido.
| campo | descrição | tipo de dados |
|---|---|---|
| created | data em que a resposta foi publicada | string (ISO-8601) |
| text | texto da resposta da loja | string |
| helpful | quantidade de pessoas que consideraram a resposta útil | integer |
| unhelpful | quantidade de pessoas que não consideraram a resposta útil | integer |
reviews.reviews[].productReviewed
Presente apenas quando a avaliação pertence a um produto que faz parte de um grupo ou kit. Identifica o produto específico que foi avaliado dentro do conjunto.
| campo | descrição | tipo de dados |
|---|---|---|
| sku | SKU do produto avaliado | string |
| name | nome do produto avaliado | string |
| url | URL do produto avaliado | string |
reviews.attributes[] (resumo de atributos)
| campo | descrição | tipo de dados |
|---|---|---|
| _id | Nome do atributo | string |
| description | Descrição detalhada do atributo | string |
| avg | avaliação média do atributo | float |
| type | tipo de atributo | string: stars ou multiple-choice |
| choices | para atributos do tipo multiple-choice, as respostas possíveis | array de strings |
| scaleMin | valor mínimo da escala do atributo | integer |
| scaleMax | valor máximo da escala do atributo | integer |
| appliesTo | escopo onde o atributo se aplica (ex: "product") | string ou null |
product
| campo | descrição | tipo de dados |
|---|---|---|
| categories | categorias do produto | array de string |
| brand | marca do produto | string |
| name | nome do produto | string |
| aiSummaryProcessed | data da geração do resumo por IA | string (ISO-8601) |
| aiSummaryText | texto do resumo gerado por IA | string |
| aiSummaryTopics | tópicos identificados no resumo por IA | par de chave/valor (string/string), podendo o valor ser positive ou negative |
| image | URL da imagem do produto | string |
| url | URL do produto | string |
| isKit | indica se o produto é um kit | boolean |
| modified | data da última modificação do produto | string (ISO-8601) |
| status | status do produto (ex: "active") | string |
| variants | lista de SKUs variantes | array de string |
| variantIds | lista de IDs internos das variantes | array de inteiro |
| eans | lista de códigos EAN do produto | array de string |
| sumRatings | soma total das notas atribuídas | integer |
| totalReviews | total geral de avaliações do produto | integer |
composition
Composição das notas, com a quantidade de avaliações para cada nota possível
| campo | descrição | tipo de dados |
|---|---|---|
| _id | nota (de 1 a 5) atribuída ao produto | integer |
| count | quantidade de avaliações com essa nota | integer |
Para obter o número de páginas total, sua aplicação deve calcular baseado no campo reviewCount
Enviar avaliação
Permite enviar uma avaliação sobre um produto
POST /{customer}/{sku}/review
Parâmetros de URL
| Parâmetro | Descrição |
|---|---|
| customer | Fornecido pelo nosso time de integração |
| sku | SKU do produto |
Campos do corpo da requisição (JSON)
| campo | descrição | tipo de dados |
|---|---|---|
| userId | ID do usuário em sua plataforma | string |
| e-mail do usuário em sua plataforma | string | |
| rating | número de estrelas atribuído pelo usuário ao produto | integer |
| text | texto de avaliação do cliente | string |
| recommended | indica se o cliente avalia o produto positivamente | boolean |
Os campos userId e email serão utilizados como chave composta para garantir que o usuário está autenticado corretamente na plataforma e não permitir atribuir avaliações a outros usuários
As avaliações precisam ser aprovadas através de nosso dashboard antes de serem publicadas em sua loja.
Exemplo de corpo da requisição
{
"userId": "12345678-1234-1234-1234-123456789012",
"email": "[email protected]",
"rating": 5,
"text": "Produto perfeito para minhas necessidades"
}
Resposta
{
"helpful": 0,
"unhelpful": 0,
"verified": false,
"status": "sent",
"_id": "61b6084bbe562d0018e43cac",
"created": "2021-12-12T14:33:47.749Z",
"customer": "tokstok",
"userId": "12345678-1234-1234-1234-123456789012",
"name": "Tony S",
"sku": "337892",
"text": "Produto perfeito para minhas necessidades",
"recommended": true,
"rating": 5,
"availableAttributes": [
{
"categories": ["Produtos"],
"choices": [],
"_id": "660ffe859fc8c1323a98d4dc",
"customer": "tokstok",
"title": "Qualidade",
"order": 1,
"type": "stars",
"__v": 0
},
{
"categories": null,
"choices": ["Menor", "Igual", "Maior"],
"_id": "6781341e6b105a8fe1a9e01b",
"customer": "tokstok",
"title": "Tamanho",
"description": "Você considera o tamanho do produto maior, menor ou igual quando comparado com outras marcas?",
"order": 1,
"type": "multiple-choice",
"__v": 0
}
],
"updateToken": "26e854ad-a7cb-4170-b790-bdf47ccbfb5e"
}
Campos da resposta
| campo | descrição | tipo de dados |
|---|---|---|
| _id | ID único da avaliação enviada | string |
| status | status da avaliação, normalmente será "sent" neste momento | string |
| created | data do envio da avaliação | string (data em formato ISO-8601) |
| userId | ID do usuário que realizou a avaliação | string |
| name | nome do cliente que fez a avaliação | string |
| sku | SKU do produto | string |
| rating | número de estrelas atribuído pelo usuário ao produto | integer |
| text | texto de avaliação do cliente | string |
| recommended | indica se o cliente avalia o produto positivamente | boolean |
| verified | indica se o cliente é um comprador verificado do produto | boolean |
| helpful | quantidade de pessoas que consideraram a avaliação útil | integer |
| unhelpful | quantidade de pessoas que não consideraram a avaliação útil | integer |
| availableAttributes._id | ID do atributo | string |
| availableAttributes.categories | array de categorias onde o atributo é aplicável, ou null se for aplicável a todas | array de string ou null |
| availableAttributes.type | tipo de atributo: stars ou multiple-choice | string |
| availableAttributes.order | ordem do atributo (serve para ordenar na interface) | integer |
| availableAttributes.title | título do atributo | string |
| availableAttributes.description | texto descritivo para exibir junto ao título do atributo | string |
| availableAttributes.choices | em caso de atributo do tipo multiple-choice, as opções disponíveis | array de string |
Enviar fotos
Obter URL de upload (presign)
POST /{customer}/{sku}/review/{reviewId}/pictures/presign
Campos do corpo da requisição (JSON):
| campo | descrição | tipo de dados |
|---|---|---|
| updateToken | token de atualização obtido ao enviar a avaliação | string |
| mimeType | tipo MIME da imagem | string |
| fileSize | tamanho do arquivo em bytes | integer |
Exemplo:
{
"updateToken": "token",
"mimeType": "image/jpeg",
"fileSize": 123456
}
Resposta:
{
"urls": [
{
"uploadUrl": "https://upload.konfidency.com.br/.../signed-url-1",
"confirmUrl": "/{customer}/{sku}/review/{reviewId}/pictures/confirm",
"fileKey": "abc123"
}
]
}
Realizar o upload da imagem
Com a URL retornada no campo uploadUrl, envie o arquivo diretamente para o S3 usando uma requisição PUT.
Exemplo usando fetch no frontend:
await fetch(uploadUrl, {
method: "PUT",
headers: {
"Content-Type": "image/jpeg"
},
body: arquivo
});
Substitua "image/jpeg" pelo tipo MIME correspondente da imagem enviada.
Após o upload com sucesso, chame o endpoint de confirmação abaixo.
Confirmar upload
POST /{customer}/{sku}/review/{reviewId}/pictures/confirm
| campo | descrição | tipo de dados |
|---|---|---|
| updateToken | token de atualização | string |
| keys | lista de fileKeys obtidos na etapa de presign | array de strings |
Exemplo de corpo da requisição:
{
"updateToken": "298860be-c22b-42ac-a312-459f7a614b2c",
"keys": ["fe89fbe1-8c71-42c6-9175-f471919163cb"]
}
Enviar vídeo
Obter URL de upload (presign)
POST /{customer}/{sku}/review/{reviewId}/video/presign
Campos do corpo da requisição (JSON):
| campo | descrição | tipo de dados |
|---|---|---|
| updateToken | token de atualização obtido ao enviar a avaliação | string |
| mimeType | tipo MIME do vídeo (ex: video/mp4) | string |
| fileSize | tamanho do arquivo em bytes | integer |
Exemplo:
{
"updateToken": "token",
"mimeType": "video/mp4",
"fileSize": 12345678
}
Resposta:
{
"uploadUrl": "https://upload.konfidency.com.br/.../signed-url",
"confirmUrl": "/{customer}/{sku}/review/{reviewId}/video/confirm",
"fileKey": "xyz456"
}
Realizar o upload do vídeo
Com a URL retornada no campo uploadUrl, envie o vídeo diretamente para o S3 usando uma requisição PUT.
Exemplo usando fetch no frontend:
await fetch(uploadUrl, {
method: "PUT",
headers: {
"Content-Type": "video/mp4"
},
body: arquivo
});
Substitua "video/mp4" pelo tipo MIME correspondente do vídeo enviado.
Após o upload com sucesso, chame o endpoint de confirmação abaixo.
Confirmar upload
POST /{customer}/{sku}/review/{reviewId}/video/confirm
| campo | descrição | tipo de dados |
|---|---|---|
| updateToken | token de atualização | string |
| key | identificador único retornado no presign | string |
Exemplo de corpo da requisição:
{
"updateToken": "298860be-c22b-42ac-a312-459f7a614b2c",
"key": "fe89fbe1-8c71-42c6-9175-f471919163cb"
}
Enviar atributos de avaliação
Permite enviar os atributos complementares da avaliação, obtidos na propriedade availableAttributes ao enviar a avaliação.
POST /{customer}/{sku}/review/{reviewId}/attributes
Parâmetros de URL
| Parâmetro | Descrição |
|---|---|
| customer | Fornecido pelo nosso time de integração |
| sku | SKU do produto |
| reviewId | ID da avaliação criada |
Campos da requisição
| campo | descrição | tipo de dados |
|---|---|---|
| updateToken | updateToken obtido ao salvar a avaliação | string |
| attributes | array com os atributos preenchidos pelo usuário | array |
| attributes._id | ID do atributo | string |
| attributes.value | Valor do atributo (1 a 5 se type=stars, 0-index da resposta se type=multiple-choice) | integer |
| attributes.response | Valor da resposta se type=multiple-choice | string |
Exemplo do corpo da requisição
{
"updateToken": "26e854ad-a7cb-4170-b790-bdf47ccbfb5e",
"attributes": [
{
"_id": "6781341e6b105a8fe1a9e01b",
"value": 1,
"response": "Igual"
},
{
"_id": "660ffe859fc8c1323a98d4dc",
"value": 5
}
]
}
Marcar avaliação como útil (curtir)
Permite marcar uma avaliação como útil. Este dado é utilizado para que os próprios clientes escolham quais avaliações são mais úteis e ajudem uns aos outros
POST /{customer}/{sku}/review/{reviewId}/like
Parâmetros de URL
| Parâmetro | Descrição |
|---|---|
| customer | Fornecido pelo nosso time de integração |
| sku | SKU do produto |
| reviewId | ID único da avaliação |
Campos do corpo da requisição (JSON)
| campo | descrição | tipo de dados |
|---|---|---|
| userId | ID do usuário em sua plataforma | string |
| e-mail do usuário em sua plataforma | string |
Exemplo de corpo da requisição
{
"userId": "12345678-1234-1234-1234-123456789012",
"email": "[email protected]"
}
Resposta
{
"helpful": 1,
"unhelpful": 0,
"verified": false,
"status": "published",
"_id": "61b6084bbe562d0018e43cac",
"created": "2021-12-12T14:33:47.749Z",
"customer": "tokstok",
"userId": "12345678-1234-1234-1234-123456789012",
"name": "Tony S",
"sku": "337892",
"text": "Produto perfeito para minha necessidade",
"recommended": true,
"rating": 4,
"__v": 0
}
Campos da resposta
| campo | descrição | tipo de dados |
|---|---|---|
| _id | ID único da avaliação enviada | string |
| status | status da avaliação | string |
| created | data do envio da avaliação | string (data em formato ISO-8601) |
| userId | ID do usuário que realizou a avaliação | string |
| name | nome do cliente que fez a avaliação | string |
| sku | SKU do produto | string |
| rating | número de estrelas atribuído pelo usuário ao produto | integer |
| text | texto de avaliação do cliente | string |
| recommended | indica se o cliente avalia o produto positivamente | boolean |
| verified | indica se o cliente é um comprador verificado do produto | boolean |
| helpful | quantidade de pessoas que consideraram a avaliação útil | integer |
| unhelpful | quantidade de pessoas que não consideraram a avaliação útil | integer |
| updateToken | token de atualização para envio de informações complementares | string |
Marcar avaliação como não útil (descurtir)
Permite marcar uma avalia ção como não útil. Este dado é utilizado para que os próprios clientes escolham quais avaliações são mais úteis e ajudem uns aos outros
POST /{customer}/{sku}/review/{reviewId}/dislike
Parâmetros de URL
| Parâmetro | Descrição |
|---|---|
| customer | Fornecido pelo nosso time de integração |
| sku | SKU do produto |
| reviewId | ID único da avaliação |
Campos do corpo da requisição (JSON)
| campo | descrição | tipo de dados |
|---|---|---|
| userId | ID do usuário em sua plataforma | string |
| e-mail do usuário em sua plataforma | string |
Exemplo de corpo da requisição
{
"userId": "12345678-1234-1234-1234-123456789012",
"email": "[email protected]"
}
Resposta
{
"helpful": 1,
"unhelpful": 0,
"verified": false,
"status": "published",
"_id": "61b6084bbe562d0018e43cac",
"created": "2021-12-12T14:33:47.749Z",
"customer": "tokstok",
"userId": "12345678-1234-1234-1234-123456789012",
"name": "Tony S",
"sku": "337892",
"text": "Produto perfeito para minha necessidade",
"recommended": true,
"rating": 4,
"__v": 0
}
Campos da resposta
| campo | descrição | tipo de dados |
|---|---|---|
| _id | ID único da avaliação enviada | string |
| status | status da avaliação | string |
| created | data do envio da avaliação | string (data em formato ISO-8601) |
| userId | ID do usuário que realizou a avaliação | string |
| name | nome do cliente que fez a avaliação | string |
| sku | SKU do produto | string |
| rating | número de estrelas atribuído pelo usuário ao produto | integer |
| text | texto de avaliação do cliente | string |
| recommended | indica se o cliente avalia o produto positivamente | boolean |
| verified | indica se o cliente é um comprador verificado do produto | boolean |
| helpful | quantidade de pessoas que consideraram a avaliação útil | integer |
| unhelpful | quantidade de pessoas que não consideraram a avaliação útil | integer |
Endpoints de Avaliações de loja
Resumo das avaliações de loja
Obtém os dados resumidos das avaliações de loja, como quantidade total de avaliações e nota média
GET /{customer}/store-reviews/summary
Parâmetros de URL
| Parâmetro | Descrição |
|---|---|
| customer | Fornecido pelo nosso time de integração |
Resposta
[
{
"_id": "konfidency",
"count": 2904,
"avgRating": 4.747245179063361,
"enableStoreReview": true
}
]
Campos
| campo | descrição | tipo de dados |
|---|---|---|
| _id | ID do cliente | string |
| count | quantidade de avaliações da loja | integer |
| avgRating | avaliação média da loja | float |
| enableStoreReview | indica se as avaliações de loja estão ativas para a loja | boolean |
Listar avaliações de loja
Obtém os dados detalhados das avaliações de loja
GET /{customer}/store-reviews/published/{sort}
Parâmetros de URL
| Parâmetro | Descrição |
|---|---|
| customer | Fornecido pelo nosso time de integração |
| sort | Ordenação dos resultados (ver tabela abaixo) |
Ordenação de resultados
A ordenação segue o padrão campo,ordem. A ordem pode ser 1 para crescente ou -1 para decrescente.
| Campo | Descrição |
|---|---|
created | Data de envio da avaliação |
sku | SKU do produto |
rating | Nota da avaliação (1 a 5) |
helpful | Mais marcadas como úteis |
unhelpful | Mais marcadas como não úteis |
Resposta
{
"results": [
{
"_id": "658310dd5c26870012a0d06a",
"created": "2023-12-20T16:05:49.246Z",
"customer": "konfidency",
"rating": 5,
"text": "Produtos de ótima qualidade e ótimo atendimento.",
"name": "Tony S"
}
]
}
Campos
| campo | descrição | tipo de dados |
|---|---|---|
| _id | ID da avaliação | |
| created | Data de envio da avaliação | string (data em formato ISO-8601) |
| customer | ID do cliente | string |
| rating | Nota da avaliação | integer |
| text | Texto da avaliação | string |
| name | Nome do consumidor | string |
Carrossel de avaliações de loja
Obtém os dados para exibição do carrosel das avaliações de loja (últimas 10 avaliações mais positivas)
GET /{customer}/store-reviews/carousel
Parâmetros de URL
| Parâmetro | Descrição |
|---|---|
| customer | Fornecido pelo nosso time de integração |
Resposta
[
{
"_id": "658310dd5c26870012a0d06f",
"created": "2023-12-20T16:05:49.246Z",
"customer": "utilplast",
"rating": 5,
"text": "sempre contei com os produtos de boa qualidade.",
"name": "Tony S"
}
]
Campos
| campo | descrição | tipo de dados |
|---|---|---|
| _id | ID da avaliação | string |
| created | Data de envio da avaliação | string (data em formato ISO-8601) |
| customer | ID do cliente | string |
| rating | Nota da avaliação | integer |
| text | Texto da avaliação | string |
| name | Nome do consumidor | string |
Endpoints de Perguntas e respostas
Obter perguntas e respostas
Obtém os dados das perguntas e respostas sobre o produto. Este endpoint não suporta paginação, a mesma deve ser realizada no front-end.
GET /{customer}/{sku}/questions
Parâmetros de URL
| Parâmetro | Descrição |
|---|---|
| customer | Fornecido pelo nosso time de integração |
| sku | SKU do produto |
Resposta
[
{
"_id": "67241b3604ec400011b5be8b",
"status": "published",
"created": "2024-11-01T00:05:10.763Z",
"name": "André Barbosa",
"text": "Qual o material da camiseta?",
"reply": {
"created": "2024-11-01T00:05:51.253Z",
"unhelpful": 0,
"helpful": 0,
"text": "Olá André!\n\nNossa camiseta é feita de 93% de algodão egípcio certificado e 7% de elastano para maior flexibilidade e resistência da peça.\n\n*A camiseta de cor mescla possui 80% de Algodão Egípcio 13% de poliéster e 7% de Elastano."
}
},
{
"_id": "67241b1a04ec400011b5bd58",
"status": "published",
"created": "2024-11-01T00:04:42.518Z",
"name": "Eduardo Lima",
"text": "Como eu sei o tamanho que vai servir em mim?",
"reply": {
"created": "2024-11-01T00:06:19.069Z",
"unhelpful": 0,
"helpful": 0,
"text": "Olá Eduardo, tudo bem?\n\nUtilize o nosso provador virtual e deixe que o nosso sistema te indique o tamanho perfeito para o seu corpo!\n\nÉ só clicar em \"Descubra meu tamanho\" logo abaixo da seleção do tamanho da Camiseta.\n\nSe mesmo assim você quiser ver as medidas dos nossos produtos, é só acessar a tabela de medidas que está nas fotos do produto."
}
},
{
"_id": "67241ad6c649760012cbf7a5",
"status": "published",
"created": "2024-11-01T00:03:34.924Z",
"name": "Caio Fernandes",
"text": "Se eu pedir o tamanho errado eu posso trocar?",
"reply": {
"created": "2024-11-01T00:06:44.585Z",
"unhelpful": 0,
"helpful": 0,
"text": "Boa noite Caio!\n\nSim! Fazemos as trocas de Camisetas em até 30 dias. Para solicitar a troca basta entrar em contato com a nossa equipe pelo Whatsapp."
}
}
]
Enviar pergunta
Envia uma pergunta para um produto
POST /{customer}/{sku}/question
Parâmetros de URL
| Parâmetro | Descrição |
|---|---|
| customer | Fornecido pelo nosso time de integração |
| sku | SKU do produto |
Campos do corpo da requisição (JSON)
| campo | descrição | tipo de dados |
|---|---|---|
| userId | ID do usuário em sua plataforma | string |
| e-mail do usuário em sua plataforma | string | |
| text | texto da pergunta do cliente | string |
Os campos userId e email serão utilizados como chave composta para garantir que o usuário está autenticado corretamente na plataforma e não permitir atribuir avaliações a outros usuários
As perguntas precisam ser aprovadas e/ou respondidas através de nosso dashboard antes de serem publicadas em sua loja.
Endpoints de Produtos Top Rated
Obter produtos Top Rated ativos
Retorna a lista de SKUs que estão atualmente ativos como produtos Top Rated, de acordo com as configurações definidas no dashboard. Utilizado pelo SDK para exibir o badge de destaque nos produtos elegíveis.
GET /{customer}/top-rated/active
Parâmetros de URL
| Parâmetro | Descrição |
|---|---|
| customer | Fornecido pelo nosso time de integração |
Resposta
{
"skus": ["12345", "67890", "11223"],
"badgeLabel": "Top Rated"
}
Campos
| campo | descrição | tipo de dados |
|---|---|---|
| skus | lista de SKUs dos produtos ativos como Top Rated | array de string |
| badgeLabel | texto do badge a ser exibido nos produtos em destaque | string |