View a markdown version of this page

AWS Elemental MediaTailor Deskripsi log ADS dan jenis peristiwa - AWS Elemental MediaTailor

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

AWS Elemental MediaTailor Deskripsi log ADS dan jenis peristiwa

Bagian berikut menjelaskan log yang dipan MediaTailor carkan untuk menggambarkan peristiwa dengan server keputusan iklan (ADS). Ini adalah AdDecisionServerInteractions log.

AdDecisionServerInteractions peristiwa

Peristiwa berikut dipancarkan selama MediaTailor interaksi dengan server keputusan iklan (ADS).

Log Deskripsi
AD_MARKER_FOUND MediaTailor menemukan penanda iklan di manifes.
BEACON_FIRED Suar pelacakan ditembakkan untuk melaporkan peristiwa iklan. Dalam mode pelaporan sisi server (default), aktifkan su MediaTailor ar. Dalam mode pelaporan sisi klien, perangkat pemutaran mengaktifkan suar.
EMPTY_VAST_RESPONSE ADS mengembalikan respons VAST kosong yang berisi nol iklan.
EMPTY_VMAP_RESPONSE ADS mengembalikan respons VMAP kosong.
ERROR_ADS_INVALID_RESPONSE ADS mengembalikan kode status non-200.
ERROR_ADS_IO MediaTailor mengalami kesalahan saat mencoba berkomunikasi dengan ADS.
ERROR_ADS_RESPONSE_PARSE MediaTailor mengalami kesalahan saat mengurai respons ADS.
ERROR_ADS_RESPONSE_UNKNOWN_ROOT_ELEMENT Respons ADS berisi elemen root yang tidak valid.
ERROR_ADS_TIMEOUT Per MediaTailor mintaan ke ADS habis waktunya.
ERROR_DISALLOWED_HOST Host ADS tidak diperbolehkan.
ERROR_FIRING_BEACON_FAILED MediaTailor gagal menembakkan suar pelacakan.
ERROR_PERSONALIZATION_DISABLED Penyisipan iklan dinonaktifkan untuk sesi ini.
ERROR_UNKNOWN MediaTailor mengalami kesalahan yang tidak diketahui selama permintaan ADS.
ERROR_UNKNOWN_HOST Host ADS tidak diketahui.
ERROR_VAST_INVALID_MEDIA_FILE VAST Ad memiliki MediaFile elemen yang tidak valid atau hilang.
ERROR_VAST_INVALID_VAST_AD_TAG_URI Respons VAST berisi yang tidak validVASTAdTagURI.
ERROR_VAST_MISSING_CREATIVES VAST Ad berisi nol atau beberapa Creatives elemen. Diperlukan tepat satu Creatives elemen.
ERROR_VAST_MISSING_IMPRESSION VAST Ad mengandung nol Impression elemen. Setidaknya satu Impression elemen diperlukan.
ERROR_VAST_MISSING_MEDIAFILES VAST Ad berisi nol atau beberapa MediaFiles elemen. Diperlukan tepat satu MediaFiles elemen.
ERROR_VAST_MISSING_OVERLAYS MediaTailor tidak menerima iklan non-linear dari server iklan.
ERROR_VAST_MULTIPLE_LINEAR VAST Ad berisi beberapa Linear elemen.
ERROR_VAST_MULTIPLE_TRACKING_EVENTS VAST Ad berisi beberapa TrackingEvents elemen.
ERROR_VAST_REDIRECT_EMPTY_RESPONSE Permintaan pengalihan VAST mengembalikan respons kosong.
ERROR_VAST_REDIRECT_FAILED Permintaan pengalihan VAST mengalami kesalahan.
ERROR_VAST_REDIRECT_MULTIPLE_VAST Permintaan pengalihan VAST mengembalikan beberapa iklan.
FILLED_AVAIL MediaTailor berhasil memenuhi manfaatnya.
FILLED_OVERLAY_AVAIL MediaTailor berhasil mengisi overlay yang tersedia.
INTERSTITIAL_VOD_FAILURE Permintaan atau tanggapan ADS mengalami masalah saat mengisi ketersediaan interstitial untuk daftar putar VOD. Tidak ada iklan yang akan dimasukkan.
INTERSTITIAL_VOD_SUCCESS MediaTailor berhasil mengisi ketersediaan interstitial untuk daftar putar VOD.
MAKING_ADS_REQUEST MediaTailor meminta iklan dari ADS.
MODIFIED_TARGET_URL MediaTailor memodifikasi URL target keluar.
NON_AD_MARKER_FOUND MediaTailor menemukan penanda iklan yang tidak dapat ditindaklanjuti di manifes.
POST_ADS_RESPONSE_FUNCTION_COMPLETED Fungsi individu dalam kait respons pasca-iklan selesai. Ini adalah jenis acara opt-in.
POST_ADS_RESPONSE_FUNCTION_ERROR Fungsi individu dalam hook respons pasca-iklan gagal.
POST_ADS_RESPONSE_HOOK_ERROR Eksekusi hook respons pasca-iklan gagal.
POST_ADS_RESPONSE_HOOK_SUMMARY Ringkasan eksekusi hook respons pasca-iklan, termasuk status sukses atau kesalahan. Ini adalah jenis acara opt-in.
PRE_ADS_REQUEST_FUNCTION_COMPLETED Fungsi individual dalam kait permintaan pra-iklan selesai. Ini adalah jenis acara opt-in.
PRE_ADS_REQUEST_FUNCTION_ERROR Fungsi individual dalam kait permintaan pra-iklan gagal.
PRE_ADS_REQUEST_HOOK_ERROR Eksekusi kait permintaan pra-iklan gagal.
PRE_ADS_REQUEST_HOOK_SUMMARY Ringkasan eksekusi kait permintaan pra-iklan, termasuk status sukses atau kesalahan. Ini adalah jenis acara opt-in.
PRE_MANIFEST_INSERTION_FUNCTION_COMPLETED Fungsi individu dalam kait penyisipan pra-manifes selesai. Ini adalah jenis acara opt-in.
PRE_MANIFEST_INSERTION_FUNCTION_ERROR Fungsi individu dalam kait penyisipan pra-manifes gagal.
PRE_MANIFEST_INSERTION_HOOK_ERROR Eksekusi kait penyisipan pra-manifes gagal.
PRE_MANIFEST_INSERTION_HOOK_SUMMARY Ringkasan eksekusi kait penyisipan pra-manifes, termasuk status keberhasilan atau kesalahan. Ini adalah jenis acara opt-in.
RAW_ADS_RESPONSE MediaTailor menerima tanggapan ADS mentah.
REDIRECTED_VAST_RESPONSE MediaTailor menerima tanggapan VAST setelah mengikuti pengalihan VAST.
VAST_REDIRECT Respons iklan VAST berisi pengalihan.
VAST_RESPONSE MediaTailor Mendapat tanggapan yang luas.
VOD_TIME_BASED_AVAIL_PLAN_SUCCESS MediaTailor berhasil membuat rencana keuntungan berbasis waktu untuk template VOD.
VOD_TIME_BASED_AVAIL_PLAN_VAST_RESPONSE_FOR_OFFSET MediaTailor sedang membuat rencana keuntungan berbasis waktu untuk template VOD. MediaTailor menerima tanggapan VAST untuk offset waktu.
VOD_TIME_BASED_AVAIL_PLAN_WARNING_NO_ADVERTISEMENTS Permintaan atau tanggapan ADS mengalami masalah saat membuat rencana ketersediaan berbasis waktu untuk template VOD. Tidak ada iklan yang akan dimasukkan.
WARNING_NO_ADVERTISEMENTS MediaTailor mengalami masalah saat mengisi yang tersedia. Tidak ada iklan yang dimasukkan.
WARNING_URL_VARIABLE_SUBSTITUTION_FAILED MediaTailor tidak dapat menggantikan variabel dinamis di URL ADS. Periksa konfigurasi URL.
WARNING_VPAID_AD_DROPPED Iklan VPAID dihapus karena tidak ada papan tulis, atau sesi menggunakan pelaporan sisi server.

