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

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

O serviço de Notificação Push Nativa Fast Track pode ser configurado para enviar solicitações de Notificação Push Nativa para os endpoints da API do Operador listados abaixo, que permite ao Operador gerenciar o provedor de Notificação Push Nativa. Ele suporta envio de mensagens e buscar status de entrega. O envio está disponível tanto para solicitações individuais quanto em lote de Notificação Push Nativa.
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 esclarecimentos adicionais.

Pré-Requisitos

  1. Avise o Fast Track se qualquer limitação de taxa deve ser levada em consideração. (Se você planeja implementar limitação de taxa, entre em contato com o Fast Track antes, para que possamos orientá-lo sobre implementação suportada)
  2. Avise o Fast Track se qualquer máximo de lote deve ser levado em consideração.
  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.

Esquema 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.
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 se 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

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.

Resposta JSON HTTP 200-299 Bem-sucedida

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 sã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 soluçã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 status HTTP são tratados separadamente.
Códigos de Status HTTPDescrição
200-299
Entregue com Sucesso. Fast Track irá confirmar a mensagem e começar a processar a próxima mensagem na fila.
400-499
Não Bem-sucedido. Ao receber este erro, Fast Track irá pular a mensagem de Notificação Push Nativa. Adicionalmente, irá enviar seus dados para Ações Falhadas, se o serviço estiver habilitado.
500 ou qualquer outro código de status que não esteja listado acima
Não Bem-sucedido. O serviço falha e Fast Track continuará tentando até que uma resposta 200 seja recebida.

Notificações Push Nativas em Lote

Notificação Push Nativa em lote ajuda a processar uma coleção de Notificação Push Nativa em uma solicitação para a API. O número de mensagens dentro da solicitação em lote é limitado por uma quantidade inteira definida na configuração e enviado dentro de um período de tempo configurado, mesmo quando o lote ainda não estiver cheio.

Implementação do Endpoint

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

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.

Esquema do Corpo da Solicitação

Aqui está um exemplo do formato esperado ao enviar as solicitações em lote. É similar à solicitação individual de Notificação Push Nativa, mas as solicitações são armazenadas em um array, uma após a outra.
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 se 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

Respostas Esperadas

As respostas abaixo devem ser retornadas pela API do Operador.

Resposta JSON HTTP 200 Bem-sucedida

O "activity.id" inicialmente enviado na solicitação será retornado de volta na resposta como "id". Isso é necessário para ajudar o Fast Track a identificar a mensagem individual de Notificação Push Nativa na solicitação em lote inicial. O push_id será um identificador único gerado pela API do Operador, que o Fast Track usará para identificar a mensagem de Notificação Push Nativa relacionada ao atualizar seu status. Se qualquer uma das categorias listadas ("successful", "failed" ou "fatal") não tiver uma Notificação Push Nativa associada, elas devem ser retornadas como um array vazio.
A solicitação precisa incluir uma das propriedades successful, failed ou fatal
O fluxo lógico de como a resposta será tratada é muito similar a como os códigos de status HTTP são tratados na Notificação Push Nativa Individual. A única diferença é que a resposta com código de status