Atualizações esportivas em tempo real

Prev Next

Mantenha os fãs informados conforme as partidas acontecem em tempo real, com base no interesse registrado

As Atualizações de Esportes em Tempo Real do Xtremepush permitem que você envie campanhas ativadas baseadas em atualizações de partidas em tempo real.

Não consegue ver essa opção?

A Atualização de Esportes em tempo real é um recurso pago. Se desejar habilitá-la, por favor, entre em contato com seu Gerente de Conta para obter informações sobre preços.

Identificações de eventos do Sport Radar são necessárias

Esse recurso depende do feed do Sport Radar, que utiliza os IDs do Bet Radar sport_event para identificar de qual partida o usuário deseja receber atualizações.

Atualmente, não há mapeamento disponível para sport_event IDs de outros provedores de feeds, então é recomendado que você use esse recurso apenas se puder fornecer IDs do Sport Radar Bet Radar sport_event a partir da sua própria plataforma de apostas esportivas e jogos.

Etapas de conexão e configuração

A configuração do recurso de Atualizações de Esportes em Tempo Real é feita em 4 etapas.

1. Ativar o feed

Ative o feed para que os eventos de jogo recebidos sejam repassados para o projeto. Esses eventos serão usados para desencadear campanhas.

Acesse: Configurações > Integrações > Marketplace e selecione a integração Atualizações de Esportes em Tempo Real.

2. Selecionar esportes

Após ativar o feed, há uma opção para selecionar o esporte cujos eventos ao vivo serão usados para acionar as campanhas. A integração atual apoia eventos esportivos de futebol, NBA, MLB, NFL e NHL.

3. Pré-selecionar a identidade do cliente

Após selecionar o esporte, há uma opção para selecionar o identificador único a ser usado por usuários/dispositivos individuais. A seleção aqui é a mesma que seria usada ao configurar uma lista de usuários.

Para oferecer a funcionalidade de Atualizações de Esportes em Tempo Real para usuários logados, seu ID de usuário pode ser passado para o Xtremepush ao se cadastrar para acompanhar uma partida (mais sobre isso abaixo).

Identifique seus usuários pelo ID do Dispositivo

Para que você também possa enviar atualizações para usuários deslogados ou registrar interesse por dispositivo, sugere-se que configure e passe o ID do dispositivo Xtremepush.

Registrar por dispositivo exige que você integre o SDK Xtremepush no seu app para que o ID do dispositivo Xtremepush possa ser rastreado e armazenado no seu app. Revise guias dedicados sobre como integrar o SDK Xtremepush no seu site, Android e app iOS .

Uma vez concluída a preparação, é importante vincular qual campanha será acionada por qual evento esportivo. Por exemplo, você pode querer que uma campanha que contenha o placar atual seja enviada quando o jogo chegar ao intervalo.

Para mais informações sobre como construir as campanhas, veja a seção abaixo.

Para fazer a seleção, navegue até Configurações > Integrações > Marketplace > Integrações Configuradas > Atualizações Esportivas em Tempo Real > Visão Geral. Depois, selecione um dos eventos disponíveis e escolha qual campanha acionar quando esse evento for disparado.

2260

Neste exemplo, você pode mapear o evento de mudança de pontuação para uma campanha específica.

Registre que um cliente está seguindo uma partida

Para que um cliente receba as campanhas acionadas, você deve registrar seu ID único para acompanhar um evento esportivo ou partida específica, usando o método Follow API.

Após receber os dados do usuário ou dispositivo, o Xtremepush os adicionará a uma lista que pode ser encontrada abaixo:
Dados > Audiências > feeds esportivos.

Listas de feeds esportivos

Revise essas listas durante a configuração para verificar se os IDs estão sendo recebidos e armazenados corretamente.

Desregistre um cliente após uma correspondência

Para remover um cliente de acompanhar um evento esportivo, você deve usar o método da API Deixar de Seguir.

Criar campanhas de API

Eventos recebidos pelo projeto acionarão quaisquer campanhas mapeadas que precisarão ser configuradas como campanhas acionadas pela API.