Deskripsi log ADS

Bagian ini menjelaskan struktur dan isi deskripsi log ADS. Untuk menjelajah sendiri di editor JSON, gunakan daftar diSkema JSON log ADS.

Setiap peristiwa dalam log ADS berisi bidang standar yang dihasilkan oleh CloudWatch Log. Untuk selengkapnya, lihat Menganalisis data CloudWatch log dengan wawasan Log.

Properti log ADS

Bagian ini menjelaskan properti log ADS.

Properti Tipe Diperlukan Deskripsi
adsRequestUrl string false URL lengkap permintaan ADS yang dibuat oleh MediaTailor.
avail objek tipe berhasil false Informasi tentang manfaat yang MediaTailor diisi dengan iklan. Saat ini, untuk jenis FILLED_AVAIL acara, ini adalah rencana yang dibuat MediaTailor saat pertama kali menemukan manfaatnya. Bagaimana hasilnya akhirnya diisi dapat berbeda dari rencana ini, tergantung pada bagaimana konten dimainkan.
awsAccountId string true ID akun AWS untuk MediaTailor konfigurasi yang digunakan untuk sesi.
customerId string true Versi hash dari ID akun AWS, yang dapat Anda gunakan untuk menghubungkan beberapa entri log.
eventDescription string true Deskripsi singkat tentang peristiwa yang memicu pesan log ini, disediakan oleh MediaTailor layanan. Secara default, ini kosong. Contoh:Got VAST response.
eventTimestamp string true Tanggal dan waktu acara.
eventType string true Kode untuk peristiwa yang memicu pesan log ini. Contoh:VAST_RESPONSE.
errorType string false Klasifikasi kesalahan terstruktur. Hadir PRE_ADS_REQUEST_HOOK_ERROR dan PRE_ADS_REQUEST_FUNCTION_ERROR acara. Nilai:INTERNAL_ERROR,SYNTAX_ERROR,RESOURCE_LIMIT_ERROR,RESTRICTION_ERROR,TIMEOUT_ERROR,VALIDATION_ERROR.
cause string false String detail kesalahan yang menjelaskan kegagalan spesifik. Hadir PRE_ADS_REQUEST_HOOK_ERROR dan PRE_ADS_REQUEST_FUNCTION_ERROR acara.
eventId string false Pengidentifikasi unik per pemanggilan kait. Gunakan bidang ini untuk menghubungkan peristiwa tingkat kait dan tingkat fungsi untuk eksekusi yang sama. Hadir pada acara Functions saja.
executionTimeMs integer false Waktu eksekusi dalam milidetik. Hadir pada acara Functions saja.
functionId string false Pengidentifikasi fungsi. Pada peristiwa hook, ini adalah fungsi yang dikonfigurasi pada hook. Pada peristiwa fungsi, ini adalah fungsi individu dalam eksekutor. Hadir pada acara Functions saja.
functionType string false Jenis fungsi:CUSTOM_OUTPUT,, HTTP_REQUESTSEQUENTIAL_EXECUTOR, atauCONCURRENT_EXECUTOR. Hadir pada acara tingkat fungsi saja.
http object false Permintaan HTTP dan detail respons. Hadir pada peristiwa tingkat fungsi hanya untuk HTTP_REQUEST fungsi. Ber request isi (url, metode, header, body),responseTimeMs, response (statusCode, header, body), dan truncated (true ketika permintaan atau badan respons dipotong agar sesuai dengan batas ukuran peristiwa log).
input object false Before-values variabel yang ditargetkan oleh ekspresi keluaran. Hadir pada acara tingkat fungsi saja.
output object false Nilai yang dihasilkan oleh fungsi. Hadir pada PRE_ADS_REQUEST_FUNCTION_COMPLETED acara saja.
status string false Hasil eksekusi kait: SUCCESS atauERROR. Hadir pada PRE_ADS_REQUEST_HOOK_SUMMARY acara saja.
originId string true Nama konfigurasi dari MediaTailor konfigurasi. Ini berbeda dari sumber konten video, yang juga merupakan bagian dari konfigurasi.
prefetchScheduleName string false Nama jadwal prefetch yang terkait dengan acara iklan ini.
requestHeaders array tipe pembaca pertanyaan false Header yang diser MediaTailor takan dengan permintaan ADS. Biasanya, log menyertakan ini ketika permintaan ke ADS gagal, untuk membantu pemecahan masalah.
requestId string true ID MediaTailor permintaan, yang dapat Anda gunakan untuk menghubungkan beberapa entri log untuk permintaan yang sama.
sessionId string true Pengidentifikasi numerik unik yang MediaTailor ditetapkan untuk sesi pemain. Semua permintaan yang dibuat pemain untuk sesi memiliki ID sesi yang sama. Contoh:e039fd39-09f0-46b2-aca9-9871cc116cde.
sessionType string (nilai hukum: [DASH, HLS]) true Jenis streaming pemain.
vastAd objek tipe VastaD false Informasi tentang satu iklan yang diurai dari respons VAST.
vastResponse objek tipe VastResponse false Informasi tentang respons VAST yang MediaTailor diterima dari ADS.
vodCreativeOffsets objek tipe Vod CreativeOffsets false Peta yang menunjukkan offset waktu dalam manifes tempat MediaTailor akan menyisipkan avails, berdasarkan respons VMAP.
vodVastResponseTimeOffset number false Offset waktu khusus VMAP untuk penyisipan iklan VOD.

