Habilita webhooks para el servicio de email
Un webhook es un mecanismo para recibir notificaciones sobre ciertos eventos. Puedes configurar notificaciones sobre la capacidad de entrega del correo electrónico y la actividad de los suscriptores.
Cómo Crear un Webhook
Para crear y enviar webhooks automáticamente, ve a la sección "Configuración de la cuenta" en la pestaña "API" y haz clic en "Crear un webhook".

Selecciona el evento desencadenado por el webhook en el servicio de correo electrónico con respecto al envío de un correo electrónico:
- Correo marcado como spam
- Correo abierto
- Enlace en el correo electrónico hecho clic
- Nuevo suscriptor
- Suscriptor cancelado
- Suscriptor eliminado de la lista
- Entregado
- El estado de la campaña cambió
- Rebote blando
- Rebote duro

A continuación, especifica la URL a la que se enviarán las notificaciones.

Para cada evento, debes crear webhooks separados.

Enviar Formato de Datos
Cuando se activa un webhook, SendPulse envía una solicitud POST a la URL especificada con el tipo de datos JSON.
Los datos se envían cada minuto o cuando se alcanza el límite de 100 eventos.
Los datos se envían en el siguiente formato:
[
{
"timestamp": "1496827422",
"event": "event_name",
"task_id": "3668141",
"email": "john.doe@sendpulse.com"
}
]
Formatos de Solicitud, Según el Evento
Marcado como spam:
[
{
"timestamp": "1496827422",
"event": "spam",
"task_id": "3668141",
"email": "john.doe@sendpulse.com"
}
]
Correo abierto:
[
{
"task_id": "3668141",
"timestamp": "1496827941",
"open_device": "Desktop",
"open_platform": "Windows",
"browser_ver": "11.0",
"browser_name": "Firefox",
"email": "john.doe@sendpulse.com",
"event": "open"
}
]
Enlace pulsado:
[
{
"link_url": http://google.com,
"task_id": "3668141",
"timestamp": "1496828000",
"open_device": "Desktop",
"open_platform": "Linux",
"browser_ver": "58.0.3029.110",
"browser_name": "Chrome",
"link_id": "71741389",
"email": "john.doe@sendpulse.com",
"event": "redirect"
}
]
Cliente cancelado:
[
{
"task_id": "3668141",
"timestamp": "1496827872",
"from_all": "1",
"email": "john.doe@sendpulse.com",
"reason": null,
"book_id": "490686",
"event": "unsubscribe",
"categories": ""
}
]
Nuevo suscriptor:
[
{
"timestamp":"1496827625",
"variables": [],
"email": "john.doe@sendpulse.com",
"source": "address book",
"book_id": "490686",
"event": "new_emails"
},
{
"timestamp": "1496827625",
"variables": [],
"email": "doe.john@sendpulse.com",
"source": "subscription form",
"book_id": "490686",
"event": "new_emails"
}
]
Removido de la lista de correos:
[
{
"timestamp": "1496827422",
"event": "delete",
"book_id": "490686",
"email": "john.doe@sendpulse.com"
}
]
Entregado:
[
{
"timestamp": 1632316421
"event": "delivered"
"task_id": 9333331
"email": "test@e.cn.ua"
}
]
El estado de la campaña fue cambiado:
[
{
"status": "approve",
"status_explain": "Approved and will be sent",
"task_id": "3668138,
"timestamp": "1496827843",
"book_id": "490686",
"event": "task_status_update"
},
{
"status": "approve_part",
"status_explain": "Approved and will be sent by parts",
"task_id": "3668139",
"timestamp": "1496827843",
"book_id": "490686",
"event": "task_status_update"
},
{
"status": "only_active",
"status_explain": "Will be sent only to active adresses",
"task_id": "3668140",
"timestamp": "1496827843",
"book_id": "490686",
"event": "task_status_update"
},
{
"status": "confirm_addresses",
"status_explain": "Rejected: confirm the mailing list",
"task_id": "3668142",
"timestamp": "1496827843",
"book_id": "490686",
"event": "task_status_update"
},
{
"status": "need_edit",
"status_explain": "Rejected: edit the email body",
"task_id": "3668143",
"timestamp": "1496827843",
"book_id": "490686",
"event": "task_status_update"
},
{
"status": "rejected",
"status_explain": "Campaign rejected",
"task_id": "3668144",
"timestamp": "1496827843",
"book_id": "490686",
"event": "task_status_update"
},
{
"status": "on_moderation",
"status_explain": "Campaign is on moderation",
"task_id": "3668145",
"timestamp": "1496827843",
"book_id": "490686",
"event": "task_status_update"
},
{
"status": "sending",
"status_explain": "Campaign is in the sending queue",
"task_id": "3668146",
"timestamp": "1496827843",
"book_id": "490686",
"event": "task_status_update"
},
]
Rebote suave recibido:
[
{
"smtp_server_response_code": 550,
"smtp_server_response_subcode": "5.1.0",
"task_id": 17076325,
"smtp_server_response": " vch15@i.ua MX: mx23.i.ua RESP: Mailbox over quota. See http://mail.i.ua/err/4/",
"timestamp": 1658998170,
"event": "soft_bounces",
"email": "example@example.com"
}
]
Rebote duro recibido:
[
{
"smtp_server_response_code": 550,
"smtp_server_response_subcode": "5.1.1",
"task_id": 17076325,
"smtp_server_response": " example@example.com MX: mx.i.ua RESP: 5.1.1 <example@example.com>: Recipient address rejected: User unknown in local recipient table",
"timestamp": 1658998170,
"event": "hard_bounces",
"email": "example@example.com"
}
]
Ejemplo del script que procesa un webhook en PHP:
<?php
$json_string = file_get_contents('php://input');
$data_array = json_decode($json_string, true);
?>
Última actualización: 28.07.2023
o