L’API Notifiche ti consente di ricevere notifiche in tempo reale per vari eventi di contenuto su Prime Video, in modo da non dover più svolgere ripetutamente il polling delle API di stato. Configura flussi di lavoro automatizzati che rispondono istantaneamente agli aggiornamenti sulla consegna delle risorse e alle modifiche allo stato dell’offerta, consentendoti di risolvere i problemi più rapidamente e mantenere il tuo catalogo sempre aggiornato.
Perché usare le API Notifiche?
- Rilevamento dei problemi in tempo reale: ricevi notifiche istantanee quando le consegne delle risorse non vanno a buon fine o lo stato delle offerte cambia, in modo da risolvere immediatamente i problemi invece di scoprirli ore o giorni dopo tramite controlli manuali.
- Sovraccarico delle API ridotto: non è più necessario effettuare un polling continuo delle API di stato; ciò consente non solo di ridurre i costi dell’infrastruttura e il volume delle chiamate API, ma anche di mantenere le informazioni aggiornate.
- Integrazione automatizzata del flusso di lavoro: connetti le notifiche direttamente ai tuoi sistemi esistenti (servizi AWS o webhook) per attivare risposte automatiche, la creazione di ticket o flussi di lavoro per gli avvisi senza intervento manuale.
- Copertura completa degli eventi: monitora lo stato di consegna delle risorse e la disponibilità delle offerte in tutti i tuoi titoli e territori da un unico sistema di notifica.
Introduzione
Per iniziare a utilizzare le notifiche sono necessari tre passaggi:
- Registra un target: configura dove vuoi ricevere le notifiche; puoi scegliere tra servizi AWS (SQS, SNS, EventBridge) o webhook HTTPS.
- Crea iscrizioni: associa gli eventi che desideri monitorare ai tuoi target registrati. Ogni iscrizione copre un argomento (AssetStatus o OfferStatus), ma puoi iscrivere più tipi di eventi all’interno dello stesso argomento.
- Ricevi notifiche: una volta configurate, riceverai automaticamente notifiche man mano che gli eventi si verificheranno in tempo reale.
Schemi di richiesta e risposta
Questa sezione fornisce le specifiche tecniche che consentono agli sviluppatori di integrare l’API Notifiche dei partner nei tuoi sistemi. Usa questo riferimento per comprendere il formato della richiesta, la struttura della risposta e i tipi di dati restituiti dall’API.
URL di base
Tutte le richieste API vengono effettuate al seguente URL di base. Aggiungi il percorso dell’endpoint pertinente a questo URL quando effettui delle richieste.
https://partnerapi.primevideo.com/v1
Gestione dei target
Per target si intende la destinazione in cui desideri ricevere le notifiche: può trattarsi di un servizio AWS (SQS, SNS o EventBridge) o di un endpoint webhook HTTPS. È necessario registrare almeno un target prima di creare le iscrizioni.
Registra target
POST /{licensor}/notifications/targets
Crea un nuovo target delle notifiche in cui riceverai le notifiche relative agli 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 i target
Usa questo endpoint per recuperare un elenco completo dei target delle notifiche registrati per la tua organizzazione. Questa operazione è utile per verificare la configurazione corrente o identificare gli ID di destinazione da utilizzare durante la creazione o l’aggiornamento delle iscrizioni.
GET /{licensor}/notifications/targets
Recupera tutti i target registrati per la tua organizzazione.
Ottieni target specifico
GET /{licensor}/notifications/targets?targetId={id}
Recupera i dettagli per un target specifico.
Aggiorna target
PUT/{licensor}/notifications/targets/{targetId}
Aggiorna una configurazione di un target esistente.
Elimina target
DELETE /{licensor}/notifications/targets/{targetId}
Rimuovi un target dalla tua configurazione.
Gestione delle iscrizioni
Un’iscrizione associa uno o più eventi a un target registrato, consentendo di stabilire quali notifiche ricevere e dove vengono consegnate. Ogni iscrizione è riservata a un singolo argomento, ma è possibile creare più iscrizioni per coprire tutti gli eventi rilevanti per il tuo flusso di lavoro.
Crea iscrizione
POST /{licensor}/notifications/subscriptions
Crea un’iscrizione per associare gli eventi in base ai tuoi target.
Corpo della richiesta:{
"topic": "OfferStatus",
"eventTargetMapping": {
"LiveStatusUpdated": ["target-id-1"],
"OfferStatusUpdated": ["target-id-2"]
}
}
Risposta:{
"subscriptionId": "subscription-id-1",
"status": "ACTIVE"
}
Elenca tutti le iscrizioni
GET /{licensor}/notifications/subscriptions
Recupera tutte le iscrizioni per la tua organizzazione.
Aggiorna iscrizione
PUT /{licensor}/notifications/subscriptions/{id}
Aggiorna una configurazione di iscrizione esistente.
Elimina iscrizione
DELETE /{licensor}/notifications/subscriptions/{id}
Rimuovi un’iscrizione dalla tua configurazione.
Argomenti ed eventi disponibili
Gli argomenti raggruppano eventi correlati. Quando si crea un’iscrizione, si seleziona un argomento e si specifica quali eventi all’interno di tale argomento si desiderano monitorare. Ogni argomento è associato a un’area specifica di monitoraggio dello stato dei contenuti.
- LiveStatusUpdated: quando cambia lo stato in tempo reale
- OfferStatusUpdated: quando cambia lo stato dell’offerta (disponibile a breve)
- AssetStatusUpdated: quando cambia lo stato della risorsa (disponibile a breve)
Tipi di target
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 consegna affidabile e scalabile o configurare un webhook HTTPS per ricevere notifiche direttamente sul tuo endpoint.
Target AWS (SQS, SNS, EventBridge) - Campi obbligatori:
- destination: ARN della risorsa AWS
- assumeRoleArn: ruolo IAM per la consegna
- 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 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}"
}
}
Target webhook - Token di connessione:{
"type": "WEBHOOK",
"destination": "https://your-api.example.com/webhooks",
"auth": {
"type": "bearer",
"bearerToken": "your-token"
}
}
Target webhook - Chiave API:{
"type": "WEBHOOK",
"destination": "https://your-api.example.com/webhooks",
"auth": {
"type": "apiKey",
"apiKey": "your-key",
"apiKeyHeader": "X-API-Key"
}
}
Target webhook - HMAC (consigliato):{
"type": "WEBHOOK",
"destination": "https://your-api.example.com/webhooks",
"auth": {
"type": "hmac",
"hmacSecret": "your-secret",
"hmacAlgorithm": "HmacSHA256",
"hmacHeader": "X-Signature"
}
}
Payload
I webhook ricevono richieste HTTP POST con il seguente payload:{
"alid": "partner-listing-id",
"territory": "US",
"marketplace": "US",
"eventType": "LiveStatusUpdated",
"callbackUrl": "https://callback-url.com",
"eventTimestamp": "2024-01-01T00:00:00.000Z"
}
Intestazioni di autenticazione:
- HMAC: Firma X: {signature}
- Chiave API: Chiave X-API: {key}
- Bearer. Autorizzazione: Bearer {token}
Risposte agli errori
Quando non è possibile completare una richiesta, l’API rinvia una risposta di errore strutturata per aiutarti a identificare il problema e a risolverlo. La risposta include un codice di errore e un messaggio leggibile dall’uomo contenente la descrizione del problema.{
"error": {
"code": "ERROR_CODE",
"message": "Human readable error message"
}
}
Codici di errore comuni:
- Bad_Request: parametri di richiesta non validi
- Unauthorized: autorizzazione non riuscita
- Not_Found: risorsa non trovata
- Conflict: risorsa già esistente
Guida alla configurazione di target AWS
Se utilizzi un servizio AWS (SQS, SNS o EventBridge) come destinazione delle notifiche, è necessario configurare un ruolo di consegna IAM per concedere a Prime Video l’autorizzazione a inviare notifiche alle tue risorse AWS. Segui i seguenti passaggi per impostare il ruolo IAM e le policy di autorizzazione richieste prima di registrare il tuo target.
Prerequisiti
- Risorsa di destinazione AWS (coda SQS, argomento SNS o bus EventBridge)
- Ruolo di consegna IAM con policy di attendibilità e autorizzazione
Configurazione del ruolo IAM
1. Creare il ruolo: Console AWS → IAM → Ruoli → Crea ruolo → Policy di attendibilità personalizzata
2. Policy di attendibilità{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::687801838843:role/PVPartnerApiNotificationP-EcsTaskInstanceRoleE38DB4-qWjKHaQBhouq"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": "{external-id}"
}
}
}]
}
3. Policy di autorizzazione (selezionare una delle seguenti opzioni)
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}"
}]
}