Push Nativo Personalizado
Integrar un proveedor personalizado de Notificaciones Push Nativas como parte de tu API del Operador
Fast Tracks soporta Firebase como proveedor de Notificaciones Push Nativas, si tu negocio necesita un proveedor que no forme parte de la lista de proveedores soportados entonces puedes construir esta API.
Servicio de Notificaciones Push Nativas de Fast Track
El servicio de Notificaciones Push Nativas de Fast Track puede configurarse para enviar solicitudes de Notificaciones Push Nativas a los endpoints de la API del Operador listados abajo, lo cual permite al Operador gestionar el proveedor de Notificaciones Push Nativas. Soporta el envío de mensajes y obtener el estado de entrega. El envío está disponible tanto para solicitudes individuales como por lotes de Notificaciones Push Nativas.
Los siguientes endpoints pueden construirse como parte de tu API del Operador:
⬆️ POST /channels/push/single
⬆️ POST /channels/push/batch
El Operador puede entonces reenviar estas solicitudes al proveedor de Notificaciones Push Nativas para procesamiento y responder con las respuestas respectivas.
El formato de la API y las respuestas necesitan estar formateados como se describe abajo
Es importante que los datos "meta" descritos abajo sean enviados de vuelta a Fast Track ya sea por 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 aclaración.
Pre-Requisitos
- Avisa a Fast Track si alguna limitación de tasa debe ser tomada en consideración. (Si planeas implementar limitación de tasa 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 lote debe ser tomado en consideración.
- Proporciona a Fast Track cualquier credencial específica para los proveedores integrados (si es requerido)
Enviar Notificación Push Nativa (Individual)
Una solicitud de envío individual de Notificación Push Nativa contendrá los datos de cada Notificación Push Nativa individual en solicitudes separadas a la API.
Implementación del Endpoint
Implementa el endpoint en el formato de abajo para soportar el envío individual de Notificaciones Push Nativas a través de API.
⬆️ POST <operator-api-endpoint-url>/channels/push/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 poder hacer estas solicitudes.
Esquema del Cuerpo de Solicitud
Consulta el siguiente ejemplo de una solicitud individual de Notificación Push Nativa enviada por Fast Track. La descripción de cada campo está listada en la tabla debajo de él.
Campos de nivel superior
| Clave | Tipo | Descripción |
|---|---|---|
activity * | object | Objeto de contexto de actividad — ver sub-tabla abajo |
title * | string | El título de la notificación push |
body * | string | El texto del cuerpo de la notificación push |
image_url | string | URL de una imagen para mostrar en la notificación |
android | object | Configuración específica de Android — ver campos de Android abajo. Omitir si no se usa |
ios | object | Configuración específica de iOS — ver campos de iOS abajo. Omitir si no se usa |
web | object | Configuración específica de Web push — ver campos de Web abajo. Omitir si no se usa |
meta | object | Pares clave-valor personalizados definidos en la actividad del CRM de Fast Track |
campos de activity
| Clave | Tipo | Descripción |
|---|---|---|
activity.id * | integer | Un identificador único de la Notificación Push Nativa |
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 configuración de actividad en Fast Track |
activity.action_group_id * | integer | El identificador único del grupo de acción del cual se origina la Notificación Push Nativa 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 |
activity.origin | string | Etiqueta de origen opcional para la actividad |
campos de android — todos opcionales
| Clave | Tipo | Descripción |
|---|---|---|
priority | string | Prioridad de entrega del mensaje |
ttl | string | Duración de tiempo de vida para el mensaje |
collapse_key | string | Clave usada para colapsar mensajes pendientes |
restricted_package_name | string | Nombre del paquete Android objetivo |
icon | string | Nombre del recurso del ícono de notificación |
color_rgb | string | Color de acento de la notificación en formato hexadecimal |
sound | string | Sonido de la notificación |
tag | string | Etiqueta usada para reemplazar notificaciones existentes |
click_action | string | Acción disparada cuando se toca la notificación |
body_loc_key | string | Clave de localización para el texto del cuerpo |
body_loc_arcs | array of strings | Valores de sustitución para body_loc_key |
title_loc_keys | string | Clave de localización para el título |
title_loc_args | array of strings | Valores de sustitución para title_loc_key |
channel_id | string | Identificador del canal de notificación de Android |
campos de ios — todos opcionales
| Clave | Tipo | Descripción |
|---|---|---|
badge | string | Contador de insignia del ícono de la app |
category | string | Identificador de categoría de notificación |
thread_id | string | Identificador de hilo para agrupar notificaciones |
sub_title | string | Subtítulo de la notificación |
loc_key | string | Clave de localización para el texto del cuerpo |
loc_args | array of strings | Valores de sustitución para loc_key |
title_loc_key | string | Clave de localización para el título |
title_loc_args | array of strings | Valores de sustitución para title_loc_key |
sub_title_loc_key | string | Clave de localización para el subtítulo |
sub_title_loc_args | array of strings | Valores de sustitución para sub_title_loc_key |
action_loc_key | string | Clave de localización para la etiqueta del botón de acción |
launch_image | string | Nombre de archivo de imagen de lanzamiento mostrada cuando la app se abre |
campos de web — todos opcionales
| Clave | Tipo | Descripción |
|---|---|---|
icon | string | URL del ícono de notificación |
badge | string | URL del ícono de insignia |
dir | string | Dirección del texto. Valores: ltr | rtl | auto |
lang | string | Etiqueta de idioma de la notificación (ej. en) |
renotify | string | Si notificar al usuario después de reemplazar una notificación existente |
require_interaction | string | Si la notificación debe permanecer hasta que el usuario interactúe con ella |
silent | string | Si la notificación debe ser silenciosa |
tag | string | Etiqueta usada para reemplazar notificaciones existentes |
timestamp | integer | Marca de tiempo Unix representando el tiempo de la notificación |
vibrate | array of strings | Patrón de vibración como un array de duraciones en milisegundos |
link | string | URL para abrir cuando se hace clic en la notificación |
Respuestas Esperadas
La API del Operador debe retornar las respuestas para cada mensaje individual de Notificación Push Nativa respectivamente para evitar almacenamiento no relacionado de datos de Notificaciones Push Nativas.
Respuesta JSON HTTP 200-299 Exitosa
El push_id será un identificador único generado por la API del Operador que permite a Fast Track identificar ese mensaje particular de Notificación Push Nativa para actualizar su estado de entrega después de que es enviado.
Respuesta JSON de respuesta no-200 de ERROR
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 respues