POSTEnviar campanha
Dispara uma campanha em rascunho para todos os inscritos ativos e explica o acompanhamento.
Inicia o envio da campanha para todos os inscritos com status A. A rota responde na hora com a campanha em estado S (enviando) e o total de destinatários; o envio continua em segundo plano, um e-mail por pessoa, cada um com o link de cancelamento da própria pessoa. Acompanhe pela consulta da campanha: sent e failed sobem até a campanha virar A (enviada) ou F (falhou, quando nenhum e-mail saiu).
/api/v1/admin/newsletter/campaigns/{id}/sendAdminDispara a campanha para todos os inscritos ativos
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órioIdentificador da campanha.
Exemplo de requisição
bash
curl -X POST "$BASE_URL/api/v1/admin/newsletter/campaigns/b2247714-08c6-4ad9-b644-748eae7baa70/send" \
-H "Authorization: Bearer $TOKEN"Resposta
200Envio iniciado
json
{
"id": "b2247714-08c6-4ad9-b644-748eae7baa70",
"subject": "Black Friday chegou",
"html_body": "<h1>Ofertas</h1><p>Até 50% off.</p>",
"text_body": "Ofertas: até 50% off.",
"status": "S",
"recipients": 2550,
"sent": 0,
"failed": 0,
"scheduled_at": "2026-11-27T12:00:00Z",
"created_at": "2026-10-11T21:05:13.511196Z",
"updated_at": "2026-10-11T21:05:13.511196Z",
"sent_at": "2026-10-11T21:10:00Z"
}Campos da resposta
iduuidIdentificador da campanha.
subjectstringAssunto do e-mail.
html_bodystringCorpo em HTML.
text_bodystringVersão em texto puro.
statusstringLetra do estado:
R rascunho, S enviando, A enviada, F falhou.recipientsintegerQuantidade de inscritos ativos no momento do envio. 0 antes de enviar.
sentintegerE-mails entregues ao provedor até agora.
failedintegerE-mails que falharam até agora.
scheduled_atstringData informada para o envio. Apenas registro: não dispara nada sozinha.
sent_atstringQuando o envio começou. Ausente em rascunho.
vendor_iduuidSeller dono da campanha. Ausente em campanha da loja.
created_atstringCriação, RFC 3339.
updated_atstringÚltima alteração, RFC 3339.
Erros
| 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"]} |
| 400 | A campanha não está em rascunho (a mensagem traz o estado atual), ou não há inscritos ativos. | {"error":"can only send draft campaigns (current status: A)"} |
| 404 | Não existe campanha com esse id. | {"error":"campaign not found"} |
| 500 | Falha de banco, ou o remetente de e-mail da loja não está configurado. | {"error":"failed to send campaign","detail":"..."} |