El conjunto de datos de ventas de TVOD proporciona los datos de ventas a nivel de transacción para tu negocio de video bajo demanda (TVOD) transaccional de Prime Video. Cada registro representa una transacción completada (compra o alquiler). Los datos se entregan como un registro de cambios de solo inserción mediante la API de conjuntos de datos de Slate, lo que te brinda total flexibilidad para crear análisis personalizados y calcular métricas adaptadas a las necesidades de tu empresa.
Ventajas clave
- Información más rápida: los datos de ventas se agrupan por lotes varias veces al día y la mayoría de las transacciones se entregan en un plazo de aproximadamente 9 horas después de completarse.
- Separación de costos y ventas: las señales de ventas llegan en lotes de 4 horas; la información del costeo (net_cogs) se actualiza a diario para que recibas las señales de ingresos lo más rápido posible.
- Coherencia: formato estandarizado en todos los territorios en una sola fuente.
- Ingestión simplificada: modelo de registro de cambios de solo inserción con un patrón simple de actualización e inserción para una ingestión automática y sin intervención.
- Granularidad a nivel de transacción: accede a datos individuales a nivel de pedido para impulsar el análisis personalizado, el seguimiento del rendimiento a nivel de título y las integraciones de sistemas internos.
- Integración flexible: integra los datos de ventas de TVOD con sus sistemas internos, almacenes de datos y herramientas de BI.
Función |
API de conjuntos de datos de Slate |
Tipo de acceso |
Programática (API de REST) |
Mejor para |
Canalizaciones automatizadas, informes empresariales, análisis personalizados |
Autenticación |
Perfil de seguridad de inicio de sesión con Amazon (LWA) |
Formato de datos |
Archivos CSV (comprimidos con gzip) |
Primeros pasos
Requisitos previos
- Asociación activa de Prime Video TVOD
- Un perfil de seguridad de inicio de sesión con Amazon (LWA)
- Identificador de cliente registrado con tu administrador de cuentas de contenido (CAM)
- Un código de autorización para solicitar un token
- Un token de autenticación LWA válido para todas las solicitudes de API
Configuración de autenticación
Para recuperar conjuntos de datos, primero debes integrarte a la suite de la API de conjuntos de datos. Puedes encontrar más detalles aquí.
Puntos de conexión de API
Puntos de conexión de sugerencias
Usa estos puntos de conexión para buscar los identificadores de tu cuenta y contrato mediante programación:
Punto de conexión |
Devoluciones |
|---|---|
GET /v2/accounts |
Lista de cuentas de Slate a las que puedes acceder |
GET /v2/accounts/{ACADIA_ID} |
Líneas de negocio disponibles (p. ej., canales, transacciones) |
GET /v2/accounts/{ACADIA_ID}/transactions |
Lista de los identificadores de contrato de TVOD de tu cuenta |
GET /v2/accounts/{ACADIA_ID}/transactions/{CONTRACT_ID}/datasets |
Conjuntos de datos disponibles para un contrato |
Recuperación de archivos de conjuntos de datos
Usa este punto de conexión con el fin de recuperar los enlaces a los archivos de conjuntos de datos de transacciones para tu 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 solicitud
Parámetro |
Descripción |
|---|---|
ACADIA_ID |
El identificador de tu cuenta de Slate. Encuéntralo con GET /v2/accounts. |
CONTRACT_ID |
Tu identificador de contrato de TVOD. |
startDateTime |
Configurado según la última vez que hiciste la extracción. Formato: YYYY-MM-DDThh:mm:ssZ (UTC). |
endDateTime |
Ajusta a la hora actual. Formato: YYYY-MM-DDThh:mm:ssZ (UTC). |
límite |
Máximo 1000 enlaces por página. |
Este punto de conexión devuelve enlaces a archivos CSV descargables (comprimidos con gzip) que contienen los registros de las transacciones, no las transacciones en sí.
Paginación
Todas las respuestas están paginadas. Usa los siguientes parámetros de consulta para navegar por los resultados:
Parámetro |
Predeterminado |
Descripción |
|---|---|---|
límite |
10 |
Número de documentos devueltos por página. Máximo 1000. |
offset |
0 |
Número de páginas que se van a omitir. |
Todas las respuestas paginadas contienen los siguientes campos:
Campo |
Descripción |
|---|---|
total |
Recuento total de documentos en todas las páginas. |
next |
La dirección URL de la siguiente página. Es un valor nulo si es la última página. |
Modelo de datos
Conceptos clave
Concepto |
Descripción |
Transacción |
Un evento de pedido completado (compra o alquiler). Cada transacción se identifica con un order_item_id único. |
Modelo de registro de cambios |
Los datos son de solo inserción. Si cambian los atributos de un registro (por ejemplo, el costo llega), se publica un nuevo registro con el mismo order_item_id, pero con un last_update_time_utc más reciente. |
Clave principal |
order_item_id es el identificador único de cada transacción. Siempre elimina los duplicados en este campo. |
Costo vs. Ventas |
Los datos de ventas llegan en lotes de 4 horas. El costeo (net_cogs) se actualiza a diario, por lo que los registros se actualizan con el costo cuando están disponibles. |
Actualización de los datos
Atributo |
Objetivo |
Entrega de los datos de ventas |
Cada 4 horas (por lotes) |
Actualización del costeo (net_cogs) |
Cada 24 horas |
Latencia de extremo a extremo |
Aproximadamente 9 horas desde la transacción hasta la disponibilidad de los datos |
Retención de datos |
Máximo 2 años |
Precisión de los datos
Atributo |
Detalles |
Referencia definitiva |
Los ingresos y los estados financieros son la referencia definitiva final para los pagos y el costeo. |
Variación esperada |
Puede haber una variación menor por los matices de fecha y hora, y diferencias de agregación en comparación con los informes financieros y de regalías. |
Alcance |
Los pedidos completados a nivel de transacción para el seguimiento del rendimiento. No sustituye a los informes financieros o de regalías. |
Este conjunto de datos está diseñado para tener un seguimiento del rendimiento más rápido y continuo. Es de esperar una variación menor comparada con los informes financieros (por ejemplo, el resumen diario de ASIN en video) por los matices de fecha y hora, y diferencias de agregación. Este es el comportamiento esperado, no un problema de calidad de los datos.
Definiciones de datos
Campos principales
En la siguiente tabla se describen todos los campos disponibles en el conjunto de datos de transactions_event_log:
Nombre de campo |
Tipo |
Se puede anular |
Descripción |
Ejemplo |
|---|---|---|---|---|
order_item_id |
CADENA |
No |
Identificador único para cada transacción. Clave principal para eliminar la duplicación. |
ABC123XYZ |
transaction_datetime_utc |
MARCA DE HORA |
No |
Hora de la transacción en UTC. |
2026-01-14T00:04:41.575 |
transaction_datetime_local |
MARCA DE HORA |
No |
Hora de la transacción en la zona horaria local. |
2026-01-14T01:04:41.575 |
pv_title_id |
CADENA |
No |
Identificador de título único. |
tt1234567 |
content_type |
CADENA |
No |
Tipo de contenido adquirido. |
Película, episodio de TV, temporada de televisión |
purchase_type |
CADENA |
No |
Indicador de compra o alquiler. |
EST (compra), VOD (alquiler) |
content_quality |
CADENA |
No |
Nivel de calidad de vídeo. |
SD, HD, UHD |
Territorio |
CADENA |
No |
Código de territorio. |
E.E. U.U., GB, DE, JP, AU |
device_class |
CADENA |
Sí |
Categoría de dispositivo. |
Fire TV, teléfono celular, web |
title_name |
CADENA |
No |
Nombre del título. |
La gran aventura |
divisa |
CADENA |
No |
El código ISO 4217 de la divisa. |
USD, EUR, JPY |
vendor_sku |
CADENA |
Sí |
SKU proporcionado por el socio. |
WB-MOV-001 |
net_cogs |
DECIMAL |
Sí |
Costo neto de los bienes vendidos, sin impuestos. Se actualiza a diario. Puede ser NULL al inicio. |
4.99 |
net_revenue |
DECIMAL |
No |
Ingresos netos, sin impuestos. |
14.99 |
create_time_utc |
MARCA DE HORA |
No |
Hora de creación del registro en UTC. |
2026-01-14T01:39:06.619 |
last_update_time_utc |
MARCA DE HORA |
No |
Registra la hora de la última actualización. Se usa para la lógica de la duplicación. |
2026-01-14T01:39:06.619 |
Notas de campo
Los siguientes campos tienen características de comportamiento importantes que los socios deben conocer:
Campo |
Cálculo/Lógica |
Notas |
|---|---|---|
net_cogs |
Se actualiza a diario |
Es posible que al inicio aparezca como NULL o 0; se actualiza en un plazo de 24 horas cuando llegue el costeo. |
last_update_time_utc |
Gana la marca de hora más reciente |
Cuando existan varios registros para el mismo order_item_id, conserva solo el registro con el último last_update_time_utc. |
Territorio |
Conjunto de datos único para todos los territorios |
No hay archivos por territorio; filtra por código de territorio según sea necesario. |
purchase_type |
Valores de enumeración fijos |
EST = Venta directa electrónica (compra permanente). VOD = alquiler por tiempo limitado. |
Eliminación de la duplicación
Descripción general
El conjunto de datos usa un modelo de registro de cambios. Si se actualiza un registro (por ejemplo, el costeo llega), se publica una versión nueva con el mismo order_item_id y un last_update_time_utc más reciente. Para mantener los datos precisos, aplica siempre la lógica de eliminar la duplicación antes de escribir los registros en tu destino.
Consulta para eliminar la duplicación
Usa el siguiente patrón SQL para eliminar la duplicación y conservar solo la versión más reciente de cada transacción:-- 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;
Patrón de actualización e inserción
Usa este patrón para mantener una tabla local con el estado más reciente de cada transacción: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);
Canalización ETL
Descripción general
Sigue este proceso de cuatro pasos para crear un canal de ingesta confiable y automatizado para los datos de ventas de TVOD.
Pasos de canalización
- Extracción inicial de datos: extrae todos los archivos de tu contrato dentro del intervalo de tiempo deseado mediante el punto de conexión de la API. Descarga todos los archivos que se devolvieron. Cada archivo contiene registros de transacciones en formato CSV (comprimido con gzip).
- Eliminar la duplicación: cuando hay varios registros para el mismo order_item_id al procesar varios días de datos, conserva solo el registro last_update_time_utc más reciente mediante la consulta para eliminar la duplicación de la sección 6.2.
- Actualización e inserción a destino: una vez eliminada la duplicación, combina los registros en la tabla de destino mediante order_item_id como clave. Consulta el patrón de actualización e inserción en la sección 6.3.
- Procesamiento incremental: para cargas de datos continuas, establece startDateTime en la última vez que hiciste la extracción y endDateTime en la hora actual. Procesa todos los archivos que se devolvieron y actualiza e inserta tu destino.
Configura los siguientes parámetros para las ejecuciones incrementales:startDateTime = {last_successful_pull_timestamp}
endDateTime = {current_utc_timestamp}
Cadencia de ingestión recomendada
Recomendación |
Detalles |
Cadencia recomendada |
Cada 4 a 6 horas para mantenerse lo más actualizado posible. |
Estrategia de procesamiento incremental |
Configura startDateTime en la última marca de hora recuperada y endDateTime en la hora actual. Procesa todos los archivos que se devolvieron. |
Consumidores diarios o semanales |
Si los buscas a diario de forma semanal, asegúrate de procesar todos los archivos durante todo el periodo para evitar que falten registros. |
Hora de inicio recomendada |
Para los trabajos diarios, comienza a la 1:00 AM UTC para registrar las finalizaciones del día anterior. |
Ejemplos de consultas
Usa estos patrones de SQL para comenzar con los casos de uso de análisis comunes. Reemplaza [START_DATE], [END_DATE] y [X] por los valores que desees.
Los X títulos principales por ingresos en un periodoSELECT
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];
Ingresos totales por tipo de compraSELECT
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;
Resumen de ventas diariasSELECT
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;
Ingresos por territorioSELECT
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;
Estándares de calidad
Objetivos de calidad de datos
Dimensión de calidad |
Objetivo |
Medición |
Integridad |
> 99 % de las transacciones capturadas |
Comparación con los informes financieros |
Puntualidad |
Aproximadamente 9 horas de latencia de extremo a extremo |
Tiempo desde la transacción hasta la disponibilidad de los datos |
Coherencia |
Formato único estandarizado |
Todos los territorios en un conjunto de datos |
Limitaciones conocidas
Limitación |
Descripción |
Impacto |
Retraso en el costeo |
net_cogs se actualiza a diario, no en tiempo real. |
Al inicio, los registros pueden mostrar un costo NULL o 0; se actualizan en un plazo de 24 horas. |
Retención de datos |
Máximo 2 años de datos históricos. |
Las solicitudes con marcas de hora de más de 2 años no arrojarán resultados. |
Caducidad del token |
Los tokens de acceso de LWA caducan después de 1 hora. |
Debe implementar la lógica de token de actualización para un acceso ininterrumpido. |
Entrega basada en archivos |
La API devuelve enlaces a archivos, no filas de datos directas. |
Requiere un paso de descarga en tu canalización antes de procesarlo. |
Variación financiera |
Diferencias menores en comparación con los informes financieros o de regalías. |
Comportamiento esperado debido a matices de fecha y hora; no es un problema de calidad de los datos. |