Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Solicitud VAST
Cuándo se debe usar
VAST_REQUESTUtilízala cuando tu función necesite obtener anuncios de un punto final de una plantilla de publicación de anuncios de vídeo (VAST). MediaTailor envía la solicitud, analiza la respuesta como VAST con las redirecciones del contenedor resueltas y pone los anuncios analizados a disposición de tus expresiones de salida. Los casos de uso más comunes incluyen buscar anuncios de un servidor de anuncios secundario para complementar una respuesta principal breve y recuperar anuncios internos o promociones para utilizarlos en pausas publicitarias insuficientemente rellenadas.
VAST_REQUESTlas funciones se admiten en los ganchos del PRE_MANIFEST_INSERTION ciclo de vida POST_ADS_RESPONSE y por separado o como etapas dentro de un ejecutor. Los anuncios analizados por una VAST_REQUEST función se integran con los resultados de esos ganchos con total fidelidad. Para obtener más información, consulte Cómo se integran los anuncios analizados con las salidas de enlace.
Campos de configuración
Una VAST_REQUEST función tiene los siguientes campos:
-
Tiempo de ejecución: el lenguaje de expresiones. Establézcalo en
JSONATA. -
MethodType— El método HTTP. Los valores admitidos son
GET(el valor predeterminado) yPOST. -
Url: el punto final de VAST al que enviar la solicitud. Puede usar una URL estática o una expresión Jsonata que cree la URL de forma dinámica. Una URL estática debe usar el
httpsesquema. -
Encabezados: los encabezados HTTP que se van a incluir en la solicitud, especificados como pares de nombre y valor del encabezado. Utilice
{%...%}la sintaxis de expresiones para los valores de encabezado dinámicos. -
Cuerpo: el cuerpo de la solicitud que se va a enviar. Se usa con
POSTsolicitudes, por ejemplo, para enviar una solicitud de oferta de OpenRTB. Puede usar una expresión JSonata para crear el cuerpo de forma dinámica. -
RequestTimeoutMilliseconds(obligatorio): cuánto tiempo hay que esperar para recibir una respuesta.
-
Salida: define los valores que se generarán una vez finalizada la llamada. Cada entrada asigna una clave de salida a una expresión que puede hacer referencia al
responseobjeto, inclusoresponse.parsedAds.
Los límites de solicitud HTTP que se aplican a HTTP_REQUEST las funciones también se aplican aquí. Para obtener más información, consulte Límites.
Cómo se procesa la solicitud
-
Crea la solicitud: MediaTailor evalúa las
BodyexpresionesUrlHeaders, y comparándolas con el estado actual de la sesión y, a continuación, envía la solicitud.POSTlas solicitudes se envían con el tipo deapplication/jsoncontenido. -
Analiza la respuesta: MediaTailor analiza el cuerpo de la respuesta como VAST. Si un anuncio es un contenedor VAST, MediaTailor sigue la cadena de redireccionamiento y la convierte en el último anuncio en línea. Las solicitudes de redireccionamiento del contenedor siempre se envían con él
GET, tal y como exige la especificación VAST. Si su terminal devuelve un documento que contiene una URL de VAST en lugar de la propia VAST (como hacen algunos postores), encadene unHTTP_REQUESTpaso que recupere la URL y, a continuación, otroVAST_REQUESTpaso que la recupere. -
Procesa los anuncios analizados: MediaTailor evalúa las expresiones del bloque de salida. Estas expresiones pueden hacer referencia al estado original de la sesión y al
responseobjeto.
Campos de respuesta
Una vez finalizada la llamada, puede hacer referencia a los siguientes campos en sus expresiones de salida:
| Campo | Tipo | Description (Descripción) |
|---|---|---|
response.parsedAds |
Matriz | Se resolvieron los anuncios analizados, con los redireccionamientos del contenedor. Cada anuncio tiene la misma forma que las adsResponse.ads entradas siguientes:adId,,,,,durationSeconds,, adSystem adTitlecreativeId, sequence y. POST_ADS_RESPONSE mediaFiles trackingEvents Se establece en una matriz vacía cuando la llamada falle o la respuesta no sea válida como VAST. |
response.statusCode |
Entero | El código de estado HTTP devuelto por el punto final. Establézcalo como null si no hubiera error de red. |
Como los anuncios analizados utilizan la misma forma queadsResponse.ads, puede mover expresiones entre las dos superficies sin tener que volver a escribir las referencias a los campos.
Cómo se integran los anuncios analizados con las salidas de enlace
Todos los anuncios que analiza una VAST_REQUEST función se retienen internamente MediaTailor, codificados con el ID de anuncio VAST del anuncio, mientras dure la invocación del enlace. De este modo, los anuncios analizados reciben un tratamiento de primera clase en los resultados de los enlaces:
-
Al añadir un anuncio analizado
adsResponse.adspor su contenidoPOST_ADS_RESPONSE, seadIdrestauran todos los datos VAST analizados del anuncio, incluida la lista completa de archivos multimedia y los eventos de seguimiento. -
En efecto
PRE_MANIFEST_INSERTION, al insertar un anuncio solo con sus botones, se puede MediaTailor seleccionarvastAdIdel mejor archivo multimedia y gestionar automáticamente el registro de transcodificación.
importante
Los anuncios retenidos no se transfieren entre las invocaciones de enlaces. Una VAST_REQUEST llamada realizada a las no POST_ADS_RESPONSE está disponible para una PRE_MANIFEST_INSERTION invocación posterior. Llama VAST_REQUEST a la misma cadena de funciones del enlace en la que utilizas sus resultados.
Comportamiento de error
Si la llamada falla debido a un error de red o a que se ha agotado el tiempo de espera, si el punto final devuelve un error HTTP o si la respuesta no se puede analizar como VAST, response.parsedAds es una matriz vacía y la cadena de funciones continúa. Comprueba si hay response.statusCode un error de HTTP y una respuesta de VAST que realmente no contiene anuncios.
sugerencia
Mantente RequestTimeoutMilliseconds firme. La resolución de un contenedor VAST puede implicar varios viajes de ida y vuelta a la red, y todos ellos se descontarán del tiempo de espera del enlace y del presupuesto del enlace compartido.
Ejemplo: buscar anuncios de un servidor de anuncios secundario
La siguiente función obtiene los anuncios de un servidor de anuncios de respaldo y almacena los anuncios analizados en datos temporales. Un CUSTOM_OUTPUT paso más adelante en la misma secuencia puede añadirlos a. adsResponse.ads Está diseñado para el POST_ADS_RESPONSE ciclo de vida.
{ "FunctionId": "fetchBackupAds", "FunctionType": "VAST_REQUEST", "VastRequestConfiguration": { "Runtime": "JSONATA", "MethodType": "GET", "Url": "{%'https://backup-ads.example.com/vast?sid=' & session.uuid%}", "Headers": { "Accept": "application/xml" }, "RequestTimeoutMilliseconds": 1000, "Output": { "temp.backupAds": "{%response.parsedAds%}" } } }
En su lugar, para enviar una solicitud de oferta de OpenRTB, MethodType configúrela en POST e introdúzcala en. Body El postor debe devolver VAST en el cuerpo de respuesta.
Para ver un recorrido completo de un ejemplo similar, consulte. Ejemplos de funciones