Les schémas décrits dans cette rubrique sont destinés à être utilisés par les développeurs pour les intégrer aux API Avails. Ces schémas seront organisés au sein d’un package dédié pour rationaliser la gouvernance. Les schémas de charge utile sont conformes à la norme MDDF API v2.6 ; toutefois, les attributs de l’API MDDF v2.6 ne sont pas tous pris en charge par Prime Video. Les attributs non pris en charge peuvent toujours être inclus dans la charge utile, mais Prime Video ne les tiendra pas compte.
Comment convertir le XML MDDF en JSON
L’API MDDF Avails définit son schéma au format XML, mais prend en charge les charges utiles au format XML et JSON. Les API Prime Video Partner utiliseront des charges utiles codées au format JSON. Le processus de conversion de MDDF XML en JSON est décrit ici :
- Les espaces de noms sont omis lors de la génération des noms d’attributs JSON
- Le contenu texte des éléments est directement attribué à la valeur de l’objet JSON correspondant.
<alice>bob</alice>
becomes{ "alice": "bob" } - Les éléments imbriqués deviennent des propriétés imbriquées.
<alice><bob>charlie</bob><david>edgar</david></alice>
becomes{ "alice": { "bob": "charlie", "david": "edgar" } } - Plusieurs éléments portant le même nom et se trouvant au même niveau deviennent des éléments de tableau.
<alice><bob>charlie</bob><bob>david</bob></alice>
becomes{ "alice": { "bob": [ "charlie", "david" ] } } - Le contenu mixte (éléments et nœuds de texte) au même niveau devient des éléments de tableau.
<alice>bob<charlie>david</charlie>edgar</alice>
devient{ "alice": [ "bob", { "charlie": "david" }, "edgar" ] } - Les attributs vont dans la section Propriétés et les noms d’attributs sont précédés d’un trait de soulignement.
<alice charlie="david">bob</alice>
devient{ "alice": { "_charlie": "david", "value": "bob" } }
Types courants
Le schéma d’API Avails prend en charge les types de données suivants, qui nécessitent une révision de la gouvernance pour garantir la standardisation de tous les serveurs de ressources.
Le nombre maximum d’éléments autorisés dans les demandes par lots est limité à 100.
Type |
Description |
Booléen |
Type booléen. Valeurs autorisées : true, false |
Integer |
nombre entier à 32 bits. |
LongInteger |
nombre entier à 64 bits. |
Décimal |
Nombre flottant |
Chaîne |
Un choix de caractères. |
Timestamp |
code temporel ISO. |
Enum |
Une chaîne énumérée avec un ensemble prédéfini de valeurs autorisées. |
Struct |
La structure sert d’agrégateur pour d’autres attributs. |
Array |
Collection d’articles de type ASME. Désigné par []. |
Schémas
PutAvailsAPIRequest type
Attribut |
Type |
Est obligatoire |
Description |
avail |
Avail |
Oui |
Données sur l’état de disponibilité |
PutAvailsAPIResponse type
Attribut |
Type |
Est obligatoire |
Description |
réussite |
Booléen |
Oui |
Statut de l’opération |
erreurs |
Erreur[] |
Non |
Liste d’erreurs en cas d’échec |
ValidateAvailsAPIRequest type
Attribut |
Type |
Est obligatoire |
Description |
avail |
Avail |
Oui |
Données sur l’état de disponibilité |
ValidateAvailsAPIResponse type
Attribut |
Type |
Est obligatoire |
Description |
réussite |
Booléen |
Oui |
Statut de l’opération |
erreurs |
Erreur[] |
Non |
Liste d’erreurs en cas d’échec |
DeleteAvailsAPIResponse type
Attribute |
Type |
Est obligatoire |
Description |
réussite |
Booléen |
Oui |
Statut de l’opération |
erreurs |
Erreur[] |
Non |
Liste d’erreurs en cas d’échec |
GetAvailsAPIResponse type
Attribut |
Type |
Est obligatoire |
Description |
avail |
Avail |
Oui |
Données sur l’état de disponibilité |
réussite |
Booléen |
Oui |
Statut de l’opération |
erreurs |
Erreur[] |
Non |
Liste d’erreurs en cas d’échec |
PutAvailsBatchAPIRequest type
Attribut |
Type |
Est obligatoire |
Description |
requestItems |
PutAvailsBatchAPIRequestItem[] |
Oui |
Liste des demandes individuelles |
PutAvailsBatchAPIResponse type
Attribute |
Type |
Est obligatoire |
Description |
responseItems |
PutAvailsBatchAPIResponseItem[] |
Oui |
Liste des éléments de réponse |
PutAvailsBatchAPIRequestItem type
Attribut |
Type |
Est obligatoire |
Description |
requestItemId |
Chaîne |
Oui |
Identifiant unique de l’élément dans la demande par lots |
chemin |
Chaîne |
Oui |
Chemin d’accès à une ressource pour cet élément de demande. Pour le modèle Full Extract le format est : Pour le modèle Partial Extract le format est : |
body |
PutAvailsBatchAPIRequestItemBody |
Oui |
Données de l’état de disponibilité |
PutAvailsBatchAPIRequestItemBody type
Attribut |
Type |
Est obligatoire |
Description |
avail |
Avail |
Oui |
Données de l’état de disponibilité |
PutAvailsBatchAPIResponseItem type
Attribut |
Type |
Est obligatoire |
Description |
requestItemId |
Chaîne |
Oui |
Identifiant unique de l’élément dans la demande par lots |
réussite |
Booléen |
Oui |
Statut de l’opération |
erreurs |
Erreur[] |
Non |
Liste d’erreurs en cas d’échec |
ValidateAvailsBatchAPIRequest type
Attribut |
Type |
Est obligatoire |
Description |
requestItems |
ValidateAvailsBatchAPIRequestItem[] |
Oui |
Liste de demandes individuelles |
ValidateAvailsBatchAPIResponse type
Attribut |
Type |
Est obligatoire |
Description |
responseItems |
ValidateAvailsBatchAPIResponseItem[] |
Oui |
Liste des éléments de réponses |
ValidateAvailsBatchAPIRequestItem type
Attribut |
Type |
Est obligatoire |
Description |
requestItemId |
Chaîne |
Oui |
Identifiant unique de l’élément dans la demande par lots |
chemin |
Chaîne |
Oui |
Chemin d’accès à une ressource pour cet élément de demande Pour le modèle Full Extract le format est : /avails/{licensor}/full-extract/{ALID}/validate Pour le modèle Partial Extract le format est : /avails/{licensor}/partial-extract/transactions/{transactionID}/validate |
body |
ValidateAvailsBatchAPIRequestItemBody |
Oui |
Corps de la demande |
ValidateAvailsBatchAPIRequestItemBody type
Attribut |
Type |
Est obligatoire |
Description |
avail |
Avail |
Oui |
Données d’état de disponibilité |
ValidateAvailsBatchAPIResponseItem type
Attribut |
Type |
Est obligatoire |
Description |
requestItemId |
Chaîne |
Oui |
Identifiant unique de l’élément dans la demande par lots |
réussite |
Booléen |
Oui |
Statut de l’opération |
erreurs |
Erreur[] |
Non |
Liste d’erreurs en cas d’échec |
DeleteAvailsBatchAPIRequest type
Attribut |
Type |
Est obligatoire |
Description |
requestItems |
DeleteAvailsBatchAPIRequestItem[] |
Oui |
Liste de demandes individuelles |
DeleteAvailsBatchAPIResponse type
Attribut |
Type |
Est obligatoire |
Description |
responseItems |
DeleteAvailsBatchAPIResponseItem[] |
Oui |
Liste des éléments de réponse. |
DeleteAvailsBatchAPIRequestItem type
Attribut |
Type |
Est obligatoire |
Description |
requestItemId |
Chaîne |
Oui |
Identifiant unique de l’élément dans la demande par lots |
chemin |
Chaîne |
Oui |
Chemin d’accès à une ressource pour cet élément de demande. Pour le modèle Full Extract, le format est : Pour le modèle Partial Extract le format est : |
DeleteAvailsBatchAPIResponseItem type
Attribut |
Type |
Est obligatoire |
Description |
requestItemId |
Chaîne |
Oui |
Identifiant unique de l’élément dans la demande par lots |
réussite |
Booléen |
Oui |
Statut de l’opération |
erreurs |
Erreur[] |
Non |
Liste d’erreurs en cas d’échec |
GetAvailsBatchAPIRequest
Attribut |
Type |
Est obligatoire |
Description |
requestItems |
GetAvailsBatchAPIRequestItem[] |
Oui |
Liste des demandes individuelles |
GetAvailsBatchAPIResponse
Attribut |
Type |
Est obligatoire |
Description |
responseItems |
GetAvailsBatchAPIResponseItem[] |
Oui |
Liste des éléments de réponse |
GetAvailsBatchAPIRequestItem
Attribute |
Type |
Est obligaoire |
Description |
requestItemId |
Chaîne |
Oui |
Identifiant unique de l’élément dans la demande par lots |
chemin |
Chaîne |
Oui |
Chemin d’accès à une ressource pour cet élément de demande Pour le modèle Full Extract le format est : Pur le modèle Partial Extract le format est : |
GetAvailsBatchAPIResponseItem
Attribut |
Type |
Est obligatoire |
Description |
requestItemId |
Chaîne |
Oui |
Identifiant unique de l’élément dans la demande par lots |
réussite |
Booléen |
Oui |
Statut de l’opération |
erreurs |
Erreur[] |
Non |
Liste d’erreurs en cas d’échec |
avail |
Avail |
Non |
Objet avail |
Error type
Attribut |
Type |
Est obligatoire |
Description |
code |
Chaîne |
Oui |
Une chaîne décrivant le type d’erreur. Validation des codes d’erreurs : APIV{number}, CRMSV{number} Exemples : APIV400, CRMSE500 |
message |
Chaîne |
Oui |
Description de l’erreur lisible par l’humain |
Type d’avail
Attribut |
Type |
Requis |
Remarques |
ALID |
Chaîne |
Oui |
Spécifie l’identifiant du titre. Doit correspondre à l’ALID spécifié dans la contribution des métadonnées. |
Disposition |
AvailDisposition |
Oui |
Spécifie la granularité du modèle d’extraction. |
Licensor |
Publisher |
Oui |
Spécifie les informations sur l’entité accordant une licence à Prime Video. |
Asset |
AvailAsset[] |
Oui |
Informations sur l’élément. Spécifie les informations sur l’entité accordant une licence à Prime Video. |
Transaction |
AvailTrans[] |
Oui |
Information relative à la transaction. |
SharedEntitlement |
AvailSharedEntitlement[] |
Non |
Informations sur les droits pour d’autres services. |
AvailDisposition type
Attribut |
Type |
Requis |
Remarques |
EntryType |
Enum |
Oui |
Valeurs autorisées : FullExtract, FullDelete, PartialExtract, PartialDelete |
Publisher type
Attribut |
Type |
Requis |
Remarques |
DisplayName |
Chaîne |
Oui |
Spécifie le nom du partenaire Prime Video. Cette valeur sera fournie aux partenaires par Prime Video. Doit être la même valeur que celle utilisée dans les fichiers EMA. |
AvailAsset type
Attribut |
Type |
Requis |
Remarques |
_contentID |
Chaîne |
Oui |
Spécifie l’identifiant de contenu pour cet élément. Cette valeur sera fournie aux partenaires par Prime Video. La valeur doit être la même que celle utilisée dans les fichiers EMA. Doit être identique à la valeur ALID fournie dans la section avail. |
WorkType |
Enum |
Oui |
Valeurs autorisées : Film, Court métrage, Épisode, Saison, Supplémental |
Métadata |
AvailUnitMetadata |
Non |
Décrit les métadonnées pour un film ou un court métrage. Requis lorsque WorkType est un film ou un court métrage. |
EpisodeMetadata |
AvailEpisodeMetadata |
Non |
Décrit les métadonnées de la section Épisodes. Requis lorsque WorkType est un Épisode. |
SeasonMetadata |
AvailSeasonMetadata |
Non |
Décrit les métadonnées de la section Saison. Requis lorsque WorkType est Saison. |
AvailSharedEntitlement type
Attribut |
Type |
Requis |
Remarques |
_ecosystem |
Enum |
Oui |
Valeurs autorisées : DMA |
EcosystemID |
Chaîne |
Oui |
Identification du titre spécifique à l’écosystème |
AvailUnitMetadata type
Attribut |
Type |
Requis |
Remarques |
TitleInternalAlias |
String[] |
Oui |
Nom du titre. Un seul nom de titre doit être spécifié dans la liste. |
AvailEpisodeMetadata type
Attribut |
Type |
Requis |
Remarques |
TitleInternalAlias |
String[] |
Oui |
Nom du titre pour Épisode. Un seul nom de titre doit être spécifié dans la liste. |
EpisodeNumber |
ContentSequenceInfo |
Oui |
Numéro de cet épisode dans la saison. |
SeasonMetadata |
AvailSeasonMetadata |
Oui |
Décrit les métadonnées de la section Saison. Requis lorsque WorkType est Épisode ou Saison. |
SeriesMetadata |
AvailSeriesMetadata |
Oui |
Décrit les métadonnées de la section Séries. Requis lorsque WorkType est Épisode ou Saison. |
AvailSeasonMetadata type
Attribut |
Type |
Requis |
Remarques |
SeasonContentID |
Chaîne |
Oui |
ALID pour la saison. |
SeasonTitleInternalAlias |
String[] |
Non |
Nom du titre pour la section Saison. Un seul nom de titre doit être spécifié dans la liste. |
SeasonNumber |
ContentSequenceInfo |
Oui |
Numéro pour cette saison dans la série. |
NumberOfEpisodes |
Integer |
Oui |
Nombre d’épisodes dans cette saison. |
SeriesMetadata |
AvailSeriesMetadata |
Non |
Décrit les métadonnées de la série. Requis quand WorkType est Saison. |
AvailSeriesMetadata type
Attribut |
Type |
Requis |
Remarques |
SeriesContentID |
Chaîne |
Oui |
ALID pour les séries. |
SeriesTitleInternalAlias |
String[] |
Aucun |
Nom de titre pour la section Séries. Un seul nom de titre doit être spécifié dans la liste. |
NumberOfSeasons |
Integer |
Non |
Nombre de saisons dans cette série. |
AvailTrans type
Attribut |
Type |
Requis |
Remarques |
_TransactionID |
Chaîne |
Aucun |
Identifiant unique pour la fenêtre de disponibilité. Requis lors de l’utilisation de PartialExtract. Facultatif lors de l’utilisation de FullExtract. |
LicenseType |
Enum |
Oui |
Valeurs autorisées : SVOD, FVOD, EST, POEST, VOD |
Territory |
Region[] |
Oui |
Territoire où la distribution est autorisée. Un seul élément de territoire doit être fourni. Toutes les transactions au sein d’un seul objet Avail doivent avoir le même territoire. |
Start |
DateTime |
Oui |
Date et heure de début de la distribution au format ISO. |
End |
DateTime |
Non |
Date et heure de fin de distribution au format ISO. Si elles ne sont pas fournies, la distribution a une durée illimitée. |
AssetLanguage |
AssetLanguage[] |
Non |
Langue de l’élément exprimée sous forme de code de langue ISO avec type d’élément. Types d’éléments autorisés : sous-titre, audio, vidéo traduite avec audio, langue étrangère sous-titrée, doublage, VO, mta, tous |
AllowedLanguage |
AssetLanguage[] |
Non |
Code de langue ISO avec type d’élément. Types d’éléments autorisés : sous-titre, audio, vidéo traduite avec audio, langue étrangère sous-titrée, doublage, VO, mta, tous |
HoldbackLanguage |
AssetLanguage[] |
Non |
Code de langue ISO avec type d’élément. Types d’éléments autorisés : sous-titre, audio, vidéo traduite avec audio, langue étrangère sous-titrée, doublage, VO, mta, tous |
LicenseRightsDescription |
Chaîne |
Non |
Utilisé pour spécifier la priorité de publication. |
FormatProfile |
AvailFormatProfile |
Oui |
Qualité de la vidéo disponible. Valeurs autorisées : SD, HD, UHD |
ContractID |
Chaîne |
Non |
Précise les informations contractuelles. Valeurs autorisées : |
Terms |
AvailTerms[] |
Oui |
Spécifie la liste des conditions commerciales pour la fenêtre de disponibilité. |
OtherInstructions |
Chaîne |
Non |
Instructions de traitement supplémentaires pour la fenêtre de disponibilité. |
Region type
Attribut |
Type |
Requis |
Remarques |
country |
Chaîne |
Oui |
Code pays ISO 3166-1 à 2 lettres |
AssetLanguage type
Attribut |
Type |
Requis |
Remarques |
value |
Chaîne |
Oui |
Langue de l’actif exprimée sous forme de code de langue RFC 5646 avec type d’élément. |
_asset |
Chaîne |
Non |
Différents ensembles de valeurs sont autorisés, en fonction de l’attribut de langue du type AvailTrans. Valeurs autorisées pour AvailTrans.AssetLanguage : Valeurs autorisées pour AvailTrans.AllowedLanguage et AvailTrans. HoldbackLanguage : Les éléments “langue étrangère sous-titrée” et “doublage” sont convertis en leur équivalent MDDF “sous-titre” et “audio”. |
AvailFormatProfile type
Attribut |
Type |
Requis |
Remarques |
value |
Enum |
Oui |
Qualité de la vidéo disponible. Valeurs autorisées : SD, HD, UHD |
AvailTerms type
Attribut |
Type |
Requis |
Remarques |
_termName |
Chaîne |
Oui |
Identifie le terme. La valeur ne fait pas la distinction entre majuscules et minuscules. Pour une liste des valeurs autorisées, voir ci-dessous. |
Argent |
Argent |
Non |
Pour plus de détails, voir ci-dessous. |
Texte |
Chaîne |
Non |
Pour plus de détails, voir ci-dessous. |
Event |
DateTime |
Non |
Pour plus de détails, voir ci-dessous. |
Booléen |
Booléen |
Non |
Pour plus de détails, voir ci-dessous. |
Duration |
Chaîne |
Non |
Pour plus de détails, voir ci-dessous. |
Number |
Integer |
Non |
Pour plus de détails, voir ci-dessous. |
Termes pris en charge
Nom du terme |
Attribut |
Requis |
Remarques |
ChannelIdentity |
Texte |
Oui |
Identifiant d’une chaîne ou d’un abonnement. |
Niveau |
Texte |
Conditionnel |
Niveau de tarification. Requis si le type de licence est POEST. |
SRP |
Argent |
Conditionnel |
Prix de vente conseillé. Requis si le type de licence est POEST |
WSP |
Argent |
Conditionnel |
Prix de gros. Requis si le type de licence est POEST |
Catégorie |
Texte |
Conditionnel |
Gamme de prix. Requis si le type de licence est POEST. |
AnnounceDate |
Event |
Non |
Date à laquelle le détaillant est autorisé à annoncer la date de début de disponibilité du titre sur le territoire disponible. |
SuppressionLiftDate |
Event |
Conditionnel |
Première date à laquelle un titre pourrait être annoncé publiquement comme étant disponible à une date future spécifique sur le territoire de disponibilité. Requis si le type de licence est POEST |
RentalDuration |
Duration |
Conditionnel |
Durée de la période de location mentionnée en heures. Requis si le type de licence est SVOD. |
WatchDuration |
Duration |
Conditionnel |
Combien de temps l’utilisateur dispose pour terminer la visualisation une fois commencée, en heures. Requis si le type de licence est SVOD.. |
Download |
Texte |
Non |
La licence inclut l’autorisation de télécharger. Les valeurs valides sont Oui et Non. Lorsque le type de licence est SVOD, la durée de location et la durée de visionnage doivent être spécifiées. |
Exclusive |
Booléen |
Non |
Les éléments sont exclusifs dans le cadre de la transaction. |
ExclusiveAttributes |
Texte |
Non |
Spécifie le type d’exclusivité. Uniquement pris en compte lorsque Exclusif est autorisé. Une valeur par défaut sera utilisée si elle n’est pas fournie lorsque Exclusive est autorisé. |
BrandingRights |
Booléen |
Non |
Indique l’intention du partenaire d’afficher la marque. |
BrandingRightsAttributes |
Texte |
Non |
Spécifie le texte de la marque. Uniquement pris en compte lorsque BrandingRights est autorisé. Une valeur par défaut sera utilisée si elle n’est pas fournie lorsque BrandingRights est autorisé. |
allowAds |
Booléen |
Non |
Détermine si les publicités sont autorisées ou interdites. Ce terme ne peut apparaître qu’une seule fois. |
allowedAdPlacement |
Texte |
Conditionnel |
Spécifie l’emplacement dans le roll où les annonces peuvent être insérées. Les valeurs autorisées sont : PreRoll, MidRoll, PostRoll, Overlays, PauseAds, Squeezebacks. Ce terme peut apparaître plusieurs fois. Soit allowedAdPlacement ou soit prohibitedAdPlacement peut être spécifiée, mais pas les deux.. |
prohibitedAdPlacement |
Texte |
Conditionnel |
Spécifie l’emplacement dans le roll où les publicités ne peuvent pas être insérées. Les valeurs autorisées sont : PreRoll, MidRoll, PostRoll, Overlays, PauseAds, Squeezebacks. Autorisé seulement quand allowAds est autorisé. Soit allowedAdPlacement ou soit prohibitedAdPlacement peut être spécifiée, mais pas les deux. |
cuepointDeliveryAndUsage |
Texte |
Non |
Spécifie les obligations de livraison et d’utilisation des points de repère. Valeurs autorisées : PartnerWillDeliverAndPrimeVideoMustUse, PrimeVideoWillUseIfDelivered, NoDeliveryOrUsageObligations, TalentObligated. Autorisées seulement quand allowAds est autorisé. |
blindBasisSelling |
Texte |
Non |
Valeurs autorisées : GuaranteedImpressions, NoGuaranteedImpressions Cet attribut ne doit être présent que si allowAds est défini sur autorisé. |
sponsorships |
Texte |
Non |
Valeurs autorisées : Permitted, Prohibited, PermittedWithRestrictions. Cet attribut ne doit être présent que si allowAds est défini sur autorisé. |
sponsorshipsRestrictions |
Texte |
Conditionnel |
Texte libre Cet attribut ne doit être présent que si les parrainages sont définis sur AllowedWithRestrictions. |
talentAndAmazonAdGuidelines |
Texte |
Non |
Valeurs autorisées : NoRestrictions, ConsultationRequired Cet attribut ne doit être présent que si allowAds est défini sur autorisé. |
talentRestrictions |
Texte |
Conditionnel |
Texte libre Cet attribut ne doit être présent que si talentAndAmazonAdGuidelines est défini sur ConsultationRequired. |
adLoadLimit |
Texte |
Non |
Nombre de minutes de publicité par heure. La valeur doit être un nombre entier valide Cet attribut ne doit être présent que si allowAds est défini sur autorisé. |
Type d’argent
Attribut |
Type |
Requis |
Remarques |
value |
Décimal |
Non |
Valeur monétaire, requise pour certains types de prix |
_currency |
Chaîne |
Oui |
Code de devise ISO |
ContentSequenceInfo type
Attribut |
Type |
Requis |
Remarques |
Number |
Integer |
Oui |
Numéro de séquence de contenu, tel que le numéro d’épisode ou le numéro de saison |
BusinessLine enumeration
Valeur énumérée |
Description |
TVOD |
TVOD en version achat ou location. Types de licences concernées: EST, VOD, POEST |
PRIME_SUBSCRIPTION |
Abonnement Amazon Prime ou Amazon Kids+ Types de licences concernées : SVOD |
CHANNELS |
Inscription aux chaînes par des tiers. Types de licences concernées : SVOD |
FVOD |
Contenu gratuit. Types de licences associés : FVOD |