Skip to content

Listagem de Comentários

GET /products/comments

Retorna lista paginada de comentários de produtos

Descrição

Endpoint responsável por retornar todos os comentários referentes a produtos 💬🛍️.

Trata-se de um endpoint em contexto administrativo, permitindo que o lojista visualize e gerencie os comentários relacionados aos seus produtos.

Parâmetros de Query

Campos de Condição Disponíveis

CampoTipoDescrição
parentCommentIdintegeridentificador do comentário pai (comentário que foi respondido)
productIdintegeridentificador único do produto
userIdintegeridentificador único do usuário
userNamestringnome do usuário
userEmailstringe-mail do usuário
customerIdintegeridentificador único do cliente
customerNamestringnome do cliente
customerEmailstringe-mail do cliente que realizou o comentário
replyByUserbooleandefine se foi respondido por um usuário
activebooleanstatus de ativação do comentário
createdAtstringdata de cadastro do comentário

Campos de Ordenação Disponíveis

CampoDescrição
productIdOrdernar por identificador único de produto
userIdOrdernar por identificador único de usuário
userEmailOrdernar por e-mail de usuário
customerIdOrdernar por identificador único de cliente
customerNameOrdernar por nome de cliente
createdAtOrdernar pela data de cadastro do comentário

Exemplo de Requisição

1curl --request GET \
2 --url https://sua-loja-uappi.com.br/api/v3/products/comments \

✅ Resposta de Sucesso

1{
2 "registers": [
3 {
4 "id": 101,
5 "productId": 1234,
6 "parentCommentId": null,
7 "customerId": 567,
8 "customerName": "João Silva",
9 "customerEmail": "joao.silva@email.com",
10 "userId": null,
11 "userName": "",
12 "userEmail": "",
13 "message": "Produto excelente! Superou minhas expectativas. Entrega rápida e embalagem perfeita.",
14 "replyByUser": false,
15 "active": true,
16 "totalReplies": 1,
17 "product": {
18 "id": 1234,
19 "brandId": 1234,
20 "brandName": "TopPhone,
21 "mainCategoryId": 1,
22 "mainCategoryName": "smartphone",
23 "type": "product",
24 "name": "Smartphone XYZ Pro 128GB",
25 "sku": "SMPH001",
26 "url": "/smartphone-xyz-pro-128gb",
27 "comparisonPrice":2199.99,
28 "stock":20,
29 "medias":[
30 {
31 "id": 123,
32 "type": "image",
33 "title": "",
34 "alternativeText": null,
35 "file": "\/upload\/media\/produto-media.webp",
36 "originalFile": "\/upload\/media\/produto-media.png",
37 "size": null,
38 "originalSize": null,
39 "width": null,
40 "height": null,
41 "url": null
42 }
43 ],
44 "combination":[1, 2, 3],
45 "currentAttributes":[
46 {
47 "id":123,
48 "name":"cor",
49 "value":{
50 "id":123,
51 "label":"azul-escuro",
52 "image":null,
53 "originalImage":null,
54 "color":"#00008B",
55 "order":1
56 }
57 }
58 ],
59 "active": true
60 },
61 "createdAt": "2024-04-08 10:30:00",
62 "updatedAt": "2024-04-08 10:30:00"
63 },
64 {
65 "id": 102,
66 "productId": 1234,
67 "parentCommentId": 101,
68 "customerId": null,
69 "customerName": "",
70 "customerEmail": "",
71 "userId": 25,
72 "userName": "Suporte TechStore",
73 "userEmail": "suporte@techstore.com.br",
74 "message": "Olá João! Muito obrigado pelo feedback positivo.",
75 "replyByUser": true,
76 "active": true,
77 "totalReplies": 0,
78 "product": null,
79 "createdAt": "2024-04-08T14:15:00Z",
80 "updatedAt": "2024-04-08T14:15:00Z"
81 }
82 ],
83 "pagination": {
84 "limit": 10,
85 "offset": 0,
86 "pages": 5,
87 "registers": 47
88 }
89}

Cadastro de comentário

POST /products/comments

Possibilita o usuário de cadastrar um comentário

Descrição

Endpoint responsável por permitir que um usuário administrador responda perguntas de clientes sobre um produto.

Trata-se de uma rota de contexto administrativo, utilizada para interação oficial do lojista com os clientes dentro da página do produto.

Parâmetros

Headers Obrigatórios

HeaderValorDescrição
Content-Typeapplication/jsonTipo de conteúdo
AuthorizationBearer {userToken}Token de autenticação

Parâmetros do Corpo

ParâmetroTipoObrigatórioDescrição
parentCommentIdinteger✅identificador do comentário pai (comentário a ser respondido)
messagestring✅Mensagem de resposta do lojista

