Notificaciones Personalizadas en el Sitio
Integración de una solución/proveedor personalizado de Notificaciones en el Sitio como parte de tu API de Operador
Fast Tracks soporta dos proveedores diferentes para Notificaciones en el Sitio, el nuestro propio y "Proveedor de API de Operador" lo que significa que puedes hacer lo que quieras hacer en tu lado.
Servicio de Notificaciones en el Sitio de Fast Track
Los siguientes endpoints pueden construirse como parte de tu API de Operador:
⬆️ POST /channels/site/single
⬆️ POST /channels/site/batch
El Operador puede entonces reenviar estas solicitudes al sistema de Notificaciones en el Sitio para su procesamiento y responder con las respuestas respectivas.
Prerrequisitos
- Avisar a Fast Track si alguna limitación de velocidad debe ser tomada en consideración. (Si planeas implementar limitación de velocidad, por favor contacta a Fast Track antes, para que podamos guiarte sobre la implementación soportada)
- Avisar a Fast Track si algún máximo de lotes debe ser tomado en consideración.
- Proporcionar a Fast Track cualquier credencial específica para los proveedores integrados (si es requerido)
Enviar Notificación en el Sitio (Individual)
Una solicitud de envío de Notificación en el Sitio individual contendrá los datos de cada notificación individual en solicitudes separadas a la API.
Implementación del Endpoint
Implementa el endpoint en el formato siguiente para soportar el envío individual de Notificación en el Sitio a través de API.
⬆️ POST <operator-api-base-url>/channels/site/single
Encabezado de Solicitud
El encabezado de la solicitud enviada contiene un x-api-key que es un token requerido para autenticar las llamadas a la API en el endpoint. Este token necesita ser pasado a Fast Track para poder hacer estas solicitudes.
Esquema del Cuerpo de Solicitud
Consulta el siguiente ejemplo de una solicitud de notificación individual enviada por Fast Track. La descripción de cada campo está listada en la tabla debajo de él.
| Clave | Tipo | Descripción |
|---|---|---|
activity.id | integer | Un identificador único de la Notificación en el Sitio |
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 la Notificación en el Sitio desde Fast Track |
activity.trigger_hash | string | Hash del disparador |
activity.action_id | integer | El identificador único de la acción individual desde Fast Track |
event | string | "inbox" -> Mensaje de bandeja rica
"message" -> Popup pequeño
"shoutout" -> Popup grande |
display_type | string | "silent" -> Notificación Silenciosa
"push" -> Notificación Push en pantalla |
Respuestas Esperadas
La API del Operador debe devolver las respuestas para cada mensaje individual de Notificación en el Sitio respectivamente para evitar el almacenamiento no relacionado de datos de Notificación en el Sitio.
Exitosa Respuesta JSON HTTP 200-299
El site_notification_id será un identificador único generado por la API del Operador que permite a Fast Track identificar ese mensaje particular de Notificación en el Sitio para actualizar su estado de entrega después de que sea enviado.
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 serán manejadas de manera diferente dependiendo de la clase del código de estado HTTP. La tabla siguiente da un resumen de cómo los estados HTTP son manejados por separado.
| 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 de Notificación en el Sitio. 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. |
Notificación en el Sitio por Lotes
La Notificación en el Sitio por Lotes ayuda a procesar una colección de Notificaciones en el Sitio 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 enviado dentro de un período de tiempo configurado, incluso cuando el lote aún no está completo.
Implementación del Endpoint
Implementa el endpoint en el formato siguiente para soportar el envío por lotes de Notificación en el Sitio a través de API.
⬆️ POST <operator-api-base-url>/channels/site/batch
Encabezado de Solicitud
El encabezado de la solicitud enviada contiene un x-api-key que es un token requerido para autenticar las llamadas a la API en el endpoint. Este token necesita ser pasado a Fast Track para poder hacer estas solicitudes.
Esquema del Cuerpo de Solicitud
Aquí hay un ejemplo del formato esperado cuando se procesan por lotes las solicitudes. Es similar a la solicitud de Notificación en el Sitio Individual pero las solicitudes se almacenan en un array, una tras otra.
| Clave | Tipo | Descripción |
|---|---|---|
activity.id | integer | Un identificador único de la Notificación en el Sitio |
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 la Notificación en el Sitio desde Fast Track |
activity.trigger_hash | string | Hash del disparador |
activity.action_id | integer | El identificador único de la acción individual desde Fast Track |
Respuestas Esperadas
Las siguientes respuestas deben ser devueltas por la API del Operador.
Exitosa Respuesta JSON HTTP 200
El "activity.id" inicialmente enviado en la solicitud será devuelto en la respuesta como "id". Esto es requerido para ayudar a Fast Track a identificar el mensaje individual de Notificación en el Sitio en la solicitud por lotes inicial.
El site_notification_id será un identificador único generado por la API del Operador, que Fast Track usará para identificar el mensaje relacionado de Notificación en el Sitio al actualizar su estado.
Si alguna de las categorías listadas ("successful", "failed" o "fatal") no tiene una Notificación en el Sitio asociada, deberían ser devueltas como un array vacío.
La solicitud necesita incluir una de las propiedades successful, failed o fatal
El flujo lógico de cómo será manejada la respuesta es muy similar a cómo son manejados los códigos de estado HTTP en el endpoint de Notificación en el Sitio Individual. La única diferencia es que la respuesta con un código de estado 200 será manejada 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 de Notificación en el Sitio. Adicionalmente, enviará sus datos a Acciones Fallidas, si el servicio está habilitado. |
fatal | Los mensajes serán reintentados |