Push Nativo Personalizado
Integrando um provedor de Notificação Push Nativa personalizada como parte da sua API do Operador
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
- 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)
- Avise o Fast Track se qualquer máximo de lote deve ser levado em consideração.
- 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.
| Chave | Tipo | Descriçã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 HTTP | Descriçã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.
| Chave | Tipo | Descriçã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