Inscritos
Lista, consulta e apaga os inscritos da newsletter.
Listar inscritos
Devolve os inscritos, do mais recente para o mais antigo, com as estatísticas gerais ao lado. Quem ainda não confirmou o e-mail aparece como P, e só A recebe campanhas.
/api/v1/admin/newsletter/subscribersAdminLista os inscritos da newsletter
Rota ligada ao módulo newsletter: com o módulo desligado a resposta é 403. Leitura exige view_newsletter, manage_newsletter ou manage_content.
Parâmetros de consulta
statusstringactivependingunsubscribedbouncedsearchstringpageintegerpadrão: 1limitintegerpadrão: 20Exemplo de requisição (Listar inscritos)
curl "$BASE_URL/api/v1/admin/newsletter/subscribers?status=active&limit=20" \
-H "Authorization: Bearer $TOKEN"Resposta (Listar inscritos)
{
"subscribers": {
"items": [
{
"id": "a0719d30-0e5b-44cb-86c8-fa160cf2fb92",
"email": "maria.souza@example.com",
"name": "Maria Souza",
"status": "A",
"source": "storefront_block",
"ip_address": "203.0.113.10",
"subscribed_at": "2026-09-21T21:11:00.638673Z",
"created_at": "2026-09-21T21:11:00.638673Z",
"subscriber_id": "a0719d30-0e5b-44cb-86c8-fa160cf2fb92",
"timestamp": 1790025060
}
],
"total": 2550,
"page": 1,
"limit": 20
},
"stats": {
"total_active": 2550,
"this_month": 12,
"unsubscribed": 817
}
}Campos da resposta
subscribersobjectPágina de resultados.
itemsarrayInscritos da página.
iduuidemailstringnamestringstatusstringA ativo, P aguardando confirmação, U cancelou, B e-mail devolvido (bounce).sourcestringstorefront_block, register_consent, onsite:popup, onsite:wheel...).ip_addressstringsubscribed_atstringunsubscribed_atstringcreated_atstringtotalintegerpageintegerlimitintegerstatsobjectTotais gerais (não dependem do filtro). Pode faltar se o cálculo falhar.
total_activeintegerthis_monthintegerunsubscribedintegerErros (Listar inscritos)
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O administrador não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["view_newsletter","manage_newsletter","manage_content"]} |
| 500 | Falha de banco. | {"error":"failed to list subscribers","detail":"..."} |
Consultar inscrito
Devolve um inscrito.
/api/v1/admin/newsletter/subscribers/{id}AdminDevolve um inscrito pelo id
Rota ligada ao módulo newsletter: com o módulo desligado a resposta é 403. Leitura exige view_newsletter, manage_newsletter ou manage_content.
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição (Consultar inscrito)
curl "$BASE_URL/api/v1/admin/newsletter/subscribers/a0719d30-0e5b-44cb-86c8-fa160cf2fb92" \
-H "Authorization: Bearer $TOKEN"Resposta (Consultar inscrito)
{
"id": "a0719d30-0e5b-44cb-86c8-fa160cf2fb92",
"email": "maria.souza@example.com",
"name": "Maria Souza",
"status": "A",
"source": "storefront_block",
"ip_address": "203.0.113.10",
"subscribed_at": "2026-09-21T21:11:00.638673Z",
"created_at": "2026-09-21T21:11:00.638673Z",
"subscriber_id": "a0719d30-0e5b-44cb-86c8-fa160cf2fb92",
"timestamp": 1790025060
}Campos da resposta
iduuidemailstringnamestringstatusstringA ativo, P aguardando confirmação, U cancelou, B e-mail devolvido (bounce).sourcestringstorefront_block, register_consent, onsite:popup, onsite:wheel...).ip_addressstringsubscribed_atstringunsubscribed_atstringcreated_atstringErros (Consultar inscrito)
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O administrador não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["view_newsletter","manage_newsletter","manage_content"]} |
| 404 | Não existe inscrito com esse id. | {"error":"subscriber not found"} |
| 500 | O id não é um UUID válido (500, não 404). | {"detail":"o valor \"xx\" não é um uuid válido. Envie o identificador completo, com os 36 caracteres e os hífens. Corrija o campo e reenvie.","error":"failed to get subscriber"} |
Apagar inscrito
Remove o registro do inscrito (por exemplo a pedido dele, para atender à LGPD). A pessoa pode se inscrever de novo depois. Para apenas parar os envios sem perder o histórico, não há rota: o cancelamento é feito pelo próprio inscrito pelo link do e-mail.
/api/v1/admin/newsletter/subscribers/{id}AdminApaga um inscrito
Rota ligada ao módulo newsletter: com o módulo desligado a resposta é 403. Exige manage_newsletter ou manage_content.
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição (Apagar inscrito)
curl -X DELETE "$BASE_URL/api/v1/admin/newsletter/subscribers/a0719d30-0e5b-44cb-86c8-fa160cf2fb92" \
-H "Authorization: Bearer $TOKEN"Resposta (Apagar inscrito)
{
"message": "subscriber deleted"
}Erros (Apagar inscrito)
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O administrador não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_newsletter","manage_content"]} |
| 404 | Não existe inscrito com esse id. | {"error":"subscriber not found"} |
| 500 | O id não é um UUID válido (500, não 404). | {"detail":"o valor \"xx\" não é um uuid válido. Envie o identificador completo, com os 36 caracteres e os hífens. Corrija o campo e reenvie.","error":"failed to delete subscriber"} |