Ao criar o conteúdo das mensagens, valores dinâmicos podem ser extraídos do feed recebido e exibidos, dependendo do tipo de evento esportivo.

Exemplo de token provisório: {{ payload.event.home_score }}.

Exemplos de conteúdo de campanha

Abaixo está um conteúdo de exemplo que pode ser usado para cada um dos Eventos oferecidos na seção de Visão Geral > Mapeamento .

Match started
{{ payload.event.home_team }} - {{ payload.event.away_team }}
Half time
{{ payload.event.home_team }} ({{ payload.event.home_score }}) - ({{ payload.event.away_score }}) {{ payload.event.away_team }}
Second half started
{{ payload.event.home_team }} - {{ payload.event.away_team }}
Match ended
{{ payload.event.home_team }} ({{ payload.event.home_score }}) - ({{ payload.event.away_score }}) {{ payload.event.away_team }}
Yellow card
{{ payload.event.player_name }} of {% if payload.event.competitor == "home" %} {{ payload.event.home_team }} {% else %} {{ payload.event.away_team }} {% endif %}
Red card
{{ payload.event.player_name }} of {% if payload.event.competitor == "home" %} {{ payload.event.home_team }} {% else %} {{ payload.event.away_team }} {% endif %} {{ payload.event.match_time }} (second yellow)
Red card
{{ payload.event.player_name }} of {% if payload.event.competitor == "home" %} {{ payload.event.home_team }} {% else %} {{ payload.event.away_team }} {% endif %} {{ payload.event.match_time }}
GOAL!
{% if payload.event.competitor == "home" %} {{ payload.event.home_team }} ({{ payload.event.home_score }}) - {{ payload.event.away_score }} {{ payload.event.away_team }} {% else %} {{ payload.event.home_team }} {{ payload.event.home_score }} - ({{ payload.event.away_score }}) {{ payload.event.away_team }} {% endif %} {{ payload.event.match_time }}
GOAL!
{% if payload.event.competitor == "home" %} {{ payload.event.home_team }} ({{ payload.event.home_score }}) - {{ payload.event.away_score }} {{ payload.event.away_team }} {% else %} {{ payload.event.home_team }} {{ payload.event.home_score }} - ({{ payload.event.away_score }}) {{ payload.event.away_team }} {% endif %} - {{ payload.event.player_name }} {{ payload.event.match_time }}

Adicione valores dinâmicos à campanha

Valores dinâmicos do futebol

Para partidas de futebol, a lista completa de campos disponíveis é a seguinte:

Valores dinâmicos disponíveis

Informações retornadas

Traduzido

metadata.sport_event_id

O documento de identificação para a partida ou competição esportiva.

NA

payload.event.id

O documento de identificação para cada evento individual recebido durante a partida ou competição esportiva.

NA

payload.event.match_clock

Tempo decorrido em minutos e segundos: por exemplo, 9:23, 45:51

NA

payload.event.match_time

Minuto da partida: ex. 10', 45+1

NA

payload.event.home_score

Placar atual em casa

NA

payload.event.away_score

Placar atual fora de casa

NA

payload.sport_event_status.aggregate_away_score

Placar agregado fora de casa para jogos de várias partidas

payload.sport_event_status.aggregate_home_score

Placar agregado em casa para jogos de várias partidas

payload.event.competitor

home ou away

payload.event.home_team

Nome do time da casa

Sim

payload.event.away_team

Nome do time visitante

Sim

payload.event.player_name

Nome do nome do jogador que desencadeou o evento

Sim

payload.event.description

Um dos seguintes valores possíveis:
goal, penalty, red_card, call_stands, call_overturned, no_goal, no_penalty, , no_red_card

payload.event.method

Um dos seguintes valores possíveis:
penalty, own_goal, header, shot, free_kick

payload.event.type

Um dos seguintes valores possíveis:
match_started, match_ended, period_start, score_change, yellow_card, yellow_red_card, red_card, , break_start

payload.event.players

