Descripción general
Para ayudar con la depuración de anuncios del lado del servidor, Dynamic Delivery con SSAI proporciona puntos finales de API para rastrear las llamadas de anuncios.
Para depurar anuncios del lado del servidor con su contenido de video almacenado en Video Cloud, siga estos pasos:
información general
La siguiente información pertenece a todas las solicitudes de API SSAI.
URL base
La URL base de la API SSAI es:
https://ssai.api.brightcove.com/v1
Ruta de la cuenta
En todos los casos, las solicitudes se realizarán para un Video Cloud Cuenta. Por lo tanto, siempre agregarás el término accounts
seguido del ID de tu cuenta a la URL base:
https://ssai.api.brightcove.com/v1/accounts/your account id
Autorización
Las solicitudes de API requieren un encabezado de autorización:
Authorization: Bearer your access token
access_token
Es un token de acceso temporal de OAuth2 que debe obtenerse del servicio OAuth de Brightcove. Para obtener detalles sobre cómo obtener credenciales de cliente y usarlas para recuperar tokens de acceso, consulte la Descripción general de Brightcove OAuth.
Operaciones
Cuando solicite credenciales de cliente, tendrá que especificar el tipo de acceso a la cuenta u operaciones que desea. La siguiente es una lista de las operaciones admitidas actualmente para la API SSAI:
- Datos SSAI:
video-cloud/ssai/read
video-cloud/ssai/all
Realice un seguimiento de la configuración de un anuncio
Para ejecutar un seguimiento de la configuración de un anuncio, siga estos pasos:
Recopilar información
Reúna la siguiente información para cuerpo de su solicitud de API:
Parámetro | Tipo | Descripción |
---|---|---|
account_id |
cuerda | ID de cuenta de usuario |
playback_config |
Objeto | Los campos se definen en el Detalles del campo de configuración sección del documento API de SSAI. |
title_metadata |
Objeto | Le dice al sistema la extensión de su contenido para generar la respuesta correcta al anuncio. Por ejemplo, lo siguiente le dice al sistema que el contenido es de 1 minuto. Se utiliza para insertar anuncios en consecuencia.
|
videocloud_metadata |
Objeto | Opcional. Solo es necesario si utiliza variables de plantilla que hacen referencia a campos de metadatos. Estos se definen en el Variables publicitarias sección del documento API de SSAI. |
Solicitud
Cree un seguimiento para una configuración de anuncios SSAI.
Método | PUBLICACIÓN |
---|---|
URL | https://ssai.api.brightcove.com/v1/accounts/{ID de la cuenta}/ssai_debug_vmap/debug.xml |
Encabezados | Autorización: Bearer access_token (consulte Obtención de tokens de acceso) |
Tipo de contenido: application/json | |
Cuerpo de muestra |
|
Respuesta
La respuesta body
consiste en la respuesta del servidor de anuncios que incluiría la respuesta VAST o equivalente del servidor de anuncios.
Respuesta de muestra:
<?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>
Solicitud 2: uso de variables de plantilla
Cree un seguimiento de anuncios SSAI, en el que utilice variables de plantilla que hagan referencia a campos de metadatos.
Método | PUBLICACIÓN |
---|---|
URL | https://ssai.api.brightcove.com/v1/accounts/{ID de la cuenta}/ssai_debug_vmap/debug.xml |
Encabezados | Autorización: Bearer access_token (consulte Obtención de tokens de acceso) |
Tipo de contenido: application/json | |
Cuerpo de muestra |
|
Respuesta 2
Respuesta de muestra:
<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>
Recuperar detalles de seguimiento
Una vez que haya ejecutado un seguimiento de anuncios como se muestra en la sección anterior, puede recuperar información detallada sobre el seguimiento utilizando el ID de sesión.
La session_id
especifica la sesión de almacenamiento en caché. Cada sesión tiene su propia duración según la duración del contenido del vídeo. Puede obtener el ID de la respuesta a la llamada a la API en el paso anterior.
La identificación de la sesión se puede encontrar en las respuestas de VMAP de la sección anterior. He aquí un ejemplo:
<bc:BrightcoveDebug sessionID="your session id"></bc:BrightcoveDebug>
Solicitud
Para recuperar información de seguimiento de llamadas de anuncios al proporcionar un ID de sesión, use una solicitud GET similar a la siguiente:
Método | OBTENER |
---|---|
URL | https://ssai.api.brightcove.com/v1/accounts/{ID de la cuenta} ssai_traces /{ID de sesión} ad_calls |
Encabezados | Autorización: Bearer access_token (consulte Obtención de tokens de acceso) |
Tipo de contenido: application/json |
Respuesta
Respuesta de muestra:
{
"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
}
]
}
Puedes usar una herramienta como BASE64 para que el cuerpo de la respuesta sea legible.
Cuerpo de respuesta decodificado de muestra:
<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>
...