VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Lives de vendas

Tempo assistido

Registra que o cliente continua assistindo à live e devolve os segundos contados, os pontos ganhos e o estado do voucher relâmpago.

O heartbeat é um "ainda estou aqui". Enquanto a live está no ar, o player chama esta rota a cada 30 segundos. A cada chamada aceita, o servidor soma 30 segundos de tempo assistido ao cliente, converte minutos inteiros em pontos do programa de recompensas da loja e informa se o voucher relâmpago já pode ser resgatado.

Pontos principais
  • Só conta com a live em live. Fora disso a resposta é 200 com tudo zerado.
  • Anti-fraude: chamadas com menos de 25 segundos desde a última aceita respondem 200 mas não somam. O corpo da requisição é ignorado, o cliente nunca informa segundos.
  • O tempo contado nunca passa de quanto a live já durou.
  • Pontos = minutos inteiros assistidos vezes points_per_minute, limitados por max_points_per_session, descontando o que já foi pago. Se a live não tem gamificação configurada, a resposta vem zerada e nada é gravado.
  • Exige token de cliente.
POST/api/v1/storefront/live-sessions/{id}/heartbeatCliente

Registrar tempo assistido

Parâmetros de caminho

iduuidobrigatório
Id da live.

A rota não tem corpo.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/storefront/live-sessions/$SESSION_ID/heartbeat" \
  -H "Authorization: Bearer $TOKEN"

Resposta

200Heartbeat registrado
json
{
  "watch_seconds": 150,
  "points_awarded": 2,
  "flash": { "revealed": true, "unlocked": false }
}

Campos da resposta

watch_secondsinteger
Total de segundos assistidos pelo cliente nesta live. 0 quando a live não está no ar ou não tem gamificação.
points_awardedinteger
Total de pontos já creditados ao cliente por esta live (acumulado, não só desta chamada).
flash.revealedboolean
O organizador já revelou o voucher relâmpago.
flash.unlockedboolean
O voucher foi revelado e o cliente já assistiu o tempo mínimo (flash_unlock_after_seconds, 900 segundos no padrão). Só então o resgate funciona.

Erros

StatusQuandoCorpo
401Sem token ou com token inválido ou expirado (nesta rota um token ruim é tratado como ausente).{"error":"authentication required"}
403Módulo live-commerce desligado.{"error":"module_disabled","module":"live-commerce"}
404A plataforma não tem a gamificação disponível nesta loja.{"error":"gamification not available"}
Resposta zerada não é erro

Live que não começou, live encerrada, id inexistente e live sem gamificação respondem todas 200 {"watch_seconds":0,"points_awarded":0,"flash":{"revealed":false,"unlocked":false}}. Não dá para distinguir esses casos só por esta rota: consulte o status da live em Lives no ar e detalhe.

Veja também

  • Voucher relâmpago
  • Ranking
  • Tokens e escopos
Anterior
Chat da live
Próxima
Responder a um quiz
Nesta página
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também