IklanKonten

Bagian ini menjelaskan properti log ADContent.

Properti Konten Iklan Log ADS
Properti Tipe Diperlukan Deskripsi
adPlaylistUris objek tipe iklan PlaylistUris false Pemetaan dari manifes asal untuk varian ke manifes iklan untuk varian. Untuk DASH, ini berisi entri tunggal, karena semua varian diwakili dalam manifes DASH tunggal.

iklan PlaylistUris

Bagian ini menjelaskan properti iklan log ADSPlaylistUris.

Pro PlaylistUris perti iklan Log ADS
Properti Tipe Diperlukan Deskripsi
<any string> string false URL manifes iklan untuk varian tertentu.

berhasil

Bagian ini menjelaskan properti log ADS yang tersedia.

Log ADS menyediakan Properti
Properti Tipe Diperlukan Deskripsi
availId string true Pengidentifikasi unik untuk ini tersedia. Untuk HLS, ini adalah nomor urutan media di mana kelebihannya dimulai. Untuk DASH, ini adalah ID periode.
creativeAds susunan tipe KreatifIf true Iklan yang MediaTailor dimasukkan ke dalam tersedia.
fillRate number true Tingkat di mana iklan mengisi durasi yang tersedia, dari 0,0 (untuk 0%) hingga 1,0 (untuk 100%).
filledDuration number true Jumlah durasi semua iklan dimasukkan ke dalam yang tersedia.
numAds number true Jumlah iklan yang MediaTailor dimasukkan ke dalam tersedia.
originAvailDuration number true Durasi yang tersedia seperti yang ditentukan dalam aliran konten dari asal (CUE_OUTatauSCTE).
skippedAds susunan tipe Skippedad false Iklan yang MediaTailor tidak disisipkan, karena alasan seperti TRANSCODE_IN_PROGRESS danTRANSCODE_ERROR.

