Notificaciones en Sitio Personalizadas
Integrando 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 de 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 procesamiento y responder con las respuestas respectivas.
Pre-Requisitos
- Avisa 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 en la implementaci贸n soportada)
- Avisa a Fast Track si alg煤n m谩ximo de lotes debe ser tomado en consideraci贸n.
- Proporciona 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 individual de Notificaci贸n en el Sitio contendr谩 los datos de cada notificaci贸n individual en solicitudes separadas a la API.
Implementaci贸n del Endpoint
Implementa el endpoint en el formato de abajo para soportar 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 de API en el endpoint. Este token necesita ser pasado a Fast Track para hacer estas solicitudes.
Esquema del Cuerpo de Solicitud
Refiere al 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 acci贸n 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 de entrada enriquecido
"message" -> Popup peque帽o
"shoutout" -> Popup grande |
display_type * | string | "silent" -> Notificaci贸n Silenciosa
"push" -> Notificaci贸n Push en pantalla |
title * | string | El t铆tulo de la notificaci贸n |
message * | string | El texto del cuerpo de la notificaci贸n |
preview_text | string | Texto de vista previa corto mostrado antes de que se abra la notificaci贸n |
footer_text | string | Texto mostrado en el pie de la notificaci贸n |
image_url | string | URL de una imagen para mostrar en la notificaci贸n |
cta_button_link | string | URL para el bot贸n principal de llamada a la acci贸n |
cta_button_text | string | Etiqueta para el bot贸n principal de llamada a la acci贸n |
cta_button_2_link | string | URL para el bot贸n secundario de llamada a la acci贸n |
cta_button_2_text | string | Etiqueta para el bot贸n secundario de llamada a la acci贸n |
expires | integer | Marca de tiempo Unix despu茅s de la cual la notificaci贸n debe considerarse expirada |
meta | object | Pares clave-valor personalizados definidos en la actividad CRM de Fast Track |
Respuestas Esperadas
La API de Operador debe retornar las respuestas para cada mensaje individual de Notificaci贸n en el Sitio respectivamente para evitar 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 de 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 de Operador ser谩n manejadas de manera diferente dependiendo de la clase del c贸digo de estado HTTP. La tabla de abajo 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 saltar谩 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 de lote est谩 limitado por una cantidad entera establecida en la configuraci贸n y enviado dentro de un lapso de tiempo configurado, incluso cuando el lote a煤n no est谩 lleno.
Implementaci贸n del Endpoint
Implementa el endpoint en el formato de abajo para soportar 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 de API en el endpoint. Este token necesita ser pasado a Fast Track para hacer estas solicitudes.
Esquema del Cuerpo de Solicitud
Aqu铆 hay un ejemplo del formato esperado cuando se agrupan las solicitudes. Es similar a la solicitud de Notificaci贸n en el Sitio Individual pero las solicitudes est谩n almacenadas en un array, una tras otra.
Ve la tabla arriba (/site/single) para una tabla describiendo cada propiedad.
Respuestas Esperadas
Las siguientes respuestas deben ser retornadas por la API de Operador.
Exitosa Respuesta JSON HTTP 200
El "activity.id" inicialmente enviado en la solicitud ser谩 retornado de vuelta 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 de lote inicial.
El site_notification_id ser谩 un identificador 煤nico generado por la API de Operador, que Fast Track usar谩 para identificar el mensaje relacionado de Notificaci贸n en el Sitio al actualizar su estado.
Si cualquiera de las categor铆as listadas ("successful", "failed" o "fatal") no tienen una Notificaci贸n en el Sitio asociada, deben ser retornadas como un array vac铆o.
La solicitud necesita incluir una de las propiedades successful, failed o fatal