Enviar de nuevo tras ver solo la aceptación puede crear un mensaje duplicado. Rastrea el primer envío a través de sus eventos posteriores antes de decidir reintentar.
Conserva el identificador de mensaje que devuelve tu solicitud de envío. Conecta la aceptación inicial con los eventos posteriores de ese mensaje.
¿Qué ocurre entre aceptado y entregado?
Email pasa por una etapa de preparación. Los mensajes de SMS pasan por la transferencia a un operador móvil.
Puedes rastrear tus envíos de Bird mediante estos tipos de evento:
| Canal | Evento | Qué ocurrió |
|---|---|---|
email.accepted | Bird aceptó el envío y lo está preparando, una vez por cada destinatario solicitado. | |
email.processed | Bird preparó el mensaje para entregarlo al servidor de correo del destinatario. | |
email.delivered | El servidor de correo del destinatario aceptó el mensaje. | |
| SMS | sms.accepted | Bird aceptó la solicitud de envío y la puso en cola para procesarla. |
| SMS | sms.sent | Bird transfirió el mensaje al operador. |
| SMS | sms.delivered | El operador informó la entrega al dispositivo del destinatario. |
Compara las marcas de tiempo de los eventos en timestamp para localizar un retraso. Las horas de llegada de los webhooks incluyen sus propios retrasos de entrega.
Para email, resta el tiempo de aceptación del tiempo de preparación para medir la preparación dentro de Bird. El intervalo posterior a la preparación también incluye la espera para alcanzar el servidor receptor.
Para SMS, resta el tiempo de aceptación del tiempo de transferencia al operador para medir el tiempo antes de la transferencia. El intervalo entre la transferencia y la entrega mide el tiempo de entrega restante.
Por ejemplo, un SMS aceptado al mediodía y transferido dos segundos después tardó dos segundos antes de la transferencia al operador. Si la entrega llega ocho segundos después, el total es diez segundos.
¿Por qué sigue sin entregarse?
El mensaje puede seguir en espera. Un evento posterior puede informar en su lugar un fallo de entrega.
Un evento de aceptación por sí solo no puede distinguir esos resultados. Lee los eventos posteriores del mismo mensaje antes de decidir si enviarlo de nuevo.
Email informa estos resultados:
email.deferredsignifica que la entrega se retrasó tras un fallo temporal. Bird reintenta, así que el mensaje aún puede entregarse o rebotar después.email.bouncedsignifica que el servidor receptor rechazó la entrega.email.rejectedsignifica que Bird rechazó el mensaje antes de intentar la entrega. Investiga el motivo del rechazo antes de modificar la configuración del servidor de correo del destinatario.
SMS usa un conjunto diferente:
sms.undeliveredinforma un fallo de entrega no permanente del operador.sms.failedinforma un fallo de entrega permanente.sms.rejectedsignifica que Bird rechazó el mensaje antes de la transferencia al operador.sms.expiredsignifica que el período de validez del mensaje venció antes de la entrega.
Lee el error que acompaña un resultado fallido para identificar la causa. Filtrado del operador de SMS explica una causa posible.
¿Hay un solo ciclo de vida que pueda aprender?
Cada canal tiene su propia secuencia de estados de entrega.
Los servidores de email pueden pedir al remitente que reintente más tarde. Los operadores de SMS pueden dejar de intentar cuando un mensaje expira. Esos resultados requieren acciones de recuperación distintas.
WhatsApp y voz también informan sus propios tipos de evento. Sus guías de eventos describen los estados relevantes: email, SMS, WhatsApp y voz.
¿Puede un mensaje entregado dejar de estar entregado?
Un email puede pasar de entregado a rebotado cuando el servidor de correo receptor informa un fallo de entrega posterior.
El servidor primero acepta el mensaje a través de SMTP. Puede informar un fallo por separado después de que ese intercambio haya terminado.
Bird registra el informe como email.out_of_band_bounce. Cuando el informe se clasifica como rebote, el estado del destinatario pasa de entregado a rebotado. En caso de rebote permanente, Bird también suprime la dirección para bloquear envíos posteriores porque el fallo es permanente.
Una respuesta automática puede aparecer en la línea de tiempo sin cambiar el estado de entrega. La clasificación del informe determina si la aceptación anterior se retracta.
Mantén el estado de entrega actualizable después de un evento exitoso. Los webhooks pueden llegar desordenados, así que compara las marcas de tiempo de los eventos antes de aplicar un cambio que sobrescriba un estado más reciente.
En resumen
La aceptación confirma la solicitud de envío.
Bird comienza a preparar el mensaje después de la aceptación. El evento no confirma la llegada a un servidor de correo ni a un dispositivo.
Preparación y transferencia al operador son límites distintos.
Email informa la preparación con email.processed. SMS informa la transferencia al operador con sms.sent.
Los fallos tienen significados específicos de cada canal.
Email puede ser diferido, rebotado o rechazado. SMS distingue entre resultados de no entregado, fallido, rechazado y expirado.
Una entrega de email puede ir seguida de un rebote.
Un informe de rebote posterior puede mover a un destinatario de email de entregado a rebotado. Una respuesta automática no cambia el estado de entrega.