Objeto JSON contendo id, name e type.
type é um dos valores possíveis:
scorer, assist, substituted_in, substituted_out

Sim (apenas nomes dos jogadores)

Traduções

Quando a linha é marcada como Traduzido = Sim, o marcador será substituído pelo idioma correto com base na variante do idioma da campanha.

Fique atento que nem todos os times/jogadores terão tradução, e nem todos os idiomas estão disponíveis. Nesse caso, será usado o idioma padrão.

Valores dinâmicos da NBA

Para partidas da NBA, a lista completa de campos disponíveis é a seguinte:

Traduções para o feed da NBA

O feed da NBA não suporta traduções.

Valores dinâmicos disponíveis

Informações retornadas

payload.game.id

A identificação da partida.

payload.event.id

O documento de identificação de cada evento individual recebido durante a partida.

payload.event.clock

Tempo decorrido em minutos e segundos: por exemplo, 9:23, 45:51

payload.event.home_points

Placar atual em casa

payload.event.away_points

Placar atual fora de casa

payload.event.competitor

home ou away

payload.event.home_team

Nome do time da casa

payload.event.away_team

Nome do time visitante

payload.event.player_name

Nome dos jogadores envolvidos no evento que desencadeou (somente no caso de expulsões)

payload.event.event_type

Um dos seguintes valores possíveis:
match_started, match_ended, period_start, period_ended, ejection

payload.event.players

Objeto JSON contendo id, full_name e jersey_number.

Valores dinâmicos do basquete

Para partidas de basquete, a lista completa de campos disponíveis é a seguinte:

Traduções para o feed de basquete

O feed de basquete suporta traduções para nomes de times e jogadores em 24 idiomas: dinamarquês, alemão, grego, inglês, espanhol, finlandês, francês, hindi, húngaro, indonésio, italiano, japonês, coreano, holandês, norueguês, português, russo, sérvio, sérvio latino, sueco, tailandês, turco, chinês (simplificado) e chinês (tradicional).

Na tabela abaixo, onde a linha é marcada como Traduzido = Sim, o marcador será substituído pelo idioma correto com base na variante do idioma da campanha.

Valores dinâmicos disponíveis

Informações retornadas

Tipo

Traduzido

payload.event.id

O documento de identificação de cada evento individual recebido durante a partida.

Integer

payload.event.event_type

O tipo de evento. Pode ter os seguintes valores possíveis: match_started, period_start, break_start, score_change, oumatch_endedNota: break_start é usado para marcar o fim de um quarto/período, não apenas o intervalo.

Corda

payload.event.time

Carimbo de data e hora do evento. Por exemplo: 2026-01-31T16:17:33+00:00

Data

payload.event.match_time

O tempo da partida passou em minutos

Integer

payload.event.match_clock

Relógio de jogo, por exemplo, 10:13

Corda

payload.event.home_score

Placar atual em casa

Integer

payload.event.away_score

Placar atual fora de casa

Integer

payload.event.home_team

Nome do time da casa

Corda

Sim

payload.event.away_team

Nome do time visitante

Corda

Sim

payload.event.competitor

Identifica se a equipe envolvida no evento é home ou away

Corda

payload.event.points

O tipo de ponto marcado ou tentado. Por exemplo, 1, 2 ou 3

Integer

payload.event.x

Coordenada X de onde o evento ocorreu

Integer

payload.event.y

Coordenada Y do local onde o evento ocorreu

Integer

payload.event.player.id

ID de jogador de radar esportivo para o jogador envolvido no evento

Integer

payload.event.player.name

Nome do jogador que desencadeou o evento junto com detalhes do jogador

Corda

Sim

payload.event.player_name

Nome do jogador que desencadeou o evento

Corda

Sim

payload.event.period_name

O nome atual do período. Por exemplo, 2nd_quarter, 3rd_quarter

Corda

payload.event.break_name

O evento atual da pausa. Por exemplo, 1st_pause ouhalftime.

Corda

payload.sport_event_status.status

