API de AnalyticsGuias

Relatório diário do player

Views, plays, retenção, cliques e vendas de um player, dia a dia, em uma só requisição

O POST /sessions/stats_by_day devolve uma linha por dia com tudo de que um relatório de desempenho precisa: views, plays, até onde as pessoas assistiram, quantas chegaram ao pitch, cliques e vendas. Este guia monta um relatório semanal de um player.

Você precisa do ID do player. Se ainda não o tem, encontre-o primeiro.

Peça os dias

curl -X POST 'https://analytics.vturb.com/sessions/stats_by_day' \
  -H "X-Api-Token: $VTURB_API_TOKEN" \
  -H 'X-Api-Version: v1' \
  -H 'User-Agent: minha-integracao/1.0' \
  -H 'Content-Type: application/json' \
  -d '{
    "player_id": "64a5c8072e6fd10009828db2",
    "start_date": "2026-09-01 00:00:00",
    "end_date": "2026-09-07 23:59:59",
    "timezone": "America/Sao_Paulo"
  }'
  • start_date e end_date são obrigatórios, escritos no formato YYYY-MM-DD HH:MM:SS e lidos em timezone. Sem timezone, eles são lidos em UTC, e os dias são divididos à meia-noite UTC.
  • video_duration e pitch_time, em segundos, são opcionais. Sem eles, ou com 0, a API usa a duração do vídeo do player e o tempo de pitch configurado no player. Envie-os para medir em relação a outros valores, como um pitch que você está prestes a mudar de lugar.
  • Quando o player não tem tempo de pitch e você não envia um, o pitch é o segundo 0: toda sessão chega a ele, e over_pitch_rate é 100.

Leia a resposta

As linhas vêm em ordem de data e nunca começam antes do dia anterior à criação do player. A partir daí, um dia sem atividade também tem a sua linha, com zeros.

200 OK (uma de sete linhas)
[
  {
    "date_key": "2026-09-01",
    "total_viewed": 1530,
    "total_viewed_session_uniq": 1310,
    "total_viewed_device_uniq": 1201,
    "total_started": 702,
    "total_started_session_uniq": 600,
    "total_started_device_uniq": 540,
    "total_finished": 98,
    "total_finished_session_uniq": 90,
    "total_finished_device_uniq": 85,
    "total_clicked": 61,
    "total_clicked_session_uniq": 52,
    "total_clicked_device_uniq": 49,
    "engagement_rate": "38.47",
    "total_over_pitch": 160,
    "total_under_pitch": 380,
    "over_pitch_rate": "29.62",
    "play_rate": "44.96",
    "total_conversions": 27,
    "overall_conversion_rate": 5,
    "total_amount_usd": 0,
    "total_amount_brl": 537300,
    "total_amount_eur": 0
  }
]

Cada contagem vem de três formas: todos os eventos (total_viewed), sessões únicas (_session_uniq) e dispositivos únicos (_device_uniq).

CampoO que mede
total_viewed*Views: o player foi carregado na página
total_started*Plays: o espectador apertou o play
total_finished*O vídeo foi assistido até o fim
total_clicked*Cliques nas chamadas para ação do player que levam o espectador para fora da página
play_rateA parcela das views únicas que resultaram em play: total_started_device_uniq ÷ total_viewed_device_uniq × 100
engagement_rateAté onde as pessoas assistiram, em média, em proporção a video_duration
total_over_pitch, total_under_pitchSessões que chegaram a pitch_time e as que saíram antes dele
over_pitch_ratePitch retention: a parcela das sessões que chegaram ao pitch
total_conversionsSessões com uma venda inicial atribuída ao player
overall_conversion_rateVendas por play único: total_conversions ÷ total_started_device_uniq × 100
total_amount_usd, _brl, _eurO valor vendido em cada moeda, como um inteiro em centavos (537300 é 5.373,00). Soma todas as compras atribuídas ao player, order bumps incluídos, e não só as vendas iniciais de total_conversions

As taxas são percentuais truncados, não arredondados, em duas casas decimais. engagement_rate, over_pitch_rate e play_rate vêm como texto, como "29.62"; overall_conversion_rate vem como número. As vendas e os seus valores caem no dia do clique que levou a elas.

Inclua o total do período

Para a linha de resumo do relatório, o POST /sessions/stats recebe o mesmo corpo e devolve um objeto com os mesmos campos, sem date_key, para o intervalo inteiro. Use-o em vez de somar os dias: taxas e contagens únicas não podem ser somadas entre dias.

Fique dentro da sua cota

Cada requisição conta na cota de consultas do seu plano. Um relatório diário por player é uma requisição; para muitos players, espace as requisições e consulte o GET /quota/usage quando estiver perto do limite.

A seguir: veja onde os espectadores saem e o que acontece no pitch, ou compare as origens de tráfego por trás desses números.

Nesta página