O conjunto de dados de vendas do TVOD fornece dados de vendas em nível de transação para seu negócio de vídeo transacional sob demanda (TVOD) do Prime Video. Cada registro representa uma transação concluída (compra ou aluguel). Os dados são fornecidos como um registro de alterações somente para anexos por meio da API Slate Datasets, oferecendo total flexibilidade para criar análises personalizadas e calcular métricas adaptadas às suas necessidades de negócios.
Principais benefícios
- Informações mais rápidas — os dados de vendas são agrupados várias vezes por dia, com a maioria das transações entregues em aproximadamente 9 horas após a conclusão.
- Separação de custos e vendas — Os sinais de vendas chegam em lotes de 4 horas; as informações de custo (net_cogs) são atualizadas diariamente, para que você receba sinais de receita o mais rápido possível.
- Consistência — formatação padronizada em todos os territórios em uma única fonte.
- Ingestão simplificada — Anexe um modelo de registro de alterações somente com um padrão de upsert simples para ingestão automática e sem intervenção.
- Granularidade em nível de transação — acesse dados individuais em nível de pedido para potencializar análises personalizadas, rastreamento de desempenho em nível de título e integrações internas de sistemas.
- Integração flexível — Integre os dados de vendas do TVOD com seus sistemas internos, data warehouses e ferramentas de BI.
Característica |
API de conjuntos de dados do Slate |
Tipo de acesso |
Programático (API REST) |
Melhor para |
Pipelines automatizados, relatórios corporativos, análises personalizadas |
Autentificação |
Faça login com o perfil de segurança da Amazon (LWA) |
Formato de dados |
Arquivos CSV (compactados com gzip) |
Começando
Pré-requisitos
- Parceria Active Prime Video TVOD
- Um login com o Amazon (LWA) Security Profile
- ID do cliente registrado com seu gerente de conta de conteúdo (CAM)
- Um código de autorização para solicitar um token
- Um token de autenticação LWA válido para todas as solicitações de API
Configuração de autenticação
Para recuperar conjuntos de dados, você precisa primeiro se integrar ao conjunto de APIs de conjuntos de dados. Mais detalhes podem ser encontrados aqui.
Endpoints da API
Discovery Endpoints
Use esses endpoints para pesquisar suas IDs de conta e contrato de forma programática:
Ponto final |
Devoluções |
|---|---|
OBTENHA /v2/accounts |
Lista de contas do Slate que você pode acessar |
OBTENHA /v2/accounts/ {ACADIA_ID} |
Linhas de negócios disponíveis (por exemplo, canais, transações) |
GET /v2/accounts/ {ACADIA_ID} /transações |
Lista de IDs de contratos de TVOD em sua conta |
GET /v2/accounts/ {ACADIA_ID} /transactions/ {CONTRACT_ID} /conjuntos de dados |
Conjuntos de dados disponíveis para um contrato |
Recuperando arquivos de conjuntos de dados
Use esse endpoint para recuperar links para arquivos de conjuntos de dados de transações do seu contrato: curl -X GET \
-H "Authorization: Bearer Atza|auth_token" \
https://videocentral.amazon.com/api/v2/accounts/{ACADIA_ID}/transactions/{CONTRACT_ID}/\
datasets/transactions_event_log\
?startDateTime=YYYY-MM-DDThh:mm:ssZ\
&endDateTime=YYYY-MM-DDThh:mm:ssZ\
&offset=0&limit=1000
Parâmetros de solicitação
Parâmetro |
Description |
|---|---|
ACADIA_ID |
O ID da sua conta Slate. Encontre-o usando GET /v2/accounts. |
ID DO CONTRATO |
Seu ID do contrato TVOD. |
Data e hora de início |
Defina para a última vez que você puxou. Formato: aaaa-mm-ddthh:mm:ssz (UTC). |
Data e hora de término |
Defina para a hora atual. Formato: aaaa-mm-ddthh:mm:ssz (UTC). |
limitar |
Máximo de 1000 links por página. |
Esse endpoint retorna links para arquivos CSV que podem ser baixados (compactados com gzip) que contêm os registros de transações, não as transações diretamente.
Paginação Todas as respostas são
paginadas. Use os seguintes parâmetros de consulta para navegar pelos resultados:
Parâmetro |
Padrão |
Description |
|---|---|---|
limitar |
10 |
Number de documentos retornados por página. Máximo 1000. |
desvio |
0 |
Number de páginas a serem ignoradas. |
Todas as respostas paginadas contêm os seguintes campos:
Campo |
Description |
|---|---|
total |
Contagem total de documentos em todas as páginas. |
próximo |
URL para a próxima página. Nulo se estiver na última página. |
Modelo de dados
Conceitos chave
Conceito |
Description |
Transação |
Um evento de pedido concluído (compra ou aluguel). Cada transação é identificada por um order_item_id exclusivo. |
Modelo de registro de alterações |
Os dados são somente anexados. Se os atributos de um registro mudarem (por exemplo, o custo chegar), um novo registro será publicado com o mesmo order_item_id, mas com um last_update_time_utc mais recente. |
Chave primária |
order_item_id é o identificador exclusivo de cada transação. Sempre desduplique nesse campo. |
Custo versus vendas |
Os dados de vendas chegam em lotes de 4 horas. O custo (net_cogs) é atualizado diariamente, então os registros são atualizados com o custo quando disponíveis. |
Atualidade dos dados
Atributo |
Alvo |
Entrega de dados de vendas |
A cada 4 horas (em lotes) |
Atualização de custos (net_cogs) |
A cada 24 horas |
Latência de ponta a ponta |
~9 horas desde a transação até a disponibilidade dos dados |
Retenção de dados |
Máximo de 2 anos |
Precisão dos dados
Atributo |
Detalhes |
Fonte da verdade |
Os resultados e as demonstrações financeiras continuam sendo a fonte final da verdade para pagamentos e custos. |
Variância esperada |
Podem existir pequenas variações devido às nuances de data e hora e às diferenças de agregação em comparação com relatórios financeiros/de royalties. |
Escopo |
Pedidos concluídos no momento da transação para rastreamento de desempenho. Não substitui os relatórios financeiros ou de royalties. |
Esse conjunto de dados foi projetado para um rastreamento de desempenho mais rápido e contínuo. Espere uma pequena variação em comparação com os relatórios financeiros (por exemplo, Video ASIN Daily Level Summary) devido às nuances de data e hora e às diferenças de agregação. Esse é um comportamento esperado, não um problema de qualidade de dados.
Definições de dados
Campos principais
A tabela a seguir descreve todos os campos disponíveis no conjunto de dados transactions_event_log:
Nome do campo |
Type |
Anulável |
Description |
Exemplo |
|---|---|---|---|---|
id_item_de_pedido |
FIO |
Não |
Identificador exclusivo para cada transação. Chave primária para desduplicação. |
ABC123XYZ |
data/horário_utc da transação |
TIMESTAMP |
Não |
Hora da transação em UTC. |
2026-01-14T 00:04:41.575 |
data/horário_local da transação |
TIMESTAMP |
Não |
Hora da transação no fuso horário local. |
2026-01-14T 01:04:41.575 |
pv_title_id |
FIO |
Não |
Identificador de título exclusivo. |
tt1234567 |
tipo_conteúdo |
FIO |
Não |
Type de conteúdo comprado. |
Filme, Episódio de TV, Temporada de TV |
tipo_de_compra |
FIO |
Não |
Indicador de compra ou aluguel. |
EST (compra), VOD (aluguel) |
qualidade_conteúdo |
FIO |
Não |
Nível de qualidade de vídeo. |
SD, HD, UHD |
território |
FIO |
Não |
Código do Território. |
EUA, GB, DE, JP, AU |
classe_dispositivo |
FIO |
sim |
Categoria do dispositivo. |
Fire TV, Celular, Web |
nome_título |
FIO |
Não |
Nome do título. |
A grande aventura |
moeda |
FIO |
Não |
Código monetário ISO 4217. |
USD, EUR, JPY |
SKU do fornecedor |
FIO |
sim |
SKU fornecido pelo parceiro. |
WB-MOV-001 |
net_cogs |
DECIMAL |
sim |
Custo líquido das mercadorias vendidas, sem impostos. Atualiza diariamente. Pode ser NULL inicialmente. |
4,99 |
receita líquida |
DECIMAL |
Não |
Receita líquida, excluindo impostos. |
14,99 |
create_time_utc |
TIMESTAMP |
Não |
Registre a hora de criação em UTC. |
2026-01-14T 01:39:06.619 |
horário_da_última atualização utc |
TIMESTAMP |
Não |
Registre a hora da última atualização. Usado para lógica de desduplicação. |
2026-01-14T 01:39:06.619 |
Notas de campo
Os campos a seguir têm características comportamentais importantes que os parceiros devem conhecer:
Campo |
Cálculo/Lógica |
Notas |
|---|---|---|
net_cogs |
Atualiza diariamente |
Pode aparecer inicialmente como NULL ou 0; as atualizações são atualizadas em 24 horas quando os custos chegam. |
horário_da_última atualização utc |
Últimas vitórias com timestamp |
Quando existirem vários registros para o mesmo order_item_id, mantenha somente o registro com o último last_update_time_utc. |
território |
Conjunto de dados único para todos os territórios |
Sem arquivos por território; filtre por código de território conforme necessário. |
tipo_de_compra |
Valores de enumeração fixos |
EST = Venda eletrônica (compra permanente). VOD = aluguel por tempo limitado. |
Desduplicação
Visão geral
O conjunto de dados usa um modelo de registro de alterações. Quando um registro é atualizado (por exemplo, o custo chega), uma nova versão é publicada com o mesmo order_item_id e um last_update_time_utc mais recente. Para manter dados precisos, sempre aplique a lógica de desduplicação antes de gravar registros no seu destino.
Consulta de desduplicação
Use o seguinte padrão SQL para desduplicar e reter somente a versão mais recente de cada transação: -- Deduplicate to latest version of each transaction
SELECT *
FROM (
SELECT *,
ROW_NUMBER() OVER (
PARTITION BY order_item_id
ORDER BY last_update_time_utc DESC
) AS rn
FROM your_transactions_table
) t
WHERE rn = 1;
Padrão Upsert
Use esse padrão para manter uma tabela local com o estado mais recente de cada transação: MERGE INTO your_table AS target
USING s3_staging_table AS source
ON target.order_item_id = source.order_item_id
WHEN MATCHED AND source.last_update_time_utc > target.last_update_time_utc THEN
UPDATE SET
transaction_datetime_utc = source.transaction_datetime_utc,
net_cogs = source.net_cogs,
net_revenue = source.net_revenue,
last_update_time_utc = source.last_update_time_utc
-- ... all other columns
WHEN NOT MATCHED THEN
INSERT (order_item_id, transaction_datetime_utc, ..., last_update_time_utc)
VALUES (source.order_item_id, source.transaction_datetime_utc, ..., source.last_update_time_utc);
Pipeline ETL
Visão geral
Siga este processo de quatro etapas para criar um pipeline de ingestão confiável e automatizado para dados de vendas de TVOD.
Etapas do pipeline
- Extração inicial de dados — Extraia todos os arquivos do seu contrato dentro do intervalo de tempo desejado usando o endpoint da API. Baixe todos os arquivos retornados. Cada arquivo contém registros de transações no formato CSV (comprimido com gzip).
- Desduplicação — Quando existem vários registros para o mesmo order_item_id durante o processamento de vários dias de dados, mantenha somente o registro last_update_time_utc mais recente usando a consulta de desduplicação na Seção 6.2.
- Ir para o destino — mescle registros desduplicados em sua tabela de destino usando order_item_id como chave. Veja o padrão upsert na Seção 6.3.
- Processamento incremental — Para carregamentos de dados contínuos, defina startDateTime como a última vez que você extraiu e endDateTime como a hora atual. Processe todos os arquivos retornados e suba para o seu destino.
Defina os seguintes parâmetros para execuções incrementais: startDateTime = {last_successful_pull_timestamp}
endDateTime = {current_utc_timestamp}
Cadência de ingestão recomendada
Recomendação |
Detalhes |
Cadência recomendada |
A cada 4-6 horas para ficar o mais atualizado possível. |
Estratégia de processamento incremental |
Defina startDateTime como a última data recuperada e endDateTime como a hora atual. Processe todos os arquivos retornados. |
Consumidores diários/semanais |
Se você buscar diariamente ou semanalmente, certifique-se de processar todos os arquivos durante todo o período para evitar a perda de registros. |
Hora de início recomendada |
Para trabalhos diários, comece à 1h UTC para registrar as conclusões do dia anterior. |
Exemplos de consultas
Use esses padrões de SQL para começar com casos de uso comuns de análise. Substitua [START_DATE], [END_DATE] e [X] pelos valores desejados.
Os X principais títulos por receita em um período SELECT
title_name,
COUNT(DISTINCT order_item_id) AS total_orders,
SUM(net_revenue) AS total_revenue
FROM your_table
WHERE transaction_datetime_utc BETWEEN '[START_DATE]' AND '[END_DATE]'
GROUP BY title_name
ORDER BY total_revenue DESC
LIMIT [X];
Receita total por tipo de compra SELECT
purchase_type,
SUM(net_revenue) AS total_revenue
FROM your_table
WHERE transaction_datetime_utc BETWEEN '[START_DATE]' AND '[END_DATE]'
GROUP BY purchase_type
ORDER BY purchase_type;
Resumo diário de vendas SELECT
DATE(transaction_datetime_utc) AS transaction_date,
COUNT(DISTINCT order_item_id) AS total_orders,
SUM(net_revenue) AS total_revenue,
SUM(net_cogs) AS total_cogs
FROM your_table
WHERE transaction_datetime_utc BETWEEN '[START_DATE]' AND '[END_DATE]'
GROUP BY DATE(transaction_datetime_utc)
ORDER BY transaction_date DESC;
Receita por Território SELECT
territory,
COUNT(DISTINCT order_item_id) AS total_orders,
SUM(net_revenue) AS total_revenue
FROM your_table
WHERE transaction_datetime_utc BETWEEN '[START_DATE]' AND '[END_DATE]'
GROUP BY territory
ORDER BY total_revenue DESC;
Padrões de Qualidade
Metas de Qualidade de Dados
Dimensão da Qualidade |
Alvo |
Medição |
Completude |
> 99% das transações capturadas |
Comparação com relatórios financeiros |
Pontualidade |
~ 9 horas de latência de ponta a ponta |
Tempo entre a transação e a disponibilidade dos dados |
Consistência |
Formato padronizado único |
Todos os territórios em um conjunto de dados |
Limitações conhecidas
Limitação |
Description |
Impacto |
Atraso no custo |
net_cogs é atualizado diariamente, não em tempo real. |
Inicialmente, os registros podem mostrar custo NULL ou 0; atualizações em 24 horas. |
Retenção de dados |
Máximo de 2 anos de dados históricos. |
Solicitações com carimbos de data e hora anteriores a 2 anos não retornarão resultados. |
Expiração do token |
Os tokens de acesso LWA expiram após 1 hora. |
É necessário implementar a lógica do token de atualização para acesso ininterrupto. |
Entrega baseada em arquivos |
A API retorna links para arquivos, não linhas de dados diretas. |
Requer uma etapa de download em seu pipeline antes do processamento. |
Variação financeira |
Pequena variação versus relatórios financeiros/de royalties. |
Comportamento esperado devido à nuance de data e hora; não é um problema de qualidade de dados. |