Solución SMS Personalizada
Integración de una solución/proveedor de SMS personalizado como parte de tu API del Operador
Fast Tracks soporta una variedad de proveedores de SMS, si tu negocio necesita un proveedor que no está incluido en la lista de proveedores soportados, entonces puedes construir esta API.
Servicio de SMS de Fast Track
El servicio de SMS de Fast Track puede configurarse para enviar solicitudes de SMS a los endpoints de la API del Operador listados a continuación, lo que permite al Operador gestionar el proveedor de SMS. Soporta el envío de mensajes y obtener el estado de entrega. El envío está disponible tanto para solicitudes de SMS individuales como por lotes.
Los siguientes endpoints pueden construirse como parte de tu API del Operador:
⬆️ POST /channels/sms/single
⬆️ POST /channels/sms/batch
El Operador puede entonces reenviar estas solicitudes al proveedor de SMS para su procesamiento y responder con las respectivas respuestas.
El formato de la API y las respuestas necesitan formatearse según se describe a continuación
Es importante que los datos "meta" descritos a continuación se envíen de vuelta a Fast Track ya sea mediante Webhook o Polling para que los datos de conversión puedan almacenarse correctamente. Por favor, consulta los ejemplos mostrados y las tablas debajo para mayor clarificación.
Prerrequisitos
- Avisa a Fast Track si debe tomarse en consideración alguna limitación de velocidad. (Si planeas implementar limitación de velocidad, por favor contacta a Fast Track antes, para que podamos guiarte sobre la implementación soportada)
- Avisa a Fast Track si debe tomarse en consideración algún máximo por lote.
- Proporciona a Fast Track cualquier credencial específica para los proveedores integrados (si se requiere)
- Los formatos de SMS soportados son GSM7 y USC2
Enviar SMS (Individual)
Una solicitud de envío de SMS individual contendrá los datos de cada SMS individual en solicitudes separadas a la API.
Implementación del Endpoint
Implementa el endpoint en el formato de abajo para soportar SMS de envío individual a través de API.
⬆️ POST <operator-api-endpoint-url>/channels/sms/single
Encabezado de Solicitud
El encabezado de la solicitud enviada contiene un "X-Api-Key" que es un token requerido para autenticar las llamadas de API en el endpoint. Este token necesita pasarse a Fast Track para poder hacer estas solicitudes.
Esquema del Cuerpo de Solicitud
Consulta el siguiente ejemplo de una solicitud de SMS individual enviada por Fast Track. La descripción de cada campo se lista en la tabla debajo de él.
| Clave | Tipo | Descripción |
|---|---|---|
activity.id | integer | Un identificador único del SMS |
activity.brand_id | integer | El identificador único de la marca en Fast Track |
activity.user_id | string | El identificador único del jugador |
activity.activity_id | integer | El identificador único de la actividad configurada en Fast Track |
activity.action_group_id | integer | El identificador único del grupo de acciones del cual se origina el SMS en Fast Track |
activity.trigger_hash | string | Hash del disparador |
activity.action_id | integer | El identificador único de la acción individual de Fast Track |
content | string | El contenido del SMS |
recipient | string | El número del destinatario |
sender_name | string | El nombre del remitente del SMS |
provider_name | string | El nombre del proveedor integrado |
encoding | string | Tipo de codificación del SMS. Puede ser "auto", "gsm7" o "usc2" |
Respuestas Esperadas
La API del Operador debe retornar las respuestas para cada mensaje SMS individual respectivamente para evitar almacenamiento no relacionado de datos de SMS.
Exitosa Respuesta JSON HTTP 200-299
El "sms_id" será un identificador único generado por la API del Operador que permite a Fast Track identificar ese mensaje SMS particular para actualizar su estado de entrega después de que se envíe.
ERROR Respuesta JSON No-200
Las respuestas erróneas están típicamente asociadas con códigos de estado HTTP 400s o 500s. La respuesta debe contener un campo "error" con una descripción para mostrar qué salió mal y asistir con la resolución de problemas.
Las respuestas de la API del Operador se manejarán de manera diferente dependiendo de la clase del código de estado HTTP. La tabla de abajo da un resumen de cómo se manejan por separado los códigos de estado HTTP.
| Códigos de Estado HTTP | Descripción |
|---|---|
200-299 | Entregado Exitosamente. Fast Track reconocerá el mensaje y comenzará a procesar el siguiente mensaje en la cola. |
400-499 | No Exitoso. Al recibir este error, Fast Track omitirá el mensaje SMS. Adicionalmente, enviará sus datos a Acciones Fallidas, si el servicio está habilitado. |
500 o cualquier otro código de estado que no esté listado arriba | No Exitoso. El servicio falla y Fast Track seguirá reintentando hasta que se reciba una respuesta 200. |
SMS por Lotes
Los SMS por lotes ayudan a procesar una colección de SMS en una solicitud a la API. El número de mensajes dentro de la solicitud por lotes está limitado por una cantidad entera establecida en la configuración y se envía dentro de un lapso de tiempo configurado, incluso cuando el lote aún no está completo.
Implementación del Endpoint
Implementa el endpoint en el formato de abajo para soportar SMS de envío por lotes a través de API.
⬆️ POST <operator-api-endpoint-url>/channels/sms/batch
Encabezado de Solicitud
El encabezado de la solicitud enviada contiene un "X-Api-Key" que es un token requerido para autenticar las llamadas de API en el endpoint. Este token necesita pasarse a Fast Track para poder hacer estas solicitudes.
Esquema del Cuerpo de Solicitud
Aquí hay un ejemplo del formato esperado al procesar las solicitudes por lotes. Es similar a la solicitud de SMS Individual pero las solicitudes se almacenan en un array, una tras otra.
| Clave | Tipo | Descripción |
|---|---|---|
activity.id | integer | Un identificador único del SMS |
activity.brand_id | integer | El identificador único de la marca en Fast Track |
activity.user_id | string | El identificador único del jugador |
activity.activity_id | integer | El identificador único de la actividad configurada en Fast Track |
activity.action_group_id | integer | El identificador único del grupo de acciones del cual se origina el SMS en Fast Track |
activity.trigger_hash | string | Hash del disparador |
activity.action_id | integer | El identificador único de la acción individual de Fast Track |
content | string | El contenido del SMS |
recipient | string | El número del destinatario |
sender_name | string | El nombre del remitente del SMS |
provider_name | string | El nombre del proveedor integrado |
encoding | string | Tipo de codificación del SMS. Puede ser "auto", "gsm7" o "usc2" |
Respuestas Esperadas
Las siguientes respuestas deben ser retornadas por la API del Operador.
Exitosa Respuesta JSON HTTP 200
El "activity.id" inicialmente enviado en la solicitud será devuelto de vuelta en la respuesta como "id". Esto es requerido para ayudar a Fast Track a identificar el mensaje SMS individual en la solicitud por lotes inicial.
El "sms_id" será un identificador único generado por la API del Operador, que Fast Track usará para identificar el mensaje SMS relacionado al actualizar su estado.
Si alguna de las categorías listadas ("successful", "failed" o "fatal") no tiene un SMS asociado, deben retornarse como un array vacío.
La solicitud necesita incluir una de las propiedades successful, failed o fatal
El flujo lógico sobre cómo se manejará la respuesta es muy similar a cómo se manejan los códigos de estado HTTP en el SMS Individual. La única diferencia es que la respuesta con un código de estado 200 se manejará en su lugar, según la categoría del mensaje en la respuesta.
| Categoría de Respuesta | Descripción |
|---|---|
successful | Entregado Exitosamente. Fast Track reconocerá el mensaje y comenzará a procesar el siguiente lote en la cola. |
failed | No Exitoso. Al recibir este error, Fast Track omitirá el mensaje SMS. Adicionalmente, enviará sus datos a Acciones Fallidas, si el servicio está habilitado. |
fatal | Los mensajes serán reintentados |
Cualquier otro mensaje que no esté listado dentro de la respuesta será reintentado.
ERROR (respuesta no 500) JSON
Fast Track solo soportará Código de Estado HTTP 200 en procesamiento por lotes. La solicitud completa por lotes será reintentada si se recibe cualquier otro código de estado con la siguiente respuesta.
.png?alt=media)
.png?alt=media)
Datos de Conversión
Soportamos la obtención de datos de conversión a través de webhook.
Webhook
Fast Track proporcionará una URL de Webhook y X-API-KEY que puedes usar para enviar los datos de conversión para cada SMS.
El X-API-KEY suministrado se espera como un encabezado en la solicitud.
Es importante que los datos de "activity" que se proporcionan desde Fast Track en la solicitud de Enviar SMS se envíen de vuelta {%