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.
En las siguientes secciones se describen los registros que se MediaTailor emiten para describir los eventos con el servidor de decisiones publicitarias (ADS). Se trata de AdDecisionServerInteractions
registros.
Temas
AdDecisionServerInteractions eventos
Los siguientes eventos se emiten durante MediaTailor las interacciones con el servidor de decisiones publicitarias (ADS).
Registro | Descripción |
---|---|
AD_MARKER_FOUND |
MediaTailor encontró un marcador publicitario en el manifiesto. |
BEACON_FIRED |
MediaTailor disparó una baliza de rastreo. |
EMPTY_VAST_RESPONSE |
El ADS devolvió una respuesta VAST vacía que no contenía anuncios. |
EMPTY_VMAP_RESPONSE |
El ADS devolvió una respuesta de VMAP vacía. |
ERROR_ADS_INVALID_RESPONSE |
El ADS devolvió un código de estado distinto del 200. |
ERROR_ADS_IO |
MediaTailor detectó un error al intentar comunicarse con el ADS. |
ERROR_ADS_RESPONSE_PARSE |
MediaTailor se produjo un error al analizar la respuesta del ADS. |
ERROR_ADS_RESPONSE_UNKNOWN_ROOT_ELEMENT |
La respuesta de ADS contiene un elemento raíz no válido. |
ERROR_ADS_TIMEOUT |
Se agotó el tiempo de espera de la MediaTailor solicitud al ADS. |
ERROR_DISALLOWED_HOST |
No se permite el alojamiento de ADS. |
ERROR_FIRING_BEACON_FAILED |
MediaTailor falló al disparar la baliza de rastreo. |
ERROR_PERSONALIZATION_DISABLED |
La inserción de anuncios está deshabilitada para esta sesión. |
ERROR_UNKNOWN |
MediaTailor detectó un error desconocido durante la solicitud de ADS. |
ERROR_UNKNOWN_HOST |
Se desconoce el host de ADS. |
ERROR_VAST_INVALID_MEDIA_FILE |
El VAST Ad tiene un MediaFile elemento no válido o falta. |
ERROR_VAST_INVALID_VAST_AD_TAG_URI |
La respuesta VAST contiene un elemento no válidoVASTAdTagURI . |
ERROR_VAST_MISSING_CREATIVES |
El Ad VAST contiene cero o varios Creatives elementos. Se requiere exactamente un Creatives elemento. |
ERROR_VAST_MISSING_IMPRESSION |
El VAST no Ad contiene ningún Impression elemento. Se requiere al menos un Impression elemento. |
ERROR_VAST_MISSING_MEDIAFILES |
El Ad VAST contiene cero o varios MediaFiles elementos. Se requiere exactamente un MediaFiles elemento. |
ERROR_VAST_MISSING_OVERLAYS |
MediaTailor no recibí ninguna creatividad no lineal del servidor de anuncios. |
ERROR_VAST_MULTIPLE_LINEAR |
El VAST Ad contiene varios Linear elementos. |
ERROR_VAST_MULTIPLE_TRACKING_EVENTS |
El Ad VAST contiene varios TrackingEvents elementos. |
ERROR_VAST_REDIRECT_EMPTY_RESPONSE |
La solicitud de redireccionamiento de VAST devolvió una respuesta vacía. |
ERROR_VAST_REDIRECT_FAILED |
La solicitud de redireccionamiento de VAST detectó un error. |
ERROR_VAST_REDIRECT_MULTIPLE_VAST |
La solicitud de redireccionamiento de VAST devolvió varios anuncios. |
FILLED_AVAIL |
MediaTailor llenó correctamente el formulario de disponibilidad. |
FILLED_OVERLAY_AVAIL |
MediaTailor llenó correctamente la función de superposición. |
INTERSTITIAL_VOD_FAILURE |
La solicitud o respuesta de ADS detectó un problema al llenar las reservas intersticiales de la lista de reproducción de VOD. No se insertará ningún anuncio. |
INTERSTITIAL_VOD_SUCCESS |
MediaTailor campos intersticiales rellenados correctamente para la lista de reproducción de VOD. |
MAKING_ADS_REQUEST |
MediaTailor solicita anuncios a la ADS. |
MODIFIED_TARGET_URL |
MediaTailor modificó la URL de destino saliente. |
NON_AD_MARKER_FOUND |
MediaTailor ha encontrado un marcador publicitario inutilizable en el manifiesto. |
RAW_ADS_RESPONSE |
MediaTailor recibió una respuesta de ADS sin procesar. |
REDIRECTED_VAST_RESPONSE |
MediaTailor recibió una respuesta de VAST después de seguir la redirección de VAST. |
VAST_REDIRECT |
La respuesta al anuncio VAST contiene una redirección. |
VAST_RESPONSE |
MediaTailor recibió una respuesta VAST. |
VOD_TIME_BASED_AVAIL_PLAN_SUCCESS |
MediaTailor creó correctamente un plan de disponibilidad temporal para la plantilla de VOD. |
VOD_TIME_BASED_AVAIL_PLAN_VAST_RESPONSE_FOR_OFFSET |
MediaTailor está creando un plan de disponibilidad temporal para la plantilla de VOD. MediaTailor recibió una gran respuesta en relación con el intervalo de tiempo. |
VOD_TIME_BASED_AVAIL_PLAN_WARNING_NO_ADVERTISEMENTS |
La solicitud o respuesta de ADS detectó un problema al crear un plan de disponibilidad temporal para la plantilla de VOD. No se insertará ningún anuncio. |
WARNING_NO_ADVERTISEMENTS |
MediaTailor Se ha producido un problema al rellenar el formulario. No se ha insertado ningún anuncio. |
WARNING_URL_VARIABLE_SUBSTITUTION_FAILED |
MediaTailor no puede sustituir variables dinámicas en la URL de ADS. Comprueba la configuración de la URL. |
WARNING_VPAID_AD_DROPPED |
Se ha eliminado un anuncio de VPAID porque falta una lista o porque la sesión utiliza informes del lado del servidor. |
Descripción del registro de ADS
En esta sección se describe la estructura y el contenido de la descripción del registro de ADS. Para explorar por su cuenta en un editor JSON, utilice el listado en Esquema JSON del registro ADS.
Cada evento del registro de ADS contiene los campos estándar que generan los CloudWatch registros. Para obtener más información, consulte Analizar los datos de registro con CloudWatch Logs Insights.
ADS registra las propiedades
En esta sección se describen las propiedades de los registros de ADS.
Propiedad | Tipo | Obligatorio | Descripción |
---|---|---|---|
adsRequestUrl |
cadena | false | La URL completa de la solicitud de ADS realizada por MediaTailor. |
avail |
objeto de tipo avail | false | Información sobre una página que está MediaTailor llena de anuncios. Actualmente, para el tipo de FILLED_AVAIL evento, este es el plan que se creó MediaTailor cuando apareció por primera vez la función Avail. La forma en que se llena finalmente el espacio publicitario puede variar de este plan, en función de cómo se reproduce el contenido. |
awsAccountId |
cadena | true | El ID de la cuenta de AWS MediaTailor de la configuración que se utilizó para la sesión. |
customerId |
cadena | true | La versión hash del ID de cuenta de AWS, que puede utilizar para correlacionar varias entradas de registro. |
eventDescription |
cadena | true | Una breve descripción del evento que activó este mensaje de registro, proporcionada por el MediaTailor servicio. De forma predeterminada, está vacío. Ejemplo: Got VAST response . |
eventTimestamp |
cadena | true | La fecha y la hora del evento. |
eventType |
cadena | true | El código del evento que activó este mensaje de registro. Ejemplo: VAST_RESPONSE . |
originId |
cadena | true | El nombre de la MediaTailor configuración. Esto es diferente del origen de contenido del vídeo, que también forma parte de la configuración. |
requestHeaders |
matriz de tipo requestheaders | false | Los encabezados que se MediaTailor incluyen en la solicitud de ADS. Normalmente, los registros los incluyen cuando se produce un error en una solicitud al ADS, para facilitar la solución de problemas. |
requestId |
cadena | true | El ID de la MediaTailor solicitud, que puede utilizar para correlacionar varias entradas de registro de la misma solicitud. |
sessionId |
cadena | true | El identificador numérico único que MediaTailor se asignó a la sesión del jugador. Todas las solicitudes que un jugador realiza para una sesión tienen el mismo ID de sesión. Ejemplo: e039fd39-09f0-46b2-aca9-9871cc116cde . |
sessionType |
string (valores legales: [DASH, HLS]) | true | El tipo de transmisión del jugador. |
vastAd |
objeto de tipo vastAd | false | Información sobre un único anuncio analizado a partir de la respuesta VAST. |
vastResponse |
objeto de tipo vastResponse | false | Información sobre la respuesta VAST que MediaTailor recibió del ADS. |
vodCreativeOffsets |
objeto de tipo vodCreativeOffsets | false | En función de la respuesta del VMAP, en función de la respuesta del VMAP, está disponible un mapa que indica los intervalos de tiempo en el manifiesto en los que se MediaTailor insertará. |
vodVastResponseTimeOffset |
número | false | Desfase de tiempo específico de VMAP para la inserción de anuncios de VOD. |
adContent
En esta sección se describen las propiedades adContent de los registros de ADS.
Propiedad | Tipo | Obligatorio | Descripción |
---|---|---|---|
adPlaylistUris |
objeto de tipo adPlaylistUris | false | La correspondencia desde el manifiesto de origen de una variante al manifiesto de anuncios de la variante. Para DASH, este contiene una única entrada, ya que todas las variantes están representadas en un único manifiesto de DASH. |
adPlaylistUris
En esta sección se describen las propiedades de los registros de ADS adPlaylistUris.
Propiedad | Tipo | Obligatorio | Descripción |
---|---|---|---|
<any string> |
cadena | false | La URL del manifiesto de anuncios para la variante específica. |
avail
En esta sección se describen las propiedades de la disponibilidad de los registros de ADS.
Propiedad | Tipo | Obligatorio | Descripción |
---|---|---|---|
availId |
cadena | true | El identificador único para esta disponibilidad. Para HLS, este es el número de secuencia de medios donde comienza el espacio publicitario. Para DASH, este es el ID del periodo. |
creativeAds |
matriz de tipo creativeAd | true | Los anuncios que MediaTailor se insertaron en él están disponibles. |
fillRate |
número | true | La velocidad a la que los anuncios rellenan la duración del espacio publicitario, de 0,0 (para 0 %) a 1,0 (para 100 %). |
filledDuration |
número | true | La suma de las duraciones de todos los anuncios insertados en el espacio publicitario. |
numAds |
número | true | La cantidad de anuncios que MediaTailor se insertaron en la oferta. |
originAvailDuration |
número | true | La duración del espacio publicitario tal y como se especifica en la transmisión de contenido desde el origen (CUE_OUT o SCTE ). |
skippedAds |
matriz de tipo skippedAd | false | Los anuncios que MediaTailor no se insertaron, por motivos como TRANSCODE_IN_PROGRESS yTRANSCODE_ERROR . |
slateAd |
objeto de tipo slateAd | true | La información sobre el anuncio de pizarra, que se MediaTailor utiliza para rellenar los segmentos vacíos, está disponible. |
creativeAd
En esta sección se describen las propiedades creativeAd de los registros de ADS.
Propiedad | Tipo | Obligatorio | Descripción |
---|---|---|---|
adContent |
objeto de tipo adContent | true | Información sobre el contenido del anuncio insertado. |
creativeUniqueId |
cadena | true | El identificador único del anuncio, que se utiliza como clave para la transcodificación. Este es el campo de ID del anuncio en la respuesta VAST, si está disponible. De lo contrario, es la URL intermedia del anuncio. |
trackingEvents |
objeto de tipo trackingEvents | true | La baliza de seguimiento URLs de los distintos eventos de seguimiento del anuncio. Las claves son los nombres de los eventos y los valores son una lista de balizas URLs. |
transcodedAdDuration |
número | true | La duración del anuncio, calculada a partir del recurso transcodificado. |
uri |
cadena | true | La URL de la versión intermedia del anuncio, que es la entrada del transcodificador. |
vastDuration |
número | true | La duración del anuncio, tal como se analiza a partir de la respuesta VAST. |
requestheaders
En esta sección se describen las propiedades requestheaders de los registros de ADS.
Propiedad | Tipo | Obligatorio | Descripción |
---|---|---|---|
name |
cadena | true | El nombre del encabezado. |
value |
cadena | true | El valor del encabezado. |
skippedAd
En esta sección se describen las propiedades skippedAd de los registros de ADS.
Propiedad | Tipo | Obligatorio | Descripción |
---|---|---|---|
adMezzanineUrl |
cadena | true | La URL intermedia del anuncio omitido. |
creativeUniqueId |
cadena | true | El identificador único del anuncio, que se utiliza como clave para la transcodificación. Este es el campo de ID del anuncio en la respuesta VAST, si está disponible. De lo contrario, es la URL intermedia del anuncio. |
skippedReason |
cadena | true | El código que indica por qué no se insertó el anuncio. Ejemplo: TRANSCODE_IN_PROGRESS . |
transcodedAdDuration |
número | false | La duración del anuncio, calculada a partir del recurso transcodificado. |
vastDuration |
número | true | La duración del anuncio, tal como se analiza a partir de la respuesta VAST. |
slateAd
En esta sección se describen las propiedades slateAd de los registros de ADS.
Propiedad | Tipo | Obligatorio | Descripción |
---|---|---|---|
adContent |
objeto de tipo adContent | true | Información sobre el contenido del anuncio insertado. |
creativeUniqueId |
cadena | true | El identificador único del anuncio, que se utiliza como clave para la transcodificación. Este es el campo de ID del anuncio en la respuesta VAST, si está disponible. De lo contrario, es la URL intermedia del anuncio. |
transcodedAdDuration |
número | true | La duración del anuncio, calculada a partir del recurso transcodificado. |
uri |
cadena | true | La URL de la versión intermedia del anuncio, que es la entrada del transcodificador. |
trackingEvents
En esta sección se describen las propiedades trackingEvents de los registros de ADS.
Propiedad | Tipo | Obligatorio | Descripción |
---|---|---|---|
<any string> |
matriz de tipo string | false | La lista de balizas URLs para el evento de seguimiento especificado (impresión, completo, etc.) |
vastAd
En esta sección se describen las propiedades vastAd de de los registros de ADS.
Propiedad | Tipo | Obligatorio | Descripción |
---|---|---|---|
adSystem |
cadena | true | El valor de la etiqueta AdSystem en la respuesta VAST. |
adTitle |
cadena | true | Los archivos multimedia que están disponibles para el anuncio en la respuesta VAST. |
creativeAdId |
cadena | true | El valor del atributo adId de la etiqueta Creative en la respuesta VAST. |
creativeId |
cadena | true | El valor del atributo id de la etiqueta Creative en la respuesta VAST. |
duration |
número | true | La duración aproximada del anuncio, en función de la etiqueta duration en el elemento linear de la respuesta VAST. |
trackingEvents |
objeto de tipo trackingEvents | true | La baliza URLs de seguimiento de los distintos eventos de seguimiento del anuncio. Las claves son los nombres de los eventos y los valores son una lista de balizas URLs. |
vastAdId |
cadena | true | El valor del atributo id de la etiqueta Ad en la respuesta VAST |
vastAdTagUri |
cadena | false | El URI de redirección específico de VMAP para un anuncio. |
vastMediaFiles |
matriz de tipo vastMediaFile | true | La lista de archivos multimedia disponibles para el anuncio en la respuesta VAST. |
vastMediaFile
En esta sección se describen las propiedades de los registros de ADS vastMediaFile.
Propiedad | Tipo | Obligatorio | Descripción |
---|---|---|---|
apiFramework |
cadena | true | El marco de API necesario para administrar el archivo multimedia. Ejemplo: VPAID . |
bitrate |
número | true | La velocidad de bits del archivo multimedia. |
delivery |
cadena | true | El protocolo utilizado para el archivo multimedia, establecido en progresivo o en streaming. |
height |
número | true | La altura en píxeles del archivo multimedia. |
id |
cadena | true | El valor del atributo id de la etiqueta MediaFile . |
type |
cadena | true | El tipo MIME del archivo multimedia, tomado del atributo type de la etiqueta MediaFile . |
uri |
cadena | true | La URL de la versión intermedia del anuncio, que es la entrada del transcodificador. |
width |
número | true | El ancho de píxeles del archivo multimedia. |
vastResponse
En esta sección se describen las propiedades vastResponse de los registros de ADS.
Propiedad | Tipo | Obligatorio | Descripción |
---|---|---|---|
errors |
matriz de tipo string | true | El error URLs se analizó a partir de las Error etiquetas de la respuesta VAST. |
vastAds |
matriz de tipo vastAd | true | Los anuncios analizados desde la respuesta VAST. |
version |
cadena | true | La versión de la especificación VAST, analizada a partir del atributo version de la etiqueta VAST en la respuesta. |
vodCreativeOffsets
En esta sección se describen las propiedades de los registros de ADS vodCreativeOffsets.
Propiedad | Tipo | Obligatorio | Descripción |
---|---|---|---|
<any string> |
matriz de tipo vodCreativeOffset | false | Un mapeo desde un desfase de tiempo en el manifiesto a una lista de anuncios que se van a insertar en este momento. |
vodCreativeOffset
En esta sección se describen las propiedades de los registros de ADS vodCreativeOffset.
Propiedad | Tipo | Obligatorio | Descripción |
---|---|---|---|
adContent |
objeto de tipo adContent | true | Información sobre el contenido del anuncio insertado. |
creativeUniqueId |
cadena | true | El identificador único del anuncio, que se utiliza como clave para la transcodificación. Este es el campo de ID del anuncio en la respuesta VAST, si está disponible. De lo contrario, es la URL intermedia del anuncio. |
trackingEvents |
objeto de tipo trackingEvents | true | La baliza URLs de seguimiento de los distintos eventos de seguimiento del anuncio. Las claves son los nombres de los eventos y los valores son una lista de balizas URLs. |
transcodedAdDuration |
número | true | La duración del anuncio, calculada a partir del recurso transcodificado. |
uri |
cadena | true | La URL de la versión intermedia del anuncio, que es la entrada del transcodificador. |
vastDuration |
número | true | La duración del anuncio, tal como se analiza a partir de la respuesta VAST. |
Esquema JSON del registro ADS
A continuación, se muestra el esquema JSON del registro de AWS Elemental MediaTailor ADS.
{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "http://amazon.com/elemental/midas/mms/adsLogSchema.json", "type": "object", "title": "AWS Elemental MediaTailor ADS Log JSON Schema", "required": [ "eventType", "eventTimestamp", "requestId", "sessionType", "eventDescription", "awsAccountId", "customerId", "originId", "sessionId" ], "additionalProperties": false, "properties": { "eventType": { "$id": "#/properties/eventType", "type": "string", "description": "The code for the event that triggered this log message. Example: <code>VAST_RESPONSE</code>.", "examples": [ "FILLED_AVAIL" ] }, "eventTimestamp": { "$id": "#/properties/eventTimestamp", "type": "string", "description": "The date and time of the event.", "examples": [ "1970-01-01T00:00:00Z" ], "format": "date-time" }, "requestId": { "$id": "#/properties/requestId", "type": "string", "description": "The MediaTailor request ID, which you can use to correlate multiple log entries for the same request.", "examples": [ "c7c7ae8c-a61e-44e0-8efd-7723995337a1" ], "pattern": "^(.*)$" }, "sessionType": { "$id": "#/properties/sessionType", "type": "string", "enum": [ "HLS", "DASH" ], "description": "The player's stream type." }, "eventDescription": { "$id": "#/properties/eventDescription", "type": "string", "description": "A short description of the event that triggered this log message, provided by the MediaTailor service. By default, this is empty. Example: <code>Got VAST response</code>.", "default": "", "examples": [ "Got VAST response" ], "pattern": "^(.*)$" }, "awsAccountId": { "$id": "#/properties/awsAccountId", "type": "string", "description": "The AWS account ID for the MediaTailor configuration that was used for the session." }, "customerId": { "$id": "#/properties/customerId", "type": "string", "description": "The hashed version of the AWS account ID, which you can use to correlate multiple log entries.", "pattern": "^(.*)$" }, "originId": { "$id": "#/properties/originId", "type": "string", "description": "The configuration name from the MediaTailor configuration. This is different from the video content source, which is also part of the configuration.", "examples": [ "external-canary-dash-serverside-reporting-onebox" ], "pattern": "^(.*)$" }, "sessionId": { "$id": "#/properties/sessionId", "type": "string", "description": "The unique numeric identifier that MediaTailor assigned to the player session. All requests that a player makes for a session have the same session ID. Example: <code>e039fd39-09f0-46b2-aca9-9871cc116cde</code>.", "examples": [ "120b9873-c007-40c8-b3db-0f1bd194970b" ], "pattern": "^(.*)$" }, "avail": { "$id": "#/properties/avail", "type": "object", "title": "avail", "description": "Information about an avail that MediaTailor fills with ads. Currently, for the <code>FILLED_AVAIL</code> event type, this is the plan created by MediaTailor when it first encounters the avail. How the avail is eventually filled may vary from this plan, depending on how the content plays out. ", "required": [ "creativeAds", "originAvailDuration", "filledDuration", "fillRate", "driftMillisecondsAtAvailStart", "numAds", "slateAd", "availId" ], "additionalProperties": false, "properties": { "originAvailDuration": { "$id": "#/properties/avail/originAvailDuration", "type": "number", "description": "The duration of the avail as specified in the content stream from the origin (<code>CUE_OUT</code> or <code>SCTE</code>)." }, "filledDuration": { "$id": "#/properties/avail/filledDuration", "type": "number", "description": "The sum of the durations of all the ads inserted into the avail." }, "fillRate": { "$id": "#/properties/avail/fillRate", "type": "number", "description": "The rate at which the ads fill the avail duration, from 0.0 (for 0%) to 1.0 (for 100%)." }, "driftMillisecondsAtAvailStart": { "$id": "#/properties/avail/driftMillisecondsAtAvailStart", "type": "number", "description": "The cumulative drift at the beginning of this avail. A positive value implies that we are moving away from the live edge, a negative value implies that we are moving towards the live edge." }, "creativeAds": { "$id": "#/properties/avail/creativeAds", "type": "array", "description": "The ads that MediaTailor inserted into the avail.", "items": { "type": "object", "title": "creativeAd", "description": "Information about a single inserted ad.", "required": [ "uri", "creativeUniqueId", "adSystem", "adContent", "trackingEvents", "vastDuration", "transcodedAdDuration" ], "additionalProperties": false, "properties": { "uri": { "$ref": "#/definitions/adMezzanineUri" }, "creativeUniqueId": { "$ref": "#/definitions/creativeUniqueId" }, "adSystem": { "$ref": "#/definitions/adSystem" }, "adContent": { "$ref": "#/definitions/adContent" }, "trackingEvents": { "$ref": "#/definitions/trackingEvents" }, "vastDuration": { "$ref": "#/definitions/vastDuration" }, "transcodedAdDuration": { "$ref": "#/definitions/transcodedAdDuration" } } } }, "numAds": { "$id": "#/properties/avail/numAds", "type": "number", "description": "The number of ads that MediaTailor inserted into the avail." }, "slateAd": { "$id": "#/properties/avail/slateAd", "type": ["object", "null"], "title": "slateAd", "description": "Information about the slate ad, which MediaTailor uses to fill any unfilled segments in the avail.", "additionalProperties": false, "required": [ "uri", "creativeUniqueId", "adContent", "transcodedAdDuration" ], "properties": { "uri": { "$ref": "#/definitions/adMezzanineUri" }, "creativeUniqueId": { "$ref": "#/definitions/creativeUniqueId" }, "adContent": { "$ref": "#/definitions/adContent" }, "transcodedAdDuration": { "$ref": "#/definitions/transcodedAdDuration" } } }, "availId": { "$id": "#/properties/avail/availId", "type": "string", "description": "The unique identifier for this avail. For HLS, this is the media sequence number where the avail begins. For DASH, this is the period ID." }, "skippedAds": { "$id": "#/properties/avail/skippedAds", "type": "array", "description": "The ads that MediaTailor didn't insert, for reasons like <code>TRANSCODE_IN_PROGRESS</code> and <code>TRANSCODE_ERROR</code>.", "items": { "type": "object", "title": "skippedAd", "description": "Information about a single skipped ad.", "required": [ "creativeUniqueId", "adMezzanineUrl", "skippedReason", "vastDuration" ], "additionalProperties": false, "properties": { "creativeUniqueId": { "$ref": "#/definitions/creativeUniqueId" }, "adMezzanineUrl": { "type": "string", "description": "The mezzanine URL of the skipped ad." }, "skippedReason": { "type": "string", "description": "The code that indicates why the ad wasn't inserted. Example: <code>TRANSCODE_IN_PROGRESS</code>." }, "vastDuration": { "$ref": "#/definitions/vastDuration" }, "transcodedAdDuration": { "$ref": "#/definitions/transcodedAdDuration" }, "targetVariant": { "type": "object", "title": "targetVariant", "description": "The target variant of the source content. This key is present when an ad wasn't inserted due to the source content containing a variant that could not match to any variants present in this ad.", "required": [ "mediaProtocol", "mediaType", "bitrate", "mediaResolution", "codecs" ], "additionalProperties": false, "properties": { "mediaProtocol": { "type": "string", "description": "The media protocol of this variant, such as HLS.", "enum": [ "HLS", "DASH" ] }, "mediaType": { "type": "array", "description": "The media type of this variant, such as VIDEO.", "items": { "type": "string", "enum": [ "VIDEO", "AUDIO", "SUBTITLES", "TRICK_PLAY" ], "description": "Media type, such as VIDEO." } }, "bitrate": { "$ref": "#/definitions/bitrate" }, "mediaResolution": { "type": "object", "title": "mediaResolution", "description": "The media resolution of this variant.", "required": [ "width", "height" ], "additionalProperties": false, "properties": { "width": { "$ref": "#/definitions/width" }, "height": { "$ref": "#/definitions/height" } } }, "codecs": { "type": "array", "description": "The codecs of this variant.", "items": { "type": "string", "description": "Codec, such as avc1." } } } } } } }, "adBreakTrackingEvents": { "$id": "#properties/avail/adBreakTrackingEvents", "type": "object", "title": "adBreakTrackingEvents", "description": "VMAP/ad break tracking events and corresponding URL", "properties": { "items": { "$ref": "#/definitions/adBreakTrackingEvents" } } } } }, "vastResponse": { "$id": "#/properties/vastResponse", "type": "object", "title": "vastResponse", "description": "Information about the VAST response that MediaTailor received from the ADS.", "required": [ "version", "vastAds", "errors", "nonLinearAdsList" ], "additionalProperties": false, "properties": { "version": { "$id": "#/properties/vastResponse/version", "type": "string", "description": "The VAST specification version, parsed from the <code>version</code> attribute of the <code>VAST</code> tag in the response.", "examples": [ "3.0" ], "pattern": "^(.*)$" }, "vastAds": { "$id": "#/properties/vastResponse/vastAds", "type": "array", "description": "The ads parsed from the VAST response.", "items": { "$ref": "#/definitions/vastAd" } }, "errors": { "$id": "#/properties/vastResponse/errors", "type": "array", "description": "The error URLs parsed from the <code>Error</code> tags in the VAST response.", "items": { "type": "string", "description": "A single error URL." } }, "nonLinearAdsList": { "$id": "#/properties/vastResponse/nonLinearAds", "type": "array", "description": "A list of NonLinearAds as they are read from the VAST response.", "items": { "$ref": "#/definitions/nonLinearAds" } } } }, "vastAd": { "$ref": "#/definitions/vastAd" }, "vodVastResponseTimeOffset": { "$id": "#/properties/vodVastResponseTimeOffset", "type": "number", "description": "The VMAP specific time offset for VOD ad insertion.", "examples": [ 5.0 ] }, "vodCreativeOffsets": { "$id": "#/properties/vodCreativeOffsets", "type": "object", "title": "vodCreativeOffsets", "description": "A map that indicates the time offsets in the manifest where MediaTailor will insert avails, based on the VMAP response.", "additionalProperties": { "type": "array", "$id": "#/properties/vodCreativeOffsets/entry", "description": "A mapping from a time offset in the manifest to a list of ads to insert at this time.", "items": { "type": "object", "$id": "#/properties/vodCreativeOffsets/entry/items", "title": "vodCreativeOffset", "description": "The list of ads to insert at the specified time offset.", "additionalProperties": false, "required": [ "uri", "creativeUniqueId", "vastDuration", "transcodedAdDuration", "adContent", "trackingEvents" ], "properties": { "uri": { "$ref": "#/definitions/adMezzanineUri" }, "creativeUniqueId": { "$ref": "#/definitions/creativeUniqueId" }, "vastDuration": { "$ref": "#/definitions/vastDuration" }, "transcodedAdDuration": { "$ref": "#/definitions/transcodedAdDuration" }, "adContent": { "$ref": "#/definitions/adContent" }, "trackingEvents": { "$ref": "#/definitions/trackingEvents" } } } } }, "adsRequestUrl": { "$id": "#/properties/adsRequestUrl", "type": "string", "description": "The full URL of the ADS request made by MediaTailor." }, "adMarkers": { "$id": "#/properties/adMarkers", "type": "string", "description": "Found Ad Marker in the Manifest." }, "segmentationUpid": { "$id": "#/properties/segmentationUpid", "type": "string", "description": "Value of segmentation upid parsed from ad markers in manifest." }, "segmentationTypeId": { "$id": "#/properties/segmentationTypeId", "type": "integer", "description": "Value of segmentation typeId parsed from ad markers in manifest." }, "requestHeaders": { "$id": "#/properties/requestHeaders", "type": "array", "description": "The headers that MediaTailor included with the ADS request. Typically, the logs include these when a request to the ADS fails, to help with troubleshooting.", "items": { "type": "object", "title": "requestheaders", "description": "The name and value for a single header included in the ADS request.", "required": [ "name", "value" ], "additionalProperties": false, "properties": { "name": { "type": "string", "description": "The name of the header." }, "value": { "type": "string", "description": "The value of the header." } } } }, "originalTargetUrl": { "$id": "#/properties/originalTargetUrl", "type": "string", "description": "The old URL to which MediaTailor was going to make a request." }, "updatedTargetUrl": { "$id": "#/properties/updatedTargetUrl", "type": "string", "description": "The new URL to which MediaTailor is making a request." }, "rawAdsResponse": { "$id": "#/properties/rawAdsResponse", "type": "string", "description": "Paginated ADS response as it's exactly returned to MediaTailor." }, "rawAdsResponseIndex": { "$id": "#/properties/rawAdsResponseIndex", "type": "integer", "description": "Integer value denoting this rawAdsResponse's index into the full ADS response. This value is used to order the paginated messages for this ADS response." } }, "__COMMENT_oneOf": "The oneOf section defines subtypes for our events. Subtypes can have different rules, including which fields are required. For more information, see https://json-schema.org/understanding-json-schema/reference/combining.html#oneof ", "oneOf": [ { "$ref": "#/definitions/eventAdMarkersFound" }, { "$ref": "#/definitions/eventNonAdMarkerFound" }, { "$ref": "#/definitions/eventMakingAdsRequest" }, { "$ref": "#/definitions/eventModifiedTargetUrl" }, { "$ref": "#/definitions/eventRawAdsResponse" }, { "$ref": "#/definitions/eventVastResponse" }, { "$ref": "#/definitions/eventFilledAvail" }, { "$ref": "#/definitions/eventFilledOverlayAvail" }, { "$ref": "#/definitions/eventErrorFiringBeaconFailed" }, { "$ref": "#/definitions/eventWarningNoAdvertisements" }, { "$ref": "#/definitions/eventUnknownHost" }, { "$ref": "#/definitions/eventErrorAdsTimeout" }, { "$ref": "#/definitions/eventErrorVastMissingOverlays" }, { "$ref": "#/definitions/eventPlannedAvail" }, { "$ref": "#/definitions/eventEmptyVastResponse" }, { "$ref": "#/definitions/eventEmptyVmapResponse" }, { "$ref": "#/definitions/eventErrorUnknown" }, { "$ref": "#/definitions/eventVastRedirect" }, { "$ref": "#/definitions/eventRedirectedVastResponse" }, { "$ref": "#/definitions/eventErrorAdsMissingImpression" }, { "$ref": "#/definitions/eventErrorAdsResponseParse" }, { "$ref": "#/definitions/eventErrorAdsInvalidResponse" }, { "$ref": "#/definitions/eventErrorDisallowedHost"}, { "$ref": "#/definitions/eventPersonalizationDisabled"}, { "$ref": "#/definitions/eventWarningDynamicVariableSubFailed"}, { "$ref": "#/definitions/eventVodTimeBasedAvailPlanVastResponseForOffset" }, { "$ref": "#/definitions/eventVodTimeBasedAvailPlanSuccess" } ], "definitions": { "eventAdMarkersFound": { "$id": "#/definitions/eventAdMarkersFound", "required": [ "eventType", "adMarkers" ], "properties": { "eventType": { "type": "string", "const": "AD_MARKER_FOUND" } } }, "eventNonAdMarkerFound": { "$id": "#/definitions/eventNonAdMarkerFound", "required": [ "eventType", "adMarkers" ], "properties": { "eventType": { "type": "string", "const": "NON_AD_MARKER_FOUND" } } }, "eventMakingAdsRequest": { "$id": "#/definitions/eventMakingAdsRequest", "required": [ "eventType", "adsRequestUrl" ], "properties": { "eventType": { "type": "string", "const": "MAKING_ADS_REQUEST" } } }, "eventModifiedTargetUrl": { "$id": "#/definitions/eventModifiedTargetUrl", "required": [ "eventType", "originalTargetUrl", "updatedTargetUrl" ], "properties": { "eventType": { "type": "string", "const": "MODIFIED_TARGET_URL" } } }, "eventRawAdsResponse": { "$id": "#/definitions/eventRawAdsResponse", "required": [ "eventType", "rawAdsResponse", "rawAdsResponseIndex" ], "properties": { "eventType": { "type": "string", "const": "RAW_ADS_RESPONSE" } } }, "eventVastResponse": { "$id": "#/definitions/eventVastResponse", "_comment": "NOTE: the vastResponse property should ideally be marked as a required field for this event, but unfortunately, in the case of an empty vast response, we currently emit an EMPTY_VAST_RESPONSE followed by a VAST_RESPONSE, and the vastResponse property is not present in the latter. We need to fix this so that we don't emit both of those events in the empty response case, and update this schema to flag vastResponse as required for VAST_RESPONSE.", "required": [ "eventType" ], "properties": { "eventType": { "type": "string", "const": "VAST_RESPONSE" } } }, "eventFilledAvail": { "$id": "#/definitions/eventFilledAvail", "required": [ "eventType", "avail" ], "properties": { "eventType": { "type": "string", "const": "FILLED_AVAIL" } } }, "eventFilledOverlayAvail": { "$id": "#/definitions/eventFilledOverlayAvail", "required": [ "eventType", "avail" ], "properties": { "eventType": { "type": "string", "const": "FILLED_OVERLAY_AVAIL" } } }, "eventErrorVastMissingOverlays": { "$id": "#/definitions/eventErrorVastMissingOverlays", "required": [ "eventType", "adsRequestUrl", "requestHeaders" ], "properties": { "eventType": { "type": "string", "const": "ERROR_VAST_MISSING_OVERLAYS" } } }, "eventErrorFiringBeaconFailed": { "$id": "#/definitions/eventErrorFiringBeaconFailed", "required": [ "eventType", "error", "beaconInfo" ], "properties": { "eventType": { "type": "string", "const": "ERROR_FIRING_BEACON_FAILED" } } }, "eventWarningNoAdvertisements": { "$id": "#/definitions/eventWarningNoAdvertisements", "required": [ "eventType" ], "_comment": "We should really have a more descriptive error field for these events", "properties": { "eventType": { "type": "string", "const": "WARNING_NO_ADVERTISEMENTS" } } }, "eventUnknownHost": { "$id": "#/definitions/eventUnknownHost", "required": [ "eventType", "requestHeaders" ], "properties": { "eventType": { "type": "string", "const": "ERROR_UNKNOWN_HOST" } } }, "eventErrorAdsTimeout": { "$id": "#/definitions/eventErrorAdsTimeout", "required": [ "eventType", "adsRequestUrl", "requestHeaders" ], "properties": { "eventType": { "type": "string", "const": "ERROR_ADS_TIMEOUT" } } }, "eventPlannedAvail": { "$id": "#/definitions/eventPlannedAvail", "required": [ "eventType" ], "_comment": "TODO: Flesh this out as we implement it", "properties": { "eventType": { "type": "string", "const": "PLANNED_AVAIL" } } }, "eventEmptyVastResponse": { "$id": "#/definitions/eventEmptyVastResponse", "required": [ "eventType" ], "properties": { "eventType": { "type": "string", "const": "EMPTY_VAST_RESPONSE" } } }, "eventEmptyVmapResponse": { "$id": "#/definitions/eventEmptyVmapResponse", "required": [ "eventType" ], "properties": { "eventType": { "type": "string", "const": "EMPTY_VMAP_RESPONSE" } } }, "eventErrorUnknown": { "$id": "#/definitions/eventErrorUnknown", "required": [ "eventType" ], "_comment": "TODO: we should have a field for the exception message or something", "properties": { "eventType": { "type": "string", "const": "ERROR_UNKNOWN" } } }, "eventVastRedirect": { "$id": "#/definitions/eventVastRedirect", "required": [ "eventType" ], "properties": { "eventType": { "type": "string", "const": "VAST_REDIRECT" } } }, "eventRedirectedVastResponse": { "$id": "#/definitions/eventRedirectedVastResponse", "required": [ "eventType" ], "properties": { "eventType": { "type": "string", "const": "REDIRECTED_VAST_RESPONSE" } }, "_comment": "NOTE that the property vastResponse is not required because empty vast responses do not contain a vastResponse." }, "eventErrorAdsResponseParse": { "$id": "#/definitions/eventErrorAdsResponseParse", "required": [ "eventType" ], "_comment": "We should have a field with an error message here", "properties": { "eventType": { "type": "string", "const": "ERROR_ADS_RESPONSE_PARSE" } } }, "eventErrorAdsInvalidResponse": { "$id": "#/definitions/eventErrorAdsInvalidResponse", "required": [ "eventType", "additionalInfo" ], "properties": { "eventType": { "type": "string", "const": "ERROR_ADS_INVALID_RESPONSE" } } }, "eventErrorAdsMissingImpression": { "$id": "#/definitions/eventErrorAdsMissingImpression", "required": [ "eventType" ], "properties": { "eventType": { "type": "string", "const": "ERROR_VAST_MISSING_IMPRESSION" } } }, "eventErrorDisallowedHost": { "$id": "#/definitions/eventErrorDisallowedHost", "required": [ "eventType" ], "properties": { "eventType": { "type": "string", "const": "ERROR_DISALLOWED_HOST" } } }, "eventPersonalizationDisabled": { "$id": "#/definitions/eventPersonalizationDisabled", "required": [ "eventType" ], "properties": { "eventType": { "type": "string", "const": "ERROR_PERSONALIZATION_DISABLED" } } }, "eventWarningDynamicVariableSubFailed": { "$id": "#/definitions/eventWarningDynamicVariableSubFailed", "required": [ "eventType", "adsRequestUrl" ], "properties": { "eventType": { "type": "string", "const": "WARNING_URL_VARIABLE_SUBSTITUTION_FAILED" } } }, "eventVodTimeBasedAvailPlanVastResponseForOffset": { "$id": "#/definitions/eventVodTimeBasedAvailPlanVastResponseForOffset", "required": [ "eventType", "vastResponse" ], "properties": { "eventType": { "type": "string", "const": "VOD_TIME_BASED_AVAIL_PLAN_VAST_RESPONSE_FOR_OFFSET" } } }, "eventVodTimeBasedAvailPlanSuccess": { "$id": "#/definitions/eventVodTimeBasedAvailPlanSuccess", "required": [ "eventType", "vodCreativeOffsets" ], "properties": { "eventType": { "type": "string", "const": "VOD_TIME_BASED_AVAIL_PLAN_SUCCESS" } } }, "creativeUniqueId": { "type": "string", "description": "The unique identifier for the ad, used as a key for transcoding. This is the ID field for the creative in the VAST response, if available. Otherwise, it's the mezzanine URL of the ad. " }, "adSystem": { "type": "string", "description": "The value of the <code>AdSystem</code> tag in the VAST response. " }, "vastDuration": { "type": "number", "description": "The duration of the ad, as parsed from the VAST response." }, "transcodedAdDuration": { "type": "number", "description": "The duration of the ad, calculated from the transcoded asset." }, "adContent": { "$id": "#/properties/adContent", "type": ["object", "null"], "title": "adContent", "description": "Information about the content of the inserted ad.", "additionalProperties": false, "properties": { "adPlaylistUris": { "$id": "#/properties/adContent/adPlaylistUris", "type": "object", "title": "adPlaylistUris", "description": "The mapping from the origin manifest for a variant to the ad manifest for the variant. For DASH, this contains a single entry, because all variants are represented in a single DASH manifest. ", "additionalProperties": { "$id": "#/properties/adContent/adPlaylistUris/adPlaylistUri", "type": "string", "description": "The URL of the ad manifest for the specific variant." } } } }, "adMezzanineUri": { "type": "string", "description": "The URL of the mezzanine version of the ad, which is the input to the transcoder." }, "bitrate": { "type": "integer", "examples": [ 533 ], "description": "The bitrate." }, "width": { "type": "integer", "examples": [ 1280 ], "description": "Width in pixels." }, "height": { "type": "integer", "examples": [ 720 ], "description": "Height in pixels." }, "trackingEvents": { "type": "object", "title": "trackingEvents", "description": "The tracking beacon URLs for the various tracking events for the ad. The keys are the event names, and the values are a list of beacon URLs.", "additionalProperties": { "type": "array", "description": "The list of beacon URLs for the specified tracking event (impression, complete, and so on)", "items": { "type": "string", "description": "The beacon URLs for this tracking event." } } }, "nonLinearAds": { "$id": "#/properties/nonLinearAds", "type": "object", "title": "nonLinearAds", "description": "A NonLinearAds as it appears in the VAST response.", "required": [ "nonLinearAdList", "nonLinearTrackingEvents" ], "properties": { "nonLinearAdList": { "type": "array", "description": "List of non linear ads as they exist within one NonLinearAds.", "items": { "type": "object", "title": "nonLinearAdList", "description": "List of NonLinearAd as they are parsed from its parent NonLinearAds.", "properties": { "nonLinearAdId": { "type": "string", "description": "Ad ID of this non linear ad." }, "nonLinearAdSystem": { "type": "string", "description": "Ad system of this non linear ad's parent Inline ad." }, "nonLinearAdTitle": { "type": "string", "description": "Ad title of this non linear ad's parent Inline ad." }, "nonLinearCreativeId": { "type": "string", "description": "Creative ID of this non linear ad's parent Creative ad." }, "nonLinearCreativeAdId": { "type": "string", "description": "Creative ad ID of this non linear ad." }, "nonLinearCreativeSequence": { "type": "string", "description": "Creative sequence of this non linear ad." }, "nonLinearWidth": { "type": "string", "description": "Width of this non linear ad." }, "nonLinearHeight": { "type": "string", "description": "Height of this non linear ad." }, "nonLinearExpandedWidth": { "type": "string", "description": "Expanded width of this non linear ad." }, "nonLinearExpandedHeight": { "type": "string", "description": "Expanded height of this non linear ad." }, "nonLinearScalable": { "type": "boolean", "description": "Boolean denoting if this non linear ad is scalable." }, "nonLinearMaintainAspectRatio": { "type": "boolean", "description": "Boolean denoting if aspect ratio should be maintained for this non linear ad." }, "nonLinearMinSuggestedDuration": { "type": "string", "description": "Min suggested duration for this non linear ad." }, "nonLinearApiFramework": { "type": "string", "description": "API framework for this non linear ad's parent Inline ad." }, "nonLinearStaticResource": { "type": "string", "description": "Static resource for this non linear ad." }, "nonLinearStaticResourceCreativeType": { "type": "string", "description": "Static Resource creative type for this non linear ad." }, "nonLinearIFrameResource": { "type": "string", "description": "I-Frame resource for this non linear ad." }, "nonLinearHtmlResource": { "type": "string", "description": "HTML resource for this non linear ad." }, "nonLinearAdParameters": { "type": "string", "description": "Ad parameters for this non linear ad." }, "nonLinearClickThrough": { "type": "string", "description": "Click Through data for this non linear ad." }, "nonLinearClickTracking": { "type": "string", "description": "Click Tracking data for this non linear ad." }, "nonLinearClickTrackingId": { "type": "string", "description": "Click Tracking ID for this non linear ad." } } } }, "nonLinearTrackingEvents": { "$ref": "#/definitions/trackingEvents" }, "extensions": { "$id": "#/properties/nonLinearAds/extensions", "type": "array", "description": "Extensions that exist for this NonLinearAds.", "items": { "$id": "#/properties/nonLinearAds/extensions/items", "type": "object", "title": "Extensions", "description": "Extensions found in non linear ads", "additionalProperties": false, "properties": { "extensionType": { "$id": "#/properties/nonLinearAds/extensions/extensionType", "type": "string", "description": "The value of the extension type attribute of the <code>Extensions</code> tag.", "examples": [ "FreeWheel" ] }, "extensionContent": { "$id": "#/properties/nonLinearAds/extensions/extensionContent", "type": "string", "description": "The extension content attribute of the <code>Extensions</code> tag.", "examples": [ "progressive" ] } } } } } }, "adBreakTrackingEvents": { "$id": "#/properites/adBreakTrackingEvents", "type": "object", "title": "adBreakTrackingEvents", "description": "These are all VMAP ad break tracking events.", "additionalProperties": { "type": "array", "description": "VMAP/ad break tracking events and corresponding URL", "items": { "type": "string", "description": "The beacon URLs for this tracking event." } } }, "vastAd": { "$id": "#/properties/vastAd", "type": "object", "title": "vastAd", "description": "Information about a single ad parsed from the VAST response.", "required": [ "vastAdId", "adSystem", "adTitle", "creativeId", "creativeAdId", "duration", "vastMediaFiles", "trackingEvents" ], "additionalProperties": false, "properties": { "vastAdId": { "$id": "#/properties/vastAd/vastAdId", "type": "string", "description": "The value of the id attribute of the <code>Ad</code> tag in the VAST response", "examples": [ "ad1" ] }, "adSystem": {"$ref": "#/definitions/adSystem" } , "adTitle": { "$id": "#/properties/vastAd/adTitle", "type": "string", "description": "The media files that are available for the ad in the VAST response.", "examples": [ "External NCA1C1L1 LinearInlineSkippable" ] }, "creativeId": { "$id": "#/properties/vastAd/creativeId", "type": "string", "description": "The value of the id attribute of the <code>Creative</code> tag in the VAST response.", "examples": [ "creative1" ] }, "creativeAdId": { "$id": "#/properties/vastAd/creativeAdId", "type": "string", "description": "The value of the adId attribute of the <code>Creative</code> tag in the VAST response." }, "duration": { "$id": "#/properties/vastAd/duration", "type": "number", "description": "The approximate duration of the ad, based on the <code>duration</code> tag in the <code>linear</code> element of the VAST response.", "examples": [ 30, 30.0 ] }, "vastMediaFiles": { "$id": "#/properties/vastAd/vastMediaFiles", "type": "array", "description": "The list of available media files for the ad in the VAST response.", "items": { "$id": "#/properties/vastAd/vastMediaFiles/items", "type": "object", "title": "vastMediaFile", "description": "Information about a media file for the ad.", "required": [ "uri", "id", "delivery", "type", "apiFramework", "width", "height", "bitrate" ], "additionalProperties": false, "properties": { "uri": { "$ref": "#/definitions/adMezzanineUri" }, "id": { "$id": "#/properties/vastAd/vastMediaFiles/items/properties/id", "type": "string", "description": "The value of the id attribute of the <code>MediaFile</code> tag.", "examples": [ "GDFP" ] }, "delivery": { "$id": "#/properties/vastAd/vastMediaFiles/items/properties/delivery", "type": "string", "description": "The protocol used for the media file, set to either progressive or streaming.", "examples": [ "progressive" ] }, "type": { "$id": "#/properties/vastAd/vastMediaFiles/items/properties/type", "type": "string", "description": "The MIME type of the media file, taken from the type attribute of the <code>MediaFile</code> tag.", "examples": [ "video/mp4" ] }, "apiFramework": { "$id": "#/properties/vastAd/vastMediaFiles/items/properties/apiFramework", "type": "string", "description": "The API framework needed to manage the media file. Example: <code>VPAID</code>." }, "width": { "$ref": "#/definitions/width" }, "height": { "$ref": "#/definitions/height" }, "bitrate": { "$ref": "#/definitions/bitrate" } } } }, "trackingEvents": { "$ref": "#/definitions/trackingEvents" }, "vastAdTagUri": { "$id": "#/properties/vastAd/vastAdTagUri", "type": "string", "description": "The VMAP-specific redirect URI for an ad.", "examples": [ "https://ads.redirect.com/redirect1" ] } } } } }