Video Cloud SSAI 広告タグ検証

このトピックでは、Server-Side Ad Insertion(SSAI)で指定された広告コールを追跡する方法について説明します。

概要

サーバーサイド広告のデバッグを支援するため、Dynamic Delivery と SSAI では広告コールを追跡するための API エンドポイントを提供しています。

Video Cloud に保存された動画コンテンツでサーバーサイド広告をデバッグするには、次の手順に従います。

  1. API パスと認可に関する一般情報を確認する
  2. 広告設定のトレースを実行する
  3. トレース詳細を取得する

一般情報

以下の情報は、すべての SSAI API リクエストに適用されます。

ベース URL

SSAI API のベース URL は次のとおりです。

   https://ssai.api.brightcove.com/v1

アカウント パス

すべての場合において、リクエストは特定の Video Cloud アカウントに対して行われます。そのため、ベース URL の後に accounts とアカウント ID を続けて追加します。

   https://ssai.api.brightcove.com/v1/accounts/your account id

認証

API リクエストには Authorization ヘッダーが必要です。

   Authorization: Bearer your access token

access_token は Brightcove OAuth サービスから取得する一時的な OAuth2 アクセス トークンです。クライアント クレデンシャルの取得方法およびアクセス トークンの取得方法については、Brightcove OAuth 概要を参照してください。

操作

クライアント クレデンシャルをリクエストする際には、希望するアカウント アクセスまたは操作の種類を指定する必要があります。以下は現在 SSAI API でサポートされている操作の一覧です。

  • SSAI データ:

    video-cloud/ssai/read
    video-cloud/ssai/all

広告設定のトレースを実行する

広告設定のトレースを実行するには、次の手順に従います。

情報を収集する

API リクエストのbody に以下の情報を含めます。

パラメーター タイプ 説明
account_id String ユーザーのアカウント ID
playback_config Object フィールドの詳細は SSAI API ドキュメントの Configuration field details セクションに記載されています。
title_metadata Object 正しい広告レスポンスを生成するため、コンテンツの長さをシステムに知らせます。

例えば、以下の例ではコンテンツの長さが 1 分であることを示しています。これは適切な広告挿入に使用されます。
  "title_metadata": {  "duration": "1m" }
videocloud_metadata Object オプション。
メタデータフィールドを参照するテンプレート変数を使用する場合にのみ必要です。これらは SSAI API ドキュメントの Ad variables セクションに定義されています。

リクエスト

SSAI 広告設定のトレースを作成します。

Method POST
URL https://ssai.api.brightcove.com/v1/accounts/{account_id}/ssai_debug_vmap/debug.xml
Headers Authorization: Bearer access_token(詳細は Getting Access Tokens を参照)
Content-Type: application/json
Sample Body
  {
    "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"
    }
  }

レスポンス

レスポンスの body には、VAST または同等の広告サーバーレスポンスが含まれます。

レスポンス例:

  <?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 - テンプレート変数を使用する場合

メタデータフィールドを参照するテンプレート変数を使用して、SSAI 広告トレースを作成します。

Method POST
URL https://ssai.api.brightcove.com/v1/accounts/{account_id}/ssai_debug_vmap/debug.xml
Headers Authorization: Bearer access_token(詳細は Getting Access Tokens を参照)
Content-Type: application/json
Sample Body
    {
      "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"
          }]
      }
    }

Response2

レスポンス例:

      <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>
      

トレース詳細の取得

前のセクションで広告トレースを実行したら、セッション ID を使用してトレースの詳細情報を取得できます。

session_id はキャッシュセッションを指定します。各セッションの長さは動画コンテンツの長さに基づいています。この ID は、前のステップの API レスポンスから取得できます。

セッション ID は、前のセクションの VMAP レスポンス内で確認できます。以下は例です。

      <bc:BrightcoveDebug sessionID="your session id"></bc:BrightcoveDebug>

Request

セッション ID を指定して広告コールのトレース情報を取得するには、以下のような GET リクエストを使用します。

Method GET
URL https://ssai.api.brightcove.com/v1/accounts/{account_id}/ssai_traces/{session_id}/ad_calls
Headers Authorization: Bearer access_token(詳細は Getting Access Tokens を参照)
Content-Type: application/json

レスポンス

レスポンス例:

  {
    "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
      }
    ]
  }

レスポンス body を可読な形式にするには、BASE64 のようなツールを使用できます。

デコード後のレスポンス body の例:

  <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>
  ...