C C-Connect Documentação

Os estados de uma mensagem

O que cada estado quer dizer, o que o causou, e o que fazer a seguir.

Uma mensagem passa por estados, e nem todos são um problema. Esta página é o que cada um quer dizer e o que se faz com ele.

A sequência normal

queued → accepted → delivered

Em fila (queued). Aceitámos o pedido, assinámos a mensagem e pusemo-la na fila. Não saiu ainda.

Aceite (accepted). O relay recebeu-a e assumiu a responsabilidade de a entregar. É o estado que a API devolve com o 202.

Entregue (delivered). O servidor do destinatário aceitou-a. É o melhor sinal que existe, mas note-se o que não diz: não diz que a pessoa a viu, nem que ela não está na caixa de spam. Diz que o servidor a aceitou.

Os estados que exigem alguma coisa de ti

Adiado (deferred). O destino disse "agora não, tenta mais tarde". É um erro temporário, 4xx em SMTP. Acontece por caixa cheia, por limite de taxa do lado deles, ou por o servidor estar ocupado. Não faças nada: tentamos outra vez, com espaçamento crescente, durante horas. A maioria dos adiamentos acaba em entrega.

Devolvido (bounced). O destino recusou em definitivo, com um 5xx. Na maior parte dos casos o endereço não existe. O endereço entra automaticamente na lista de supressões desta conta e não volta a ser contactado. O que tens a fazer é do teu lado: marca o contacto como inválido, para não continuares a tentar com ele noutro sistema.

Reclamado (complained). A pessoa carregou em "isto é spam". Chega-nos pelo canal de feedback do fornecedor, e o endereço é suprimido para toda a plataforma, não só para esta conta. É o evento mais caro que existe: uma taxa de queixas acima de 0,1% faz a entrega cair para toda a gente que partilha o IP. Vale sempre a pena perceber o que foi enviado.

Suprimido (suppressed). Nem sequer tentámos: o endereço já estava na lista de supressões quando pediste o envio. Não é uma falha, é o sistema a poupar-te uma devolução.

Falhou (failed). Desistimos ao fim de várias tentativas, ou aconteceu alguma coisa do nosso lado. Vale a pena olhar para o código SMTP na cronologia da mensagem.

O que fazer com cada um

Estado Repetir? O que fazer
queued, accepted Não Esperar.
delivered Não Nada.
deferred Não Nada, nós tentamos.
bounced Não Marcar o contacto como inválido.
complained Nunca Perceber o que foi enviado e a quem.
suppressed Não Limpar esse endereço da tua lista.
failed Talvez Ler o código SMTP primeiro.

A regra curta: nunca repitas um envio para um endereço devolvido. Cada tentativa para um endereço que não existe conta contra a reputação do IP, e essa reputação é partilhada com todos os outros clientes.

Onde ver isto

No painel, em Mensagens, cada linha traz o estado e clicar nela abre a cronologia completa: quando foi aceite, por que servidor saiu, e o que o destino respondeu, com o texto do erro tal como veio.

Pela API, GET /v1/messages/{id} devolve o mesmo, e GET /v1/events devolve o fluxo todo. Se preferires não ir buscar, regista um endpoint em Webhooks.

O registo de mensagens, com um estado por linha e a contagem de cada um em cima.
O registo de mensagens, com um estado por linha e a contagem de cada um em cima.

Aceite não é entregue

Vale a pena repetir. A resposta 202 da API significa aceite. Se a tua aplicação mostra "email enviado" nesse momento, está a prometer uma coisa que ainda não aconteceu e que às vezes não acontece.