Eventos de email
El ciclo de vida de cada email saliente y entrante, desde la aceptación hasta la entrega, las aperturas, los clics y las bajas.
email.accepted
Se envía cuando Enviar un email o Reenviar un email acepta un email para su entrega inmediata. Emailit envía un evento por destinatario, porque cada destinatario recibe su propio ID de email. Los emails enviados por SMTP y los creados con Reintentar un email no envían este evento.
Las peticiones de webhook contienen un array JSON de eventos como este; consulta Peticiones de webhook.
Campos
event_idstringEl ID del evento (evt_…). Una petición reintentada lleva el mismo ID, así que úsalo para omitir los eventos que ya hayas procesado. También puedes consultar el evento con Obtener un evento.
typestringSiempre email.accepted.
objectobjectEl email que describe el evento. Sus campos se indican a continuación.
data.objectobjectEl mismo objeto otra vez, con la forma que devuelve la API de eventos en data.
Objeto de email
idstringEl ID del email (em_…).
objectstringSiempre email.
fromstringEl remitente tal como se indicó en la petición. Puede incluir un nombre visible, por ejemplo Acme <hello@acme.com>.
tostringLa dirección del destinatario. Emailit crea un email independiente, con su propio ID, para cada destinatario.
subjectstringEl asunto.
metaobject | nullEl objeto meta que enviaste con el email, o null.
timestampstringCuándo se aceptó el email, en formato ISO 8601 con desfase respecto a UTC.
{
"event_id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "email.accepted",
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "Acme <hello@acme.com>",
"to": "ada@example.com",
"subject": "Your order has shipped",
"meta": {
"order_id": "1042"
},
"timestamp": "2026-10-01T10:02:11.583000+00:00"
},
"data": {
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "Acme <hello@acme.com>",
"to": "ada@example.com",
"subject": "Your order has shipped",
"meta": {
"order_id": "1042"
},
"timestamp": "2026-10-01T10:02:11.583000+00:00"
}
}
}email.scheduled
Se envía cuando Enviar un email acepta un email con un scheduled_at en el futuro. Emailit envía un evento por destinatario. Cuando llega la hora programada, Emailit envía el email sin un evento email.accepted; el siguiente evento es un evento de entrega, como email.delivered.
Las peticiones de webhook contienen un array JSON de eventos como este; consulta Peticiones de webhook.
Campos
event_idstringEl ID del evento (evt_…). Una petición reintentada lleva el mismo ID, así que úsalo para omitir los eventos que ya hayas procesado. También puedes consultar el evento con Obtener un evento.
typestringSiempre email.scheduled.
objectobjectEl email que describe el evento. Sus campos se indican a continuación.
data.objectobjectEl mismo objeto otra vez, con la forma que devuelve la API de eventos en data.
Objeto de email
idstringEl ID del email (em_…).
objectstringSiempre email.
fromstringEl remitente tal como se indicó en la petición. Puede incluir un nombre visible, por ejemplo Acme <hello@acme.com>.
tostringLa dirección del destinatario. Emailit crea un email independiente, con su propio ID, para cada destinatario.
subjectstringEl asunto.
metaobject | nullEl objeto meta que enviaste con el email, o null.
scheduled_atstringCuándo enviará Emailit el email.
timestampstringCuándo se aceptó el email, en formato ISO 8601 con desfase respecto a UTC.
{
"event_id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "email.scheduled",
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "Acme <hello@acme.com>",
"to": "ada@example.com",
"subject": "Your October invoice",
"meta": {
"invoice_id": "INV-2026-0142"
},
"scheduled_at": "2026-10-02T09:00:00.000000+00:00",
"timestamp": "2026-10-01T10:02:11.583000+00:00"
},
"data": {
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "Acme <hello@acme.com>",
"to": "ada@example.com",
"subject": "Your October invoice",
"meta": {
"invoice_id": "INV-2026-0142"
},
"scheduled_at": "2026-10-02T09:00:00.000000+00:00",
"timestamp": "2026-10-01T10:02:11.583000+00:00"
}
}
}email.delivered
Se envía cuando el servidor de correo del destinatario acepta el email. Entregado significa que el servidor receptor asumió la responsabilidad del mensaje; aun así, puede filtrarlo a la carpeta de spam. En Estados de los emails se explica cada estado.
Las peticiones de webhook contienen un array JSON de eventos como este; consulta Peticiones de webhook.
Campos
event_idstringEl ID del evento (evt_…). Una petición reintentada lleva el mismo ID, así que úsalo para omitir los eventos que ya hayas procesado. También puedes consultar el evento con Obtener un evento.
typestringSiempre email.delivered.
objectobjectEl email que describe el evento. Sus campos se indican a continuación.
data.objectobjectEl mismo objeto otra vez, con la forma que devuelve la API de eventos en data.
Objeto de email
idstringEl ID del email (em_…).
objectstringSiempre email.
fromstringLa dirección del remitente, sin el nombre visible.
tostringLa dirección del destinatario. Emailit crea un email independiente para cada destinatario.
subjectstring | nullEl asunto.
statusstringSiempre delivered.
metaobject | nullEl objeto meta enviado con el email, o null.
updated_atstringCuándo se actualizaron por última vez los datos del email antes de este evento, en formato ISO 8601 con desfase respecto a UTC. Puede ser anterior al propio cambio de estado.
created_atstringCuándo aceptó Emailit el email.
{
"event_id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "email.delivered",
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "hello@acme.com",
"to": "ada@example.com",
"subject": "Your order has shipped",
"status": "delivered",
"meta": {
"order_id": "1042"
},
"updated_at": "2026-10-01T10:02:12.104000+00:00",
"created_at": "2026-10-01T10:02:11.583000+00:00"
},
"data": {
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "hello@acme.com",
"to": "ada@example.com",
"subject": "Your order has shipped",
"status": "delivered",
"meta": {
"order_id": "1042"
},
"updated_at": "2026-10-01T10:02:12.104000+00:00",
"created_at": "2026-10-01T10:02:11.583000+00:00"
}
}
}email.attempted
Se envía cada vez que un intento de entrega falla con un error temporal, como el greylisting o un límite de velocidad del servidor receptor, y Emailit va a volver a intentarlo. Emailit sigue reintentándolo con esperas cada vez más largas durante unas 21 horas; si la entrega sigue fallando, el email se da por rebotado y recibes email.bounced.
Las peticiones de webhook contienen un array JSON de eventos como este; consulta Peticiones de webhook.
Campos
event_idstringEl ID del evento (evt_…). Una petición reintentada lleva el mismo ID, así que úsalo para omitir los eventos que ya hayas procesado. También puedes consultar el evento con Obtener un evento.
typestringSiempre email.attempted.
objectobjectEl email que describe el evento. Sus campos se indican a continuación.
data.objectobjectEl mismo objeto otra vez, con la forma que devuelve la API de eventos en data.
Objeto de email
idstringEl ID del email (em_…).
objectstringSiempre email.
fromstringLa dirección del remitente, sin el nombre visible.
tostringLa dirección del destinatario. Emailit crea un email independiente para cada destinatario.
subjectstring | nullEl asunto.
statusstringSiempre attempted.
metaobject | nullEl objeto meta enviado con el email, o null.
updated_atstringCuándo se actualizaron por última vez los datos del email antes de este evento, en formato ISO 8601 con desfase respecto a UTC. Puede ser anterior al propio cambio de estado.
created_atstringCuándo aceptó Emailit el email.
smtp_codeinteger | nullEl código de respuesta SMTP del servidor receptor, por ejemplo 421. null si fue Emailit quien aplazó el intento, por ejemplo durante una espera exponencial de las entregas a ese servidor.
smtp_enhanced_codestring | nullEl código de estado ampliado de la respuesta, por ejemplo 4.7.0. Consulta Códigos de estado ampliados.
smtp_responsestring | nullLa respuesta completa del servidor receptor.
{
"event_id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "email.attempted",
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "hello@acme.com",
"to": "ada@example.com",
"subject": "Your order has shipped",
"status": "attempted",
"meta": {
"order_id": "1042"
},
"updated_at": "2026-10-01T10:02:12.104000+00:00",
"created_at": "2026-10-01T10:02:11.583000+00:00",
"smtp_code": 421,
"smtp_enhanced_code": "4.7.0",
"smtp_response": "421 4.7.0 Try again later, closing connection."
},
"data": {
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "hello@acme.com",
"to": "ada@example.com",
"subject": "Your order has shipped",
"status": "attempted",
"meta": {
"order_id": "1042"
},
"updated_at": "2026-10-01T10:02:12.104000+00:00",
"created_at": "2026-10-01T10:02:11.583000+00:00",
"smtp_code": 421,
"smtp_enhanced_code": "4.7.0",
"smtp_response": "421 4.7.0 Try again later, closing connection."
}
}
}email.bounced
Se envía cuando un email no se puede entregar: el servidor receptor lo rechazó con un error permanente, llegó una notificación de rebote después de la entrega, fallaron todos los reintentos o Emailit no pudo enviarlo en absoluto, por ejemplo porque se eliminó su dominio de envío. Según tu configuración de bloqueo automático de direcciones, Emailit también bloquea la dirección. Consulta Rebotes y quejas.
Las peticiones de webhook contienen un array JSON de eventos como este; consulta Peticiones de webhook.
Campos
event_idstringEl ID del evento (evt_…). Una petición reintentada lleva el mismo ID, así que úsalo para omitir los eventos que ya hayas procesado. También puedes consultar el evento con Obtener un evento.
typestringSiempre email.bounced.
objectobjectEl email que describe el evento. Sus campos se indican a continuación.
data.objectobjectEl mismo objeto otra vez, con la forma que devuelve la API de eventos en data.
Objeto de email
idstringEl ID del email (em_…).
objectstringSiempre email.
fromstringLa dirección del remitente, sin el nombre visible.
tostringLa dirección del destinatario. Emailit crea un email independiente para cada destinatario.
subjectstring | nullEl asunto.
statusstringSiempre bounced.
metaobject | nullEl objeto meta enviado con el email, o null.
updated_atstringCuándo se actualizaron por última vez los datos del email antes de este evento, en formato ISO 8601 con desfase respecto a UTC. Puede ser anterior al propio cambio de estado.
created_atstringCuándo aceptó Emailit el email.
{
"event_id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "email.bounced",
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "hello@acme.com",
"to": "ada@example.com",
"subject": "Your order has shipped",
"status": "bounced",
"meta": {
"order_id": "1042"
},
"updated_at": "2026-10-01T10:02:12.104000+00:00",
"created_at": "2026-10-01T10:02:11.583000+00:00"
},
"data": {
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "hello@acme.com",
"to": "ada@example.com",
"subject": "Your order has shipped",
"status": "bounced",
"meta": {
"order_id": "1042"
},
"updated_at": "2026-10-01T10:02:12.104000+00:00",
"created_at": "2026-10-01T10:02:11.583000+00:00"
}
}
}email.failed
Se envía cuando Emailit no puede procesar una notificación de rebote que llegó a la dirección de return-path de tu espacio de trabajo, por ejemplo por un error interno. El objeto describe el mensaje de rebote, no el email que enviaste. Este evento es poco habitual: las entregas fallidas envían email.bounced o email.attempted.
Las peticiones de webhook contienen un array JSON de eventos como este; consulta Peticiones de webhook.
Campos
event_idstringEl ID del evento (evt_…). Una petición reintentada lleva el mismo ID, así que úsalo para omitir los eventos que ya hayas procesado. También puedes consultar el evento con Obtener un evento.
typestringSiempre email.failed.
objectobjectEl mensaje de rebote que describe el evento. Sus campos se indican a continuación.
data.objectobjectEl mismo objeto otra vez, con la forma que devuelve la API de eventos en data.
Objeto de email
idstringEl ID de email (em_…) del mensaje de rebote.
objectstringSiempre email.
fromstringEl remitente del mensaje de rebote, normalmente el mailer daemon del servidor receptor.
tostringLa dirección de return-path de tu espacio de trabajo en el subdominio emailit. de tu dominio de envío.
subjectstring | nullEl asunto del mensaje de rebote.
statusstringSiempre failed.
metaobject | nullSiempre null en los mensajes de rebote.
updated_atstringCuándo se actualizó por última vez el mensaje de rebote antes de este evento, en formato ISO 8601 con desfase respecto a UTC.
created_atstringCuándo recibió Emailit el mensaje de rebote.
{
"event_id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "email.failed",
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "mailer-daemon@mx1.example.com",
"to": "2xKw0aNf5Zs8Yt1Lq4Ve7Mc3Pb6@emailit.acme.com",
"subject": "Undelivered Mail Returned to Sender",
"status": "failed",
"meta": null,
"updated_at": "2026-10-01T10:02:12.104000+00:00",
"created_at": "2026-10-01T10:02:11.583000+00:00"
},
"data": {
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "mailer-daemon@mx1.example.com",
"to": "2xKw0aNf5Zs8Yt1Lq4Ve7Mc3Pb6@emailit.acme.com",
"subject": "Undelivered Mail Returned to Sender",
"status": "failed",
"meta": null,
"updated_at": "2026-10-01T10:02:12.104000+00:00",
"created_at": "2026-10-01T10:02:11.583000+00:00"
}
}
}email.rejected
Se envía cuando Emailit se niega a enviar un email porque tu espacio de trabajo aún no tiene acceso de producción y el destinatario no es miembro del espacio de trabajo. Hasta que se apruebe el espacio de trabajo, solo puedes enviar a las direcciones de las cuentas de sus miembros.
Las peticiones de webhook contienen un array JSON de eventos como este; consulta Peticiones de webhook.
Campos
event_idstringEl ID del evento (evt_…). Una petición reintentada lleva el mismo ID, así que úsalo para omitir los eventos que ya hayas procesado. También puedes consultar el evento con Obtener un evento.
typestringSiempre email.rejected.
objectobjectEl email que describe el evento. Sus campos se indican a continuación.
data.objectobjectEl mismo objeto otra vez, con la forma que devuelve la API de eventos en data.
Objeto de email
idstringEl ID del email (em_…).
objectstringSiempre email.
fromstringLa dirección del remitente, sin el nombre visible.
tostringLa dirección del destinatario. Emailit crea un email independiente para cada destinatario.
subjectstring | nullEl asunto.
statusstringSiempre rejected.
metaobject | nullEl objeto meta enviado con el email, o null.
updated_atstringCuándo se actualizaron por última vez los datos del email antes de este evento, en formato ISO 8601 con desfase respecto a UTC. Puede ser anterior al propio cambio de estado.
created_atstringCuándo aceptó Emailit el email.
{
"event_id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "email.rejected",
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "hello@acme.com",
"to": "ada@example.com",
"subject": "Your order has shipped",
"status": "rejected",
"meta": {
"order_id": "1042"
},
"updated_at": "2026-10-01T10:02:12.104000+00:00",
"created_at": "2026-10-01T10:02:11.583000+00:00"
},
"data": {
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "hello@acme.com",
"to": "ada@example.com",
"subject": "Your order has shipped",
"status": "rejected",
"meta": {
"order_id": "1042"
},
"updated_at": "2026-10-01T10:02:12.104000+00:00",
"created_at": "2026-10-01T10:02:11.583000+00:00"
}
}
}email.suppressed
Se envía cuando Emailit no envía un email porque el destinatario tiene un bloqueo de tipo recipient en tu lista de direcciones bloqueadas. Para volver a enviar emails a esa dirección, desbloquéala con Eliminar un bloqueo.
Las peticiones de webhook contienen un array JSON de eventos como este; consulta Peticiones de webhook.
Campos
event_idstringEl ID del evento (evt_…). Una petición reintentada lleva el mismo ID, así que úsalo para omitir los eventos que ya hayas procesado. También puedes consultar el evento con Obtener un evento.
typestringSiempre email.suppressed.
objectobjectEl email que describe el evento. Sus campos se indican a continuación.
data.objectobjectEl mismo objeto otra vez, con la forma que devuelve la API de eventos en data.
Objeto de email
idstringEl ID del email (em_…).
objectstringSiempre email.
fromstringLa dirección del remitente, sin el nombre visible.
tostringLa dirección del destinatario. Emailit crea un email independiente para cada destinatario.
subjectstring | nullEl asunto.
statusstringSiempre suppressed.
metaobject | nullEl objeto meta enviado con el email, o null.
updated_atstringCuándo se actualizaron por última vez los datos del email antes de este evento, en formato ISO 8601 con desfase respecto a UTC. Puede ser anterior al propio cambio de estado.
created_atstringCuándo aceptó Emailit el email.
{
"event_id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "email.suppressed",
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "hello@acme.com",
"to": "ada@example.com",
"subject": "Your order has shipped",
"status": "suppressed",
"meta": {
"order_id": "1042"
},
"updated_at": "2026-10-01T10:02:12.104000+00:00",
"created_at": "2026-10-01T10:02:11.583000+00:00"
},
"data": {
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "hello@acme.com",
"to": "ada@example.com",
"subject": "Your order has shipped",
"status": "suppressed",
"meta": {
"order_id": "1042"
},
"updated_at": "2026-10-01T10:02:12.104000+00:00",
"created_at": "2026-10-01T10:02:11.583000+00:00"
}
}
}email.held
Se envía cuando Emailit retiene un email en lugar de enviarlo. Esto ocurre cuando el espacio de trabajo está suspendido, el dominio de envío está pausado, la clave de API está configurada para retener los mensajes, el espacio de trabajo se ha quedado sin créditos o la puntuación de la comprobación de spam alcanza o supera el umbral (7 por defecto). Cuando corrijas la causa, vuelve a enviar el email con Reintentar un email.
email.held no está en la lista de eventos del panel. Lo recibes en los webhooks que tienen all_events activado o si lo añades a events con Actualizar un webhook.
Las peticiones de webhook contienen un array JSON de eventos como este; consulta Peticiones de webhook.
Campos
event_idstringEl ID del evento (evt_…). Una petición reintentada lleva el mismo ID, así que úsalo para omitir los eventos que ya hayas procesado. También puedes consultar el evento con Obtener un evento.
typestringSiempre email.held.
objectobjectEl email que describe el evento. Sus campos se indican a continuación.
data.objectobjectEl mismo objeto otra vez, con la forma que devuelve la API de eventos en data.
Objeto de email
idstringEl ID del email (em_…).
objectstringSiempre email.
fromstringLa dirección del remitente, sin el nombre visible.
tostringLa dirección del destinatario. Emailit crea un email independiente para cada destinatario.
subjectstring | nullEl asunto.
statusstringSiempre held.
metaobject | nullEl objeto meta enviado con el email, o null.
updated_atstringCuándo se actualizaron por última vez los datos del email antes de este evento, en formato ISO 8601 con desfase respecto a UTC. Puede ser anterior al propio cambio de estado.
created_atstringCuándo aceptó Emailit el email.
{
"event_id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "email.held",
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "hello@acme.com",
"to": "ada@example.com",
"subject": "Your order has shipped",
"status": "held",
"meta": {
"order_id": "1042"
},
"updated_at": "2026-10-01T10:02:12.104000+00:00",
"created_at": "2026-10-01T10:02:11.583000+00:00"
},
"data": {
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "hello@acme.com",
"to": "ada@example.com",
"subject": "Your order has shipped",
"status": "held",
"meta": {
"order_id": "1042"
},
"updated_at": "2026-10-01T10:02:12.104000+00:00",
"created_at": "2026-10-01T10:02:11.583000+00:00"
}
}
}email.canceled
Se envía cuando cancelas un email con Cancelar un email. Si ya había un intento de entrega en curso, puede completarse, así que después puede llegar un evento de entrega.
Las peticiones de webhook contienen un array JSON de eventos como este; consulta Peticiones de webhook.
Campos
event_idstringEl ID del evento (evt_…). Una petición reintentada lleva el mismo ID, así que úsalo para omitir los eventos que ya hayas procesado. También puedes consultar el evento con Obtener un evento.
typestringSiempre email.canceled.
objectobjectEl email que describe el evento. Sus campos se indican a continuación.
data.objectobjectEl mismo objeto otra vez, con la forma que devuelve la API de eventos en data.
Objeto de email
idstringEl ID del email (em_…).
objectstringSiempre email.
fromstringEl remitente tal como está guardado en el email. Puede incluir un nombre visible.
tostringLa dirección del destinatario.
subjectstringEl asunto.
statusstringSiempre canceled.
previous_statusstringEl estado anterior a la cancelación: scheduled, accepted o attempted.
metaobject | nullEl objeto meta enviado con el email, o null.
timestampstringCuándo se canceló el email, en formato ISO 8601 con desfase respecto a UTC.
{
"event_id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "email.canceled",
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "Acme <hello@acme.com>",
"to": "ada@example.com",
"subject": "Your October invoice",
"status": "canceled",
"previous_status": "scheduled",
"meta": {
"invoice_id": "INV-2026-0142"
},
"timestamp": "2026-10-01T10:02:14.307000+00:00"
},
"data": {
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "Acme <hello@acme.com>",
"to": "ada@example.com",
"subject": "Your October invoice",
"status": "canceled",
"previous_status": "scheduled",
"meta": {
"invoice_id": "INV-2026-0142"
},
"timestamp": "2026-10-01T10:02:14.307000+00:00"
}
}
}email.complained
Se envía cuando un destinatario marca tu email como spam y su proveedor de correo se lo notifica a Emailit mediante un feedback loop. Según tu configuración de bloqueo automático de direcciones, Emailit añade un bloqueo de tipo complaint para la dirección. Consulta Rebotes y quejas.
Las peticiones de webhook contienen un array JSON de eventos como este; consulta Peticiones de webhook.
Campos
event_idstringEl ID del evento (evt_…). Una petición reintentada lleva el mismo ID, así que úsalo para omitir los eventos que ya hayas procesado. También puedes consultar el evento con Obtener un evento.
typestringSiempre email.complained.
objectobjectEl email que describe el evento. Sus campos se indican a continuación.
data.objectobjectEl mismo objeto otra vez, con la forma que devuelve la API de eventos en data.
Objeto de email
idstringEl ID del email (em_…).
objectstringSiempre email.
fromstringLa dirección del remitente, sin el nombre visible.
tostringLa dirección del destinatario. Emailit crea un email independiente para cada destinatario.
subjectstring | nullEl asunto.
statusstringSiempre complained.
metaobject | nullEl objeto meta enviado con el email, o null.
updated_atstringCuándo se actualizaron por última vez los datos del email antes de este evento, en formato ISO 8601 con desfase respecto a UTC. Puede ser anterior al propio cambio de estado.
created_atstringCuándo aceptó Emailit el email.
{
"event_id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "email.complained",
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "hello@acme.com",
"to": "ada@example.com",
"subject": "Your order has shipped",
"status": "complained",
"meta": {
"order_id": "1042"
},
"updated_at": "2026-10-01T10:02:12.104000+00:00",
"created_at": "2026-10-01T10:02:11.583000+00:00"
},
"data": {
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "hello@acme.com",
"to": "ada@example.com",
"subject": "Your order has shipped",
"status": "complained",
"meta": {
"order_id": "1042"
},
"updated_at": "2026-10-01T10:02:12.104000+00:00",
"created_at": "2026-10-01T10:02:11.583000+00:00"
}
}
}email.received
Se envía cuando Emailit recibe un email en una de tus direcciones de entrada. El payload solo contiene el sobre: obtén el cuerpo y los adjuntos con Obtener un email usando el id.
Las peticiones de webhook contienen un array JSON de eventos como este; consulta Peticiones de webhook.
Campos
event_idstringEl ID del evento (evt_…). Una petición reintentada lleva el mismo ID, así que úsalo para omitir los eventos que ya hayas procesado. También puedes consultar el evento con Obtener un evento.
typestringSiempre email.received.
objectobjectEl email recibido que describe el evento. Sus campos se indican a continuación.
data.objectobjectEl mismo objeto otra vez, con la forma que devuelve la API de eventos en data.
Objeto de email
idstringEl ID de email (em_…) del email recibido.
objectstringSiempre email.
fromstringLa dirección del remitente que figura en la cabecera From.
tostringLa dirección de entrada que recibió el email.
subjectstring | nullEl asunto.
created_atstringCuándo recibió Emailit el email, en formato ISO 8601 con desfase respecto a UTC.
{
"event_id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "email.received",
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "ada@example.com",
"to": "support@inbound.acme.com",
"subject": "Question about my order",
"created_at": "2026-10-01T10:02:11.583000+00:00"
},
"data": {
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "ada@example.com",
"to": "support@inbound.acme.com",
"subject": "Question about my order",
"created_at": "2026-10-01T10:02:11.583000+00:00"
}
}
}email.loaded
Se envía cada vez que se carga el píxel de seguimiento de un email, lo que normalmente significa que el destinatario lo abrió. El seguimiento de aperturas requiere un dominio de seguimiento verificado y que el seguimiento de aperturas esté activado para el email. Los clientes de correo que precargan o bloquean las imágenes hacen que las aperturas sean aproximadas.
Las peticiones de webhook contienen un array JSON de eventos como este; consulta Peticiones de webhook.
Campos
event_idstringEl ID del evento (evt_…). Una petición reintentada lleva el mismo ID, así que úsalo para omitir los eventos que ya hayas procesado. También puedes consultar el evento con Obtener un evento.
typestringSiempre email.loaded.
objectobjectLa apertura que describe el evento. Sus campos se indican a continuación.
data.objectobjectEl mismo objeto otra vez, con la forma que devuelve la API de eventos en data.
Objeto de carga
idstringEl ID de la apertura (load_…).
objectstringSiempre load.
email_idstringEl ID del email (em_…).
emailobjectEl email.
email.idstringEl ID del email (em_…).
email.rcpt_tostringLa dirección del destinatario.
email.mail_fromstringEl remitente tal como está guardado en el email. Puede incluir un nombre visible.
email.subjectstring | nullEl asunto.
email.created_atstringCuándo aceptó Emailit el email.
email.campaignobject | nullEl id y el name de la campaña que envió el email, o null en los emails enviados con la API o por SMTP.
email.metaobject | nullEl objeto meta enviado con el email, o null.
contactobject | nullEl id y el email del contacto con la dirección del destinatario en este espacio de trabajo, o null si no existe.
ip_addressstringLa dirección IP de la petición.
user_agentstring | nullEl agente de usuario del cliente que hizo la petición.
created_atstringCuándo se cargó el píxel, en formato ISO 8601 con desfase respecto a UTC.
{
"event_id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "email.loaded",
"object": {
"id": "load_2xLg2Cw7Sr4Xo9Ud1Zn6Ke3Lt8g",
"object": "load",
"email_id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"email": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"rcpt_to": "ada@example.com",
"mail_from": "Acme <news@acme.com>",
"subject": "What's new in October",
"created_at": "2026-10-01T10:02:11.583000+00:00",
"campaign": {
"id": "cmp_2xLf3Gd8Wr5Mb0Tq6Yn1Kc4Hs9e",
"name": "October product update"
},
"meta": null
},
"contact": {
"id": "con_2xLf5Jk1Xs7Nc2Ur8Zo3Ld6Pt0a",
"email": "ada@example.com"
},
"ip_address": "203.0.113.42",
"user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",
"created_at": "2026-10-01T10:02:14.307000+00:00"
},
"data": {
"object": {
"id": "load_2xLg2Cw7Sr4Xo9Ud1Zn6Ke3Lt8g",
"object": "load",
"email_id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"email": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"rcpt_to": "ada@example.com",
"mail_from": "Acme <news@acme.com>",
"subject": "What's new in October",
"created_at": "2026-10-01T10:02:11.583000+00:00",
"campaign": {
"id": "cmp_2xLf3Gd8Wr5Mb0Tq6Yn1Kc4Hs9e",
"name": "October product update"
},
"meta": null
},
"contact": {
"id": "con_2xLf5Jk1Xs7Nc2Ur8Zo3Ld6Pt0a",
"email": "ada@example.com"
},
"ip_address": "203.0.113.42",
"user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",
"created_at": "2026-10-01T10:02:14.307000+00:00"
}
}
}email.clicked
Se envía cada vez que alguien hace clic en un enlace con seguimiento de un email. El seguimiento de clics requiere un dominio de seguimiento verificado y que el seguimiento de clics esté activado para el email. Emailit no filtra los clics automáticos, como las comprobaciones de enlaces de los escáneres de seguridad.
Las peticiones de webhook contienen un array JSON de eventos como este; consulta Peticiones de webhook.
Campos
event_idstringEl ID del evento (evt_…). Una petición reintentada lleva el mismo ID, así que úsalo para omitir los eventos que ya hayas procesado. También puedes consultar el evento con Obtener un evento.
typestringSiempre email.clicked.
objectobjectEl clic que describe el evento. Sus campos se indican a continuación.
data.objectobjectEl mismo objeto otra vez, con la forma que devuelve la API de eventos en data.
Objeto de clic
idstringEl ID del clic (click_…).
objectstringSiempre click.
email_idstringEl ID del email (em_…).
emailobjectEl email.
email.idstringEl ID del email (em_…).
email.rcpt_tostringLa dirección del destinatario.
email.mail_fromstringEl remitente tal como está guardado en el email. Puede incluir un nombre visible.
email.subjectstring | nullEl asunto.
email.created_atstringCuándo aceptó Emailit el email.
email.campaignobject | nullEl id y el name de la campaña que envió el email, o null en los emails enviados con la API o por SMTP.
email.metaobject | nullEl objeto meta enviado con el email, o null.
linkobjectEl enlace en el que se hizo clic.
link.idstringEl ID del enlace (link_…).
link.urlstringLa URL de destino.
contactobject | nullEl id y el email del contacto con la dirección del destinatario en este espacio de trabajo, o null si no existe.
ip_addressstringLa dirección IP de la petición.
user_agentstring | nullEl agente de usuario del cliente que hizo la petición.
created_atstringCuándo se produjo el clic, en formato ISO 8601 con desfase respecto a UTC.
{
"event_id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "email.clicked",
"object": {
"id": "click_2xLg1Bv6Rq3Wn8Tc0Ym5Jd2Ks7f",
"object": "click",
"email_id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"email": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"rcpt_to": "ada@example.com",
"mail_from": "Acme <news@acme.com>",
"subject": "What's new in October",
"created_at": "2026-10-01T10:02:11.583000+00:00",
"campaign": {
"id": "cmp_2xLf3Gd8Wr5Mb0Tq6Yn1Kc4Hs9e",
"name": "October product update"
},
"meta": null
},
"link": {
"id": "link_2xLf9Pa4Vt1Qm6Xs3Hc8Nb0Rd5e",
"url": "https://acme.com/blog/october-update"
},
"contact": {
"id": "con_2xLf5Jk1Xs7Nc2Ur8Zo3Ld6Pt0a",
"email": "ada@example.com"
},
"ip_address": "203.0.113.42",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15",
"created_at": "2026-10-01T10:02:14.307000+00:00"
},
"data": {
"object": {
"id": "click_2xLg1Bv6Rq3Wn8Tc0Ym5Jd2Ks7f",
"object": "click",
"email_id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"email": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"rcpt_to": "ada@example.com",
"mail_from": "Acme <news@acme.com>",
"subject": "What's new in October",
"created_at": "2026-10-01T10:02:11.583000+00:00",
"campaign": {
"id": "cmp_2xLf3Gd8Wr5Mb0Tq6Yn1Kc4Hs9e",
"name": "October product update"
},
"meta": null
},
"link": {
"id": "link_2xLf9Pa4Vt1Qm6Xs3Hc8Nb0Rd5e",
"url": "https://acme.com/blog/october-update"
},
"contact": {
"id": "con_2xLf5Jk1Xs7Nc2Ur8Zo3Ld6Pt0a",
"email": "ada@example.com"
},
"ip_address": "203.0.113.42",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15",
"created_at": "2026-10-01T10:02:14.307000+00:00"
}
}
}email.unsubscribed
Se envía cuando un contacto se da de baja de tus campañas, por ejemplo con el enlace de baja de un email de campaña. Emailit también envía subscriber.updated por cada lista de contactos que abandona el contacto. Consulta Bajas.
Las peticiones de webhook contienen un array JSON de eventos como este; consulta Peticiones de webhook.
Campos
event_idstringEl ID del evento (evt_…). Una petición reintentada lleva el mismo ID, así que úsalo para omitir los eventos que ya hayas procesado. También puedes consultar el evento con Obtener un evento.
typestringSiempre email.unsubscribed.
objectobjectEl email de campaña que describe el evento. Sus campos se indican a continuación.
data.objectobjectEl mismo objeto otra vez, con la forma que devuelve la API de eventos en data.
Objeto de email
idstring | nullEl ID (em_…) del email de campaña desde el que actuó el contacto, o null si Emailit no pudo identificarlo.
objectstringSiempre email.
fromstringEl remitente del email de campaña.
tostringLa dirección del contacto.
subjectstringEl asunto del email de campaña.
campaignobject | nullEl id y el name de la campaña, o null.
contactobject | nullEl id y el email del contacto.
unsubscribed_atstringCuándo se dio de baja el contacto, en formato ISO 8601 con desfase respecto a UTC.
{
"event_id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "email.unsubscribed",
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "news@acme.com",
"to": "ada@example.com",
"subject": "What's new in October",
"campaign": {
"id": "cmp_2xLf3Gd8Wr5Mb0Tq6Yn1Kc4Hs9e",
"name": "October product update"
},
"contact": {
"id": "con_2xLf5Jk1Xs7Nc2Ur8Zo3Ld6Pt0a",
"email": "ada@example.com"
},
"unsubscribed_at": "2026-10-01T10:02:14.307000+00:00"
},
"data": {
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "news@acme.com",
"to": "ada@example.com",
"subject": "What's new in October",
"campaign": {
"id": "cmp_2xLf3Gd8Wr5Mb0Tq6Yn1Kc4Hs9e",
"name": "October product update"
},
"contact": {
"id": "con_2xLf5Jk1Xs7Nc2Ur8Zo3Ld6Pt0a",
"email": "ada@example.com"
},
"unsubscribed_at": "2026-10-01T10:02:14.307000+00:00"
}
}
}email.resubscribed
Se envía cuando un contacto que se dio de baja de tus campañas vuelve a estar suscrito, por ejemplo con la opción para volver a suscribirse de la página de baja. Emailit también envía subscriber.updated por cada lista de contactos a la que vuelve el contacto.
Las peticiones de webhook contienen un array JSON de eventos como este; consulta Peticiones de webhook.
Campos
event_idstringEl ID del evento (evt_…). Una petición reintentada lleva el mismo ID, así que úsalo para omitir los eventos que ya hayas procesado. También puedes consultar el evento con Obtener un evento.
typestringSiempre email.resubscribed.
objectobjectEl email de campaña que describe el evento. Sus campos se indican a continuación.
data.objectobjectEl mismo objeto otra vez, con la forma que devuelve la API de eventos en data.
Objeto de email
idstring | nullEl ID (em_…) del email de campaña desde el que actuó el contacto, o null si Emailit no pudo identificarlo.
objectstringSiempre email.
fromstringEl remitente del email de campaña.
tostringLa dirección del contacto.
subjectstringEl asunto del email de campaña.
campaignobject | nullEl id y el name de la campaña, o null.
contactobject | nullEl id y el email del contacto.
resubscribed_atstringCuándo volvió a suscribirse el contacto, en formato ISO 8601 con desfase respecto a UTC.
{
"event_id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "email.resubscribed",
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "news@acme.com",
"to": "ada@example.com",
"subject": "What's new in October",
"campaign": {
"id": "cmp_2xLf3Gd8Wr5Mb0Tq6Yn1Kc4Hs9e",
"name": "October product update"
},
"contact": {
"id": "con_2xLf5Jk1Xs7Nc2Ur8Zo3Ld6Pt0a",
"email": "ada@example.com"
},
"resubscribed_at": "2026-10-01T10:02:14.307000+00:00"
},
"data": {
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "news@acme.com",
"to": "ada@example.com",
"subject": "What's new in October",
"campaign": {
"id": "cmp_2xLf3Gd8Wr5Mb0Tq6Yn1Kc4Hs9e",
"name": "October product update"
},
"contact": {
"id": "con_2xLf5Jk1Xs7Nc2Ur8Zo3Ld6Pt0a",
"email": "ada@example.com"
},
"resubscribed_at": "2026-10-01T10:02:14.307000+00:00"
}
}
}