Newsletter
Inscritos, exportação e campanhas de e-mail marketing da loja.
A newsletter é a lista de pessoas que aceitaram receber e-mails promocionais da loja. Esta seção cobre as duas metades: os inscritos (consultar, exportar, apagar) e as campanhas (escrever o e-mail, enviar para todos os inscritos ativos e acompanhar o resultado). As inscrições chegam pela vitrine e pelo cadastro; não são criadas por esta API.
Como funciona
Uma campanha percorre estes estados, todos devolvidos como letra no campo status.
| Letra | Estado | Pode editar/apagar | Pode enviar |
|---|---|---|---|
R | Rascunho | Sim | Sim |
S | Enviando | Não | Não |
A | Enviada | Não | Não |
F | Falhou (nenhum e-mail saiu) | Só apagar | Não |
Os inscritos têm outros estados:
| Letra | Estado | Recebe campanhas |
|---|---|---|
A | Ativo | Sim |
P | Aguardando confirmação do e-mail | Não |
U | Cancelou a inscrição | Não |
B | E-mail devolvido (bounce) | Não |
Conceitos importantes
Confirmação dupla
Quando a loja exige confirmação, a pessoa se inscreve, recebe um e-mail e só passa a A ao clicar no link. Até lá fica P e não recebe campanhas.
Cancelamento
Todo e-mail de campanha leva no fim um link "Cancelar inscrição" exclusivo de cada destinatário. Quem clica passa a U. A API não reativa um inscrito: a pessoa precisa se inscrever de novo.
Estado em letra
Tanto campanhas quanto inscritos devolvem status como uma letra. Para filtrar a lista de inscritos você pode usar a palavra (active, pending, unsubscribed, bounced) ou a letra; na lista de campanhas use a letra.
Campanha da loja e de seller
Campanhas sem vendor_id são da loja. Sellers também têm campanhas próprias, que aparecem na lista com vendor_id. Use marketplace_only=true para ver só as da loja.
Privacidade
E-mails e nomes são dados pessoais. Exporte, guarde e apague conforme a LGPD.
Endpoints
| Método | Caminho | Para que serve | Autenticação |
|---|---|---|---|
| GET | /api/v1/admin/newsletter | Devolve inscritos, campanhas recentes e estatísticas | admin |
| GET | /api/v1/admin/newsletter/subscribers | Lista os inscritos da newsletter | admin |
| GET | /api/v1/admin/newsletter/subscribers/{id} | Devolve um inscrito pelo id | admin |
| DELETE | /api/v1/admin/newsletter/subscribers/{id} | Apaga um inscrito | admin |
| GET | /api/v1/admin/newsletter/export | Baixa os inscritos ativos em CSV | admin |
| GET | /api/v1/admin/newsletter/campaigns | Lista as campanhas de e-mail | admin |
| GET | /api/v1/admin/newsletter/campaigns/{id} | Devolve uma campanha pelo id | admin |
| POST | /api/v1/admin/newsletter/campaigns | Cria uma campanha em rascunho | admin |
| PUT | /api/v1/admin/newsletter/campaigns/{id} | Altera uma campanha em rascunho | admin |
| DELETE | /api/v1/admin/newsletter/campaigns/{id} | Apaga uma campanha em rascunho ou que falhou | admin |
| POST | /api/v1/admin/newsletter/campaigns/{id}/send | Dispara a campanha para todos os inscritos ativos | admin |
Erros comuns
- Criar a campanha com
scheduled_ate esperar que ela saia sozinha: nada dispara por data. - Chamar
sendduas vezes: a segunda responde 400can only send draft campaigns. - Tentar editar uma campanha depois do envio: só rascunho aceita edição.
- Filtrar campanhas com
status=sentachando que cobre "enviando": ambas viramA; useSpara as que estão enviando. - Esperar 404 ao consultar com um
idque não é UUID: algumas rotas respondem 500. - Esperar que o CSV de exportação traga os cancelados: ele traz só os ativos.