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 | 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.
| Properti | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
<any string> |
string | false | URL manifes iklan untuk varian tertentu. |
berhasil
Bagian ini menjelaskan properti log ADS yang tersedia.
| 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 | 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 | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
name |
string | true | Nama header. |
value |
string | true | Nilai header. |
Skippedad
Bagian ini menjelaskan properti log ADS SkippedAD.
| 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 | 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 | 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.
| 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.
| 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.
| 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.
| 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.
| 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" } } } } }