Aperçu
Pour faciliter le débogage des publicités côté serveur, Dynamic Delivery with SSAI fournit des points de terminaison d'API pour suivre les appels d'annonces.
Pour déboguer des publicités côté serveur avec votre contenu vidéo stocké dans Video Cloud, procédez comme suit :
Informations générales
Les informations suivantes concernent toutes les demandes d'API SSAI.
URL de base
L'URL de base de l'API SSAI est :
https://ssai.api.brightcove.com/v1
Chemin du compte
Dans tous les cas, des demandes seront faites pour un Nuage vidéo Compte. Par conséquent, vous allez toujours ajouter le terme accounts
suivi de votre identifiant de compte à l'URL de base :
https://ssai.api.brightcove.com/v1/accounts/your account id
Autorisation
Les requêtes API nécessitent un en-tête Authorization :
Authorization: Bearer your access token
Le access_token
est un jeton d'accès OAuth2 temporaire qui doit être obtenu à partir du service Brightcove OAuth. Pour plus de détails sur la façon d'obtenir les informations d'identification client et de les utiliser pour récupérer des jetons d'accès, consultez le Présentation de Brightcove OAuth.
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 l'API SSAI :
- Données SSAI :
video-cloud/ssai/read
video-cloud/ssai/all
Exécuter une trace pour une configuration d'annonce
Pour exécuter un suivi d'une configuration publicitaire, procédez comme suit :
Collecter des informations
Recueillez les informations suivantes pour le corps de votre demande d'API :
Paramètre | Type | Description |
---|---|---|
account_id |
Chaîne | Identifiant du compte utilisateur |
playback_config |
Objet | Les champs sont définis dans le Détails du champ de configuration section du document de l'API SSAI. |
title_metadata |
Objet | Indique au système la durée de votre contenu afin de générer la bonne réponse publicitaire. Par exemple, ce qui suit indique au système que le contenu dure 1 minute. Ceci est utilisé pour insérer des annonces en conséquence.
|
videocloud_metadata |
Objet | Facultatif. Nécessaire uniquement si vous utilisez des variables de modèle qui référencent des champs de métadonnées. Ceux-ci sont définis dans le Variables d'annonce section du document de l'API SSAI. |
Requête
Créez une trace pour une configuration d'annonce SSAI.
Méthode | POST |
---|---|
URL | https://ssai.api.brightcove.com/v1/accounts/{account_id}/ssai_debug_vmap/debug.xml |
Headers | Authorization: Porteur access_token (voir Obtenir des jetons d'accès) |
Type de contenu : application/json | |
Corps de l'échantillon |
|
Réponse
La réponse body
se compose de la réponse du serveur publicitaire qui inclurait la réponse VAST ou l'équivalent du serveur publicitaire.
Réponse de l'échantillon :
<?xml version="1.0" encoding="UTF-8" ?>
<vmap:VMAP xmlns:bc="bc" xmlns:vmap="http://www.iab.net/vmap-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
<vmap:Extensions>
<bc:Brightcove ttl="1800" contenturi="https://ssaiplayback.us-east-1.prod.boltdns.net/playback/once/v1/hls/v5/clear/1752604059001/debug/debug/195b46a6-f71b-432d-af0a-60c7f2131a7e/debug.m3u8?bc_token=NWIxNmQ4YWFfMzMwMzllMzIwMmZlYjRkNmJhY2ZkMWZiN2Y2NGQwOWVkZTYxYTBiOThhZmEwMTdkZjc5NjEzNGFkZDdiYTFjYw%3D%3D"
contentlength="39.0000" payloadlength="67.0000" contenttype="application/x-mpegURL"></bc:Brightcove>
<bc:BrightcoveDebug sessionID="195b46a6-f71b-432d-af0a-60c7f2131a7e"></bc:BrightcoveDebug>
</vmap:Extensions>
<vmap:AdBreak breakType="linear" breakId="MidRoll_5_0" timeOffset="00:00:05.0000">
<vmap:AdSource allowMultipleAds="true" followRedirects="true" id="0">
<vmap:VASTData>
<VAST xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Ad id="2">
<InLine>
<AdSystem>Test Ad Server</AdSystem>
<AdTitle>
 Marketing
</AdTitle>
<Description>
 Demo ad number 4
</Description>
<Error>
 
</Error>
<Creatives>
<Creative>
<Linear skipoffset="00:00:05">
<CreativeExtensions>
<CreativeExtension>
<BrightcoveForeignKey>2</BrightcoveForeignKey>
</CreativeExtension>
</CreativeExtensions>
<Duration>00:00:12.0000</Duration>
<AdParameters>
 <xml></xml>
</AdParameters>
<VideoClicks></VideoClicks>
</Linear>
</Creative>
</Creatives>
<Extensions>
<Extension>
<xml>data</xml>
</Extension>
</Extensions>
</InLine>
</Ad>
</VAST>
</vmap:VASTData>
</vmap:AdSource>
</vmap:AdBreak>
...// additional ad breaks
</vmap:VMAP>
Request2 - utilisation de variables de modèle
Créez une trace publicitaire SSAI, dans laquelle vous utilisez des variables de modèle qui référencent des champs de métadonnées.
Méthode | POST |
---|---|
URL | https://ssai.api.brightcove.com/v1/accounts/{account_id}/ssai_debug_vmap/debug.xml |
Headers | Authorization: Porteur access_token (voir Obtenir des jetons d'accès) |
Type de contenu : application/json | |
Corps de l'échantillon |
|
Réponse 2
Réponse de l'échantillon :
<vmap:VMAP xmlns:bc="bc" xmlns:vmap="http://www.iab.net/vmap-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
<vmap:Extensions>
<bc:Brightcove ttl="1800" contenturi="https://ssaiplayback.us-east-1.qa.boltdns.net/playback/once/v1/hls/v5/clear/accoutn_debug/debug/debug/7592e9c3-214f-4c68-a576-1e2494b7be06/debug.m3u8" contentlength="10.0000" payloadlength="70.0000" contenttype="application/x-mpegURL"></bc:Brightcove>
<bc:BrightcoveDebug sessionID="7592e9c3-214f-4c68-a576-1e2494b7be06"></bc:BrightcoveDebug>
</vmap:Extensions>
<vmap:AdBreak breakType="linear" breakId="PreRoll_0_0" timeOffset="start">
<vmap:AdSource allowMultipleAds="true" followRedirects="true" id="0">
<vmap:VASTData>
<VAST xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Ad id="test-01-30s">
<InLine>
<AdSystem>BIAS</AdSystem>
<AdTitle>test-01-30s</AdTitle>
<Creatives>
<Creative>
<Linear>
<CreativeExtensions>
<CreativeExtension>
<BrightcoveForeignKey>test-01-30s</BrightcoveForeignKey>
</CreativeExtension>
</CreativeExtensions>
<Duration>00:00:30.0000</Duration>
<TrackingEvents>
<Tracking event="mute">https://solutions.brightcove.com/beacon?event=mute&type=vast&request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&ad_id=test-01-30s</Tracking>
<Tracking event="unmute">https://solutions.brightcove.com/beacon?event=unmute&type=vast&request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&ad_id=test-01-30s</Tracking>
<Tracking event="rewind">https://solutions.brightcove.com/beacon?event=rewind&type=vast&request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&ad_id=test-01-30s</Tracking>
<Tracking event="pause">https://solutions.brightcove.com/beacon?event=pause&type=vast&request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&ad_id=test-01-30s</Tracking>
<Tracking event="resume">https://solutions.brightcove.com/beacon?event=resume&type=vast&request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&ad_id=test-01-30s</Tracking>
<Tracking event="fullscreen">https://solutions.brightcove.com/beacon?event=fullscreen&type=vast&request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&ad_id=test-01-30s</Tracking>
<Tracking event="acceptInvitation">https://solutions.brightcove.com/beacon?event=acceptInvitation&type=vast&request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&ad_id=test-01-30s</Tracking>
</TrackingEvents>
<VideoClicks>
<ClickThrough id="clickthrough">https://www.brightcove.com/en/</ClickThrough>
<ClickTracking id="43a0e4a5-4420-11e8-b306-99b1b6ae5164"></ClickTracking>
</VideoClicks>
</Linear>
</Creative>
</Creatives>
</InLine>
</Ad>
</VAST>
</vmap:VASTData>
</vmap:AdSource>
</vmap:AdBreak>
...// additional ad breaks
</vmap:VMAP>
Récupérer les détails de la trace
Une fois que vous avez exécuté une trace publicitaire comme indiqué dans la section précédente, vous pouvez récupérer des informations détaillées sur la trace à l'aide de l'ID de session.
Le session_id
spécifie la session de mise en cache. Chaque session a sa propre durée en fonction de la longueur du contenu vidéo. Vous pouvez obtenir l'ID à partir de la réponse à l'appel d'API à l'étape précédente.
L'identifiant de session se trouve dans les réponses VMAP de la section précédente. Voici un exemple :
<bc:BrightcoveDebug sessionID="your session id"></bc:BrightcoveDebug>
Requête
Pour récupérer les informations de suivi des appels d'annonces en fournissant un identifiant de session, utilisez une requête GET similaire à la suivante :
Méthode | AVOIR |
---|---|
URL | https://ssai.api.brightcove.com/v1/accounts/{identifiant de compte} ssai_traces /{ID de session} ad_calls |
Headers | Authorization: Porteur access_token (voir Obtenir des jetons d'accès) |
Type de contenu : application/json |
Réponse
Réponse de l'échantillon :
{
"ad_calls": [
{
"timestamp": "2019-01-29T16:25:57.775607279Z",
"duration_ms": 2772.666305,
"request": {
"content_length": 0,
"event": "request",
"headers": {
"Referer": [
""
],
"User-Agent": [
"insomnia/6.3.2"
],
"X-Device-User-Agent": [
"insomnia/6.3.2"
],
"X-Forwarded-For": [
"108.26.214.36, 3.89.139.168"
]
},
"method": "GET",
"url": "https://solutions.brightcove.com/bcls/brightcove-player/vmap/simple-vmap.xml"
},
"response": {
"content_length": -1,
"event": "response",
"headers": {
"Accept-Ranges": [
"bytes"
],
"Access-Control-Allow-Credentials": [
"true"
],
"Access-Control-Allow-Headers": [
"X-Requested-With"
],
"Access-Control-Allow-Origin": [
"*"
],
"Content-Type": [
"application/xml"
],
"Date": [
"Tue, 29 Jan 2019 16:25:57 GMT"
],
"Etag": [
"\"13d6-57baaddddeea0-gzip\""
],
"Last-Modified": [
"Tue, 27 Nov 2018 19:58:00 GMT"
],
"Server": [
"Apache/2.4.7 (Ubuntu)"
],
"Vary": [
"Accept-Encoding"
]
},
"status_code": 200
},
"body": "PHZtYXA6Vk1BUCB4bWxuczp2bWFwPSJodHRwOi8vd3d3LmlhYi5uZXQvdmlkZW9zdWl0ZS92bWFwIiB2ZXJzaW9uPSIxLjAiPgoKICA8dm1hcDpBZEJyZWFrIHRpbWVPZmZzZXQ9InN0YXJ0IiBicmVha1R5cGU9ImxpbmVhciIgYnJlYWtJZD0icHJlcm9sbCI+CiAgICA8dm1hcDpBZFNvdXJjZSBpZD0icHJlcm9sbC1hZCIgYWxsb3dNdWx0aXBsZUFkcz0iZmFsc2UiIGZvbGxvd1JlZGlyZWN0cz0idHJ1ZSI+CiAgICAgIDx2bWFwOlZBU1RBZERhdGE+CiAgICAgICAgPFZBU1QgdmVyc2lvbj0iMy4wIj4KICAgICAgICAgIDxBZCBpZD0iMSI+CiAgICAgICAgICAgIDxJbkxpbmU+CiAgICAgICAgICAgICAgPEFkU3lzdGVtIHZlcnNpb249IjEuMCI+VGVzdCBBZCBTZXJ2ZXI8L0FkU3lzdGVtPgogICAgICAgICAgICAgIDxBZFRpdGxlPgogICAgICAgICAgICAgICAgPCFbQ0RBVEFbUG9ydGFsc11dPgogICAgICAgICAgICAgIDwvQWRUaXRsZT4KICAgICAgICAgICAgICA8RGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICA8IVtDREFUQVtEZW1vIGFkIG51bWJlciA2XV0+CiAgICAgICAgICAgICAgPC9EZXNjcmlwdGlvbj4KICAgICAgICAgICAgICA8RXJyb3I+CiAgICAgICAgICAgICAgICA8IVtDREFUQVtdXT4KICAgICAgICAgICAgICA8L0Vycm9yPgogICAgICAgICAgICAgIDxDcmVhdGl2ZXM+CiAgICAgICAgICAgICAgICA8Q3JlYXRpdmU+CiAgICAgICAgICAgICAgICAgIDxMaW5lYXI+CiAgICAgICAgICAgICAgICAgICAgPER1cmF0aW9uPjAwOjAwOjg8L0R1cmF0aW9uPgogICAgICAgICAgICAgICAgICAgIDxUcmFja2luZ0V2ZW50cy8+CiAgICAgICAgICAgICAgICAgICAgPEFkUGFyYW1ldGVycz4KICAgICAgICAgICAgICAgICAgICAgIDwhW0NEQVRBWzx4bWw+PC94bWw+XV0+CiAgICAgICAgICAgICAgICAgICAgPC9BZFBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgICAgICAgPFZpZGVvQ2xpY2tzLz4KICAgICAgICAgICAgICAgICAgICA8TWVkaWFGaWxlcz4KICAgICAgICAgICAgICAgICAgICAgIDxNZWRpYUZpbGUgdHlwZT0idmlkZW8vbXA0IiB3aWR0aD0iMTI4MCIgaGVpZ2h0PSI3MjAiIGRlbGl2ZXJ5PSJwcm9ncmVzc2l2ZSIgaWQ9IjIiIGJpdHJhdGU9IjQzMTYiIG1pbkJpdHJhdGU9IjMyMCIgbWF4Qml0cmF0ZT0iMzIwIiBzY2FsYWJsZT0idHJ1ZSIgbWFpbnRhaW5Bc3BlY3RSYXRpbz0idHJ1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhW0NEQVRBW2h0dHBzOi8vc29sdXRpb25zLmJyaWdodGNvdmUuY29tL2JjbHMvYWRzL2JjLWFkcy9iY2xzLWFkLTYtNXNlY29uZHMubXA0XV0+CiAgICAgICAgICAgICAgICAgICAgICA8L01lZGlhRmlsZT4KICAgICAgICAgICAgICAgICAgICA8L01lZGlhRmlsZXM+CiAgICAgICAgICAgICAgICAgIDwvTGluZWFyPgogICAgICAgICAgICAgICAgPC9DcmVhdGl2ZT4KICAgICAgICAgICAgICA8L0NyZWF0aXZlcz4KICAgICAgICAgICAgICA8RXh0ZW5zaW9ucz4KICAgICAgICAgICAgICAgIDxFeHRlbnNpb24+CiAgICAgICAgICAgICAgICAgIDx4bWw+ZGF0YTwveG1sPgogICAgICAgICAgICAgICAgPC9FeHRlbnNpb24+CiAgICAgICAgICAgICAgPC9FeHRlbnNpb25zPgogICAgICAgICAgICA8L0luTGluZT4KICAgICAgICAgIDwvQWQ+CiAgICAgICAgPC9WQVNUPgogICAgICA8L3ZtYXA6VkFTVEFkRGF0YT4KICAgIDwvdm1hcDpBZFNvdXJjZT4KICA8L3ZtYXA6QWRCcmVhaz4KCiAgPHZtYXA6QWRCcmVhayB0aW1lT2Zmc2V0PSIwMDowMDowNSIgYnJlYWtUeXBlPSJsaW5lYXIiIGJyZWFrSWQ9Im1pZHJvbGwiPgogICAgPHZtYXA6QWRTb3VyY2UgaWQ9Im1pZHJvbGwtYWQiIGFsbG93TXVsdGlwbGVBZHM9ImZhbHNlIiBmb2xsb3dSZWRpcmVjdHM9InRydWUiPgogICAgICA8dm1hcDpWQVNUQWREYXRhPgogICAgICAgIDxWQVNUIHZlcnNpb249IjMuMCI+CiAgICAgICAgICA8QWQgaWQ9IjIiPgogICAgICAgICAgICA8SW5MaW5lPgogICAgICAgICAgICAgIDxBZFN5c3RlbSB2ZXJzaW9uPSIxLjAiPlRlc3QgQWQgU2VydmVyPC9BZFN5c3RlbT4KICAgICAgICAgICAgICA8QWRUaXRsZT4KICAgICAgICAgICAgICAgIDwhW0NEQVRBW01hcmtldGluZ11dPgogICAgICAgICAgICAgIDwvQWRUaXRsZT4KICAgICAgICAgICAgICA8RGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICA8IVtDREFUQVtEZW1vIGFkIG51bWJlciA0XV0+CiAgICAgICAgICAgICAgPC9EZXNjcmlwdGlvbj4KICAgICAgICAgICAgICA8RXJyb3I+CiAgICAgICAgICAgICAgICA8IVtDREFUQVtdXT4KICAgICAgICAgICAgICA8L0Vycm9yPgogICAgICAgICAgICAgIDxDcmVhdGl2ZXM+CiAgICAgICAgICAgICAgICA8Q3JlYXRpdmU+CiAgICAgICAgICAgICAgICAgIDxMaW5lYXIgc2tpcG9mZnNldD0iMDA6MDA6MDUiPgogICAgICAgICAgICAgICAgICAgIDxEdXJhdGlvbj4wMDowMDoxMjwvRHVyYXRpb24+CiAgICAgICAgICAgICAgICAgICAgPFRyYWNraW5nRXZlbnRzLz4KICAgICAgICAgICAgICAgICAgICA8QWRQYXJhbWV0ZXJzPgogICAgICAgICAgICAgICAgICAgICAgPCFbQ0RBVEFbPHhtbD48L3htbD5dXT4KICAgICAgICAgICAgICAgICAgICA8L0FkUGFyYW1ldGVycz4KICAgICAgICAgICAgICAgICAgICA8VmlkZW9DbGlja3MvPgogICAgICAgICAgICAgICAgICAgIDxNZWRpYUZpbGVzPgogICAgICAgICAgICAgICAgICAgICAgPE1lZGlhRmlsZSB0eXBlPSJ2aWRlby9tcDQiIHdpZHRoPSIxMjgwIiBoZWlnaHQ9IjcyMCIgZGVsaXZlcnk9InByb2dyZXNzaXZlIiBpZD0iMyIgYml0cmF0ZT0iMzAyNiIgbWluQml0cmF0ZT0iMzIwIiBtYXhCaXRyYXRlPSIzMjAiIHNjYWxhYmxlPSJ0cnVlIiBtYWludGFpbkFzcGVjdFJhdGlvPSJ0cnVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPCFbQ0RBVEFbaHR0cHM6Ly9zb2x1dGlvbnMuYnJpZ2h0Y292ZS5jb20vYmNscy9hZHMvYmMtYWRzL2JjbHMtYWQtNC0xMnNlY29uZHMubXA0XV0+CiAgICAgICAgICAgICAgICAgICAgICA8L01lZGlhRmlsZT4KICAgICAgICAgICAgICAgICAgICA8L01lZGlhRmlsZXM+CiAgICAgICAgICAgICAgICAgIDwvTGluZWFyPgogICAgICAgICAgICAgICAgPC9DcmVhdGl2ZT4KICAgICAgICAgICAgICA8L0NyZWF0aXZlcz4KICAgICAgICAgICAgICA8RXh0ZW5zaW9ucz4KICAgICAgICAgICAgICAgIDxFeHRlbnNpb24+CiAgICAgICAgICAgICAgICAgIDx4bWw+ZGF0YTwveG1sPgogICAgICAgICAgICAgICAgPC9FeHRlbnNpb24+CiAgICAgICAgICAgICAgPC9FeHRlbnNpb25zPgogICAgICAgICAgICA8L0luTGluZT4KICAgICAgICAgIDwvQWQ+CiAgICAgICAgPC9WQVNUPgogICAgICA8L3ZtYXA6VkFTVEFkRGF0YT4KICAgIDwvdm1hcDpBZFNvdXJjZT4KICA8L3ZtYXA6QWRCcmVhaz4KCiAgPHZtYXA6QWRCcmVhayB0aW1lT2Zmc2V0PSJlbmQiIGJyZWFrVHlwZT0ibGluZWFyIiBicmVha0lkPSJwb3N0cm9sbCI+CiAgICA8dm1hcDpBZFNvdXJjZSBpZD0icG9zdHJvbGwtYWQiIGFsbG93TXVsdGlwbGVBZHM9ImZhbHNlIiBmb2xsb3dSZWRpcmVjdHM9InRydWUiPgogICAgICA8dm1hcDpWQVNUQWREYXRhPgogICAgICAgIDxWQVNUIHZlcnNpb249IjMuMCI+CiAgICAgICAgICA8QWQgaWQ9IjMiPgogICAgICAgICAgICA8SW5MaW5lPgogICAgICAgICAgICAgIDxBZFN5c3RlbSB2ZXJzaW9uPSIxLjAiPlRlc3QgQWQgU2VydmVyPC9BZFN5c3RlbT4KICAgICAgICAgICAgICA8QWRUaXRsZT4KICAgICAgICAgICAgICAgIDwhW0NEQVRBW0JyYW5kXV0+CiAgICAgICAgICAgICAgPC9BZFRpdGxlPgogICAgICAgICAgICAgIDxEZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgIDwhW0NEQVRBW0RlbW8gYWQgbnVtYmVyIDFdXT4KICAgICAgICAgICAgICA8L0Rlc2NyaXB0aW9uPgogICAgICAgICAgICAgIDxFcnJvcj4KICAgICAgICAgICAgICAgIDwhW0NEQVRBW11dPgogICAgICAgICAgICAgIDwvRXJyb3I+CiAgICAgICAgICAgICAgPENyZWF0aXZlcz4KICAgICAgICAgICAgICAgIDxDcmVhdGl2ZT4KICAgICAgICAgICAgICAgICAgPExpbmVhcj4KICAgICAgICAgICAgICAgICAgICA8RHVyYXRpb24+MDA6MDA6MDg8L0R1cmF0aW9uPgogICAgICAgICAgICAgICAgICAgIDxUcmFja2luZ0V2ZW50cy8+CiAgICAgICAgICAgICAgICAgICAgPEFkUGFyYW1ldGVycz4KICAgICAgICAgICAgICAgICAgICAgIDwhW0NEQVRBWzx4bWw+PC94bWw+XV0+CiAgICAgICAgICAgICAgICAgICAgPC9BZFBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgICAgICAgPFZpZGVvQ2xpY2tzLz4KICAgICAgICAgICAgICAgICAgICA8TWVkaWFGaWxlcz4KICAgICAgICAgICAgICAgICAgICAgIDxNZWRpYUZpbGUgdHlwZT0idmlkZW8vbXA0IiB3aWR0aD0iMTI4MCIgaGVpZ2h0PSI3MjAiIGRlbGl2ZXJ5PSJwcm9ncmVzc2l2ZSIgaWQ9IjQiIGJpdHJhdGU9IjIxMTUiIG1pbkJpdHJhdGU9IjMyMCIgbWF4Qml0cmF0ZT0iMzIwIiBzY2FsYWJsZT0idHJ1ZSIgbWFpbnRhaW5Bc3BlY3RSYXRpbz0idHJ1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhW0NEQVRBW2h0dHBzOi8vc29sdXRpb25zLmJyaWdodGNvdmUuY29tL2JjbHMvYWRzL2JjLWFkcy9iY2xzLWFkLTEtOHNlY29uZHMubXA0XV0+CiAgICAgICAgICAgICAgICAgICAgICA8L01lZGlhRmlsZT4KICAgICAgICAgICAgICAgICAgICA8L01lZGlhRmlsZXM+CiAgICAgICAgICAgICAgICAgIDwvTGluZWFyPgogICAgICAgICAgICAgICAgPC9DcmVhdGl2ZT4KICAgICAgICAgICAgICA8L0NyZWF0aXZlcz4KICAgICAgICAgICAgICA8RXh0ZW5zaW9ucz4KICAgICAgICAgICAgICAgIDxFeHRlbnNpb24+CiAgICAgICAgICAgICAgICAgIDx4bWw+ZGF0YTwveG1sPgogICAgICAgICAgICAgICAgPC9FeHRlbnNpb24+CiAgICAgICAgICAgICAgPC9FeHRlbnNpb25zPgogICAgICAgICAgICA8L0luTGluZT4KICAgICAgICAgIDwvQWQ+CiAgICAgICAgPC9WQVNUPgogICAgICA8L3ZtYXA6VkFTVEFkRGF0YT4KICAgIDwvdm1hcDpBZFNvdXJjZT4KICA8L3ZtYXA6QWRCcmVhaz4KCjwvdm1hcDpWTUFQPgo=",
"creatives": null,
"errors": null
}
]
}
Vous pouvez utiliser un outil comme BASE64 pour rendre le corps de la réponse lisible.
Exemple de corps de réponse décodé :
<vmap:VMAP xmlns:vmap="http://www.iab.net/videosuite/vmap" version="1.0">
<vmap:AdBreak timeOffset="start" breakType="linear" breakId="preroll">
<vmap:AdSource id="preroll-ad" allowMultipleAds="false" followRedirects="true">
<vmap:VASTAdData>
<VAST version="3.0">
<Ad id="1">
<InLine>
<AdSystem version="1.0">Test Ad Server</AdSystem>
<AdTitle>
<![CDATA[Portals]]>
</AdTitle>
<Description>
<![CDATA[Demo ad number 6]]>
</Description>
<Error>
<![CDATA[]]>
</Error>
<Creatives>
<Creative>
<Linear>
<Duration>00:00:8</Duration>
<TrackingEvents/>
<AdParameters>
<![CDATA[<xml></xml>]]>
</AdParameters>
<VideoClicks/>
<MediaFiles>
<MediaFile type="video/mp4" width="1280" height="720" delivery="progressive" id="2" bitrate="4316" minBitrate="320" maxBitrate="320" scalable="true" maintainAspectRatio="true">
<![CDATA[http://solutions.brightcove.com/bcls/ads/bc-ads/bcls-ad-6-5seconds.mp4]]>
</MediaFile>
</MediaFiles>
</Linear>
</Creative>
</Creatives>
<Extensions>
<Extension>
<xml>data</xml>
</Extension>
</Extensions>
</InLine>
</Ad>
</VAST>
</vmap:VASTAdData>
</vmap:AdSource>
</vmap:AdBreak>
...