Fast Tracks suporta Firebase como provedor de Notificação Push Nativa, se o seu negócio precisar de um provedor que não faz parte da lista de provedores suportados, então você pode construir esta API.

Serviço de Notificação Push Nativa do Fast Track

O serviço de Notificação Push Nativa do Fast Track pode ser configurado para enviar solicitações de Notificação Push Nativa para os endpoints da API do Operador listados abaixo, o que permite ao Operador gerenciar o provedor de Notificação Push Nativa. Ele suporta o envio de mensagens e obter o status de entrega. O envio está disponível para solicitações de Notificação Push Nativa individuais ou em lote.
Os seguintes endpoints podem ser construídos como parte da sua API do Operador:

⬆️ POST /channels/push/single

⬆️ POST /channels/push/batch

O Operador pode então encaminhar essas solicitações para o provedor de Notificação Push Nativa para processamento e responder com as respectivas respostas.
Formato da API e respostas precisam ser formatados conforme descrito abaixo
É importante que os dados "meta" descritos abaixo sejam enviados de volta para o Fast Track via Webhook ou Polling para que os dados de conversão possam ser armazenados corretamente. Por favor, consulte os exemplos mostrados e as tabelas abaixo para maior esclarecimento.

Pré-Requisitos

  1. Informe o Fast Track se algum limite de taxa deve ser considerado. (Se você planeja implementar limite de taxa, entre em contato com o Fast Track antes, para que possamos orientá-lo sobre a implementação suportada)
  2. Informe o Fast Track se algum máximo de lote deve ser considerado.
  3. Forneça ao Fast Track quaisquer credenciais específicas para os provedores integrados (se necessário)

Enviar Notificação Push Nativa (Individual)

Uma solicitação de envio individual de Notificação Push Nativa conterá os dados de cada Notificação Push Nativa individual em solicitações separadas para a API.

Implementação do Endpoint

Implemente o endpoint no formato abaixo para suportar Notificação Push Nativa de envio individual através da API.
⬆️ POST <operator-api-endpoint-url>/channels/push/single

Cabeçalho da Solicitação

O cabeçalho da solicitação enviada contém um "X-Api-Key" que é um token necessário para autenticar as chamadas da API no endpoint. Este token precisa ser passado para o Fast Track para fazer essas solicitações.

Schema do Corpo da Solicitação

Consulte o seguinte exemplo de uma solicitação individual de Notificação Push Nativa enviada pelo Fast Track. A descrição de cada campo está listada na tabela abaixo.
Campos de nível superior
ChaveTipoDescrição
activity *
objeto
Objeto de contexto da atividade — veja sub-tabela abaixo
title *
string
O título da notificação push
body *
string
O texto do corpo da notificação push
image_url
string
URL de uma imagem para exibir na notificação
android
objeto
Configuração específica do Android — veja campos Android abaixo. Omitir se não utilizado
ios
objeto
Configuração específica do iOS — veja campos iOS abaixo. Omitir se não utilizado
web
objeto
Configuração específica de push web — veja campos Web abaixo. Omitir se não utilizado
meta
objeto
Pares chave-valor personalizados definidos na atividade do CRM Fast Track
campos activity
ChaveTipoDescrição
activity.id *
integer
Um identificador único da Notificação Push Nativa
activity.brand_id *
integer
O identificador único da marca no Fast Track
activity.user_id *
string
O identificador único do jogador
activity.activity_id *
integer
O identificador único da atividade configurada no Fast Track
activity.action_group_id *
integer
O identificador único do grupo de ação do qual a Notificação Push Nativa origina do Fast Track
activity.trigger_hash *
string
Hash do gatilho
activity.action_id *
integer
O identificador único da ação individual do Fast Track
activity.origin
string
Rótulo de origem opcional para a atividade
campos android — todos opcionais
ChaveTipoDescrição
priority
string
Prioridade de entrega da mensagem
ttl
string
Duração de tempo de vida para a mensagem
collapse_key
string
Chave usada para recolher mensagens pendentes
restricted_package_name
string
Nome do pacote Android de destino
icon
string
Nome do recurso do ícone de notificação
color_rgb
string
Cor de destaque da notificação em formato hex
sound
string
Som da notificação
tag
string
Tag usada para substituir notificações existentes
click_action
string
Ação acionada quando a notificação é tocada
body_loc_key
string
Chave de localização para o texto do corpo
body_loc_arcs
array de strings
Valores de substituição para body_loc_key
title_loc_keys
string
Chave de localização para o título
title_loc_args
array de strings
Valores de substituição para title_loc_key
channel_id
string
Identificador do canal de notificação do Android
campos ios — todos opcionais
ChaveTipoDescrição
badge
string
Contagem de badge do ícone do app
category
string
Identificador de categoria da notificação
thread_id
string
Identificador de thread para agrupar notificações
sub_title
string
Subtítulo da notificação
loc_key
string
Chave de localização para o texto do corpo
loc_args
array de strings
Valores de substituição para loc_key
title_loc_key
string
Chave de localização para o título
title_loc_args
array de strings
Valores de substituição para title_loc_key
sub_title_loc_key
string
Chave de localização para o subtítulo
sub_title_loc_args
array de strings
Valores de substituição para sub_title_loc_key
action_loc_key
string
Chave de localização para o rótulo do botão de ação
launch_image
string
Nome do arquivo da imagem de inicialização mostrada quando o app abre
campos web — todos opcionais
ChaveTipoDescrição
icon
string
URL do ícone da notificação
badge
string
URL do ícone de badge
dir
string
Direção do texto. Valores: ltr | rtl | auto
lang
string
Tag de idioma da notificação (ex: pt)
renotify
string
Se deve notificar o usuário após substituir uma notificação existente
require_interaction
string
Se a notificação deve permanecer até que o usuário interaja com ela
silent
string
Se a notificação deve ser silenciosa
tag
string
Tag usada para substituir notificações existentes
timestamp
integer
Timestamp Unix representando o tempo da notificação
vibrate
array de strings
Padrão de vibração como um array de durações em milissegundos
link
string
URL para abrir quando a notificação é clicada

Respostas Esperadas

A API do Operador deve retornar as respostas para cada mensagem individual de Notificação Push Nativa respectivamente para evitar armazenamento não relacionado de dados de Notificação Push Nativa.

Sucesso Resposta JSON HTTP 200-299

O push_id será um identificador único gerado pela API do Operador que permite ao Fast Track identificar aquela mensagem específica de Notificação Push Nativa para atualizar seu status de entrega após ser enviada.

ERRO Resposta JSON não-200

Respostas com erro estão tipicamente associadas com códigos de status HTTP 400s ou 500s. A resposta deve conter um campo "error" com uma descrição para mostrar o que deu errado e auxiliar na resolução de problemas.
As respostas da API do Operador serão tratadas de forma diferente dependendo da classe do código de status HTTP. A tabela abaixo dá um resumo de como os