Untuk daftar alasan iklan yang dilewati, lihatPemecahan masalah melewatkan iklan.

slateAd objek tipe Slatead true Informasi tentang iklan batu tulis, yang digunakan MediaTailor untuk mengisi segmen yang tidak terisi yang tersedia.

KreatifIf

Bagian ini menjelaskan properti log ADS CreativeAd.

Properti iklan CreativeAd Logs
Properti Tipe Diperlukan Deskripsi
adContent objek tipe IklanKonten true Informasi tentang konten iklan yang disisipkan.
creativeUniqueId string true Pengidentifikasi unik untuk iklan, digunakan sebagai kunci untuk transcoding. Ini adalah bidang ID untuk kreatif dalam respons VAST, jika tersedia. Jika tidak, itu adalah URL mezzanine iklan.
trackingEvents objek tipe PelacakanAcara true URL suar pelacakan untuk berbagai peristiwa pelacakan untuk iklan. Kuncinya adalah nama acara, dan nilainya adalah daftar URL suar.
transcodedAdDuration number true Durasi iklan, dihitung dari aset yang ditranskode.
uri string true URL versi mezzanine dari iklan, yang merupakan input ke transcoder.
vastDuration number true Durasi iklan, seperti yang diurai dari respons VAST.

pembaca pertanyaan

