Cómo habilitar WebHooks para correos electrónicos transaccionales

Webhook es un mecanismo para recibir notificaciones sobre ciertos eventos. Puedes configurar notificaciones a tu sistema sobre la capacidad de entrega de correos electrónicos y la actividad de los suscriptores.

Cómo crear un Webhook

Para conectar WebHooks SMTP, ve a la sección "Configuración de la cuenta" en la pestaña "API" y haz clic en "Crear webhook".

Activa el seguimiento de correo electrónico SMTP si lo tienes desactivado.

2

Especifica la URL de tu controlador a donde enviar eventos. Y marca los eventos que deseas enviar.

Lista de eventos desencadenados por un webhook en el servicio SMTP con respecto al envío de correos electrónicos:

  • Entregado
  • No entregado
  • Abierto
  • Siguiendo un enlace
  • Reportado como spam
  • Darse de baja
  • Enviar formato de datos
  • Rebote blando
  • Rebote duro

Cuando se activa un webhook, SendPulse envía una solicitud POST a la URL especificada con

Formato de envío de datos

Webhook se activa cada 30 segundos o cada vez que SendPulse recopila 500 eventos para enviar.

Cuando se activa el webhook, SendPulse envía una solicitud POST con tipo de datos JSON a la URL especificada.

Los datos se envían en el siguiente formato:

[
  {
    "event": "event_name",
    "timestamp": 1490954061,
    "message_id": 1149317311,
    "recipient": "john.doe@sendpulse.com",
    "sender": "doe.john@sendpulse.com",
    "subject": "hello world" 
  }
]

Si hay varios eventos, se agruparán en una o varias solicitudes:

[
  {
    "event": "event_name",
    "timestamp": 1490954061,
    "message_id": 1149317311,
    "recipient": "john.doe@sendpulse.com",
    "sender": "doe.john@sendpulse.com",
    "subject": "hello world" 
  },
  {
    "event": "event_name",
    "timestamp": 1490954062,
    "message_id": 1149317311,
    "recipient": "john.doe@sendpulse.com",
    "sender": "doe.john@sendpulse.com",
    "subject": "hello world" 
  },
  {
    "event": "event_name",
    "timestamp": 1490954063,
    "message_id": 1149317311,
    "recipient": "john.doe@sendpulse.com",
    "sender": "doe.john@sendpulse.com",
    "subject": "utf8_hello_world" 
  },
]

Formatos de solicitud, según el evento

Entregado:

[
  {
    "smtp_server_response_code": "250",
    "smtp_server_response_subcode": "",
    "sender": "john.doe@sendpulse.com",
    "smtp_server_response": "custom_text_response_from_recipients_server",
    "timestamp": 1490953933,
    "message_id": 1149317311,
    "recipient": "doe.john@sendpulse.com",
    "event": "delivered",
    "subject": "utf8_hello_world" 
  }
]

No entregado:

  [ {
    "smtp_server_response_code": "554",
    "smtp_server_response_subcode": "5.7.1",
    "sender": "john.doe@sendpulse.com",
    "smtp_server_response": "custom_text_response_from_recipients_server",
    "timestamp": 1490956117,
    "message_id": 1149317311,
    "recipient": "doe.john@sendpulse.com",
    "event": "undelivered",
    "subject": "utf8_hello_world" 
  }
]

Abierto:

[
  {
    "event": "opened",
    "timestamp": 1490962764,
    "message_id": 1149317311,
    "recipient": "doe.john@sendpulse.com",
    "sender": "john.doe@sendpulse.com",
    "subject": "utf8_hello_world" 
  }
]

Siguiendo un enlace:

[
  {
    "event": "clicked",
    "timestamp": 1490964928,
    "message_id": 1149317311,
    "recipient": "doe.john@sendpulse.com",
    "sender": "john.doe@sendpulse.com",
    "subject": "utf8_hello_world" 
  }
]

Darse de baja:

[
 {
    "event": "unsubscribed",
    "recipient": "john.doe@sendpulse.com",
    "sender": "doe.john@sendpulse.com",
    "subject": "hello world" 
  }
]

Reportado como spam:

[
  {
    "event": "spam_by_user",
    "timestamp": 1490964607,
    "message_id": 1145317311,
    "recipient": "doe.john@sendpulse.com",
    "sender": "john.doe@sendpulse.com",
    "subject": "utf8_hello_world" 
  }
]

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.dereck.cn.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 de un script que acepta una petición en PHP:

<?php
$json_string = file_get_contents('php://input');
$data_array = json_decode($json_string, true);
?>
    Califica este artículo sobre "Cómo habilitar WebHooks para correos electrónicos transaccionales"

    Opinión de los usuarios: 5 / 5

    Anterior

    Cómo Visualizar Estadísticas de SMTP

    Siguiente

    Cómo Enviar Correos Transaccionales Usando una Plantilla de SendPulse

    Popular en nuestro blog

    Pruebe SendPulse SMTP hoy mismo gratis