O status da partida. Por exemplo, live, ended, oupostponed

Corda

payload.sport_event_status.clock.played

O tempo que foi jogado no período atual, por exemplo, 10:13. Mesmo valor que payload.event.match_clock

Corda

payload.sport_event_status.clock.remaining

O tempo restante no período atual, por exemplo, 09:23. Inverso de payload.sport_event_status.clock.played

Corda

Pontos de dados limitados para certos tipos de eventos

Os match_startedtipos , match_ended, e break_start eventos não incluem os seguintes pontos de dados:

  • load.event.competitor

  • Pontos.evento.carga útil

  • payload.event.x

  • payload.event.y

Valores dinâmicos da MLB

Para partidas da MLB, a lista completa de campos disponíveis é a seguinte:

Traduções para o feed da MLB

O feed da MLB não suporta traduções.

Valores dinâmicos disponíveis

Informações retornadas

payload.game.id

A identificação da partida.

payload.event.id

O documento de identificação de cada evento individual recebido durante a partida.

payload.event.type

O tipo de evento. Um dos seguintes valores possíveis: match_started, break_start, key_period_start, period_startkey_period_end, period_end, match_endedhomerun

payload.event.wall_clock.start_time

Os horários de início do evento, incluindo fuso horário, por exemplo, 2023-06-29T17:12:33+00:00

payload.event.wall_clock.end_time

Os horários finais do evento, incluindo fuso horário, por exemplo, 2023-06-29T17:12:33+00:00

payload.game.home.name

O apelido do time da casa; por exemplo, Mets, Astros

payload.game.away.name

O apelido do time visitante; por exemplo, Mets, Astros

payload.game.home.market

A cidade do time da casa; por exemplo, Nova York, Houston

payload.game.away.market

A cidade do time visitante; por exemplo, Nova York, Houston

payload.game.home_team

O nome completo do time da casa que combina mercado e nome; por exemplo, New York Mets, Houston Astros

payload.game.away_team

O nome completo do time visitante que combina mercado e nome; por exemplo, New York Mets, Houston Astros

payload.game.home.runs

O número de corridas marcadas pelo time da casa

payload.game.away.runs

O número de corridas marcadas pelo time visitante

payload.event.hitter.first_name

O primeiro nome do jogador ao bastão

payload.event.hitter.last_name

O sobrenome do jogador ao bastão

payload.event.hitter.id

O ID do jogador no bastão

Valores Dinâmicos da NHL

Para partidas da NHL, a lista completa de campos disponíveis é a seguinte:

Traduções para o feed da NHL

O feed da NHL não suporta traduções.

Valores dinâmicos disponíveis

Informações retornadas

payload.game.id

A identificação da partida.

payload.event.id

O documento de identificação de cada evento individual recebido durante a partida.

payload.event.event_type

O tipo de evento. Um dos seguintes valores possíveis:
match_started, period_start, period_end, match_ended, score_change

payload.event.clock

O horário do jogo, por exemplo, 18:17

payload.game.home.name

O apelido do time da casa; por exemplo, Avalanche, Canucks

payload.game.away.name

O apelido do time visitante; por exemplo, Avalanche, Canucks

payload.game.home.market

A cidade do time da casa; por exemplo, Colorado, Vancouver

payload.game.away.market

A cidade do time visitante; por exemplo, Colorado, Vancouver

payload.game.home_team

O nome completo do time da casa que combina mercado e nome; por exemplo, Colorado Avalanche, Vancouver Canucks

payload.game.away_team

O nome completo do time visitante que combina mercado e nome; por exemplo, Colorado Avalanche, Vancouver Canucks

payload.game.home_score

Placar do time da casa em questão

payload.game.away_score

Placar do time visitante em questão

payload.game.home.scoring[1].points

Placar no 1º período para o time da casa

payload.game.home.scoring[2].points

Placar no segundo período para o time da casa

payload.game.home.scoring[3].points

Placar no 3º período para o time da casa

payload.game.away.scoring[1].points

Placar no 1º período para o time visitante