Bagian ini menjelaskan properti dari pembaca pertanyaan log ADS.

Properti pembaca pertanyaan ADS Log
Properti Tipe Diperlukan Deskripsi
name string true Nama header.
value string true Nilai header.

Skippedad

Bagian ini menjelaskan properti log ADS SkippedAD.

Logs ADS SkippedAD Properties
Properti Tipe Diperlukan Deskripsi
adMezzanineUrl string true URL mezzanine dari iklan yang dilewati.
creativeUniqueId string true Pengidentifikasi unik untuk iklan, digunakan sebagai kunci untuk transcoding. Ini adalah bidang ID untuk kreatif dalam respons VAST, jika tersedia. Jika tidak, itu adalah URL mezzanine iklan.
skippedReason string true Kode yang menunjukkan mengapa iklan tidak dimasukkan. Contoh:TRANSCODE_IN_PROGRESS.

Untuk daftar alasan iklan yang dilewati, lihatPemecahan masalah melewatkan iklan.

transcodedAdDuration number false Durasi iklan, dihitung dari aset yang ditranskode.
vastDuration number true Durasi iklan, seperti yang diurai dari respons VAST.

Slatead

Bagian ini menjelaskan properti log ADS SlateAd.

Properti SlateAd Log ADS
Properti Tipe Diperlukan Deskripsi
adContent objek tipe IklanKonten true Informasi tentang konten iklan yang disisipkan.
creativeUniqueId string true Pengidentifikasi unik untuk iklan, digunakan sebagai kunci untuk transcoding. Ini adalah bidang ID untuk kreatif dalam respons VAST, jika tersedia. Jika tidak, itu adalah URL mezzanine iklan.
transcodedAdDuration number true Durasi iklan, dihitung dari aset yang ditranskode.
uri string true URL versi mezzanine dari iklan, yang merupakan input ke transcoder.

PelacakanAcara

Bagian ini menjelaskan properti log ADS TrackingEvents.

Properti Peristiwa Pelacakan Log ADS
Properti Tipe Diperlukan Deskripsi
<any string> array tipe string false Daftar URL suar untuk peristiwa pelacakan yang ditentukan (tayangan, lengkap, dan sebagainya)

VastaD

Bagian ini menjelaskan properti log ADS VAstad.

Log ADS di Properti AD
Properti Tipe Diperlukan Deskripsi
adSystem string true Nilai AdSystem tag dalam respons VAST.
adTitle string true File media yang tersedia untuk iklan dalam respons VAST.
creativeAdId string true Nilai atribut adiD dari Creative tag dalam respons VAST.
creativeId string true Nilai atribut id dari Creative tag dalam respons VAST.
duration number true Perkiraan durasi iklan, berdasarkan duration tag dalam linear elemen respons VAST.
trackingEvents objek tipe PelacakanAcara true URL suar pelacakan untuk berbagai peristiwa pelacakan untuk iklan. Kuncinya adalah nama acara, dan nilainya adalah daftar URL suar.
vastAdId string true Nilai atribut id dari Ad tag dalam respons VAST
vastAdTagUri string false URI VMAP-specific pengalihan untuk iklan.
vastMediaFiles susunan tipe luas MediaFile true Daftar file media yang tersedia untuk iklan dalam respons VAST.

