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
SMSHookde 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 SECRETen[Send Settings] - [SMSHook] - Obtener
X-SMSHook Timestampdel encabezado - Obtener
X-SMSHook AppKeydel encabezado - Obtener
X-SMSHook Signaturedel encabezado - Generar una
signatureusando md5 (timestamp+appkey+secret) y compararla conX-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"}
| 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.
