Validation des balises publicitaires SSAI Video Cloud

Dans cette rubrique, vous apprendrez à suivre les appels d'annonces spécifiés avec l'insertion d'annonces côté serveur (SSAI).

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 :

  1. Consultez les informations générales sur le chemin et l'autorisation de l'API
  2. Exécuter une trace pour une configuration d'annonce
  3. Récupérer les détails de la trace

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.
  "title_metadata": {  "duration": "1m" }
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
  {
    "playback_config":{
      "name": "config_name",
      "vmap_response_namespace": "config_namespace",
      "account_id": "account_id",
      "ad_config": {
        "enable_ads": true,
        "expected_ad_response": "dfp_ad_rules",
        "disable_server_beacons": false,
        "round_up_cue_points": false,
        "template_url": {
        "template": "template_url"
        }
      },
      "extend_beacon_guard_ttl": false
    },
    "title_metadata":{
      "duration": "39s"
    }
  }

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>&#xA; Marketing&#xA;</AdTitle>
                <Description>&#xA; Demo ad number 4&#xA;</Description>
                <Error>&#xA; &#xA;</Error>
                <Creatives>
                  <Creative>
                    <Linear skipoffset="00:00:05">
                      <CreativeExtensions>
                        <CreativeExtension>
                          <BrightcoveForeignKey>2</BrightcoveForeignKey>
                        </CreativeExtension>
                      </CreativeExtensions>
                      <Duration>00:00:12.0000</Duration>
                      <AdParameters>&#xA; &lt;xml&gt;&lt;/xml&gt;&#xA;</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
  {
    "playback_config":{
      "name": "config_name",
      "vmap_response_namespace": "config_namespace",
      "account_id": "account_id",
      "ad_config": {
        "enable_ads": true,
        "expected_ad_response": "dfp_ad_rules",
        "disable_server_beacons": false,
        "round_up_cue_points": false,
        "template_url": {
        "template": "template_url"
        }
      },
      "extend_beacon_guard_ttl": false
    },
    "title_metadata":{
    "duration": "10s"
    },
    "videocloud_metadata": {
      "name": "ad_name",
      "tags": [ "tag1:tag1_value", "tag2:tag2_value" ],
      "ad_keys":"a=1&b=2",
      "cue_points": [{
        "name":"Pre-roll",
        "type":"AD",
        "time":0,
        "metadata":"type:pre-roll,a=b",
        },
        {
        "name":"Mid-roll",
        "type":"AD",
        "time":10,
        "metadata":"type=mid-roll,x=y",
      }]
    }
  }

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&amp;type=vast&amp;request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&amp;parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&amp;ad_id=test-01-30s</Tracking>
                  <Tracking event="unmute">https://solutions.brightcove.com/beacon?event=unmute&amp;type=vast&amp;request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&amp;parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&amp;ad_id=test-01-30s</Tracking>
                  <Tracking event="rewind">https://solutions.brightcove.com/beacon?event=rewind&amp;type=vast&amp;request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&amp;parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&amp;ad_id=test-01-30s</Tracking>
                  <Tracking event="pause">https://solutions.brightcove.com/beacon?event=pause&amp;type=vast&amp;request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&amp;parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&amp;ad_id=test-01-30s</Tracking>
                  <Tracking event="resume">https://solutions.brightcove.com/beacon?event=resume&amp;type=vast&amp;request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&amp;parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&amp;ad_id=test-01-30s</Tracking>
                  <Tracking event="fullscreen">https://solutions.brightcove.com/beacon?event=fullscreen&amp;type=vast&amp;request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&amp;parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&amp;ad_id=test-01-30s</Tracking>
                  <Tracking event="acceptInvitation">https://solutions.brightcove.com/beacon?event=acceptInvitation&amp;type=vast&amp;request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&amp;parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&amp;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>
  ...