Der TVOD-Verkaufsdatensatz bietet Verkaufsdaten auf Transaktionsebene für Ihr Prime Video-Transaktionsvideo on Demand (TVOD) -Geschäft. Jeder Datensatz steht für eine abgeschlossene Transaktion (Kauf oder Vermietung). Die Daten werden über die Slate Datasets API als Changelog nur als Anhang bereitgestellt, sodass Sie völlig flexibel benutzerdefinierte Analysen erstellen und Metriken berechnen können, die auf Ihre Geschäftsanforderungen zugeschnitten sind.
Die wichtigsten Vorteile
- Schnellere Einblicke — Verkaufsdaten werden mehrmals täglich gebündelt, wobei die meisten Transaktionen innerhalb von etwa 9 Stunden nach Abschluss abgewickelt werden.
- Trennung von Kosten und Umsatz — Verkaufssignale kommen in Chargen von 4 Stunden an. Die Kosteninformationen (net_cogs) werden täglich aktualisiert, sodass Sie so schnell wie möglich Umsatzsignale erhalten.
- Konsistenz — Standardisierte Formatierung für alle Gebiete in einer einzigen Quelle.
- Vereinfachte Aufnahme — Das Changelog-Modell ist nur durch Anhängen verfügbar und verfügt über ein einfaches Upsert-Muster für die automatische Aufnahme von Dateien.
- Granularität auf Transaktionsebene — Greifen Sie auf individuelle Daten auf Auftragsebene zu, um benutzerdefinierte Analysen, Leistungsverfolgung auf Titelebene und interne Systemintegrationen zu ermöglichen.
- Flexible Integration — Integrieren Sie TVOD-Vertriebsdaten in Ihre internen Systeme, Data Warehouses und BI-Tools.
Merkmal |
Slate Datasets API |
Type des Zugriffs |
Programmatisch (REST-API) |
Am besten für |
Automatisierte Pipelines, Unternehmensberichterstattung, benutzerdefinierte Analysen |
Authentifizierung |
Melden Sie sich mit dem Amazon (LWA) -Sicherheitsprofil an |
Datenformat |
CSV-Dateien (mit Gzip komprimiert) |
Erste Schritte
Voraussetzungen
- Aktive Prime Video TVOD-Partnerschaft
- Eine Anmeldung mit dem Amazon (LWA) -Sicherheitsprofil
- Kunden-ID, die bei Ihrem Content Account Manager (CAM) registriert ist
- Ein Autorisierungscode zur Anforderung eines Tokens
- Ein gültiges LWA-Authentifizierungstoken für alle API-Anfragen
Authentifizierungs-Setup
Um Datensätze abzurufen, müssen Sie zuerst die Datasets API-Suite nutzen. Weitere Einzelheiten finden Sie hier.
API-Endpunkte
Discovery-Endpunkte
Verwenden Sie diese Endpunkte, um Ihre Konto- und Vertrags-IDs programmgesteuert nachzuschlagen:
Endpunkt |
Kehrt zurück |
|---|---|
GET /v2/accounts |
Liste der Slate-Konten, auf die Sie zugreifen können |
GET /v2/accounts/ {ACADIA_ID} |
Verfügbare Geschäftsbereiche (z. B. Kanäle, Transaktionen) |
GET /v2/accounts/ {ACADIA_ID} /transactions |
Liste der TVOD-Vertrags-IDs unter Ihrem Konto |
GET /v2/accounts/ {ACADIA_ID} /transactions/ {CONTRACT_ID} /datasets |
Verfügbare Datensätze für einen Vertrag |
Datensatzdateien abrufen
Verwenden Sie diesen Endpunkt, um Links zu Transaktionsdatensatzdateien für Ihren Vertrag abzurufen: 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
Parameter anfordern
Parameter |
Description |
|---|---|
ACADIA_ID |
Ihre Slate-Konto-ID. Finden Sie sie mit GET /v2/accounts. |
VERTRAGS-ID |
Ihre TVOD-Vertrags-ID. |
Startdatum/Uhrzeit |
Stellen Sie das letzte Mal ein, als Sie gezogen haben. Format: yyyy-MM-DDTHH:mm:ssz (UTC). |
Enddatum/Uhrzeit |
Auf die aktuelle Uhrzeit einstellen. Format: yyyy-MM-DDTHH:mm:ssz (UTC). |
Begrenzung |
Maximal 1000 Links pro Seite. |
Dieser Endpunkt gibt Links zu herunterladbaren CSV-Dateien (GZIP-komprimiert) zurück, die die Transaktionsprotokolle — nicht die Transaktionen direkt — enthalten.
Paginierung
Alle Antworten sind paginiert. Verwenden Sie die folgenden Abfrageparameter, um durch die Ergebnisse zu navigieren:
Parameter |
Standard |
Description |
|---|---|---|
Begrenzung |
10 |
Number der pro Seite zurückgegebenen Dokumente. Maximal 1000. |
Offset |
0 |
Number der zu überspringenden Seiten. |
Alle paginierten Antworten enthalten die folgenden Felder:
Feld |
Description |
|---|---|
gesamt |
Gesamtzahl der Dokumente auf allen Seiten. |
Nächster |
URL zur nächsten Seite. Null, wenn auf der letzten Seite. |
Datenmodell
Die wichtigsten Konzepte
Konzept |
Description |
Transaktion |
Ein abgeschlossener Bestellvorgang (Kauf oder Vermietung). Jede Transaktion wird durch eine eindeutige order_item_id identifiziert. |
Changelog-Modell |
Daten können nur angehängt werden. Wenn sich die Attribute eines Datensatzes ändern (z. B. wenn Kosten eintreffen), wird ein neuer Datensatz mit derselben order_item_id, aber einer neueren last_update_time_utc veröffentlicht. |
Primärer Schlüssel |
order_item_id ist die eindeutige Kennung für jede Transaktion. Deduplizieren Sie immer in diesem Feld. |
Kosten im Vergleich zum Umsatz |
Verkaufsdaten kommen in Chargen von 4 Stunden an. Costing (net_cogs) wird täglich aktualisiert, sodass die Datensätze mit den Kosten aktualisiert werden, sofern verfügbar. |
Aktualität der Daten
Attribut |
Ziel |
Lieferung von Verkaufsdaten |
Alle 4 Stunden (gebündelt) |
Aktualisierung von Costing (net_cogs) |
Alle 24 Stunden |
Durchgehende Latenz |
~9 Stunden von der Transaktion bis zur Datenverfügbarkeit |
Aufbewahrung von Daten |
Maximal 2 Jahre |
Genauigkeit der Daten
Attribut |
Einzelheiten |
Quelle der Wahrheit |
Gewinn- und Jahresabschlüsse sind nach wie vor die letzte Informationsquelle für Auszahlungen und Kalkulationen. |
Erwartete Abweichung |
Geringfügige Abweichungen können aufgrund von Unterschieden zwischen Datum und Uhrzeit sowie aufgrund von Aggregationsunterschieden im Vergleich zu Finanz- und Lizenzberichten bestehen. |
Geltungsbereich |
Abgeschlossen Bestellungen bei der Transaktion Grain zur Leistungsverfolgung. Kein Ersatz für Finanz- oder Tantiemenberichte. |
Dieser Datensatz ist für eine schnellere, kontinuierliche Leistungsverfolgung konzipiert. Erwarten Sie geringfügige Abweichungen im Vergleich zu Finanzberichten (z. B. Video ASIN Daily Level Summary) aufgrund von Datums- und Uhrzeitnuancen und Aggregationsunterschieden. Dies ist ein erwartetes Verhalten, kein Problem mit der Datenqualität.
Datendefinitionen
Kernfelder In
der folgenden Tabelle werden alle Felder beschrieben, die im Datensatz transactions_event_log verfügbar sind:
Name des Feldes |
Type |
Kann auf Null gesetzt werden |
Description |
Beispiel |
|---|---|---|---|---|
order_item_id |
SCHNUR |
Nein |
Eindeutige Kennung für jede Transaktion. Primärschlüssel für die Deduplizierung. |
ABC123.XYZ |
transaction_datetime_utc |
ZEITSTEMPEL |
Nein |
Transaktionszeit in UTC. |
2026-01-14T 00:04:41.575 |
transaction_datum_time_local |
ZEITSTEMPEL |
Nein |
Transaktionszeit in der lokalen Zeitzone. |
2026-01-14T 01:04:41.575 |
pv_titel_id |
SCHNUR |
Nein |
Eindeutige Titelkennung. |
tt1234567 |
Inhaltstyp |
SCHNUR |
Nein |
Type des gekauften Inhalts. |
Film, TV-Folge, TV-Saison |
Art des Einkaufs |
SCHNUR |
Nein |
Kauf- oder Mietindikator. |
EST (Kauf), VOD (Vermietung) |
Inhalt_Qualität |
SCHNUR |
Nein |
Stufe der Videoqualität. |
SD, HD, UHD |
Gebiet |
SCHNUR |
Nein |
Gebietscode. |
US, GB, DE, JP, AU |
Geräteklasse |
SCHNUR |
Ja |
Gerätekategorie. |
Fire TV, Handy, Internet |
Titelname |
SCHNUR |
Nein |
Name des Titels. |
Das große Abenteuer |
Währung |
SCHNUR |
Nein |
ISO-4217-Währungscode. |
USD, EUR, JPY |
Anbieter-SKU |
SCHNUR |
Ja |
Vom Partner bereitgestellte SKU. |
WB-MOV-001 |
net_cogs |
DEZIMAL |
Ja |
Nettokosten der verkauften Waren, exkl. Steuern. Wird täglich aktualisiert. Kann anfänglich NULL sein. |
4,99 |
Nettoumsatz |
DEZIMAL |
Nein |
Nettoumsatz, exkl. Steuern. |
14,99 |
create_time_utc |
ZEITSTEMPEL |
Nein |
Erstellungszeit des Datensatzes in UTC. |
2026-01-14T 01:39:06.619 |
Uhrzeit der letzten Aktualisierung (UTC) |
ZEITSTEMPEL |
Nein |
Uhrzeit der letzten Aktualisierung aufzeichnen. Wird für die Deduplizierungslogik verwendet. |
2026-01-14T 01:39:06.619 |
Hinweise aus
der Praxis Die folgenden Felder weisen wichtige Verhaltensmerkmale auf, die Partner beachten sollten:
Feld |
Berechnung/Logik |
Hinweise |
|---|---|---|
net_cogs |
Wird täglich aktualisiert |
Kann anfänglich als NULL oder 0 angezeigt werden; wird innerhalb von 24 Stunden aktualisiert, sobald die Kostenrechnung eintrifft. |
last_update_time_utc |
Der letzte Zeitstempel gewinnt |
Wenn mehrere Datensätze für dieselbe order_item_id existieren, behalten Sie nur den Datensatz mit der neuesten last_update_time_utc. |
Gebiet |
Ein einziger Datensatz für alle Gebiete |
Keine Dateien pro Gebiet; filtern Sie nach Bedarf nach Gebietscode. |
purchase_type |
Feste Aufzählungswerte |
EST = Elektronischer Ausverkauf (permanenter Kauf). VOD = zeitlich begrenzte Vermietung. |
Deduplizierung
Übersicht
Der Datensatz verwendet ein Changelog-Modell. Wenn ein Datensatz aktualisiert wird (z. B. wenn die Kalkulation eintrifft), wird eine neue Version mit derselben order_item_id und einer neueren last_update_time_utc veröffentlicht. Um stets korrekte Daten zu erhalten, wenden Sie immer die Deduplizierungslogik an, bevor Sie Datensätze an Ihr Ziel schreiben.
Deduplizierungsabfrage
Verwenden Sie das folgende SQL-Muster, um zu deduplizieren und nur die neueste Version jeder Transaktion beizubehalten: -- 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;
Upsert-Muster
Verwenden Sie dieses Muster, um eine lokale Tabelle mit dem neuesten Status jeder Transaktion zu verwalten: 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);
ETL-Pipeline
Übersicht
Folgen Sie diesem vierstufigen Prozess, um eine zuverlässige, automatisierte Erfassungspipeline für TVOD-Verkaufsdaten aufzubauen.
Schritte der Pipeline
- Erster Datenabruf — Rufen Sie alle Dateien für Ihren Vertrag innerhalb des gewünschten Zeitraums mithilfe des API-Endpunkts ab. Download alle zurückgegebenen Dateien herunter. Jede Datei enthält Transaktionsdatensätze im CSV-Format (gzip-komprimiert).
- Deduplizierung — Wenn bei der Verarbeitung von Daten für mehrere Tage mehrere Datensätze für dieselbe order_item_id existieren, behalten Sie mithilfe der Deduplizierungsabfrage in Abschnitt 6.2 nur den neuesten last_update_time_utc-Datensatz bei.
- Upsert to Destination — Führen Sie deduplizierte Datensätze mit order_item_id als Schlüssel in Ihre Zieltabelle ein. Das Upsert-Muster finden Sie in Abschnitt 6.3.
- Inkrementelle Verarbeitung — Setzen Sie für laufende Datenladevorgänge StartDateTime auf den Zeitpunkt des letzten Abrufs und EndDateTime auf die aktuelle Uhrzeit. Verarbeiten Sie alle zurückgegebenen Dateien und fügen Sie sie in Ihr Ziel ein.
Stellen Sie die folgenden Parameter für inkrementelle Läufe ein: startDateTime = {last_successful_pull_timestamp}
endDateTime = {current_utc_timestamp}
Empfohlene Häufigkeit der Einnahme
Empfehlung |
Einzelheiten |
Empfohlene Trittfrequenz |
Alle 4-6 Stunden, um so aktuell wie möglich zu bleiben. |
Inkrementelle Verarbeitungsstrategie |
Setzen Sie StartDateTime auf den zuletzt abgerufenen Zeitstempel und EndDateTime auf die aktuelle Uhrzeit. Verarbeitet alle zurückgegebenen Dateien. |
Tägliche/wöchentliche Verbraucher |
Wenn Sie täglich oder wöchentlich abrufen, stellen Sie sicher, dass Sie alle Dateien über den gesamten Zeitraum verarbeiten, um zu vermeiden, dass Datensätze fehlen. |
Empfohlene Startzeit |
Beginnen Sie bei täglichen Aufträgen um 1 Uhr UTC, um die am Vortag abgeschlossenen Arbeiten zu erfassen. |
Beispielabfragen
Verwenden Sie diese SQL-Muster, um mit gängigen Analytics-Anwendungsfällen zu beginnen. Ersetzen Sie [START_DATE], [END_DATE] und [X] durch die gewünschten Werte.
Top X-Titel nach Umsatz in einem bestimmten Zeitraum 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];
Gesamtumsatz nach Kaufart 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;
Zusammenfassung der täglichen Verkäufe 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;
Umsatz nach Gebiet 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;
Qualitätsstandards
Ziele für die Datenqualität
Dimension Qualität |
Ziel |
Messung |
Vollständigkeit |
> 99% der erfassten Transaktionen |
Vergleich mit Finanzberichten |
Aktualität |
~9 Stunden durchgehende Latenz |
Zeit von der Transaktion bis zur Datenverfügbarkeit |
Kohärenz |
Einheitliches standardisiertes Format |
Alle Territorien in einem Datensatz |
Bekannte Einschränkungen
Beschränkung |
Description |
Auswirkung |
Verzögerung bei der Kalkulation |
net_cogs wird täglich aktualisiert, nicht in Echtzeit. |
Datensätze können zunächst NULL oder 0 (Kosten) anzeigen; Aktualisierungen werden innerhalb von 24 Stunden durchgeführt. |
Aufbewahrung von Daten |
Maximal 2 Jahre historischer Daten. |
Anfragen mit Zeitstempeln, die älter als 2 Jahre sind, liefern keine Ergebnisse. |
Ablauf des Tokens |
LWA-Zugriffstoken laufen nach 1 Stunde ab. |
Für einen unterbrechungsfreien Zugriff muss die Aktualisierungstoken-Logik implementiert werden. |
Dateibasierte Bereitstellung |
Die API gibt Links zu Dateien zurück, keine direkten Datenzeilen. |
Erfordert vor der Verarbeitung einen Download-Schritt in Ihrer Pipeline. |
Finanzen Varianz |
Geringfügige Abweichung im Vergleich zu Finanz- und Lizenzberichten. |
Erwartetes Verhalten aufgrund von Abweichungen zwischen Datum und Uhrzeit, kein Problem mit der Datenqualität. |