luas MediaFile

Bagian ini menjelaskan properti log ADS yang luasMediaFile.

ADS Logs Pro MediaFile perti yang luas
Properti Tipe Diperlukan Deskripsi
apiFramework string true Kerangka API diperlukan untuk mengelola file media. Contoh:VPAID.
bitrate number true Bitrate file media.
delivery string true Protokol yang digunakan untuk file media, diatur ke progresif atau streaming.
height number true Tinggi piksel dari file media.
id string true Nilai atribut id dari MediaFile tag.
type string true Jenis MIME dari file media, diambil dari atribut type MediaFile tag.
uri string true URL versi mezzanine dari iklan, yang merupakan input ke transcoder.
width number true Lebar piksel dari file media.

VastResponse

Bagian ini menjelaskan properti log ADS VASTResponse.

Logs ADS Properti VastResponse
Properti Tipe Diperlukan Deskripsi
errors array tipe string true URL kesalahan diurai dari Error tag dalam respons VAST.
vastAds array tipe VastaD true Iklan diurai dari respons VAST.
version string true Versi spesifikasi VAST, diurai dari version atribut VAST tag dalam respons.

Vod CreativeOffsets

Bagian ini menjelaskan properti dari log ADS vodCreativeOffsets.

Pro CreativeOffsets perti VOD Log ADS
Properti Tipe Diperlukan Deskripsi
<any string> array tipe Vod CreativeOffset false Pemetaan dari offset waktu dalam manifes ke daftar iklan untuk disisipkan saat ini.

Vod CreativeOffset

Bagian ini menjelaskan properti dari log ADS vodCreativeOffset.

Pro CreativeOffset perti VOD Log ADS
Properti Tipe Diperlukan Deskripsi
adContent objek tipe IklanKonten true Informasi tentang konten iklan yang dimasukkan.
creativeUniqueId string true Pengidentifikasi unik untuk iklan, digunakan sebagai kunci untuk transcoding. Ini adalah bidang ID untuk kreatif dalam respons VAST, jika tersedia. Jika tidak, itu adalah URL mezzanine iklan.
trackingEvents objek tipe PelacakanAcara true URL suar pelacakan untuk berbagai peristiwa pelacakan untuk iklan. Kuncinya adalah nama acara, dan nilainya adalah daftar URL suar.
transcodedAdDuration number true Durasi iklan, dihitung dari aset yang ditranskode.
uri string true URL versi mezzanine dari iklan, yang merupakan input ke transcoder.
vastDuration number true Durasi iklan, seperti yang diurai dari respons VAST.

Skema JSON log ADS

