Notificações no Site Personalizadas
Integrando uma solução/provedor personalizado de Notificações no Site como parte da sua API do Operador
O Fast Tracks suporta dois provedores diferentes para Notificações no Site, o nosso próprio e o "Provedor de API do Operador", o que significa que você pode fazer o que quiser do seu lado.
Serviço de Notificações no Site do Fast Track
Os seguintes endpoints podem ser construídos como parte da sua API do Operador:
⬆️ POST /channels/site/single
⬆️ POST /channels/site/batch
O Operador pode então encaminhar essas solicitações para o sistema de Notificações no Site para processamento e responder de volta com as respectivas respostas.
Pré-Requisitos
- Informe ao Fast Track se alguma 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 a implementação suportada)
- Informe ao Fast Track se algum 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 no Site (Individual)
Uma solicitação de envio de Notificação no Site individual conterá os dados de cada notificação individual em solicitações separadas para a API.
Implementação do Endpoint
Implemente o endpoint no formato abaixo para suportar envio individual de Notificação no Site através da API.
⬆️ POST <operator-api-base-url>/channels/site/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 de notificação individual 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 no Site |
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 no Site 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 |
event | string | "inbox" -> Mensagem de Caixa de Entrada Rica
"message" -> Popup pequeno
"shoutout" -> Popup grande |
display_type | string | "silent" -> Notificação Silenciosa
"push" -> Notificação Push na tela |
Respostas Esperadas
A API do Operador deve retornar as respostas para cada mensagem individual de Notificação no Site respectivamente para evitar armazenamento não relacionado de dados de Notificação no Site.
Sucesso Resposta JSON HTTP 200-299
O site_notification_id será um identificador único gerado pela API do Operador que permite ao Fast Track identificar aquela mensagem particular de Notificação no Site para atualizar seu status de entrega depois que for enviada.
ERRO Resposta JSON não-200
Respostas errôneas 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 fornece um resumo de como os status HTTP são tratados separadamente.
| Códigos de Status HTTP | Descrição |
|---|---|
200-299 | Entregue com Sucesso. O Fast Track reconhecerá a mensagem e começará a processar a próxima mensagem na fila. |
400-499 | Não Bem-sucedido. Ao receber este erro, o Fast Track pulará a mensagem de Notificação no Site. Além disso, 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 o Fast Track continuará tentando até que uma resposta 200 seja recebida. |
Notificação no Site em Lote
A Notificação no Site em Lote ajuda a processar uma coleção de Notificações no Site 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 intervalo de tempo configurado, mesmo quando o lote ainda não está cheio.
Implementação do Endpoint
Implemente o endpoint no formato abaixo para suportar envio em lote de Notificação no Site através da API.
⬆️ POST <operator-api-base-url>/channels/site/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.
Schema do Corpo da Solicitação
Aqui está um exemplo do formato esperado ao processar as solicitações em lote. É similar à solicitação de Notificação no Site Individual, 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 no Site |
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 no Site 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.
Sucesso Resposta JSON HTTP 200
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 no Site na solicitação em lote inicial.
O site_notification_id será um identificador único gerado pela API do Operador, que o Fast Track usará para identificar a mensagem de Notificação no Site relacionada ao atualizar seu status.
Se qualquer uma das categorias listadas ("successful", "failed" ou "fatal") não tiver uma Notificação no Site 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 no endpoint de Notificação no Site Individual. A única diferença é que a resposta com código de status 200 será tratada em vez disso, de acordo com a categoria da mensagem na resposta.
| Categoria da Resposta | Descrição |
|---|---|
successful | Entregue com Sucesso. O Fast Track reconhecerá a mensagem e começará a processar o próximo lote na fila. |
failed | Não Bem-sucedido. Ao receber este erro, o Fast Track pulará a mensagem de Notificação no Site. Além disso, enviará seus dados para Ações Falhadas, se o serviço estiver habilitado. |
fatal | Mensagens serão tentadas novamente |
Quaisquer outras mensagens que não estejam listadas dentro da resposta serão tentadas novamente.