L’API Notifications ti consente di ricevere notifiche in tempo reale per vari eventi relativi ai contenuti su Prime Video, eliminando la necessità di controllare ripetutamente le API di stato. Configura flussi di lavoro automatizzati che rispondono istantaneamente agli aggiornamenti sulla distribuzione delle risorse e alle modifiche dello stato in tempo reale, consentendoti di risolvere i problemi più velocemente e mantenere aggiornato il catalogo.
Rilevamento dei problemi in tempo reale: ricevi notifiche istantanee quando le consegne degli asset falliscono o lo stato in tempo reale cambia, consentendoti di risolvere immediatamente i problemi invece di scoprirli ore o giorni dopo tramite controlli manuali.
Riduzione del sovraccarico delle API: elimina la necessità di eseguire il polling continuo delle API di stato, riducendo i costi dell’infrastruttura e il volume delle chiamate API mantenendo al contempo informazioni aggiornate.
Integrazione automatizzata del flusso di lavoro: collega le notifiche direttamente ai sistemi esistenti (servizi AWS o webhook) per attivare risposte automatiche, creazione di ticket o flussi di lavoro di avviso senza intervento manuale.
Copertura completa degli eventi: monitora lo stato di consegna degli asset e lo stato in tempo reale in tutti i tuoi titoli e territori da un unico sistema di notifica.
Guida
introduttiva Per iniziare a utilizzare le notifiche sono necessari tre passaggi:
- Registra un bersaglio: imposta dove desideri ricevere le notifiche. Puoi scegliere tra i servizi AWS (SQS, SNS, EventBridge) o i webhook HTTPS.
- Crea abbonamenti: mappa gli eventi che desideri monitorare ai tuoi obiettivi registrati. Ogni abbonamento copre un argomento (AssetStatus o OfferStatus), ma puoi iscriverti a più tipi di eventi all’interno di quell’argomento.
- Ricevi notifiche: una volta configurata, riceverai automaticamente le notifiche man mano che gli eventi si verificano in tempo reale.
Argomenti ed eventi disponibili
Gli argomenti raggruppano gli eventi correlati. Quando si crea un abbonamento, si seleziona un argomento e si specificano gli eventi all’interno di quell’argomento che si desidera monitorare.
Argomento aggiornato su LiveStatus: OfferStatus
Ti avvisa quando lo stato live di un titolo cambia nella vetrina Prime Video, ad esempio quando un titolo viene pubblicato o non è più disponibile.
Cosa attiva questa notifica? Lo stato «live/non-live» di un titolo cambia nella vetrina. Utilizza il callbackURL nel payload per recuperare i dettagli completi sullo stato dell’offerta tramite l’API Offer Status.
Carico utile: {
"alid": "partner-listing-id",
"territory": "US",
"marketplace": "US",
"partnerAlias": "partner-alias",
"eventType": "LiveStatusUpdated",
"callbackUrl": "https://partnerapi.primevideo.com/v1/avails/{partnerAlias}/status/{alid}?marketplace={marketplace}&territory={territory}",
"eventTimestamp": "2024-01-01T00:00:00.000Z"
}
Argomento aggiornato sullo stato degli asset: AssetStatus
Ti avvisa quando una risorsa raggiunge il risultato di consegna finale. Viene inviata una notifica quando lo stato di una risorsa diventa:
- Soddisfatto: la risorsa è stata consegnata correttamente, oppure
- Non riuscito: la risorsa non può essere consegnata o richiede attenzione.
Cosa fa scattare questa notifica? Una modifica dello stato di consegna di una risorsa (ad esempio video, audio, sottotitoli, grafica). Utilizzate il callbackURL per recuperare lo stato completo di consegna delle risorse, comprese le informazioni dettagliate sugli errori, ove applicabile.
Casi d’uso:
- Rileva gli errori di consegna in tempo reale e attiva flussi di lavoro di riconsegna automatizzati
- Conferma la corretta elaborazione degli asset senza eseguire il polling dell’API Asset Status
- Integrazione con i sistemi di ticketing interni per una risoluzione immediata dei problemi
Carico utile: {
"alid": "partner-listing-id",
"marketplace": "US",
"partnerAlias": "partner-alias",
"eventType": "AssetStatusUpdated",
"callbackUrl": "https://partnerapi.primevideo.com/v1/assets/{partnerAlias}/status/{alid}?marketplace={marketplace}",
"eventTimestamp": "2024-01-01T00:00:00.000Z"
}
Schemi di richiesta e risposta
Questa sezione fornisce le specifiche tecniche per gli sviluppatori per integrare l’API Partner Notification nei tuoi sistemi. Utilizza questo riferimento per comprendere il formato della richiesta, la struttura della risposta e i tipi di dati restituiti dall’API.
URL di base
Tutti le richieste API vengono effettuate al seguente URL di base. Aggiungi il percorso dell’endpoint pertinente a questo URL quando effettui le richieste.
https://partnerapi.primevideo.com/v1
Gestione degli obiettivi
Un target è la destinazione in cui desideri ricevere le notifiche, può essere un servizio AWS (SQS, SNS o EventBridge) o un endpoint webhook HTTPS. È necessario registrare almeno un target prima di creare sottoscrizioni.
Registra Target
POST /{licensor}/notifications/targets
Crea un nuovo obiettivo di notifica in cui ricevere le notifiche degli eventi.
Corpo della richiesta:
{
"type": "SQS|SNS|EVENTBRIDGE|WEBHOOK",
"destination": "target-destination",
"auth": { /* varies by type */ }
}
Risposta:
{
"targetId": "target-id-1",
"status": "ACTIVE"
}
Elenca tutti gli obiettivi
Utilizza questo endpoint per recuperare un elenco completo degli obiettivi di notifica registrati per la tua organizzazione. Ciò è utile per controllare la configurazione corrente o identificare gli ID di destinazione da utilizzare per la creazione o l’aggiornamento delle sottoscrizioni.
GET /{licensor}/notifications/targets
Recupera tutti gli obiettivi registrati per la tua organizzazione.
Ottieni un obiettivo specifico
GET /{licensor}/notifications/targets?targetId={id}
Recupera i dettagli di un obiettivo specifico.
Aggiorna Target
PUT /{licensor}/notifications/targets/{targetId}
Aggiorna una configurazione di destinazione esistente.
Elimina Target
DELETE /{licensor}/notifications/targets/{targetId}
Rimuovi un obiettivo dalla tua configurazione.
Gestione delle sottoscrizioni
Un abbonamento associa uno o più eventi a un obiettivo registrato, determinando quali notifiche ricevere e dove vengono recapitate. Ogni abbonamento riguarda un singolo argomento, ma puoi creare più abbonamenti per coprire tutti gli eventi pertinenti al tuo flusso di lavoro.
Crea abbonamento
POST /{licensor}/notifications/subscriptions
Crea un abbonamento per mappare gli eventi ai tuoi obiettivi.
Corpo della richiesta:
{
"topic": "OfferStatus",
"eventTargetMapping": {
"LiveStatusUpdated": ["target-id-1"]
}
}
Risposta:
{
"subscriptionId": "subscription-id-1",
"status": "ACTIVE"
}
Elenca tutti gli abbonamenti
GET /{licensor}/notifications/subscriptions
Recupera tutti gli abbonamenti per la tua organizzazione.
Aggiorna abbonamento
PUT /{licensor}/notifications/subscriptions/{id}
Aggiorna una configurazione di abbonamento esistente.
Elimina abbonamento
DELETE /{licensor}/notifications/subscriptions/{id}
Rimuovi un abbonamento dalla tua configurazione.
Tipi di bersagli
I tipi di target definiscono il modo in cui Prime Video invia le notifiche ai tuoi sistemi. Puoi scegliere tra i servizi gestiti da AWS per una distribuzione affidabile e scalabile o configurare un webhook HTTPS per ricevere notifiche direttamente sul tuo endpoint.
Obiettivi AWS (SQS, SNS, EventBridge)
Campi obbligatori:
- destinazione: ARN della risorsa AWS
- AssumeroLearn: ruolo IAM per la distribuzione
- ExternalID: identificatore di sicurezza (opzionale ma consigliato)
Esempio SQS: {
"type": "SQS",
"destination": "arn:aws:sqs:{region}:{account-id}:{queue-name}",
"auth": {
"assumeRoleArn": "arn:aws:iam::{account-id}:role/{role-name}",
"externalId": "{external-id}"
}
}
Esempio SNS: {
"type": "SNS",
"destination": "arn:aws:sns:{region}:{account-id}:{topic-name}",
"auth": {
"assumeRoleArn": "arn:aws:iam::{account-id}:role/{role-name}",
"externalId": "{external-id}"
}
}
Esempio di EventBridge: {
"type": "EVENTBRIDGE",
"destination": "arn:aws:events:{region}:{account-id}:event-bus/{bus-name}",
"auth": {
"assumeRoleArn": "arn:aws:iam::{account-id}:role/{role-name}",
"externalId": "{external-id}"
}
}
Token al portatore: {
"type": "WEBHOOK",
"destination": "https://your-api.example.com/webhooks",
"auth": {
"type": "bearer",
"bearerToken": "your-token"
}
}
Chiave API: {
"type": "WEBHOOK",
"destination": "https://your-api.example.com/webhooks",
"auth": {
"type": "apiKey",
"apiKey": "your-key",
"apiKeyHeader": "X-API-Key"
}
}
HMAC (consigliato): {
"type": "WEBHOOK",
"destination": "https://your-api.example.com/webhooks",
"auth": {
"type": "hmac",
"hmacSecret": "your-secret",
"hmacAlgorithm": "HmacSHA256",
"hmacHeader": "X-Signature"
}
}
Carico utile
Struttura del payload
Tutti i payload di notifica seguono una struttura coerente:
Campo |
Description |
|---|---|
Valido |
ID dell’elenco dei partner (identificatore del titolo) |
territorio |
Codice Territorio (ad esempio, US, GB) |
mercato |
Codice Marketplace |
PartnerAlias |
Identificatore del partner |
Tipo di evento |
L’evento specifico che si è verificato |
URL di richiamata |
URL per recuperare i dettagli completi sullo stato |
Timestamp dell’evento |
Timestamp ISO 8601 dell’evento |
I webhook ricevono richieste HTTP POST con il seguente payload: {
"alid": "partner-listing-id",
"territory": "US",
"marketplace": "US",
"partnerAlias": "partner-alias",
"eventType": "LiveStatusUpdated",
"callbackUrl": "https://callback-url.com",
"eventTimestamp": "2024-01-01T00:00:00.000Z"
}
Intestazioni di autenticazione:
- HMAC: X-Signature: {signature} X-Signature: {signature}
- Chiave API: Chiave X-API: {key} Chiave X-API: {key}
- Portatore: Bearer {token} Autorizzazione: Bearer {token}
Risposte di Errore
Quando una richiesta non può essere completata, l’API restituisce una risposta di errore strutturata per aiutarti a identificare e risolvere il problema. La risposta include un codice di errore e un messaggio leggibile dall’uomo che descrive il problema.
{
"error": {
"code": "ERROR_CODE",
"message": "Human readable error message"
}
}
Codici di errore comuni:
- BAD_REQUEST — Parametri di richiesta non validi
- UNAUTHORIZED: autenticazione non riuscita
- NOT_FOUND — Risorsa non trovata
- CONFLICT — La risorsa esiste già
Guida alla configurazione di AWS Target
Se utilizzi un servizio AWS (SQS, SNS o EventBridge) come obiettivo di notifica, devi configurare un IAM Delivery Role per concedere a Prime Video l’autorizzazione a inviare notifiche alle tue risorse AWS. Segui i passaggi seguenti per configurare il ruolo IAM e le politiche di autorizzazione richieste prima di registrare il tuo obiettivo.
Prerequisiti
- Risorsa di destinazione AWS (SQS Queue, SNS Topic o EventBridge Bus)
- IAM Delivery Role con politiche di fiducia e autorizzazione
Configurazione del ruolo IAM
1. Crea ruolo: Console AWS → IAM → Ruoli → Crea ruolo → Custom Trust Policy 2. Politica di fiducia {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::687801838843:root"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": "{external-id}"
},
"ArnLike": {
"aws:PrincipalArn": "arn:aws:iam::687801838843:role/PVPartnerApiNPS-ExecutionRole-*"
}
}
}
]
}
3. Politica di autorizzazione (scegline una):
SQS:
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": ["sqs:SendMessage", "sqs:GetQueueUrl"],
"Resource": "arn:aws:sqs:{region}:{account-id}:{queue-name}"
}]
}
SNS: {
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "sns:Publish",
"Resource": "arn:aws:sns:{region}:{account-id}:{topic-name}"
}]
}
EventBridge: {
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "events:PutEvents",
"Resource": "arn:aws:events:{region}:{account-id}:event-bus/{bus-name}"
}]
}