Référence API
Voir aussi le Référence API.
Informations générales
URL de base
L'URL de base de l' CMS API est :
https://cms.api.brightcove.com/v1
Chemin du compte
Dans tous les cas, des demandes seront faites pour un Video Cloud compte spécifique. Par conséquent, vous allez toujours ajouter le terme accounts
suivi de votre identifiant de compte à l'URL de base :
https://cms.api.brightcove.com/v1/accounts/{account_id}
Authentification
L'authentification des demandes nécessite Authorization header :
Authorization: Bearer {access_token}
Le access_token
est un jeton d'accès OAuth2 temporaire qui doit être obtenu à partir du Brightcove OAuth service. Pour plus de détails, consultez le Présentation de Brightcove OAuth.
Le moyen le plus simple de créer des informations d'identification client consiste à utiliser les pages d'administration de Brightcove Studio. Pour des instructions détaillées, voir Gestion des informations d'authentification API
Opérations
Lorsque vous demandez des informations d'identification du client, vous devez spécifier le type d'accès au compte ou d'opérations que vous souhaitez. Voici une liste des opérations actuellement prises en charge pour CMS API :
- Données vidéo :
video-cloud/video/read
video-cloud/video/create
video-cloud/video/update
video-cloud/video/delete
ou
video-cloud/video/all
video-cloud/video/assets/delete
(Uniquement nécessaire si vous souhaitez supprimer des masters numériques - notez que vous ne peux pas obtenez cette autorisation lors de la création d'informations d'identification dans Studio. Cela doit être fait via l'API OAuth ou le Exemple d'application créée par Brightcove Learning Services.) - Données de la liste de lecture :
video-cloud/playlist/read
video-cloud/playlist/create
video-cloud/playlist/update
video-cloud/playlist/delete
ou
video-cloud/playlist/all
- Notifications :
video-cloud/notifications/all
(pour Notifications)
Limitation de débit
Cela CMS API fournit un accès en lecture non mis en cache aux données. Ceci est important pour les workflows de publication sensibles au temps, car vous apportez des modifications aux vidéos et aux listes de lecture à l'aide du CMS API et lisez rapidement les données pour vérifier que c'est correct.
Le n' CMS API est pas approprié pour une utilisation d'exécution à grande échelle (par exemple, l'accès à des vidéos sur une page Web publique à trafic élevé). Pour les applications à trafic élevé, vous devez utiliser une interface mise en cache telle que : le Playback API , Galerie, Players ou les SDK natifs.
Pour assurer les performances du Video Cloud système, pas plus de 20 appels simultanés vers le CMS API sont par compte. La fréquence d'accès doit être inférieure à 10 requêtes par seconde.
Si plusieurs applications s'intègrent au compte CMS API pour un compte, ces applications doivent avoir une logique de rétro-off et de nouvelle tentative pour gérer les instances où des limites de concurrence ou des limites de taux sont atteintes.
Si la limite de débit ou de simultanéité est dépassée, un 429 - TOO_MANY_REQUESTS
l'erreur sera renvoyée.
Conflits d'ID de référence
Pour garantir l'unicité des identifiants de référence, l'identifiant CMS API verrouille l'id pendant 3 minutes au maximum après toute opération sur la vidéo à laquelle il est affecté. Cela peut entraîner le retour d'erreurs 409 lorsque vous essayez de réessayer une demande qui échoue trop rapidement, ou lorsque vous essayez de réutiliser un identifiant de référence trop tôt après avoir supprimé la vidéo à laquelle il était précédemment attribué. Voir le Référence des messages d'erreur pour plus de détails.
Limite d'éléments vidéo
Il y a une limite de 1 000 éléments par vidéo. Les ressources comprennent les rendus, les pistes audio, les pistes de texte et les images, ainsi que le master numérique. Les rendus et les images totalisent rarement plus de 10 à 15 éléments, donc même si vous aviez des pistes audio et des pistes de texte séparées pour 150 langues différentes, vous auriez toujours moins de 350 éléments.
Remarques sur l'utilisation
Méthodes
Actuellement, l'API prend en charge les types de requêtes suivants :
GET
POST
PATCH
PUT
DELETE
Paramètres
Notez que tous les paramètres sont optionnel. Sauf indication contraire, elles s'appliquent aux GET
demandes de vidéos et de playlists.
Paramètre | Description |
---|---|
q |
Chaîne de requête pour les recherches - voir Syntaxe de recherche pour plus d'informations |
limit |
Nombre de vidéos à renvoyer - doit être un nombre entier compris entre 1 et 100. Par défaut : 20 |
offset |
Nombre de vidéos à ignorer (pour les résultats de pagination). Doit être un entier positif. Par défaut : 0 |
sort |
Une chaîne qui spécifie le champ à trier. Commencer avec - pour trier par ordre décroissant. Si une valeur pour q est fourni, le tri par défaut est par « score » (pertinence des résultats de la recherche par rapport à la requête d'origine). Si aucune valeur pour q est fourni, le tri par défaut est par updated_at descendant. Les champs suivants sont valides pour le tri : name , reference_id , created_at , published_at , updated_at , schedule_starts_at , schedule_ends_at , state , plays_total , et plays_trailing_week |
Rechercher des vidéos
Brightcove's CMS API fournit un moyen programmatique de rechercher des vidéos dans votre Video Cloud bibliothèque.
Pour effectuer des recherches basiques et complexes sur vos données vidéo, vous utiliserez le q
paramètre:
https://cms.api.brightcove.com/v1/accounts/921483702001/videos?q={search terms}
Pour plus d'informations sur la recherche de vidéos, reportez-vous à la Rechercher des vidéos document.
Pour les listes de lecture, les valeurs prises en charge pour la chaîne de recherche sont plus limitées. Vous pouvez actuellement rechercher par type
, name
, description
, et reference_id
. Voici quelques exemples de recherches valides :
q=type:EXPLICIT
q=type:ACTIVATED_OLDEST_TO_NEWEST
q=type:ALPHABETICAL
q=bears+otters
(le nom, la description ou l'ID de référence doit contenir soit "ours" soit "loutres")q=%2Bname:bears+type:EXPLICIT
(le nom doit contenir "ours")
Voir Rechercher des listes de lecture pour plus de détails.
Résultats de la pagination
Utilisez le limit
paramètre pour spécifier le nombre d'articles que vous souhaitez retourner sur une demande - jusqu'à 100. Vous pouvez alors utiliser le offset
paramètre pour parcourir les ensembles de résultats qui sont plus grands que le limit
. Les offset
est le nombre d'éléments à ignorer.
Par exemple, la recherche suivante renvoie les vidéos 51-75 de l'ensemble de résultats total, en supposant que l'ensemble de résultats total comporte au moins 75 vidéos :
/videos?q=updated_at:2014-01-01..2014-06-30&limit=25&offset=50
Les limit
et offset
Les paramètres peuvent être utilisés à la fois pour les vidéos et les listes de lecture.
Meilleures pratiques de pagination
Étant donné qu'il peut y avoir des opérations de modification simultanées en cours avec l'API CMS, il est recommandé de suivre ces étapes lors de la pagination de votre ensemble de résultats :
- Faire un
count
demande pour obtenir le nombre total de vidéos dans votre ensemble de résultats./accounts/578380111111/counts/videos?q=tags:nature
- Utilisez le
limit
etoffset
paramètres pour renvoyer des groupes de données de votre jeu de résultats./accounts/578380111111/videos?q=tags:nature&limit=20&offset=50
- Notez que certaines pages peuvent contenir moins de 20 vidéos. Vous saurez que vous avez atteint la fin du jeu de résultats lorsque vous aurez demandé autant de vidéos que dans le premier
count
demander.
Pour résumer, continuez à récupérer des pages jusqu'à ce que vous obteniez un nombre de vidéos égal à l'original count
demande, car ce nombre devrait pécher par excès de surestimation. Demander:
count / page-size + 1 page
Tri des résultats vidéo
Utiliser le paramètre sort=field_name
pour spécifier comment les résultats doivent être triés - vous pouvez trier à la fois les vidéos et les listes de lecture. Vous pouvez trier les champs vidéo suivants : [1-1]
name
reference_id
created_at
published_at
updated_at
schedule_starts_at
(attention : c'est le sorte champ - le le champ de recherche estschedule.starts_at
)schedule_ends_at
(attention : c'est le sorte champ - le le champ de recherche estschedule.ends_at
)state
plays_total
[ 1-2]plays_trailing_week
[ 1-2]
Remarques
- [ 1-1] Si vous ne fournissez pas de valeur de tri pour un appel de recherche vidéo, les résultats seront triés par pertinence. Si vous ne fournissez pas de valeur de tri pour un
GET
appel vidéo, les résultats seront triés parupdated_at
descendant. - [ 1-2] Vous pouvez trier sur
plays_total
ouplays_trailing_week
, mais ces champs ne sont pas inclus dans les résultats
Tri des résultats de la liste de lecture
Vous pouvez trier les playlists sur les champs suivants :
name
updated_at
(défaut)
Toutes les vidéos et les grands ensembles de données
Si vous récupérez toutes les vidéos de votre compte, ou un grand nombre de vidéos, vous devez être conscient de certaines choses :
- Vous pourriez être tenté d'utiliser le plus grand permis
limit
(100), mais il est préférable de récupérer les vidéos par lots de 25 ou moins pour minimiser le risque d'expiration des requêtes API - Lorsque vous parcourez de grands ensembles de données, il est possible que les données vidéo soient mises à jour pendant l'opération, ce qui peut entraîner un décalage des éléments dans les réponses :
- Vous pouvez voir un élément répété sur des pages successives
- Un élément peut être manqué, car il est passé à un ensemble de réponses précédent
Pour tenir compte de la première possibilité, votre application doit dédupliquer la liste complète des éléments une fois que vous avez terminé de récupérer les vidéos. Pour gérer la deuxième possibilité, vous devez comparer le nombre total d'éléments récupérés (après déduplication) au nombre que vous attendiez, puis réexécuter les demandes, en triant les résultats par last_modified_date (décroissant) - vous ne devriez pas avoir besoin de récupérer plus d'un lot pour ramasser les articles manqués.
- Vous pouvez réduire la probabilité des scénarios de l'élément précédent en triant les résultats renvoyés de manière appropriée. Le tri par défaut par pertinence pour les recherches est basé sur un algorithme complexe qui recherche des combinaisons de mots-clés, de balises et de valeurs de champs personnalisés. Si vous recherchez des vidéos basées sur plusieurs mots-clés, balises et/ou champs personnalisés, trier par pertinence est exactement ce que vous voulez. Cependant, si vous essayez simplement de récupérer la totalité ou une grande partie de vos vidéos, définissez le paramètre
sort
Le paramètre explicitement vous donnera plus de contrôle sur l'ordre des éléments retournés.
Opérations vidéo
Les opérations vidéo incluent :
- Obtenez un nombre de vidéos ou de résultats de recherche
- Obtenez toutes les vidéos
- Obtenez une ou plusieurs vidéos par identifiant ou identifiant de référence
- Créer, récupérer, mettre à jour et supprimer des vidéos
- Rechercher des vidéos
- Obtenez des sources vidéo, des images et les informations du master numérique
- Obtenir les playlists auxquelles appartient une vidéo
- Supprimer la vidéo de toutes les playlists
Les détails des opérations vidéo peuvent être trouvés dans le Référence API.
Opérations de liste de lecture
Les opérations de liste de lecture incluent :
- Obtenez un nombre de listes de lecture
- Obtenez toutes les listes de lecture
- Créer, mettre à jour et supprimer des listes de lecture
- Obtenez le nombre de vidéos dans une liste de lecture
- Obtenez les vidéos dans une liste de lecture
Les détails des opérations de la liste de lecture peuvent être trouvés dans le Référence API.
Actifs
Les opérations sur les actifs vous permettent de gérer les actifs, y compris les rendus, les manifestes, les images et les pistes de texte. Pour ingérer des actifs, vous devez utiliser le Dynamic Ingest API. le POST
et PATCH
opérations pour le CMS API /assets
peut être utilisé pour ajouter et mettre à jour actifs distants. CMS API Les opérations GET fonctionneront à la fois pour les actifs ingérés et distants.
- Ajouter, mettre à jour ou supprimer des rendus
- Ajouter, mettre à jour ou supprimer une métadonnée pour le master numérique
- Ajouter, mettre à jour ou supprimer des manifestes pour les types de vidéo segmentés tels que HLS
- Ajouter, mettre à jour ou supprimer des affiches et des vignettes
- Ajouter, mettre à jour ou supprimer des pistes de texte WebVTT ou des légendes DFXP
Les détails des opérations sur les actifs peuvent être trouvés dans le Référence API.
Opérations sur le terrain personnalisées
Il existe actuellement une opération de champ personnalisé :
- Obtenez tous les champs personnalisés pour un compte
Les détails des opérations de champ personnalisé peuvent être trouvés dans le Référence API.
Opérations sur les dossiers
Les opérations sur les dossiers vous permettent de :
- Obtenir une liste de dossiers
- Créer, mettre à jour et supprimer des dossiers
- Obtenir une liste de vidéos dans un dossier
- Ajouter une vidéo à un dossier
- Supprimer une vidéo d'un dossier
Les détails des opérations de dossier peuvent être trouvés dans le Référence API.
Notifications
Vous pouvez recevoir des notifications lorsque des video-change
événements se produisent dans votre vidéothèque ou master-video-change
des notifications lorsqu'une vidéo partagée met automatiquement à jour ses ressources une fois que la vidéo principale l'a mise à jour. Les notifications seront envoyées à l'URL spécifiée, qui doit pointer vers une application capable de traiter des requêtes HTTP POST.
Échecs de notification
Le système de notification traite tout retour 4xx ou 5xx du serveur client comme un échec réitérable. Les rappels en échec seront réessayés jusqu'à 20 fois, avec un délai exponentiellement croissant entre les rappels suivants. Les premières tentatives auront lieu quelques minutes après la première tentative de rappel. Si le rappel continue d'échouer et que nous arrivons à la 20e tentative, le délai de nouvelle tentative sera de quelques jours.
Pare-feu
Si votre organisation a une politique stricte concernant les sources de trafic entrant via votre pare-feu, nous autorisons toutes les adresses IP AWS de la région Est. Ceci est sujet à changement, donc toutes les adresses IP AWS doivent être ajoutées à la liste blanche. Voir https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html pour plus d'informations.
Opérations de notification
Les opérations actuellement disponibles pour les notifications sont :
- Créer des abonnements
- Obtenez un ou tous les abonnements
- Supprimer un abonnement
Le détail des opérations de notification se trouve dans le Référence API.