Référence API
Voir aussi le Référence API.
URL de base
L'URL de base de l'API Audience est :
https://audience.api.brightcove.com/v1
Chemin du compte
Dans tous les cas, des demandes seront faites pour un Nuage vidéo Compte. Vous devrez toujours ajouter le terme « comptes » suivi de votre identifiant de compte à l'URL de base :
https://audience.api.brightcove.com/v1/accounts/{account_id}
Authentification
L'API Audience utilise le Brightcove Service OAuth pour authentifier les appels.
Vous devrez d'abord obtenir les informations d'identification du client (un client_id
et client_secret
). Il s'agit d'une opération unique qui peut être effectuée à l'aide du Interface utilisateur des informations d'identification OAuth. Vous aurez besoin d'autorisations pour les opérations d'audience/lecture :
Vous pouvez obtenir les informations d'identification du client directement à partir du service Brightcove OAuth en utilisant boucle ou Facteur.
Vous aurez également besoin d'un access_token
, qui est obtenu en utilisant le client_id
et client_secret
et transmis dans un en-tête d'autorisation avec votre requête API :
Authorization: Bearer {access_token}
Les access_token
expire après cinq minutes, vous devez donc en obtenir un pour chaque demande, ou vérifier que votre token est toujours valide. Voir Obtenir des jetons d'accès pour une explication détaillée de la façon d'obtenir des jetons d'accès, y compris des exemples de code.
La gestion des erreurs
Si une erreur se produit, l'API répondra avec l'un des codes d'état suivants et un code d'erreur correspondant dans le corps de la réponse :
Code d'état | Code d'erreur | Description |
---|---|---|
400 | BAD_REQUEST_ERROR |
Les paramètres de requête ne sont pas valides |
401 | UNAUTHORIZED_ERROR |
Le jeton d'accès est soit absent, a expiré ou n'est pas valide |
404 | RESOURCE_NOT_FOUND |
L'URL n'existe pas |
429 | REQUEST_THROTTLED_ERROR |
L'utilisateur a dépassé la politique de limitation de débit |
500 | INTERNAL_ERROR |
une erreur interne s'est produite |
504 | GATEWAY_TIMEOUT_ERROR |
Le serveur a expiré lors de l'exécution de votre demande |
Voici un exemple de corps de réponse pour une erreur :
[
{
"error_code": "UNAUTHORIZED_ERROR",
"message": "Permission denied"
}
]
Paramètres
Vous pouvez ajouter plusieurs paramètres aux requêtes pour limiter et filtrer les données récupérées. Celles-ci s'appliquent à tous les types de requêtes décrits dans les sections qui suivent.
Filtrage des résultats
Vous pouvez filtrer les résultats en utilisant le where
paramètre. La syntaxe des filtres est :
where=field1==value1;field2==value2
Par exemple :
where=video_id==123456789;video_name==test
Les virgules sont traitées comme des OU logiques et les points-virgules comme des ET logiques. Par exemple, where=video_id==1234,5678;video_name=test
est interprété comme "où video_id = 1234 OU 5678, AND video_name = test".
Sélection des champs à retourner
Une liste de champs peut être spécifiée dans la demande pour limiter les résultats à ce sous-ensemble de champs. La syntaxe des champs est :
fields=field1,field4
Par exemple :
fields=video_id,video_name
Les champs que vous pouvez filtrer et trier sont détaillés pour chaque type de demande dans les sections qui suivent.
Plages de dates
Les plages de dates peuvent être spécifiées dans from
et to
paramètres et sont appliqués à la date à laquelle l'événement de vue a été mis à jour pour la dernière fois (le champ updated_at). Les plages de dates peuvent être indiquées dans les formats suivants :
- La valeur du texte
now
qui représente l'heure actuelle - Valeurs de temps d'époque en millisecondes, telles que
1377047323000
- Dates exprimées au format de date international standard ISO 8601 :
YYYY-MM-DD
format, tel que2013-09-12
. Pour les dates exprimées dans ce format :- Toute plage de dates spécifiée sera interprétée en UTC
- L'heure de la date donnée sera interprétée comme minuit (
00:00:00
) à la date spécifiée
- Dates relatives : vous pouvez exprimer l'une ou l'autre des
to
etfrom
valeurs par rapport à l'autre dansd
(jours),h
(les heures),m
(minutes), ous
(seconde). Par exemple :from=2015-01-01&to=31d
from=-48h&to=now
from=-2d&to=now
(donnera les mêmes résultats que l'exemple précédent)from=-365d&to=2015-12-31
from=-10m&to=now
Résultats de la pagination
Les limit
est le nombre d'articles à retourner (par défaut : 25 ; maximum : 200). offset
est le nombre d'éléments à ignorer (par défaut : 0). Vous pouvez utiliser limit
et offset
ensemble pour créer une application qui parcourt les résultats. Chacun comprend le limit
, offset
, et count.
, que vous pouvez utiliser pour configurer l'itération sur les résultats totaux. Par exemple, en JavaScript, vous pouvez obtenir le nombre total d'itérations requises comme ceci :
// response is the JSON-parsed response from the first request
var totalRequests = Math.ceil(response.count / response.limit)
Récupération des événements de vue
Pour récupérer les événements de vue dans un compte, effectuez une GET
requête à la ressource view_events :
https://audience.api.brightcove.com/v1/accounts/{account_id}/view_events
Voici un exemple de requête en cURL
curl -i https://audience.api.brightcove.com/v1/accounts/{account_id}/view_events?where=video_id==123&from=-5d&to=now&sort=-created_at \
-H "Authorization: Bearer {token}"
Exemple de réponse
{
"count": 27,
"limit": 25,
"offset": 0,
"result": [
{
"created_at": "2016-04-25T18:30:21.651Z",
"page_url": "https://players.brightcove.net/1486906377/V1s6NOwRx_default/index.html?videoId=4842718056001",
"player_id": "V1s6NOwRx",
"time_watched": 2,
"updated_at": "2016-04-25T18:30:21.651Z",
"video_id": "4842718056001",
"video_name": "Horses Heading to the Track",
"watched": 19
},
{
"created_at": "2016-04-25T18:31:55.071Z",
"page_url": "https://players.brightcove.net/1486906377/BkgFuzyhg_default/index.html?videoId=4842718056001",
"player_id": "BkgFuzyhg",
"time_watched": 15,
"updated_at": "2016-04-25T18:32:00.879Z",
"video_id": "4842718056001",
"video_name": "Horses Heading to the Track",
"watched": 99
}, ...
}
]
Champs de filtrage et de sélection
Tous les paramètres peut être utilisé avec view_event
demandes.
Voici un exemple de requête dans cURL en utilisant les paramètres :
curl -i https://audience.api.brightcove.com/v1/accounts/{account_id}/view_events?where=video_id==123&from=-5d&to=now&sort=-created_at \
-H "Authorization: Bearer {token}"
Les champs suivants sont pris en charge pour view_event
requêtes lors du filtrage avec un where
clause ou lors d'une sélection lors d'une fields
clause:
Champ | Description |
---|---|
video_id |
ID vidéo Brightcove |
video_name |
Nom de la vidéo Brightcove |
tracking_id |
Identifiant de suivi personnalisé |
external_id |
Le Marketo, Eloqua ou GUID personnalisé |
player_id |
L'ID du lecteur Brightcove qui a créé l'événement de vue |
page_url |
L'URL de la page où l'événement de vue a été créé |
watched |
Pourcentage regardé |
time_watched |
Secondes de la vidéo regardée |
created_at |
Date de création |
updated_at |
Date de dernière mise à jour |
is_synced |
Un booléen indiquant si l'événement de vue a été synchronisé ou non |
event_1 |
Événements personnalisés |
event_2 |
|
event_3 |
|
metric_1 |
Métriques personnalisées |
metric_2 |
|
metric_3 |
Récupérer des prospects
Pour récupérer les événements de vue dans un compte, effectuez une GET
demande au view_events
Ressource:
https://audience.api.brightcove.com/v1/accounts/{account_id}/leads
Réponse de l'échantillon :
{
"count": 2,
"limit": 25,
"offset": 0,
"result": [
{
"created_at": "2016-06-30T12:57:11.283Z",
"email_address": "bbailey@brightcove.com",
"first_name": "Bob",
"last_name": "Bailey",
"page_url": "https://players.brightcove.net/1486906377/Hk4TBqzL_default/index.html?videoId=4997275041001",
"player_id": "Hk4TBqzL",
"video_id": "4997275041001"
},
{
"created_at": "2016-06-30T12:57:33.301Z",
"email_address": "rcrooks@brightcove.com",
"first_name": "Robert",
"last_name": "Crooks",
"page_url": "https://players.brightcove.net/1486906377/Hk4TBqzL_default/index.html?videoId=4997275041001",
"player_id": "Hk4TBqzL",
"video_id": "4997275041001"
}
]
}
Champs de filtrage et de sélection
Tous les paramètres peut être utilisé avec leads
demandes.
Voici un exemple de requête dans cURL en utilisant les paramètres :
curl -i https://audience.api.brightcove.com/v1/accounts/{account_id}/leads?where=video_id==123&from=-5d&to=now&sort=-created_at \
-H "Authorization: Bearer {token}"
Les champs suivants sont pris en charge pour leads
requêtes lors du filtrage avec un where
clause ou lors d'une sélection lors d'une fields
clause:
Champ | Description |
---|---|
video_id |
ID vidéo Brightcove |
external_id |
Le Marketo, Eloqua ou GUID personnalisé |
player_id |
L'ID du lecteur Brightcove qui a créé l'événement de vue |
page_url |
L'URL de la page où l'événement de vue a été créé |
created_at |
Date de création |
email_address |
L'adresse e-mail du prospect |
first_name |
Le prénom du lead s'il est fourni |
last_name |
Le nom de famille du prospect s'il est fourni |
business_phone |
Le numéro de téléphone du prospect si fourni |
country |
Le pays du responsable s'il est fourni |
company_name |
La société du chef de file si elle est fournie |
industry |
L'industrie à laquelle appartient le plomb s'il est fourni |