Berikut ini mencantumkan skema JSON untuk log 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." }, "prefetchScheduleName": { "$id": "#/properties/prefetchScheduleName", "type": "string", "description": "The name of the prefetch schedule associated with this ad event.", "examples": [ "PrefetchScheduleName" ], "pattern": "^(.*)$" }, "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." }, "eventId": { "$id": "#/properties/eventId", "type": "string", "description": "Unique identifier per hook invocation. Use this field to correlate hook-level and function-level events for the same execution.", "examples": [ "5dc6f040-0f72-4e8c-a64e-25eeef62708c" ] }, "functionId": { "$id": "#/properties/functionId", "type": "string", "description": "The identifier of the function. On hook events, this is the function configured on the hook. On function events, this is the individual function within the executor.", "examples": [ "my_first_function" ] }, "functionType": { "$id": "#/properties/functionType", "type": "string", "enum": [ "CUSTOM_OUTPUT", "HTTP_REQUEST", "SEQUENTIAL_EXECUTOR", "CONCURRENT_EXECUTOR" ], "description": "The type of function." }, "executionTimeMs": { "$id": "#/properties/executionTimeMs", "type": "integer", "description": "Execution time in milliseconds." }, "status": { "$id": "#/properties/status", "type": "string", "enum": [ "SUCCESS", "ERROR" ], "description": "Hook execution outcome. Present on HOOK_SUMMARY events only." }, "errorType": { "$id": "#/properties/errorType", "type": "string", "enum": [ "INTERNAL_ERROR", "SYNTAX_ERROR", "RESOURCE_LIMIT_ERROR", "RESTRICTION_ERROR", "TIMEOUT_ERROR", "VALIDATION_ERROR" ], "description": "Structured error classification. Present on error events only." }, "cause": { "$id": "#/properties/cause", "type": "string", "description": "Error detail string describing the specific failure." }, "input": { "$id": "#/properties/input", "type": "object", "description": "Before-values of variables targeted by output expressions." }, "output": { "$id": "#/properties/output", "type": "object", "description": "Values produced by the function. Present on FUNCTION_COMPLETED events only." }, "http": { "$id": "#/properties/http", "type": "object", "description": "HTTP request and response details for HTTP_REQUEST functions.", "properties": { "request": { "type": "object", "description": "The HTTP request details.", "properties": { "url": { "type": "string", "description": "The request URL." }, "method": { "type": "string", "description": "The HTTP method." }, "headers": { "type": "array", "description": "The request headers.", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } } }, "body": { "type": ["string", "null"], "description": "The request body." } } }, "responseTimeMs": { "type": ["integer", "null"], "description": "HTTP response time in milliseconds." }, "response": { "type": ["object", "null"], "description": "The HTTP response details. Null when the server was never reached.", "properties": { "statusCode": { "type": ["integer", "null"], "description": "The HTTP status code. Null when the server was never reached." }, "headers": { "type": ["array", "null"], "description": "The response headers.", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } } }, "body": { "type": ["string", "null"], "description": "The response body." } } }, "truncated": { "type": "boolean", "description": "True when request or response body was truncated to fit within log event size limits." } } } }, "__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" }, { "$ref": "#/definitions/eventPreAdsRequestHookSummary" }, { "$ref": "#/definitions/eventPreAdsRequestHookError" }, { "$ref": "#/definitions/eventPreAdsRequestFunctionCompleted" }, { "$ref": "#/definitions/eventPreAdsRequestFunctionError" } ], "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" ] } } }, "eventPreAdsRequestHookSummary": { "$id": "#/definitions/eventPreAdsRequestHookSummary", "required": [ "eventType", "eventId", "functionId", "executionTimeMs", "status" ], "properties": { "eventType": { "type": "string", "const": "PRE_ADS_REQUEST_HOOK_SUMMARY" } } }, "eventPreAdsRequestHookError": { "$id": "#/definitions/eventPreAdsRequestHookError", "required": [ "eventType", "eventId", "functionId", "executionTimeMs", "errorType", "cause" ], "properties": { "eventType": { "type": "string", "const": "PRE_ADS_REQUEST_HOOK_ERROR" } } }, "eventPreAdsRequestFunctionCompleted": { "$id": "#/definitions/eventPreAdsRequestFunctionCompleted", "required": [ "eventType", "eventId", "functionId", "functionType", "executionTimeMs" ], "properties": { "eventType": { "type": "string", "const": "PRE_ADS_REQUEST_FUNCTION_COMPLETED" } } }, "eventPreAdsRequestFunctionError": { "$id": "#/definitions/eventPreAdsRequestFunctionError", "required": [ "eventType", "eventId", "functionId", "functionType", "executionTimeMs", "errorType", "cause" ], "properties": { "eventType": { "type": "string", "const": "PRE_ADS_REQUEST_FUNCTION_ERROR" } } } } }