Tópicos
Categorias granulares de inscrição com opt-in por contato.
Tópicos são categorias de inscrição — "Novidades do produto", "Newsletter", "Promoções" — que dão aos destinatários um controle mais fino do que um único descadastro global.
Cada tópico tem um default_subscription de opt_in ou opt_out, fixado na
criação:
opt_in— todo contato está inscrito, a menos que opte por sair.opt_out— contatos só são incluídos depois de optarem explicitamente por entrar.
Como os tópicos se aplicam
- Transmissões podem ser enviadas para um tópico. O fan-out inclui apenas contatos cuja inscrição efetiva naquele tópico é "inscrito" (a escolha explícita deles, se houver; o padrão do tópico caso contrário), e sempre exclui contatos descadastrados globalmente.
- A página de descadastro hospedada lista os tópicos públicos da equipe,
então um destinatário pode sair de uma categoria e continuar inscrito nas
outras — ou sair de todo e-mail de marketing. Em um e-mail enviado com
tópico para um único contato, o descadastro em um clique pelo app de e-mail
do destinatário vale só para esse tópico (a menos que você envie seu próprio par
List-Unsubscribe, que substitui o do MillionSend); já o botão Cancelar todas as inscrições da página tira o destinatário de todos os tópicos e de todas as transmissões. Envios transacionais semtopic_idnão são afetados por nenhuma dessas escolhas. A página fala catorze idiomas, escolhido pelo navegador do destinatário (Accept-Language), inglês quando nenhum corresponde; Configurações → Página de descadastro pré-visualiza cada um.
API
POST/GET/DELETE /topics e GET /topics/{id} gerenciam tópicos; as escolhas
de um contato são gravadas com PATCH /contacts/{id}/topics, passando um array
puro de entradas como { "id": "<topic-id>", "subscription": "opt_in" }, e
lidas de volta com GET /contacts/{id}/topics, que lista cada tópico com a
subscription efetiva do contato e um campo explicit (false quando é o padrão
do tópico). Um envio com topic_id em que todos os destinatários de to
optaram por sair é recusado com 422 all_recipients_suppressed. DELETE /topics/{id} responde 409 conflict para um tópico que uma transmissão usa
(um rascunho pode deixar de usar o tópico antes, mas uma transmissão enviada
ou cancelada fica com ele para sempre) e enquanto algum e-mail enviado com o
tópico ainda espera para sair, até ele sair ou, se for agendado, até ser
cancelado. Excluir um
tópico não quebra os links de descadastro já enviados com ele: eles abrem a
página hospedada sem esse tópico, onde o destinatário ainda pode cancelar
todas as inscrições ou, se a equipe tiver outros tópicos públicos, ajustar
as preferências. Já o descadastro em um clique por esses links não muda
nada, porque o tópico não existe mais. Veja a
referência da API.