Exemplo de Requisição

1curl --request POST \
2 --url {{MAIN_URL}}/products/comments \
3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \
4 --data '{
5 "parentCommentId": 1,
6 "message": "Sim, vem com capinha. É o último em estoque, garanta o seu já!"
7 }'

✅ Resposta de Sucesso

HTTP Status: 200 OK

1{
2 "id": 1,
3 "productId": 1,
4 "parentCommentId": 1,
5 "customerId": 0,
6 "customerName": "",
7 "customerEmail": "",
8 "userId": 1,
9 "userName": "Admin uappi",
10 "userEmail": "lojista@email.com",
11 "message": "Sim, vem com capinha. É o último em estoque, garanta o seu já!",
12 "replyByUser": false,
13 "active": true,
14 "totalReplies": 0,
15 "product": null,
16 "createdAt": "2026-02-12 16:22:08",
17 "updatedAt": "2026-02-12 16:22:08"
18}

⚠️ Possíveis erros:

Atenção: a seguir estão destacados os principais erros que podem ocorrer neste endpoint.

Os cenários descritos representam os erros mais relevantes do contexto atual, servindo como referência para entendimento e tratamento das falhas.

Código InternoCódigo HttpDescrição
UAPPI_STORE_COMMENT_NOT_FOUND404O comentário solicitado não foi encontrado.
UAPPI_STORE_PRODUCT_NOT_FOUND404O produto solicitado não foi encontrado.

Atualização de comentário

PUT /products/comments/{commentId}

Possibilita o usuário de atualizar um comentário

Descrição

Endpoint responsável por permitir que um usuário administrador atualize uma resposta feita para um cliente sobre um produto.

Trata-se de uma rota de contexto administrativo, utilizada para interação oficial do lojista com os clientes dentro da página do produto.

Parâmetros de query

Headers Obrigatórios

HeaderValorDescrição
Content-Typeapplication/jsonTipo de conteúdo
AuthorizationBearer {token}Token de autenticação

Parâmetros do Corpo

ParâmetroTipoObrigatórioDescrição
replyByUserboolean❌Define se o comentário já foi respondido por um usuário
activeboolean✅Status de ativação do comentário
messagestring✅Mensagem de resposta do lojista

Exemplo de Requisição

1curl --request PUT \
2 --url {{MAIN_URL}}/products/comments/{commentId} \
3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \
4 --data '{
5 "replyByUser": true,
6 "active": true,
7 "message": "Sim, vem com capinha. É o último em estoque, garanta o seu já!"
8 }'

✅ Resposta de Sucesso

HTTP Status: 200 OK

1{
2 "id": 1,
3 "productId": 1,
4 "parentCommentId": 1,
5 "customerId": 0,
6 "customerName": "",
7 "customerEmail": "",
8 "userId": 1,
9 "userName": "Admin uappi",
10 "userEmail": "lojista@email.com",
11 "message": "Sim, vem com capinha. É o último em estoque, garanta o seu já!",
12 "replyByUser": true,
13 "active": true,
14 "totalReplies": 0,
15 "product": null,
16 "createdAt": "2026-02-12 16:22:08",
17 "updatedAt": "2026-02-12 16:22:08"
18}

⚠️ Possíveis erros:

Atenção: a seguir estão destacados os principais erros que podem ocorrer neste endpoint.

Os cenários descritos representam os erros mais relevantes do contexto atual, servindo como referência para entendimento e tratamento das falhas.

Código InternoCódigo HttpDescrição
UAPPI_STORE_COMMENT_NOT_FOUND404O comentário solicitado não foi encontrado.
UAPPI_STORE_PRODUCT_NOT_FOUND404O produto solicitado não foi encontrado.

Exclusão de comentário

DELETE /products/comments/{commentId}

Permite que um usuário exclua um comentário

Descrição

Endpoint responsável por permitir que o usuário administrador remova uma resposta previamente enviada a um cliente 🗑️💬.

Trata-se de uma rota de contexto administrativo, garantindo que apenas usuários autorizados possam excluir respostas realizadas no ambiente do produto.

Parâmetros de query

Headers Obrigatórios

HeaderValorDescrição
AuthorizationBearer {token}Token de autenticação

Parâmetros da URL

ParâmetroTipoObrigatórioDescrição
commentIdintegerSimID único de comentário

Exemplo de Requisição

1curl --request DELETE \
2 --url {{MAIN_URL}}/products/comments/{commentId} \
3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \

✅ Resposta de Sucesso

HTTP Status: 200 OK

1true

Uappi é a melhor opção para o crescimento da sua loja!

;