Información sobre WebHook

WebHook es el canal mediante el cual los clientes reciben su información de envío. Tras enviar el usuario la solicitud de envío de correo a EngageLab, EngageLab devolverá de forma síncrona al usuario el «resultado de la solicitud», y el «resultado de envío» y los «resultados de otros eventos» del correo se devolverán al usuario de forma asíncrona mediante WebHook.

Procesamiento de WebHook

  • EngageLab proporciona a los clientes algunos eventos de correo electrónico, y los clientes pueden elegir en cuáles desean centrarse.
  • Cuando se produce un evento, EngageLab enviará los datos (POST) a la URL configurada por el cliente.
  • Tipo de datos enviados por EngageLab: «Content Type: application/json».
  • El cliente recibe los datos y analiza el evento y los datos. Se debe devolver el código de estado HTTP 200 en un plazo de 3 s. De lo contrario, EngageLab reenviará el mensaje.

Método de uso

  • El usuario desarrolla el servicio HTTP para que gestione los eventos correspondientes, analice los datos pertinentes y exponga la URL correspondiente.
  • El usuario selecciona el evento de interés en «WebHook» de EngageLab y configura la URL para recibir datos.

Verificación de firma

Para garantizar que la identidad de origen del mensaje es EngageLab, se puede optar por realizar autenticación de seguridad sobre el origen de los datos POST (también es posible analizar directamente los datos POST sin verificación).

El método de autenticación de seguridad es el siguiente:

  • Obtener APP KEY mediante «Send Settings» - «WebHook»
  • Analizar X-WebHook-Timestamp en el encabezado
  • Analizar X-WebHook-AppKey en el encabezado
  • Analizar X-WebHook-Signature en el encabezado
  • Usar md5(X-WebHook-Timestamp+X-WebHook-AppKey+APP KEY) para generar la firma signature y compararla con X-WebHook-Signature

Procesamiento de la respuesta

Tras recibir la devolución de llamada de EngageLab, el servicio del desarrollador debe responder en un plazo de 3 segundos conforme a los siguientes requisitos.

Recepción correcta: el código de estado de la respuesta HTTP debe devolver 200 o 204, y no es necesario devolver ningún mensaje de respuesta.

Fallo de recepción: el código de estado de la respuesta HTTP debe devolver 5XX o 4XX, y al mismo tiempo se debe devolver un mensaje de respuesta, con el siguiente formato:

{"code": 2002, "message": "failed"}
              
              {"code": 2002, "message": "failed"}

            
Este bloque de código se muestra en una ventana flotante
Parámetro Tipo Obligatorio/Opcional Descripción
code int Opcional Código de error
message string Opcional Detalles del error

Procesamiento de reintentos

Si se produce un error de acceso a la URL o un tiempo de espera, EngageLab reintentará como máximo 7 veces. El intervalo máximo entre cada reintento es de 3 min, 10 min, 30 min, 1 h, 6 h, 12 h y 24 h. Es decir, se dispone de tiempo suficiente para reparar la URL antes de que el mensaje se pierda.

Si se supera el número de reintentos, EngageLab descartará el mensaje.

Para cada procesamiento de eventos y análisis de datos, se debe devolver «Successful response received» en un plazo de 3 s. De lo contrario, EngageLab reenviará este mensaje.

icon
Contacto