payload.game.away.scoring[2].points

Placar no segundo período para o time visitante

payload.game.away.scoring[3].points

Placar no terceiro período para o time visitante

payload.event.attribution.name

O nome detalha o time que marcou pontuações, para score_change eventos; por exemplo, Canucks

payload.event.attribution.market

Os detalhes do mercado para o time que marcou pontuação, para score_change eventos, por exemplo, Vancouver

Valores Dinâmicos da NFL

Para partidas da NFL, a lista completa de campos disponíveis é a seguinte:

Traduções para o feed da NFL

O feed da NFL não suporta traduções.

Valores dinâmicos disponíveis

Informações retornadas

payload.game.id

A identificação da partida.

payload.event.id

O documento de identificação de cada evento individual recebido durante a partida.

payload.event.type

O tipo de evento. Um dos seguintes valores possíveis: match_started,match_ended, score_change

payload.event.clock

O horário do jogo, por exemplo, 18:17

payload.event.wall_clock

Os horários de início do evento, incluindo fuso horário, por exemplo, 2022-06-29T17:12:33+00:00

payload.game.home.name

Apelido do time da casa; por exemplo, Chargers, Brancos

payload.game.away.name

Apelido do time visitante; por exemplo, Chargers, Brancos

payload.game.home.market

A cidade do time da casa; por exemplo, Los Angeles, Denver

payload.game.away.market

A cidade do time visitante; por exemplo, Los Angeles, Denver

payload.game.home_team

O nome completo do time da casa que combina mercado e nome; por exemplo, Los Angeles Chargers, Denver Brancos

payload.game.away_team

O nome completo do time visitante que combina mercado e nome; por exemplo, Los Angeles Chargers, Denver Brancos

payload.game.home_score

Placar do time da casa em questão

payload.game.away_score

Placar do time visitante em questão

payload.game.home.scoring[1].points

Placar no 1º período para o time da casa

payload.game.home.scoring[2].points

Placar no segundo período para o time da casa

payload.game.home.scoring[3].points

Placar no 3º período para o time da casa

payload.game.away.scoring[1].points

Placar no 1º período para o time visitante

payload.game.away.scoring[2].points

Placar no segundo período para o time visitante

payload.game.away.scoring[3].points

Placar no terceiro período para o time visitante

Sintaxe dinâmica

Usando uma sintaxe dinâmica básica, é possível percorrer a lista de jogadores envolvidos no evento específico:

{% for player in payload.event.players %}
    Player id: {{ player.id }}
    Player Name: {{ player.name }}
    Type: {{ player.type }}
{% endfor %}

Competições disponíveis

Você pode encontrar todas as partidas disponíveis navegando até Listas de Dados > Públicos > Esportes.

Recuperar lista de competições (em lotes de 50.000)

É possível puxar uma lista de correspondências disponíveis com até 10 dias de antecedência, usando a API da Lista e especificando o tipo de lista conforme mostrado abaixo:

1ª chamada - primeiros 50000:

{
  "condition": [
    [ "external_type", "=", "sportradar" ]
  ],
  "apptoken": "xxxxxxxx",
  "limit": 50000,
  "offset": 0
}

Segunda chamada - segunda 50000:

{
  "condition": [
    [ "external_type", "=", "sportradar" ]
  ],
  "apptoken": "xxxxxxxx",
  "limit": 50000,
  "offset": 50000
}

Competição específica de recuperar

Você também pode verificar a existência de uma partida ou jogo específico filtrando pelo id de evento externo da seguinte forma:

{
  "condition": [
    [ "external_id", "=", "{sport radar event id}" ]
  ],
  "apptoken": "xxxxxxxx",
}

Atualizações dentro do jogo

Quando uma atualização específica sport_event é recebida, o Xtremepush aciona a campanha mapeada acima e a envia para qualquer usuário/dispositivo atualmente na lista com o ID correspondente sport_event .

Análise

As análises para campanhas de API acionadas por uma integração de feed esportivo são as de acordo com as análises normais de campanhas de API.