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

  1. 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)
  2. Avisa a Fast Track si algún máximo de lote debe ser tomado en consideración.
  3. 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
ClaveTipoDescripció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
ClaveTipoDescripció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
ClaveTipoDescripció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
ClaveTipoDescripció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
ClaveTipoDescripció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