logoDocumentación
Buscar

Información general sobre SMSHook

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

注:El término «solicitud de correo electrónico» del texto original se mantiene, pero se recomienda confirmar si debe referirse a SMS en lugar de correo electrónico.

Procesamiento de SMSHook

  • EngageLab proporciona a los clientes algunos eventos que pueden elegir monitorizar o suscribirse
  • Cuando se produce un evento, EngageLab enviará los datos (POST) a la URL configurada por el cliente
  • El tipo de datos enviados por EngageLab es "Content Type: application/JSON"
  • El cliente recibe los datos, analiza el evento y la información, y debe devolver el código de estado HTTP 200 en un plazo de 3 segundos. De lo contrario, EngageLab reenviará el mensaje.

Método de uso

  • Los usuarios pueden escribir sus propios servicios HTTP para gestionar los eventos correspondientes, analizar los datos relevantes y abrir las URL correspondientes
  • Los usuarios seleccionan los eventos que desean monitorizar en SMSHook de EngageLab y configuran la URL para recibir los datos

Verificación de firma

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

Los métodos para la autenticación de seguridad son los siguientes:

  • Obtener el APP SECRET en [Send Settings] - [SMSHook]
  • Obtener X-SMSHook Timestamp del encabezado
  • Obtener X-SMSHook AppKey del encabezado
  • Obtener X-SMSHook Signature del encabezado
  • Generar una signature usando md5 (timestamp+appkey+secret) y compararla con X-SMSHook Signature

Procesamiento de la respuesta

Después de recibir el callback de EngageLab, el servicio del desarrollador debe responder en un plazo de 3 segundos según los siguientes requisitos.

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

Recepción fallida: el código de estado de 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 de tiempo 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 Solid Transparent White Qiyu
Contacto