Comentários do blog
Lista os comentários aprovados de um post e envia um comentário novo, que fica em moderação.
Leitores podem comentar nos posts do blog, com ou sem conta. Todo comentário novo entra pendente e só aparece na lista depois que um administrador o aprova no painel. Por isso, depois de enviar, a tela deve avisar "seu comentário foi enviado e aguarda aprovação", e não tentar exibi-lo.
/api/v1/storefront/blog/posts/{postId}/commentsPúblicaListar os comentários aprovados
Parâmetros de caminho
postIduuidobrigatórioId do post.
Parâmetros de consulta
pageintegerpadrão: 1Página, a partir de 1.
limitintegerpadrão: 20Itens por página, de 1 a 100. Fora da faixa, vale 20.
Exemplo de requisição
Resposta
200Comentários
Campos da resposta
itemsarrayComentários aprovados do post, do mais novo para o mais antigo.
[] quando não há nenhum.items[].iduuidId do comentário.
items[].post_iduuidPost comentado.
items[].post_titlestringTítulo do post.
items[].user_iduuidConta de quem comentou. Ausente em comentário de visitante.
items[].user_namestringNome exibido.
items[].user_emailstringE-mail informado por quem comentou. É dado pessoal: não exiba na vitrine.
items[].bodystringTexto do comentário.
items[].statusstringpendingapprovedrejectedAqui sempre
approved.items[].ip_addressstringIP de quem comentou, quando registrado. É dado pessoal: não exiba.
items[].created_atstringQuando foi enviado (RFC 3339).
items[].updated_atstringÚltima alteração, por exemplo a aprovação (RFC 3339).
totalintegerTotal de comentários aprovados do post.
pageintegerPágina devolvida.
limitintegerItens por página aplicados.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 403 | Módulo blog desligado. | {"error":"module_disabled","module":"blog"} |
| 500 | postId que não é UUID (por exemplo, o slug), ou falha ao consultar. | {"error":"failed to list comments","detail":"..."} |
/api/v1/storefront/blog/posts/{postId}/commentsPúblicaEnviar um comentário
Parâmetros de caminho
postIduuidobrigatórioId do post.
Cabeçalhos
AuthorizationstringBearer <access_token> do cliente. Opcional; liga o comentário à conta.Corpo da requisição
user_namestringobrigatórioNome a exibir. Espaços nas pontas são removidos.
user_emailstringE-mail de quem comenta. Opcional; a rota não valida o formato.
bodystringobrigatórioTexto do comentário. HTML perigoso é removido.
Exemplo de requisição
Resposta
201Comentário recebido
A resposta tem os mesmos campos de items[]; aqui o status é pending.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | JSON inválido. | {"error":"invalid request body","detail":"..."} |
| 400 | body vazio. | {"error":"comment body is required"} |
| 400 | user_name vazio. | {"error":"user_name is required"} |
| 403 | Módulo blog desligado. | {"error":"module_disabled","module":"blog"} |
| 500 | postId que não é UUID ou que não existe, ou falha ao gravar. | {"error":"failed to create comment","detail":"..."} |