The Synamedia DAI configuration
| Name | Type | Default | Description |
|---|---|---|---|
| version | string |
“1.0.0” | Define the configuration version schema |
| settings | object(categories) |
Global settings definition | |
| server | object |
Server settings | |
| httpResponseHeaders | object |
Headers to include in the HTTP responses | |
| global | [object] |
Headers to include in the HTTP global responses | |
| header * | string |
HTTP header | |
| value * | string |
Value of the HTTP header | |
| cdnReqId | object |
CDN request ID is used to trace all requests. If not set, CDN request ID will not be traced. | |
| possibleHeaders | [string] |
List of possible HTTP headers used by the CDNs to trace the requests. The first header found in incoming requests or response will be used as cdnReqId. | |
| Header | string |
||
| traces | object |
||
| humanReadable | boolean |
false | If true, logs will be printed in non-json format |
| level | string [“error”, “warn”, “info”, “http”, “verbose”, “debug”, “silly”] |
“info” | Log severity level |
| accessLog | object(categories) |
||
| type | string [“stdout”, “clickhouse”] |
“stdout” | |
| manifestManipulator | object |
Define the rules to log the HTTP access to manifest manipulator | |
| enabled | boolean |
true | If true, access log is enabled for manifest manipulator |
| includeCacheHit | boolean |
false | If true, include in the access logs requests coming from cache |
| filtering | object |
Define any conditions to log the HTTP access | |
| httpError | boolean |
If true, log access about HTTP errors | |
| requestDuration | number |
If higher than 0, log access that takes longer than this duration in milliseconds | |
| vastRequest | boolean |
If true, log access about VAST/VMAP requests | |
| prebidder | object |
Define the rules to log the HTTP access to prebidder | |
| enabled | boolean |
true | If true, access log is enabled for prebidder |
| includeCacheHit | boolean |
false | If true, include in the access logs requests coming from cache |
| sessionManager | object |
Define the rules to log the HTTP access to session manager | |
| enabled | boolean |
true | If true, access log is enabled for session manager |
| includeCacheHit | boolean |
false | If true, include in the access logs requests coming from cache |
| filtering | object |
Define any conditions to log the HTTP access | |
| httpError | boolean |
If true, log access about HTTP errors | |
| requestDuration | number |
If higher than 0, log access that takes longer than this duration in milliseconds | |
| trackingServerProxy | object |
Define the rules to log the HTTP access to tracking server proxy | |
| enabled | boolean |
true | If true, access log is enabled for tracking server proxy |
| debug | object(categories) |
Debug configuration which allows to dump data and replay requests via dumped data | |
| returnTraceParent | boolean |
false | If true, http response returns the main request traceparent header |
| userData | boolean |
false | If true, additionnal debug log for user data will be added |
| vastData | boolean |
false | If true, additionnal debug log for vast data will be added |
| manifestManipulator | object |
||
| dump | object |
||
| enable | string [“true”, “false”, “onDemand”] |
“false” | If true, dump input request as well as all input data in specified directory. replayTraceId query parameter can then be used to fetch input data from dump directory instead of real server. |
| directory | string |
“/tmp/dump” | Directory where dumped input requests and data will be
stored. For S3 storage, use the s3://bucket-name/path/to/directory/ format. Available tokens: - ${sessionIdentification}: Session identification |
| s3Access | object |
||
| accessKeyId * | string |
||
| secretAccessKey * | string |
||
| region | string |
||
| compress | boolean |
false | If true, dump files will be compressed using gzip |
| filtering | object |
||
| traceId | string |
regex to filter input requests on trace Id (ex: 1{4}$) | |
| url | string |
regex to filter input requests on session Identification (ex: ^Device1 | |
| prebidder | object |
||
| dump | object |
||
| enable | string [“true”, “false”, “onDemand”] |
“false” | If true, dump input request as well as all input data in specified directory. replayTraceId query parameter can then be used to fetch input data from dump directory instead of real server. |
| directory | string |
“/tmp/dump” | Directory where dumped input requests and data will be
stored. For S3 storage, use the s3://bucket-name/path/to/directory/ format. Available tokens: - ${sessionIdentification}: Session identification |
| s3Access | object |
||
| accessKeyId * | string |
||
| secretAccessKey * | string |
||
| region | string |
||
| compress | boolean |
false | If true, dump files will be compressed using gzip |
| filtering | object |
||
| traceId | string |
regex to filter input requests on trace Id (ex: 2{4}$) | |
| url | string |
regex to filter input requests on session Identification (ex: ^Device1 | |
| sessionManager | object |
||
| dump | object |
||
| enable | string [“true”, “false”, “onDemand”] |
“false” | If true, dump input request as well as all input data in specified directory. replayTraceId query parameter can then be used to fetch input data from dump directory instead of real server. |
| directory | string |
“/tmp/dump” | Directory where dumped input requests and data will be
stored. For S3 storage, use the s3://bucket-name/path/to/directory/ format. Available tokens: - ${sessionIdentification}: Session identification |
| s3Access | object |
||
| accessKeyId * | string |
||
| secretAccessKey * | string |
||
| region | string |
||
| compress | boolean |
false | If true, dump files will be compressed using gzip |
| filtering | object |
||
| traceId | string |
regex to filter input requests on trace Id (ex: 3{4}$) | |
| url | string |
regex to filter input requests on session Identification (ex: ^Device1 | |
| trackingServerProxy | object |
||
| dump | object |
||
| enable | string [“true”, “false”, “onDemand”] |
“false” | If true, dump input request as well as all input data in specified directory. replayTraceId query parameter can then be used to fetch input data from dump directory instead of real server. |
| directory | string |
“/tmp/dump” | Directory where dumped input requests and data will be
stored. For S3 storage, use the s3://bucket-name/path/to/directory/ format. Available tokens: - ${sessionIdentification}: Session identification |
| s3Access | object |
||
| accessKeyId * | string |
||
| secretAccessKey * | string |
||
| region | string |
||
| compress | boolean |
false | If true, dump files will be compressed using gzip |
| filtering | object |
||
| traceId | string |
regex to filter input requests on trace Id (ex: 4{4}$) | |
| url | string |
regex to filter input requests on session Identification (ex: ^Device1 | |
| graphicalUserInterface | object |
Graphical user interface settings which allow to customize the appearance | |
| name | string |
Name of the cluster | |
| primaryColor | string |
“#00B2BF” | Primary color of the top bar |
| secondaryColor | string |
“#006EBF” | Secondary color of the top bar |
| eventSignalingFormats | object(categories) |
Event Signaling Formats | |
| hls | [object] |
HLS Placement Signaling Formats | |
| HLS Event Signaling Format | object(categories) |
The operation is triggered if any of the trigger conditions are fullfilled | |
| id * | string |
ID of the event signaling format | |
| tags * | object |
Collection of tags describing the placement signaling | |
| first * | [object] |
First tags | |
| Tag | object |
Base Tag matching XML string as defined in RFC 8216 specification | |
| name * | string |
Name of the tag matching XML string | |
| span | [object] |
Span tags | |
| Tag | object |
Base Tag matching XML string as defined in RFC 8216 specification | |
| name * | string |
Name of the tag matching XML string | |
| last | [object] |
Last tags | |
| Tag | object |
Base Tag matching XML string as defined in RFC 8216 specification | |
| name * | string |
Name of the tag matching XML string | |
| variables * | object |
Collection of variables present in event signalings | |
| id | object |
Event Id can be used with token ${event.id} in VAST requests Also used internally for generating tracking events |
|
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| scte35 | object |
SCTE35 value Used for basic and advanced matching of splice events Can be used with tokens ${splice.[param]} in VAST requests |
|
| type * | string [“scte35”] |
“scte35” | Type of the value |
| format * | string [“base64”, “hex”] |
“base64” | Format of the SCTE35 value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| duration | object |
Duration value Can be used with token ${event(.durationS,.durationMs,.durationSms,.durationHMS)} in VAST requests |
|
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| elapsedTime | object |
Elapsed Time value (used internally to track time since event started) | |
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| scte224Policy | object |
Scte224 Policy value | |
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| custom | [oneOf] |
Collection of customable variables that can be used in for VAST
requests using token ${event. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“scte35”] |
“scte35” | Type of the value |
| format * | string [“base64”, “hex”] |
“base64” | Format of the SCTE35 value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| dash | [object] |
DASH Placement Signaling Formats | |
| Dash Event Signaling Format | object(categories) |
The operation is triggered if any of the trigger conditions are fullfilled | |
| id * | string |
ID of the event signaling format. id/schemeIdUri pair must be unique across all dash event signaling formats. | |
| schemeIdUri * | string |
Scheme ID URI of the event signaling format. id/schemeIdUri pair must be unique across all dash event signaling formats. | |
| variables * | object |
Collection of variables present in event signalings | |
| id | object |
Event Id can be used with token ${event.id} in VAST requests Also used internally for generating tracking events |
|
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| scte35 | object |
SCTE35 value Used for basic and advanced matching of splice events Can be used with tokens ${splice.[param]} in VAST requests |
|
| type * | string [“scte35”] |
“scte35” | Type of the value |
| format * | string [“base64”, “hex”] |
“base64” | Format of the SCTE35 value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| duration | object |
Duration value Can be used with token ${event(.durationS,.durationMs,.durationSms,.durationHMS)} in VAST requests |
|
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”, “timescaleUnits”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| scte224Policy | object |
Scte224 Policy value | |
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| custom | [oneOf] |
Collection of customable variables that can be used in for VAST
requests using token ${event. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”, “timescaleUnits”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“scte35”] |
“scte35” | Type of the value |
| format * | string [“base64”, “hex”] |
“base64” | Format of the SCTE35 value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| cache | object |
Cache settings | |
| dash | object(grid-strict) |
Cache settings for DASH documents | |
| source | object |
{“default_ttl”:1} | Source used for splicing |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| ad | object |
{“default_ttl”:1000000, “max_entry_size_mb”:100} | Advertising |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| alternate | object |
{“default_ttl”:1} | Alternate / Blackout |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| hlsMediaPlaylist | object(grid-strict) |
Cache settings for HLS media playlists | |
| source | object |
{“default_ttl”:1} | Source used for splicing |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| ad | object |
{“default_ttl”:1000000, “max_entry_size_mb”:100} | Advertising |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| alternate | object |
{“default_ttl”:1} | Alternate / Blackout |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| hlsMasterPlaylist | object(grid-strict) |
Cache settings for HLS master playlists when dynamic matching is enabled. |
|
| ad | object |
{“default_ttl”:1000000, “max_entry_size_mb”:100} | Advertising |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| alternate | object |
{“default_ttl”:1} | Alternate / Blackout |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| http | object(grid-strict) |
Cache settings for HTTP requests which don’t necesitate parsing of the document and can be cached as is. |
|
| source | object |
{“default_ttl”:1} | Source transmitted as is in absence of any operation |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| adManager | object |
{“default_ttl”:1000000, “max_entry_size_mb”:100} | AD Transcoding |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| scte224 | object |
{“default_ttl”:1000000, “max_entry_size_mb”:100} | SCTE-224 |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| scte250 | object |
{“default_ttl”:1000000, “max_entry_size_mb”:100} | SCTE-250 |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| advanced | object(categories) |
Advanced settings | |
| loggingRules | [object] |
List of logging rules to apply to the log messages | |
| sessionManager | object |
Session manager advanced settings | |
| accessLog | object |
Access log advanced settings | |
| sessionManagers | [object] |
Session managers which allow to set session data according to customer rules. | |
| Session manager | object(categories) |
||
| id * | string |
||
| userDataKey | string |
The key to be used to store session data in REDIS. | |
| debug | boolean |
Return error message of the helper function. | |
| enableAccessLog | boolean |
Enable access logging for this session manager. | |
| accessLogLevel | string [“error”, “info”] |
“info” | Access log severity level |
| expandQueryParameters | [oneOf] |
Automatically add query parameters to the request. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
The type of the query parameter expansion. | |
| inputQueryParameter * | string |
Name of the received query parameter. | |
| map * | [object] |
Additional query parameters to be added to the request according to the mapping. | |
| value * | string |
The value which can match to the input query parameter. | |
| additionalQueryParameters * | string |
The additional query parameters to be added. Example: ad.id=1234&ad.type=video |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
The type of the query parameter expansion. | |
| inputQueryParameter * | string |
Name of the received query parameter. | |
| property * | string |
The external data ressource which must contains a valid JSON with a
list of value/additionalQueryParameters. Example: [ { “value”: “qlv”, “additionalQueryParameters”: “ad.id=1234&ad.type=video” }, { “value”: “otherValue”, “additionalQueryParameters”: “ad.id=5678&ad.type=audio” } ] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| attributes * | [oneOf] |
[] | Attributes are input variables used to drive decision-making within
the process. Like any other variables, they can be saved in the session and reused by session-manager and manifest-manipulator. To access session data, the following attributes must be defined: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID (automatically generated if not provided through attributes) To ensure complete access logging and traceability, the following variables should be stored in the session: - TENANT_ID - ASSET_ID - DEVICE_TYPE - DEVICE_ID - DEVICE_IP - SESSION_START_TIME |
| Attribute | object |
Input attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 5+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“string”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 6+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“boolean”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 7+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“number”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Array attribute allows to convert an input string into an array of
strings, using “,” as a separator. Can be used in condition of a decision to check if the attribute ‘contains’ a value. Example: “value1,value2,value3” will be converted into [“value1”, “value2”, “value3”]. |
|
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 8+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“array”] |
||
| separator | string |
The separator to use to split the input string into an array. Defaults to “,”. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Range attribute allows to create a couple of attributes min and max
from an input value based on the “-” separator. Example: with an input value “10-20” and attribute name is “myAttribute”, the 2 created attributes will be : - “myAttribute.min” with value “10” - “myAttribute.max” with value “20” |
|
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 9+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“range”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Mapping attribute allows to map an input value to a decision value
based on a defined mapping, the first matching will be applied. By
default, exact matching is used, but can be changed via the “operator”
property. A default value can also be defined if no mapping matches via the “defaultMappingResult” property. Example: With map [{source: “HD”, destination: “high”}, {source: “SD”, destination: “standard”}], operator “equals” and an input value “HD”, the attribute will have the value “high”. With the same map and operator “startsWith”, an input value “HD-1234” will also be mapped to “high”. |
|
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 10+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“mapping”] |
||
| operator | string [“equals”, “startsWith”, “endsWith”, “contains”] |
The operator to use for the mapping. Defaults to “equals”. | |
| map * | [object] |
Mapping of the attribute value to the decision value, the first
matching will be applied. By default, exact matching is used, can be changed via the “operator” property. |
|
| source * | string |
The attribute value to be mapped. | |
| destination * | string |
The decision value to be mapped to. | |
| defaultMappingResult | string |
The default value if no mapping matches. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
JSON field attribute allows to extract a value from a JSON input,
using the “field” property as the path to the value to be
extracted. Example: with field “supported_tracks.key_id” and an input parameter ‘{“key_id”:“value_to_extract,”an_other_key”:“another_value”}’, the attribute will have the value “value_to_extract”. |
|
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 11+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“jsonField”] |
||
| field * | string |
The field to be extracted from the JSON query parameter. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Key/Value attribute allows creating variables from an input string
of key-value pairs. Example: “key1=value1,key2=value2” will be converted into variables “key1”=“value1” and “key2”=“value2”. |
|
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 12+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“keyValue”] |
||
| listSeparator * | string |
“;” | The separator to use to split the input string into items. Variable tokens “${}” are supported. Defaults to “;”. |
| keyValueSeparator * | string |
“=” | The separator to use to split the key and value in each item. Variable tokens “${}” are supported. Defaults to “=”. |
| prefix | string |
An optional prefix to add to the variable names created from the
keys. For example, with prefix “myPrefix”, “key1=value1,key2=value2” will create variables “myPrefix.key1”=“value1” and “myPrefix.key2”=“value2”. |
|
| defaultValue | string |
Allows a default value to be used if no value is defined for a key. | |
| decisions * | [object] |
||
| conditions * | any |
Define a list of conditions to be met to trigger the event. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Define a list of conditions that must all be met to trigger the event. | |
| all * | [oneOf] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Define a condition to be met to trigger the event. | |
| fact * | string |
The attribute to be checked. | |
| operator * | string [“equal”, “notEqual”, “greaterThan”, “greaterThanInclusive”, “lessThan”, “lessThanInclusive”, “in”, “notIn”, “contains”, “doesNotContain”] |
The operator to be used to compare the attribute value. | |
| value * | string,number |
The value to be compared to the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Define a list of conditions where at least one must be met to trigger the event. | |
| any * | [oneOf] |
||
| Condition | object(grid) |
Define a condition to be met to trigger the event. | |
| fact * | string |
The attribute to be checked. | |
| operator * | string [“equal”, “notEqual”, “greaterThan”, “greaterThanInclusive”, “lessThan”, “lessThanInclusive”, “in”, “notIn”, “contains”, “doesNotContain”] |
The operator to be used to compare the attribute value. | |
| value * | string,number |
The value to be compared to the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Define a list of conditions where at least one must be met to trigger the event. | |
| any * | [oneOf] |
||
| Condition | object(grid) |
Define a condition to be met to trigger the event. | |
| fact * | string |
The attribute to be checked. | |
| operator * | string [“equal”, “notEqual”, “greaterThan”, “greaterThanInclusive”, “lessThan”, “lessThanInclusive”, “in”, “notIn”, “contains”, “doesNotContain”] |
The operator to be used to compare the attribute value. | |
| value * | string,number |
The value to be compared to the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| event * | object |
||
| type * | string [“define”] |
||
| params * | [object] |
||
| name * | string |
The parameter name to be passed to the event. | |
| value * | string,number,boolean |
The parameter value to be passed to the event. | |
| saveInSessionData | boolean |
false | |
| response * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“document”] |
||
| contentType * | string [“application/json”, “text/plain”] |
||
| statusCode | string |
“200” | Status code |
| httpResponseHeaders | [object] |
HTTP headers to be added to responses | |
| header * | string |
Http header | |
| value * | string |
Value of the http header | |
| updateSessionData | object |
||
| behavior * | string [“keep”, “update”, “replace”, “none”] |
||
| dynamicBehavior | string |
Dynamical behavior can be based on variable. It will override the behavior property when it is set. | |
| sessionExpiration | string |
“14400” | Duration in seconds after which the session data will expire. |
| queryParameters | object |
||
| enabled * | boolean |
false | |
| filters | [string] |
Supported filters are blog patterns. examples: - “var.*” : All query parameters whose names start with “var.” - “**/!(var.unexpected)” : All query parameters, except for “var.unexpected” |
|
| httpHeaders | object |
||
| enabled * | boolean |
false | |
| filters | [string] |
Supported filters are blog patterns. examples: - “var.*” : All HTTP headers whose names start with “var.” - “**/!(var.unexpected)” : All HTTP headers, except for “var.unexpected” |
|
| document * | string(javascript) |
The document to be sent to the player. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“redirect”] |
||
| statusCode * | string |
“307” | Status code |
| httpResponseHeaders | [object] |
HTTP headers to be added to responses | |
| header * | string |
Http header | |
| value * | string |
Value of the http header | |
| updateSessionData | object |
||
| behavior * | string [“keep”, “update”, “replace”, “none”] |
||
| dynamicBehavior | string |
Dynamical behavior can be based on variable. It will override the behavior property when it is set. | |
| sessionExpiration | string |
“14400” | Duration in seconds after which the session data will expire. |
| queryParameters | object |
||
| enabled * | boolean |
false | |
| filters | [string] |
Supported filters are blog patterns. examples: - “var.*” : All query parameters whose names start with “var.” - “**/!(var.unexpected)” : All query parameters, except for “var.unexpected” |
|
| httpHeaders | object |
||
| enabled * | boolean |
false | |
| filters | [string] |
Supported filters are blog patterns. examples: - “var.*” : All HTTP headers whose names start with “var.” - “**/!(var.unexpected)” : All HTTP headers, except for “var.unexpected” |
|
| url * | string |
The redirect URL to be sent to the player. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| decisionServers | object |
||
| vmapServers | [object] |
List of ADS VMAP servers | |
| VMAP server | object(categories) |
||
| id * | string |
||
| endpointUrl * | string |
ADS url without any query parameter | |
| followAdditionalWrappers | integer |
5 | Define how many subsequent Wrappers after a requested VAST response are allowed |
| request | object |
||
| queryParameters | [object] |
[] | ADS request query parameters. Available tokens: - ${sessionData.[param]}: value of parameter [param] from the session data - ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters - ${requestHttpHeader.header}: value of HTTP header ‘header’ - ${requestUrl.assetPath}: value the channelId (asset path) - ${requestUrl.manifestName}: value the manifest name - ${traceId}: Request trace ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”) - ${timestampS}: Unix timestamp in seconds - ${timestampMs}: Unix timestamp in milliseconds - ${programInformation.[param]}: value of parameter [param] from program information - ${manifest.durationS}: VOD asset duration in seconds (integer) - ${manifest.durationSms}: VOD asset duration in seconds (float with milliseconds 3-digits precision) Additionnal functions: - @randomNumber:min;max@: Generates a random number between min and max (inclusive) - @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice()) - @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple - @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source Example: - ${requestQueryParameter.sessionId}${requestUrl.manifestName} - @roundToMultiple:${timestampS};15@ - name=@slice:${sourceName};3@ and value=@match:sessionData;startsWith;ad.;${sourceValue}@ |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | ADS request HTTP headers. Available tokens: - ${sessionData.[param]}: value of parameter [param] from the session data - ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters - ${requestHttpHeader.header}: value of HTTP header ‘header’ - ${requestUrl.assetPath}: value the channelId (asset path) - ${requestUrl.manifestName}: value the manifest name - ${traceId}: Request trace ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”) - ${timestampS}: Unix timestamp in seconds - ${timestampMs}: Unix timestamp in milliseconds - ${programInformation.[param]}: value of parameter [param] from program information - ${manifest.durationS}: VOD asset duration in seconds (integer) - ${manifest.durationSms}: VOD asset duration in seconds (float with milliseconds 3-digits precision) Additionnal functions: - @randomNumber:min;max@: Generates a random number between min and max (inclusive) - @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice()) - @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple - @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source Example: - ${sessionData.sessionId} - ${requestHttpHeader.x-forwarded-host} |
| header * | string |
||
| value * | string |
||
| connection | object |
{} | |
| directCall | object |
{} | |
| timeout | integer |
5000 | Timeout while fetching decision server at the time of the ad break (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching decision server at the time of the ad break (in milliseconds) |
| prefetchCall | object |
{} | |
| timeout | integer |
5000 | Timeout while prefetching decision server before the time of the ad break (in milliseconds) |
| retryCount | integer |
0 | Retry count while prefetching decision server before the time of the ad break (in milliseconds) |
| missingAdsTranscoding | object |
If present, trigger the ad transcoding to make it available later on | |
| type * | string [“internal”] |
||
| assetPathDestination * | string |
“${adId}” | Templatable path to define where to store the ads transcoding
result. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID Example: ${adId}/${profileId} |
| waitForTranscodingResponse | boolean |
true | Wait for a response from the ads transcoding service before continuing processing. |
| profileIds | [string] |
[] | No selection means all profiles will be used |
| vastServers | [object] |
List of ADS VAST servers | |
| VAST server | object(categories) |
||
| id * | string |
||
| endpointUrl * | string |
ADS url without any query parameter | |
| followAdditionalWrappers | integer |
5 | Define how many subsequent Wrappers after a requested VAST response are allowed |
| midRollRequest | object |
||
| queryParameters | [object] |
[] | ADS request query parameters. Available tokens: - ${sessionData.[param]}: value of parameter [param] from the session data - ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters - ${requestHttpHeader.header}: value of HTTP header ‘header’ - ${requestUrl.assetPath}: value the channelId (asset path) - ${requestUrl.manifestName}: value the manifest name - ${splice.id}: splice identifier - ${splice(.durationS,.durationMs,.durationSms,.durationHMS)}: duration of the splice in different formats - ${event.[param]}: value of parameter [param] from custom event - ${event(.durationS,.durationMs,.durationSms,.durationHMS)}: duration of the event in different formats - ${traceId}: Request trace ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”) - ${timestampS}: Unix timestamp in seconds - ${timestampMs}: Unix timestamp in milliseconds - ${programInformation.[param]}: value of parameter [param] from program information - ${assetIdentifier.value}: Asset Identifier value from the break period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri from the break period Additionnal functions: - @randomNumber:min;max@: Generates a random number between min and max (inclusive) - @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice()) - @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple - @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source - @{scte35Extract:xpath[;flagAsBoolean][;upidFormat=auto |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | ADS request HTTP headers. Available tokens: - ${sessionData.[param]}: value of parameter [param] from the session data - ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters - ${requestHttpHeader.header}: value of HTTP header ‘header’ - ${requestUrl.assetPath}: value the channelId (asset path) - ${requestUrl.manifestName}: value the manifest name - ${splice.id}: splice identifier - ${splice(.durationS,.durationMs,.durationSms,.durationHMS)}: duration of the splice in different formats - ${event.[param]}: value of parameter [param] from custom event - ${event(.durationS,.durationMs,.durationSms,.durationHMS)}: duration of the event in different formats - ${traceId}: Request trace ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”) - ${timestampS}: Unix timestamp in seconds - ${timestampMs}: Unix timestamp in milliseconds - ${programInformation.[param]}: value of parameter [param] from program information - ${assetIdentifier.value}: Asset Identifier value from the break period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri from the break period Additionnal functions: - @randomNumber:min;max@: Generates a random number between min and max (inclusive) - @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice()) - @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple - @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source - @{scte35Extract:xpath[;flagAsBoolean][;upidFormat=auto |
| header * | string |
||
| value * | string |
||
| preRollRequest | object |
||
| queryParameters | [object] |
[] | ADS request query parameters. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData} Example: ${requestQueryParameter.prerollDuration} |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | ADS request HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData} Example: ${requestQueryParameter.prerollDuration} |
| header * | string |
||
| value * | string |
||
| postRollRequest | object |
||
| queryParameters | [object] |
[] | ADS request query parameters. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData} Example: ${requestQueryParameter.postrollDuration}) |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | ADS request HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData} Example: ${requestQueryParameter.postrollDuration}) |
| header * | string |
||
| value * | string |
||
| connection | object |
{} | |
| directCall | object |
{} | |
| timeout | integer |
1000 | Timeout while fetching decision server at the time of the ad break (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching decision server at the time of the ad break (in milliseconds) |
| prefetchCall | object |
{} | |
| timeout | integer |
2000 | Timeout while prefetching decision server before the time of the ad break (in milliseconds) |
| retryCount | integer |
0 | Retry count while prefetching decision server before the time of the ad break (in milliseconds) |
| missingAdsTranscoding | object |
If present, trigger the ad transcoding to make it available later on | |
| type * | string [“internal”] |
||
| assetPathDestination * | string |
“${adId}” | Templatable path to define where to store the ads transcoding
result. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID Example: ${adId}/${profileId} |
| waitForTranscodingResponse | boolean |
true | Wait for a response from the ads transcoding service before continuing processing. |
| profileIds | [string] |
[] | No selection means all profiles will be used |
| scte224Servers | [object] |
List of LRM SCTE-224 servers | |
| SCTE-224 server | object |
||
| id * | string |
||
| endpointUrl * | string |
SCTE-224 server endpoint url | |
| mediaName | string |
“${assetPath}” | Media name templatable. Usable token is ${assetPath} |
| audienceMapping | [object] |
[] | Mapping between input request parameter and audience characteristics |
| audienceName * | string |
Audience characteristics name. (audience:Zip, audience:Network …) | |
| source * | string [“constant”, “inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| value * | string |
||
| scte250Servers | [object] |
List of LRM SCTE-250 servers | |
| SCTE-250 server | object(categories) |
||
| id * | string |
||
| endpointUrl * | string |
SCTE-250 server endpoint url, without any query parameter | |
| request | object |
||
| queryParameters | [object] |
[] | Signal Decision System request query parameters. Available tokens: - ${sessionData.[param]}: value of parameter [param] from the session data - ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters - ${requestHttpHeader.header}: value of HTTP header ‘header’ - ${requestUrl.assetPath}: value the channelId (asset path) - ${requestUrl.manifestName}: value the manifest name - ${event.id}: event identifier - ${event.[param]}: value of parameter [param] from custom event - ${traceId}: Request trace ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”) - ${timestampS}: Unix timestamp in seconds - ${timestampMs}: Unix timestamp in milliseconds - ${programInformation.[param]}: value of parameter [param] from program information - ${assetIdentifier.value}: Asset Identifier value from the segment period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri from the segment period Additionnal functions: - @randomNumber:min;max@: Generates a random number between min and max (inclusive) - @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice()) - @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple - @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source - @{scte35Extract:xpath[;flagAsBoolean][;upidFormat=auto |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | Signal Decision System request HTTP headers. Available tokens: - ${sessionData.[param]}: value of parameter [param] from the session data - ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters - ${requestHttpHeader.header}: value of HTTP header ‘header’ - ${requestUrl.assetPath}: value the channelId (asset path) - ${requestUrl.manifestName}: value the manifest name - ${event.id}: event identifier - ${event.[param]}: value of parameter [param] from custom event - ${traceId}: Request trace ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”) - ${timestampS}: Unix timestamp in seconds - ${timestampMs}: Unix timestamp in milliseconds - ${programInformation.[param]}: value of parameter [param] from program information - ${assetIdentifier.value}: Asset Identifier value from the segment period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri from the segment period Additionnal functions: - @randomNumber:min;max@: Generates a random number between min and max (inclusive) - @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice()) - @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple - @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source - @{scte35Extract:xpath[;flagAsBoolean][;upidFormat=auto |
| header * | string |
||
| value * | string |
||
| connection | object |
{} | Connection settings for fetching decision server |
| timeout | integer |
5000 | Timeout while fetching decision server (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching decision server (in milliseconds) |
| processings | object |
||
| hls | [object] |
Set of processings done on HLS playlist requests | |
| HLS playlist processing | object(categories) |
Processing done on HLS playlist input request | |
| id * | string |
Processing Id used in the input URL | |
| sessionManagement | object |
{} | Define management of session. |
| accessPolicy | any |
{“type”:“auto”} | Defines how access of session data from the remote cache is managed (auto or manual). |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“auto”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
||
| type * | string [“manual”] |
||
| read * | boolean |
Allow read access | |
| write * | boolean |
Allow write access | |
| ttl * | boolean |
Update TTL |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| identification | [object] |
[{“source”:“inputRequestQuery”, “value”:“sessionId”}] | Define how to identify a user session or a group of users session from an input request |
| source * | string [“inputUrl”, “inputRequestQuery”, “inputHttpHeader”] |
||
| value * | string |
||
| expiration | integer |
Define the session data expiration in seconds. If not set, the default expiration will be applied. | |
| tenantId | string |
Tenant Id. Prefix used in the input URL | |
| source * | any |
Define how to get the reference playlist |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“hlsPlaylistFetch”] |
||
| sourceBaseUrl * | string |
URL template to reach the origin server. Playlist filename is extracted from incoming URL. Available token: - ${assetPath}: path to the asset from the incoming request URL. |
|
| distributionUrl | string |
URL template to reach the origin server. Token is ${assetPath} | |
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| defaultProfileId | string |
Default encoding profile identifier used when fetching ad
playlists. This value is used if the encoding profile identifier is not present in the source playlist. Related tokens: - ${profileId}: in adsSourceUrl, paddingAssets.baseUrls, missingAdsTranscoding.assetPathDestination |
|
| customEventSignaling | string |
Use custom event placement signaling for this source. Must match a event placement signaling defined in the settings |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“hlsAdInterstitial”] |
||
| decisionServerId * | string |
VAST decision server | |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Function tokens (rewrite the resolved value; applied after the ${…} tokens above): - @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@ - @regex:<value>;<regex>;<default>@ : returns capture group 1, or |
| adsQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| adsHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| adsConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| paddingAssetUrl | string |
Url of the asset used to pad to minimize discontinuity | |
| minPaddingDuration | integer |
100 | Define the min duration of a padding segment ms |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| output | object |
{} | Customize the output |
| stringReplacements | [object] |
[] | |
| pattern * | string |
pattern to replace in the output | |
| source * | string [“constant”, “inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
source replacement | |
| name * | string |
name of property used for replacement | |
| authorization | object |
The request is authorized if the request fullfills all conditions | |
| rejectionErrorCode | integer |
401 | The HTTP error code to return if the request is not authorized |
| rejectionErrorMessage | string |
“Unauthorized” | The error message to return if the request is not authorized |
| authorizations | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| masterPlaylist | object |
{} | Define master playlist behavior |
| naming | object |
{} | Define master playlist naming prefix and suffix |
| prefix | string |
“” | Prefix added to the master playlist name |
| suffix | string |
“” | Suffix added to the master playlist name (before extension) |
| mediaPlaylist | object |
{} | Define media playlist behavior |
| naming | object |
{} | Define media playlist naming prefix and suffix |
| prefix | string |
“” | Prefix added to media playlist names |
| suffix | string |
“” | Suffix added to media playlist names (before extension) |
| masterQueryParameterForward | object |
Define which query parameters from the input request are forwarded to media playlist URIs in the master playlist | |
| rule * | string [“all”, “none”] |
“all” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| operations * | [oneOf] |
[] | List of operations |
| Operation | any |
transformation applied to a hls playlist |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“hlsAdInsertion”] |
||
| name | string |
“Ad Insertion” | |
| decisionServerId * | string |
VMAP decision server Id | |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID Use cases: - Simple passthrough: “${mediaFile}” - Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}” - Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}” Function tokens (rewrite the resolved value; applied after the ${…} tokens above): - @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@ - @regex:<value>;<regex>;<default>@ : returns capture group 1, or |
| adsDistributionUrl | string |
URL template to reach an ads server. Available tokens from VMAP response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID |
|
| adsQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| adsHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| adsConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| insertionLocation | string [“nearestSegment”, “nearestPeriod”] |
“nearestSegment” | Ad insertion location |
| tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adSignalingFormat | [oneOf] |
[{“type”:“dateRangeTag”}] | Define how ad signaling is formatted by the manifest manipulator |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[{“name”:“X-PRESENTATION-TIME”, “value”:“${adStartMs}”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.adbreak"”}, {“name”:“X-AD-TYPE”, “value”:“"${adType}"”}] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. | |
| breakSignalingFormat | object |
Define how break signaling is formatted by the manifest manipulator | |
| breakStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of a break |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. | |
| breakEnd | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the end of a break |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. | |
| adTrackingFormat | [oneOf] |
[{“type”:“dateRangeTag”}] | Define how ad tracking is formatted by the manifest manipulator |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[{“name”:“X-AD-URL”, “value”:“"${trackingUrl}"”}, {“name”:“X-AD-ID”, “value”:“"${adId}"”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.tracking"”}, {“name”:“X-AD-EVENT-TYPE”, “value”:“"${trackingEvent}"”}] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adId}, ${trackingEvent} and ${trackingUrl}. | |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event | |
| playlistSelection | object |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Playlist name mapping between the source and ad playlists. If source playlist name is not in the array, source playlist name is used for ad playlists fetching |
|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| adsName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
Dynamic playlist matching rules. If no matching can be found, source playlist name is used for playlist fetching |
|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioVideo | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| iFrame | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| subtitles | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| image | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“hlsAdReplacement”] |
||
| name | string |
“Ad Replacement” | |
| decisionServerId * | string |
VAST decision server Id | |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID Use cases: - Simple passthrough: “${mediaFile}” - Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}” - Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}” Function tokens (rewrite the resolved value; applied after the ${…} tokens above): - @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@ - @regex:<value>;<regex>;<default>@ : returns capture group 1, or |
| adsDistributionUrl | string |
URL template to reach an ads server. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID |
|
| adsQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| adsHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| adsConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| staticAssetBehavior | object |
||
| midRollDurationMismatch | any |
Define the procession behavior if the ads response list doesn’t match the ad break duration. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“keepOriginalAdBreak”] |
||
| maxPaddingDuration | integer |
1000 | Define the maximum padding duration to complete an ad break |
| maxExtraLatency | integer |
500 | Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the max discontinuity between the ad break and the back to live. |
| paddingDistribution | object |
||
| breakStart | boolean |
false | Enable padding at start of break. |
| betweenAds | boolean |
false | Enable padding between ads of break. |
| breakEnd | boolean |
true | Enable padding at end of break. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| enablePreRoll | boolean |
false | Enable pre-roll ad insertion |
| enablePostRoll | boolean |
false | Enable post-roll ad insertion |
| dynamicAssetBehavior | object |
||
| midRollDurationMismatch | any |
Define the procession behavior if the ads response list doesn’t match the ad break duration. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“keepOriginalAdBreak”] |
||
| maxPaddingDuration | integer |
1000 | Define the maximum padding duration to complete an ad break |
| maxExtraLatency | integer |
500 | Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the max discontinuity between the ad break and the back to live. |
| paddingDistribution | object |
||
| breakStart | boolean |
false | Enable padding at start of break. |
| betweenAds | boolean |
false | Enable padding between ads of break. |
| breakEnd | boolean |
true | Enable padding at end of break. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adReplacementWindow | integer |
Define the edge time window in seconds during which ad replacement will be done. | |
| prebidding | string [“disabled”, “enabled”, “required”] |
“disabled” | Prebidding configuration |
| tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adSignalingFormat | [oneOf] |
[{“type”:“dateRangeTag”}] | Define how ad signaling is formatted by the manifest manipulator |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[{“name”:“X-PRESENTATION-TIME”, “value”:“${adStartMs}”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.adbreak"”}, {“name”:“X-AD-TYPE”, “value”:“"${adType}"”}] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. | |
| breakSignalingFormat | object |
Define how break signaling is formatted by the manifest manipulator | |
| breakStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of a break |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. | |
| breakEnd | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the end of a break |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. | |
| adTrackingFormat | [oneOf] |
[{“type”:“dateRangeTag”}] | Define how ad tracking is formatted by the manifest manipulator |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[{“name”:“X-AD-URL”, “value”:“"${trackingUrl}"”}, {“name”:“X-AD-ID”, “value”:“"${adId}"”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.tracking"”}, {“name”:“X-AD-EVENT-TYPE”, “value”:“"${trackingEvent}"”}] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adId}, ${trackingEvent} and ${trackingUrl}. | |
| paddingAssets | object |
Assets used to pad to minimize discontinuity. It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration). |
|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event | |
| playlistSelection | object |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Playlist name mapping between the source and ad playlists. If source playlist name is not in the array, source playlist name is used for ad playlists fetching |
|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| adsName * | string |
||
| paddingName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
Dynamic playlist matching rules. If no matching can be found, source playlist name is used for playlist fetching |
|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioVideo | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| iFrame | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| subtitles | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| image | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| eventIdentification | object |
Select splice fields required to uniquely identify an event | |
| spliceEventId | boolean |
true | SpliceInsert EventId or TimeSignal SegmentationEventId |
| spliceTime | boolean |
false | Splice Time PTS |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“hlsTrimming”] |
||
| name | string |
“Trimming” | |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“hlsAlternateContent”] |
||
| name | string |
“Alternate Content” | |
| decisionServerId | string |
SCTE-224 or SCTE-250 decision server | |
| alternateSourceUrl * | string |
“${action:Content}” | Templatable value to access the alternate content master playlist.
The master playlist must contain all available media playlists. Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
| alternateDistributionUrl | string |
URL template to reach the origin server. Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
|
| alternateQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| alternateHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| alternateConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| behaviorIfAlternateUnavailable | string [“returnError”, “skipOperation”] |
“returnError” | Define the behavior of the operation if the alternate content is not available. |
| paddingAssets | object |
Assets used to pad to minimize discontinuity. It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration). |
|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| maxExtraLatency | integer |
6000 | Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the maximum discontinuity between the alternate content and the back to live. |
| minAlternateDelay | integer |
12000 | Define the minimum delay to apply to the alternate content compared to the live in order to prevent buffer starvation. |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event | |
| playlistSelection | object |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Playlist name mapping between the source and alternate playlist.
If source playlist name is not in the array, source playlist name is used for alternate playlist fetching |
|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| alternateName * | string |
||
| paddingName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
Dynamic playlist matching rules. If no matching can be found, source playlist name is used for playlist fetching |
|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioVideo | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| iFrame | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| subtitles | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| image | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“hlsBlackout”] |
||
| name | string |
“Blackout” | |
| decisionServerId | string |
SCTE-224 or SCTE-250 decision server | |
| alternateSourceUrl * | string |
“${action:Content}” | Templatable value to access the Blackout master playlist. The Blackout master playlist must contain all available VOD media playlists. Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
| alternateDistributionUrl | string |
URL template to reach the origin server. Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
|
| alternateQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| alternateHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| alternateConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| behaviorIfAlternateUnavailable | string [“returnError”, “skipOperation”] |
“returnError” | Define the behavior of the operation if the alternate content is not available. |
| paddingAssets | object |
Assets used to pad to minimize discontinuity. It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration). |
|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| maxExtraLatency | integer |
6000 | Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the maximum discontinuity between the alternate content and the back to live. |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event | |
| playlistSelection | object |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Playlist name mapping between the source and alternate playlist.
If source playlist name is not in the array, source playlist name is used for alternate playlist fetching |
|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| alternateName * | string |
||
| paddingName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
Dynamic playlist matching rules. If no matching can be found, source playlist name is used for playlist fetching |
|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioVideo | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| iFrame | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| subtitles | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| image | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“hlsTimelineInfo”] |
||
| name | string |
“Timeline Info” | |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| httpResponseHeaders | [object] |
[{“header”:“Content-Type”, “value”:“application/vnd.apple.mpegurl”, “enableMaster”:true, “enableMedia”:true}, {“header”:“Access-Control-Allow-Origin”, “value”:“*“,”enableMaster”:true, “enableMedia”:true}] | HTTP headers to be added to responses |
| header * | string |
Http header | |
| value * | string |
Value of the http header | |
| enableMaster * | boolean |
true | Apply this header to master playlists |
| enableMedia * | boolean |
true | Apply this header to media playlists |
| dash | [object] |
Set of processings done on DASH manifest requests | |
| DASH manifest processing | object(categories) |
Processing done on a DASH manifest input request | |
| id * | string |
Processing Id | |
| sessionManagement | object |
{} | Define management of session. |
| accessPolicy | any |
{“type”:“auto”} | Defines how access of session data from the remote cache is managed (auto or manual). |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“auto”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
||
| type * | string [“manual”] |
||
| read * | boolean |
Allow read access | |
| write * | boolean |
Allow write access | |
| ttl * | boolean |
Update TTL |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| identification | [object] |
[{“source”:“inputRequestQuery”, “value”:“sessionId”}] | Define how to identify a user session or a group of users session from an input request |
| source * | string [“inputUrl”, “inputRequestQuery”, “inputHttpHeader”] |
||
| value * | string |
||
| expiration | integer |
Define the session data expiration in seconds. If not set, the default expiration will be applied. | |
| tenantId | string |
Tenant Id | |
| source * | any |
Define how to get the reference manifest |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“dashManifestFetch”] |
||
| sourceBaseUrl * | string |
URL template to reach the origin server. Manifest filename is extracted from incoming URL. Available token: - ${assetPath}: path to the asset from the incoming request URL. |
|
| distributionUrls | [string] |
URL template to reach a list of origin servers. Token is ${assetPath} | |
| Distribution URLs | string |
||
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| defaultProfileId | string |
Default encoding profile identifier used when fetching ad
manifests. This value is used if the encoding profile identifier is not present in the source manifest. Available token: - ${profileId}: in adsSourceUrl, paddingAssets.baseUrls, missingAdsTranscoding.assetPathDestination |
|
| customEventSignaling | [string] |
Use custom event placements signaling for this source. Must match an event placement signaling Id defined in the settings. Selecting an Id will result in the use of the corresponding event(s) signaling format for this source |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“dashAdsXlinkResolution”] |
||
| decisionServerId * | string |
VAST decision server | |
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| paddingAssetUrl | string |
Url of the asset used to pad to minimize discontinuity | |
| minPaddingDuration | integer |
100 | define the min duration of a padding segment ms |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| output | object |
{} | Customize the output |
| manifestNaming | object |
||
| prefix | string |
define manifest name prefix. | |
| suffix | string |
define manifest name suffix. | |
| stringReplacements | [object] |
[] | |
| pattern * | string |
pattern to replace in the output | |
| source * | string [“constant”, “inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
source replacement | |
| name * | string |
name of property used for replacement | |
| format | any [“none”, “linearize”, “indent”, “indentAttributes”] |
“none” | Format the manifest output (this may impact performance) |
| removeExistingTimelineForIndex | boolean |
false | Remove existing |
| usePeriodStartTimeAsId | boolean |
false | Set each period’s ID attribute to match its start time value.
The period ID is derived from the start attribute by removing the ISO 8601 duration format prefix (PT) and suffix (S). For example, a period with start=“PT12.5S” will have its id set to “12.5” |
| authorization | object |
The request is authorized if the request fullfills all conditions | |
| rejectionErrorCode | integer |
401 | The HTTP error code to return if the request is not authorized |
| rejectionErrorMessage | string |
“Unauthorized” | The error message to return if the request is not authorized |
| authorizations | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| operations * | [oneOf] |
[] | List of operations |
| Operation | any |
Transformation applied to a dash manifest |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“dashAdInsertion”] |
||
| name | string |
“Ad Insertion” | |
| decisionServerId * | string |
VMAP decision server Id | |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag Use cases: - Simple passthrough: “${mediaFile}” - Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}” - Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}” Function tokens (rewrite the resolved value; applied after the ${…} tokens above): - @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@ - @regex:<value>;<regex>;<default>@ : returns capture group 1, or |
| adsDistributionUrls | [string] |
URL template to reach a list of ads servers. Available tokens from VMAP response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag |
|
| Distribution URLs | string |
||
| adsQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| adsHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| adsConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| insertionLocation | string [“nearestSegment”, “nearestPeriod”] |
“nearestSegment” | Ad insertion location |
| tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adSignalingFormat | [oneOf] |
[{“type”:“eventStream”}] | Define how ad signaling is formatted by the manifest manipulator |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
| breakSignalingFormat | object |
Define how break signaling is formatted by the manifest manipulator | |
| breakStart | [oneOf] |
[{“type”:“eventStream”}] | Signaling format for the start of a break |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
| breakEnd | [oneOf] |
[{“type”:“eventStream”}] | Signaling format for the end of a break |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
| adTrackingFormat | [oneOf] |
[{“type”:“eventStream”}] | Define how ad tracking is formatted by the manifest manipulator |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.tracking.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}. |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“dashAdReplacement”] |
||
| name | string |
“Ad Replacement” | |
| decisionServerId * | string |
VAST decision server Id | |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag Use cases: - Simple passthrough: “${mediaFile}” - Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}” - Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}” Function tokens (rewrite the resolved value; applied after the ${…} tokens above): - @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@ - @regex:<value>;<regex>;<default>@ : returns capture group 1, or |
| adsDistributionUrls | [string] |
URL template to reach a list of ads servers. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag |
|
| Distribution URLs | string |
||
| adsQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| adsHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| adsConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| staticAssetBehavior | object |
||
| midRollDurationMismatch | any |
Define the procession behavior if the ads response list doesn’t match the ad break duration. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“keepOriginalAdBreak”] |
||
| maxPaddingDuration | integer |
1000 | Define the maximum padding duration to complete an ad break |
| maxExtraLatency | integer |
500 | Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the max discontinuity between the ad break and the back to live. |
| paddingDistribution | object |
||
| breakStart | boolean |
false | Enable padding at start of break. |
| betweenAds | boolean |
false | Enable padding between ads of break. |
| breakEnd | boolean |
true | Enable padding at end of break. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| enablePreRoll | boolean |
false | Enable pre-roll ad insertion |
| enablePostRoll | boolean |
false | Enable post-roll ad insertion |
| dynamicAssetBehavior | object |
||
| midRollDurationMismatch | any |
Define the procession behavior if the ads response list doesn’t match the ad break duration. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“keepOriginalAdBreak”] |
||
| maxPaddingDuration | integer |
1000 | Define the maximum padding duration to complete an ad break |
| maxExtraLatency | integer |
500 | Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the max discontinuity between the ad break and the back to live. |
| paddingDistribution | object |
||
| breakStart | boolean |
false | Enable padding at start of break. |
| betweenAds | boolean |
false | Enable padding between ads of break. |
| breakEnd | boolean |
true | Enable padding at end of break. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adReplacementWindow | integer |
Define the edge time window in seconds during which ad replacement will be done. | |
| prebidding | string [“disabled”, “enabled”, “required”] |
“disabled” | Prebidding configuration |
| tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adSignalingFormat | [oneOf] |
[{“type”:“eventStream”}] | Define how ad signaling is formatted by the manifest manipulator |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
| breakSignalingFormat | object |
Define how break signaling is formatted by the manifest manipulator | |
| breakStart | [oneOf] |
[{“type”:“eventStream”}] | Signaling format for the start of a break |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
| breakEnd | [oneOf] |
[{“type”:“eventStream”}] | Signaling format for the end of a break |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
| adTrackingFormat | [oneOf] |
[{“type”:“eventStream”}] | Define how ad tracking is formatted by the manifest manipulator |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.tracking.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}. |
| paddingAssets | object |
Assets used to pad to minimize discontinuity. It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration). |
|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| Distribution Base URL | string |
||
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event | |
| eventIdentification | object |
Select splice fields required to uniquely identify an event | |
| spliceEventId | boolean |
true | SpliceInsert EventId or TimeSignal SegmentationEventId |
| spliceTime | boolean |
false | Splice Time PTS |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“dashTrimming”] |
||
| name | string |
“Trimming” | |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
Allows removal of specific SCTE-35 events from manifest. | |
| type * | string [“dashRemoveSignaling”] |
||
| name | string |
“Remove Content Signaling” | |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| contentSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“dashAlternateContent”] |
||
| name | string |
“Alternate Content” | |
| decisionServerId | string |
SCTE-224 or SCTE-250 decision server | |
| alternateSourceUrl * | string |
“${action:Content}” | Templatable value to access the alternate content manifest.
Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
| alternateDistributionUrls | [string] |
URL template to reach a list of origin servers. Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Encoding profile ID |
|
| Distribution URLs | string |
||
| alternateQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| alternateHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| alternateConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| behaviorIfAlternateUnavailable | string [“returnError”, “skipOperation”] |
“returnError” | Define the behavior of the operation if the alternate content is not available. |
| paddingAssets | object |
Assets used to pad to minimize discontinuity. It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration). |
|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| Distribution Base URL | string |
||
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| maxExtraLatency | integer |
6000 | Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the maximum discontinuity between the alternate content and the back to live. |
| minAlternateDelay | integer |
12000 | Define the minimum delay to apply to the alternate content compared to the live in order to prevent buffer starvation. |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“dashBlackout”] |
||
| name | string |
“Blackout” | |
| decisionServerId | string |
SCTE-224 or SCTE-250 decision server | |
| alternateSourceUrl * | string |
“${action:Content}” | Templatable value to access the Blackout content manifest. The Blackout content must be a static manifest Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
| alternateDistributionUrls | [string] |
URL template to reach a list of origin servers. Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
|
| Distribution URLs | string |
||
| alternateQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| alternateHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| alternateConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| behaviorIfAlternateUnavailable | string [“returnError”, “skipOperation”] |
“returnError” | Define the behavior of the operation if the alternate content is not available. |
| paddingAssets | object |
Assets used to pad to minimize discontinuity. It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration). |
|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| Distribution Base URL | string |
||
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| maxExtraLatency | integer |
6000 | Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the maximum discontinuity between the alternate content and the back to live. |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
Allows request segments from a specific point in the past within a
live stream. Can be used for catch-up and rewind. |
|
| type * | string [“dashLookback”] |
||
| name | string |
“Lookback” | |
| start | object |
||
| source * | string [“constant”, “inputRequestQuery”] |
source | |
| value * | string |
property/value used for determinating end time of the lookback of
the lookback. The content should be an ISO 8601 date-time string or “now” or now- |
|
| end | object |
||
| source * | string [“constant”, “inputRequestQuery”] |
source replacement | |
| value * | string |
property/value used for determinating end time of the lookback.
The content should be an ISO 8601 date-time string or “now”. |
|
| enableReLocation | boolean |
false | modify or set |
| adjustFirstPeriodStartBasedOnPTO | boolean |
false | Adjust the period@start of the first period based on the
Presentation Time Offset (PTO). When enabled, shifts the first period@start to align with the lowest Presentation Time Offset (PTO) across segment templates (and their event streams) for start-over scenarios. |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“dashTimelineInfo”] |
||
| name | string |
“Timeline Info” | |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| httpResponseHeaders | [object] |
[{“header”:“Content-Type”, “value”:“application/dash+xml”}, {“header”:“Access-Control-Allow-Origin”, “value”:“*“}] | HTTP headers to be added to responses |
| header * | string |
Http header | |
| value * | string |
Value of the http header | |
| adManager | object(categories) |
Ad manager transcoding | |
| s3CredentialsKey | string |
Credentials key to use to S3 access. | |
| transcoder * | object |
||
| type * | string [“hybrik”] |
||
| apiUrl * | string |
||
| basicAuth * | object |
||
| user * | string |
||
| pwd * | string |
||
| login * | object |
||
| authKey * | string |
||
| authSecret * | string |
||
| compliance | string |
“20240524” | |
| userTag | string |
||
| DPLC | boolean |
false | Enable Dolby Professional Loudness Correction for audio layers |
| computingGroup | string |
||
| packagerImageUrl * | string |
||
| thumbnailsGeneratorImageUrl * | string |
||
| videoSettings | [object] |
||
| id * | string |
||
| setting * | string(json) |
Video setting JSON which will could be applied with the profile video layers. | |
| audioSettings | [object] |
||
| id * | string |
||
| setting * | string(json) |
Audio setting JSON which will could be applied with the profile audio layers. | |
| packagerSettings | [object] |
||
| id * | string |
||
| args * | string(json) |
VOD packager args JSON which will could be applied with the profile. | |
| thumbnailSettings | [object] |
||
| id * | string |
||
| args * | string(json) |
thumbnail args JSON which will could be applied with the profile. | |
| profiles * | [object] |
||
| id * | string |
Profile Id | |
| destinationBaseUrl * | string |
Destination directory | |
| segmentDuration | integer |
6 | Segment duration in seconds |
| packagerSettingId | string |
Reference to the packager settings to be used for this profile. | |
| thumbnailSettingId | string |
Reference to the thumbnail settings to be used for this profile. | |
| videoLayers * | [object] |
||
| settingId | string |
Reference to the video setting to be used for this layer. | |
| bandwidth * | integer |
6000 | Bandwitdh in kilobits per second |
| codec * | string [“h264”, “h265”] |
Codec used to transcode. | |
| width * | integer |
1920 | Output width |
| height * | integer |
1080 | Output height |
| frameRate | number |
29.97 | Output framerate |
| audioLayers * | [object] |
||
| settingId | string |
Reference to the audio setting to be used for this layer. | |
| bandwidth * | integer |
128 | Bandwitdh in kilobits per second |
| codec * | string [“aac”, “aac_lc”, “heaac_v1”, “heaac_v2”, “ac3”, “eac3”, “copy”] |
Codec used to transcode. Copy passthrough the elementary stream without change. | |
| channels | integer |
2 | Output channel count |
* : mandatory fields.
decisionServers:
vastServers:
- id: ads
endpointUrl: http://myAdsServer
endpointQueryParameters:
- name: duration
source: splicePoint
value: durationS| Name | Type | Default | Description |
|---|---|---|---|
| id * | string |
||
| endpointUrl * | string |
ADS url without any query parameter | |
| followAdditionalWrappers | integer |
5 | Define how many subsequent Wrappers after a requested VAST response are allowed |
| request | object |
||
| queryParameters | [object] |
[] | ADS request query parameters. Available tokens: - ${sessionData.[param]}: value of parameter [param] from the session data - ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters - ${requestHttpHeader.header}: value of HTTP header ‘header’ - ${requestUrl.assetPath}: value the channelId (asset path) - ${requestUrl.manifestName}: value the manifest name - ${traceId}: Request trace ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”) - ${timestampS}: Unix timestamp in seconds - ${timestampMs}: Unix timestamp in milliseconds - ${programInformation.[param]}: value of parameter [param] from program information - ${manifest.durationS}: VOD asset duration in seconds (integer) - ${manifest.durationSms}: VOD asset duration in seconds (float with milliseconds 3-digits precision) Additionnal functions: - @randomNumber:min;max@: Generates a random number between min and max (inclusive) - @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice()) - @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple - @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source Example: - ${requestQueryParameter.sessionId}${requestUrl.manifestName} - @roundToMultiple:${timestampS};15@ - name=@slice:${sourceName};3@ and value=@match:sessionData;startsWith;ad.;${sourceValue}@ |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | ADS request HTTP headers. Available tokens: - ${sessionData.[param]}: value of parameter [param] from the session data - ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters - ${requestHttpHeader.header}: value of HTTP header ‘header’ - ${requestUrl.assetPath}: value the channelId (asset path) - ${requestUrl.manifestName}: value the manifest name - ${traceId}: Request trace ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”) - ${timestampS}: Unix timestamp in seconds - ${timestampMs}: Unix timestamp in milliseconds - ${programInformation.[param]}: value of parameter [param] from program information - ${manifest.durationS}: VOD asset duration in seconds (integer) - ${manifest.durationSms}: VOD asset duration in seconds (float with milliseconds 3-digits precision) Additionnal functions: - @randomNumber:min;max@: Generates a random number between min and max (inclusive) - @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice()) - @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple - @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source Example: - ${sessionData.sessionId} - ${requestHttpHeader.x-forwarded-host} |
| header * | string |
||
| value * | string |
||
| connection | object |
{} | |
| directCall | object |
{} | |
| timeout | integer |
5000 | Timeout while fetching decision server at the time of the ad break (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching decision server at the time of the ad break (in milliseconds) |
| prefetchCall | object |
{} | |
| timeout | integer |
5000 | Timeout while prefetching decision server before the time of the ad break (in milliseconds) |
| retryCount | integer |
0 | Retry count while prefetching decision server before the time of the ad break (in milliseconds) |
| missingAdsTranscoding | object |
If present, trigger the ad transcoding to make it available later on | |
| type * | string [“internal”] |
||
| assetPathDestination * | string |
“${adId}” | Templatable path to define where to store the ads transcoding
result. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID Example: ${adId}/${profileId} |
| waitForTranscodingResponse | boolean |
true | Wait for a response from the ads transcoding service before continuing processing. |
| profileIds | [string] |
[] | No selection means all profiles will be used |
* : mandatory fields.
id: ADS
endpointUrl: https://securepubads.g.doubleclick.net/gampad/ads
followAdditionalWrappers: 5
request:
queryParameters: []
httpHeaders: []
connection: {}
missingAdsTranscoding:
type: internal
assetPathDestination: ads/${adId}
waitForTranscodingResponse: true
profileIds: []| Name | Type | Default | Description |
|---|---|---|---|
| id * | string |
||
| endpointUrl * | string |
ADS url without any query parameter | |
| followAdditionalWrappers | integer |
5 | Define how many subsequent Wrappers after a requested VAST response are allowed |
| midRollRequest | object |
||
| queryParameters | [object] |
[] | ADS request query parameters. Available tokens: - ${sessionData.[param]}: value of parameter [param] from the session data - ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters - ${requestHttpHeader.header}: value of HTTP header ‘header’ - ${requestUrl.assetPath}: value the channelId (asset path) - ${requestUrl.manifestName}: value the manifest name - ${splice.id}: splice identifier - ${splice(.durationS,.durationMs,.durationSms,.durationHMS)}: duration of the splice in different formats - ${event.[param]}: value of parameter [param] from custom event - ${event(.durationS,.durationMs,.durationSms,.durationHMS)}: duration of the event in different formats - ${traceId}: Request trace ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”) - ${timestampS}: Unix timestamp in seconds - ${timestampMs}: Unix timestamp in milliseconds - ${programInformation.[param]}: value of parameter [param] from program information - ${assetIdentifier.value}: Asset Identifier value from the break period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri from the break period Additionnal functions: - @randomNumber:min;max@: Generates a random number between min and max (inclusive) - @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice()) - @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple - @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source - @{scte35Extract:xpath[;flagAsBoolean][;upidFormat=auto |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | ADS request HTTP headers. Available tokens: - ${sessionData.[param]}: value of parameter [param] from the session data - ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters - ${requestHttpHeader.header}: value of HTTP header ‘header’ - ${requestUrl.assetPath}: value the channelId (asset path) - ${requestUrl.manifestName}: value the manifest name - ${splice.id}: splice identifier - ${splice(.durationS,.durationMs,.durationSms,.durationHMS)}: duration of the splice in different formats - ${event.[param]}: value of parameter [param] from custom event - ${event(.durationS,.durationMs,.durationSms,.durationHMS)}: duration of the event in different formats - ${traceId}: Request trace ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”) - ${timestampS}: Unix timestamp in seconds - ${timestampMs}: Unix timestamp in milliseconds - ${programInformation.[param]}: value of parameter [param] from program information - ${assetIdentifier.value}: Asset Identifier value from the break period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri from the break period Additionnal functions: - @randomNumber:min;max@: Generates a random number between min and max (inclusive) - @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice()) - @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple - @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source - @{scte35Extract:xpath[;flagAsBoolean][;upidFormat=auto |
| header * | string |
||
| value * | string |
||
| preRollRequest | object |
||
| queryParameters | [object] |
[] | ADS request query parameters. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData} Example: ${requestQueryParameter.prerollDuration} |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | ADS request HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData} Example: ${requestQueryParameter.prerollDuration} |
| header * | string |
||
| value * | string |
||
| postRollRequest | object |
||
| queryParameters | [object] |
[] | ADS request query parameters. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData} Example: ${requestQueryParameter.postrollDuration}) |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | ADS request HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData} Example: ${requestQueryParameter.postrollDuration}) |
| header * | string |
||
| value * | string |
||
| connection | object |
{} | |
| directCall | object |
{} | |
| timeout | integer |
1000 | Timeout while fetching decision server at the time of the ad break (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching decision server at the time of the ad break (in milliseconds) |
| prefetchCall | object |
{} | |
| timeout | integer |
2000 | Timeout while prefetching decision server before the time of the ad break (in milliseconds) |
| retryCount | integer |
0 | Retry count while prefetching decision server before the time of the ad break (in milliseconds) |
| missingAdsTranscoding | object |
If present, trigger the ad transcoding to make it available later on | |
| type * | string [“internal”] |
||
| assetPathDestination * | string |
“${adId}” | Templatable path to define where to store the ads transcoding
result. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID Example: ${adId}/${profileId} |
| waitForTranscodingResponse | boolean |
true | Wait for a response from the ads transcoding service before continuing processing. |
| profileIds | [string] |
[] | No selection means all profiles will be used |
* : mandatory fields.
id: ADS
endpointUrl: https://securepubads.g.doubleclick.net/gampad/ads
followAdditionalWrappers: 5
midRollRequest:
queryParameters: []
httpHeaders: []
preRollRequest:
queryParameters: []
httpHeaders: []
postRollRequest:
queryParameters: []
httpHeaders: []
connection: {}
missingAdsTranscoding:
type: internal
assetPathDestination: ads/${adId}
waitForTranscodingResponse: true
profileIds: []| Name | Type | Default | Description |
|---|---|---|---|
| id * | string |
||
| endpointUrl * | string |
SCTE-224 server endpoint url | |
| mediaName | string |
“${assetPath}” | Media name templatable. Usable token is ${assetPath} |
| audienceMapping | [object] |
[] | Mapping between input request parameter and audience characteristics |
| audienceName * | string |
Audience characteristics name. (audience:Zip, audience:Network …) | |
| source * | string [“constant”, “inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| value * | string |
* : mandatory fields.
id: EsniServer
endpointUrl: string
mediaName: ${assetPath}
audienceMapping: []| Name | Type | Default | Description |
|---|---|---|---|
| id * | string |
||
| endpointUrl * | string |
SCTE-250 server endpoint url, without any query parameter | |
| request | object |
||
| queryParameters | [object] |
[] | Signal Decision System request query parameters. Available tokens: - ${sessionData.[param]}: value of parameter [param] from the session data - ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters - ${requestHttpHeader.header}: value of HTTP header ‘header’ - ${requestUrl.assetPath}: value the channelId (asset path) - ${requestUrl.manifestName}: value the manifest name - ${event.id}: event identifier - ${event.[param]}: value of parameter [param] from custom event - ${traceId}: Request trace ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”) - ${timestampS}: Unix timestamp in seconds - ${timestampMs}: Unix timestamp in milliseconds - ${programInformation.[param]}: value of parameter [param] from program information - ${assetIdentifier.value}: Asset Identifier value from the segment period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri from the segment period Additionnal functions: - @randomNumber:min;max@: Generates a random number between min and max (inclusive) - @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice()) - @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple - @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source - @{scte35Extract:xpath[;flagAsBoolean][;upidFormat=auto |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | Signal Decision System request HTTP headers. Available tokens: - ${sessionData.[param]}: value of parameter [param] from the session data - ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters - ${requestHttpHeader.header}: value of HTTP header ‘header’ - ${requestUrl.assetPath}: value the channelId (asset path) - ${requestUrl.manifestName}: value the manifest name - ${event.id}: event identifier - ${event.[param]}: value of parameter [param] from custom event - ${traceId}: Request trace ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”) - ${timestampS}: Unix timestamp in seconds - ${timestampMs}: Unix timestamp in milliseconds - ${programInformation.[param]}: value of parameter [param] from program information - ${assetIdentifier.value}: Asset Identifier value from the segment period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri from the segment period Additionnal functions: - @randomNumber:min;max@: Generates a random number between min and max (inclusive) - @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice()) - @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple - @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source - @{scte35Extract:xpath[;flagAsBoolean][;upidFormat=auto |
| header * | string |
||
| value * | string |
||
| connection | object |
{} | Connection settings for fetching decision server |
| timeout | integer |
5000 | Timeout while fetching decision server (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching decision server (in milliseconds) |
* : mandatory fields.
id: SDS
endpointUrl: http://sds/media/1/instruction
request:
queryParameters: []
httpHeaders: []
connection: {}| Name | Type | Default | Description |
|---|---|---|---|
| id * | string |
Processing Id | |
| sessionManagement | object |
{} | Define management of session. |
| accessPolicy | any |
{“type”:“auto”} | Defines how access of session data from the remote cache is managed (auto or manual). |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“auto”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
||
| type * | string [“manual”] |
||
| read * | boolean |
Allow read access | |
| write * | boolean |
Allow write access | |
| ttl * | boolean |
Update TTL |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| identification | [object] |
[{“source”:“inputRequestQuery”, “value”:“sessionId”}] | Define how to identify a user session or a group of users session from an input request |
| source * | string [“inputUrl”, “inputRequestQuery”, “inputHttpHeader”] |
||
| value * | string |
||
| expiration | integer |
Define the session data expiration in seconds. If not set, the default expiration will be applied. | |
| tenantId | string |
Tenant Id | |
| source * | any |
Define how to get the reference manifest |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“dashManifestFetch”] |
||
| sourceBaseUrl * | string |
URL template to reach the origin server. Manifest filename is extracted from incoming URL. Available token: - ${assetPath}: path to the asset from the incoming request URL. |
|
| distributionUrls | [string] |
URL template to reach a list of origin servers. Token is ${assetPath} | |
| Distribution URLs | string |
||
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| defaultProfileId | string |
Default encoding profile identifier used when fetching ad
manifests. This value is used if the encoding profile identifier is not present in the source manifest. Available token: - ${profileId}: in adsSourceUrl, paddingAssets.baseUrls, missingAdsTranscoding.assetPathDestination |
|
| customEventSignaling | [string] |
Use custom event placements signaling for this source. Must match an event placement signaling Id defined in the settings. Selecting an Id will result in the use of the corresponding event(s) signaling format for this source |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“dashAdsXlinkResolution”] |
||
| decisionServerId * | string |
VAST decision server | |
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| paddingAssetUrl | string |
Url of the asset used to pad to minimize discontinuity | |
| minPaddingDuration | integer |
100 | define the min duration of a padding segment ms |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| output | object |
{} | Customize the output |
| manifestNaming | object |
||
| prefix | string |
define manifest name prefix. | |
| suffix | string |
define manifest name suffix. | |
| stringReplacements | [object] |
[] | |
| pattern * | string |
pattern to replace in the output | |
| source * | string [“constant”, “inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
source replacement | |
| name * | string |
name of property used for replacement | |
| format | any [“none”, “linearize”, “indent”, “indentAttributes”] |
“none” | Format the manifest output (this may impact performance) |
| removeExistingTimelineForIndex | boolean |
false | Remove existing |
| usePeriodStartTimeAsId | boolean |
false | Set each period’s ID attribute to match its start time value.
The period ID is derived from the start attribute by removing the ISO 8601 duration format prefix (PT) and suffix (S). For example, a period with start=“PT12.5S” will have its id set to “12.5” |
| authorization | object |
The request is authorized if the request fullfills all conditions | |
| rejectionErrorCode | integer |
401 | The HTTP error code to return if the request is not authorized |
| rejectionErrorMessage | string |
“Unauthorized” | The error message to return if the request is not authorized |
| authorizations | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| operations * | [oneOf] |
[] | List of operations |
| Operation | any |
Transformation applied to a dash manifest |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“dashAdInsertion”] |
||
| name | string |
“Ad Insertion” | |
| decisionServerId * | string |
VMAP decision server Id | |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag Use cases: - Simple passthrough: “${mediaFile}” - Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}” - Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}” Function tokens (rewrite the resolved value; applied after the ${…} tokens above): - @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@ - @regex:<value>;<regex>;<default>@ : returns capture group 1, or |
| adsDistributionUrls | [string] |
URL template to reach a list of ads servers. Available tokens from VMAP response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag |
|
| Distribution URLs | string |
||
| adsQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| adsHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| adsConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| insertionLocation | string [“nearestSegment”, “nearestPeriod”] |
“nearestSegment” | Ad insertion location |
| tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adSignalingFormat | [oneOf] |
[{“type”:“eventStream”}] | Define how ad signaling is formatted by the manifest manipulator |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
| breakSignalingFormat | object |
Define how break signaling is formatted by the manifest manipulator | |
| breakStart | [oneOf] |
[{“type”:“eventStream”}] | Signaling format for the start of a break |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
| breakEnd | [oneOf] |
[{“type”:“eventStream”}] | Signaling format for the end of a break |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
| adTrackingFormat | [oneOf] |
[{“type”:“eventStream”}] | Define how ad tracking is formatted by the manifest manipulator |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.tracking.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}. |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“dashAdReplacement”] |
||
| name | string |
“Ad Replacement” | |
| decisionServerId * | string |
VAST decision server Id | |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag Use cases: - Simple passthrough: “${mediaFile}” - Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}” - Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}” Function tokens (rewrite the resolved value; applied after the ${…} tokens above): - @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@ - @regex:<value>;<regex>;<default>@ : returns capture group 1, or |
| adsDistributionUrls | [string] |
URL template to reach a list of ads servers. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag |
|
| Distribution URLs | string |
||
| adsQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| adsHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| adsConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| staticAssetBehavior | object |
||
| midRollDurationMismatch | any |
Define the procession behavior if the ads response list doesn’t match the ad break duration. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“keepOriginalAdBreak”] |
||
| maxPaddingDuration | integer |
1000 | Define the maximum padding duration to complete an ad break |
| maxExtraLatency | integer |
500 | Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the max discontinuity between the ad break and the back to live. |
| paddingDistribution | object |
||
| breakStart | boolean |
false | Enable padding at start of break. |
| betweenAds | boolean |
false | Enable padding between ads of break. |
| breakEnd | boolean |
true | Enable padding at end of break. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| enablePreRoll | boolean |
false | Enable pre-roll ad insertion |
| enablePostRoll | boolean |
false | Enable post-roll ad insertion |
| dynamicAssetBehavior | object |
||
| midRollDurationMismatch | any |
Define the procession behavior if the ads response list doesn’t match the ad break duration. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“keepOriginalAdBreak”] |
||
| maxPaddingDuration | integer |
1000 | Define the maximum padding duration to complete an ad break |
| maxExtraLatency | integer |
500 | Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the max discontinuity between the ad break and the back to live. |
| paddingDistribution | object |
||
| breakStart | boolean |
false | Enable padding at start of break. |
| betweenAds | boolean |
false | Enable padding between ads of break. |
| breakEnd | boolean |
true | Enable padding at end of break. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adReplacementWindow | integer |
Define the edge time window in seconds during which ad replacement will be done. | |
| prebidding | string [“disabled”, “enabled”, “required”] |
“disabled” | Prebidding configuration |
| tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adSignalingFormat | [oneOf] |
[{“type”:“eventStream”}] | Define how ad signaling is formatted by the manifest manipulator |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
| breakSignalingFormat | object |
Define how break signaling is formatted by the manifest manipulator | |
| breakStart | [oneOf] |
[{“type”:“eventStream”}] | Signaling format for the start of a break |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
| breakEnd | [oneOf] |
[{“type”:“eventStream”}] | Signaling format for the end of a break |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
| adTrackingFormat | [oneOf] |
[{“type”:“eventStream”}] | Define how ad tracking is formatted by the manifest manipulator |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.tracking.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}. |
| paddingAssets | object |
Assets used to pad to minimize discontinuity. It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration). |
|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| Distribution Base URL | string |
||
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event | |
| eventIdentification | object |
Select splice fields required to uniquely identify an event | |
| spliceEventId | boolean |
true | SpliceInsert EventId or TimeSignal SegmentationEventId |
| spliceTime | boolean |
false | Splice Time PTS |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“dashTrimming”] |
||
| name | string |
“Trimming” | |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
Allows removal of specific SCTE-35 events from manifest. | |
| type * | string [“dashRemoveSignaling”] |
||
| name | string |
“Remove Content Signaling” | |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| contentSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“dashAlternateContent”] |
||
| name | string |
“Alternate Content” | |
| decisionServerId | string |
SCTE-224 or SCTE-250 decision server | |
| alternateSourceUrl * | string |
“${action:Content}” | Templatable value to access the alternate content manifest.
Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
| alternateDistributionUrls | [string] |
URL template to reach a list of origin servers. Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Encoding profile ID |
|
| Distribution URLs | string |
||
| alternateQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| alternateHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| alternateConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| behaviorIfAlternateUnavailable | string [“returnError”, “skipOperation”] |
“returnError” | Define the behavior of the operation if the alternate content is not available. |
| paddingAssets | object |
Assets used to pad to minimize discontinuity. It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration). |
|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| Distribution Base URL | string |
||
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| maxExtraLatency | integer |
6000 | Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the maximum discontinuity between the alternate content and the back to live. |
| minAlternateDelay | integer |
12000 | Define the minimum delay to apply to the alternate content compared to the live in order to prevent buffer starvation. |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“dashBlackout”] |
||
| name | string |
“Blackout” | |
| decisionServerId | string |
SCTE-224 or SCTE-250 decision server | |
| alternateSourceUrl * | string |
“${action:Content}” | Templatable value to access the Blackout content manifest. The Blackout content must be a static manifest Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
| alternateDistributionUrls | [string] |
URL template to reach a list of origin servers. Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
|
| Distribution URLs | string |
||
| alternateQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| alternateHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| alternateConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| behaviorIfAlternateUnavailable | string [“returnError”, “skipOperation”] |
“returnError” | Define the behavior of the operation if the alternate content is not available. |
| paddingAssets | object |
Assets used to pad to minimize discontinuity. It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration). |
|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| Distribution Base URL | string |
||
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| maxExtraLatency | integer |
6000 | Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the maximum discontinuity between the alternate content and the back to live. |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
Allows request segments from a specific point in the past within a
live stream. Can be used for catch-up and rewind. |
|
| type * | string [“dashLookback”] |
||
| name | string |
“Lookback” | |
| start | object |
||
| source * | string [“constant”, “inputRequestQuery”] |
source | |
| value * | string |
property/value used for determinating end time of the lookback of
the lookback. The content should be an ISO 8601 date-time string or “now” or now- |
|
| end | object |
||
| source * | string [“constant”, “inputRequestQuery”] |
source replacement | |
| value * | string |
property/value used for determinating end time of the lookback.
The content should be an ISO 8601 date-time string or “now”. |
|
| enableReLocation | boolean |
false | modify or set |
| adjustFirstPeriodStartBasedOnPTO | boolean |
false | Adjust the period@start of the first period based on the
Presentation Time Offset (PTO). When enabled, shifts the first period@start to align with the lowest Presentation Time Offset (PTO) across segment templates (and their event streams) for start-over scenarios. |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“dashTimelineInfo”] |
||
| name | string |
“Timeline Info” | |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| httpResponseHeaders | [object] |
[{“header”:“Content-Type”, “value”:“application/dash+xml”}, {“header”:“Access-Control-Allow-Origin”, “value”:“*“}] | HTTP headers to be added to responses |
| header * | string |
Http header | |
| value * | string |
Value of the http header |
* : mandatory fields.
id: cmaf
sessionManagement: {}
tenantId: synamedia
source:
type: dashManifestFetch
sourceBaseUrl: http://myCDN/dash/cdvr/${assetPath}
distributionUrls:
- https://myCDN/dash/cdvr/${assetPath}
queryParameterForward:
rule: all
exceptions: []
httpHeaderForward:
- x-amz-cf-id
connection: {}
defaultProfileId: HD
customEventSignaling:
- string
output: {}
authorization:
rejectionErrorCode: 401
rejectionErrorMessage: Unauthorized
authorizations:
- source: inputRequestQuery
name: string
condition: contains
value: string
operations: []
httpResponseHeaders:
- header: Content-Type
value: application/dash+xml
- header: Access-Control-Allow-Origin
value: "*"| Name | Type | Default | Description |
|---|---|---|---|
| Source | any |
Define how to get the reference manifest |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dashManifestFetch”] |
||
| sourceBaseUrl * | string |
URL template to reach the origin server. Manifest filename is extracted from incoming URL. Available token: - ${assetPath}: path to the asset from the incoming request URL. |
|
| distributionUrls | [string] |
URL template to reach a list of origin servers. Token is ${assetPath} | |
| Distribution URLs | string |
||
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| defaultProfileId | string |
Default encoding profile identifier used when fetching ad
manifests. This value is used if the encoding profile identifier is not present in the source manifest. Available token: - ${profileId}: in adsSourceUrl, paddingAssets.baseUrls, missingAdsTranscoding.assetPathDestination |
|
| customEventSignaling | [string] |
Use custom event placements signaling for this source. Must match an event placement signaling Id defined in the settings. Selecting an Id will result in the use of the corresponding event(s) signaling format for this source |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dashAdsXlinkResolution”] |
||
| decisionServerId * | string |
VAST decision server | |
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| paddingAssetUrl | string |
Url of the asset used to pad to minimize discontinuity | |
| minPaddingDuration | integer |
100 | define the min duration of a padding segment ms |
* : mandatory fields.
type: dashManifestFetch
sourceBaseUrl: http://myCDN/dash/cdvr/${assetPath}
distributionUrls:
- https://myCDN/dash/cdvr/${assetPath}
queryParameterForward:
rule: all
exceptions: []
httpHeaderForward:
- x-amz-cf-id
connection: {}
defaultProfileId: HD
customEventSignaling:
- string| Name | Type | Default | Description |
|---|---|---|---|
| Operation | any |
Transformation applied to a dash manifest |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dashAdInsertion”] |
||
| name | string |
“Ad Insertion” | |
| decisionServerId * | string |
VMAP decision server Id | |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag Use cases: - Simple passthrough: “${mediaFile}” - Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}” - Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}” Function tokens (rewrite the resolved value; applied after the ${…} tokens above): - @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@ - @regex:<value>;<regex>;<default>@ : returns capture group 1, or |
| adsDistributionUrls | [string] |
URL template to reach a list of ads servers. Available tokens from VMAP response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag |
|
| Distribution URLs | string |
||
| adsQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| adsHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| adsConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| insertionLocation | string [“nearestSegment”, “nearestPeriod”] |
“nearestSegment” | Ad insertion location |
| tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adSignalingFormat | [oneOf] |
[{“type”:“eventStream”}] | Define how ad signaling is formatted by the manifest manipulator |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
| breakSignalingFormat | object |
Define how break signaling is formatted by the manifest manipulator | |
| breakStart | [oneOf] |
[{“type”:“eventStream”}] | Signaling format for the start of a break |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
| breakEnd | [oneOf] |
[{“type”:“eventStream”}] | Signaling format for the end of a break |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
| adTrackingFormat | [oneOf] |
[{“type”:“eventStream”}] | Define how ad tracking is formatted by the manifest manipulator |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.tracking.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}. |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dashAdReplacement”] |
||
| name | string |
“Ad Replacement” | |
| decisionServerId * | string |
VAST decision server Id | |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag Use cases: - Simple passthrough: “${mediaFile}” - Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}” - Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}” Function tokens (rewrite the resolved value; applied after the ${…} tokens above): - @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@ - @regex:<value>;<regex>;<default>@ : returns capture group 1, or |
| adsDistributionUrls | [string] |
URL template to reach a list of ads servers. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag |
|
| Distribution URLs | string |
||
| adsQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| adsHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| adsConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| staticAssetBehavior | object |
||
| midRollDurationMismatch | any |
Define the procession behavior if the ads response list doesn’t match the ad break duration. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“keepOriginalAdBreak”] |
||
| maxPaddingDuration | integer |
1000 | Define the maximum padding duration to complete an ad break |
| maxExtraLatency | integer |
500 | Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the max discontinuity between the ad break and the back to live. |
| paddingDistribution | object |
||
| breakStart | boolean |
false | Enable padding at start of break. |
| betweenAds | boolean |
false | Enable padding between ads of break. |
| breakEnd | boolean |
true | Enable padding at end of break. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| enablePreRoll | boolean |
false | Enable pre-roll ad insertion |
| enablePostRoll | boolean |
false | Enable post-roll ad insertion |
| dynamicAssetBehavior | object |
||
| midRollDurationMismatch | any |
Define the procession behavior if the ads response list doesn’t match the ad break duration. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“keepOriginalAdBreak”] |
||
| maxPaddingDuration | integer |
1000 | Define the maximum padding duration to complete an ad break |
| maxExtraLatency | integer |
500 | Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the max discontinuity between the ad break and the back to live. |
| paddingDistribution | object |
||
| breakStart | boolean |
false | Enable padding at start of break. |
| betweenAds | boolean |
false | Enable padding between ads of break. |
| breakEnd | boolean |
true | Enable padding at end of break. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adReplacementWindow | integer |
Define the edge time window in seconds during which ad replacement will be done. | |
| prebidding | string [“disabled”, “enabled”, “required”] |
“disabled” | Prebidding configuration |
| tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adSignalingFormat | [oneOf] |
[{“type”:“eventStream”}] | Define how ad signaling is formatted by the manifest manipulator |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
| breakSignalingFormat | object |
Define how break signaling is formatted by the manifest manipulator | |
| breakStart | [oneOf] |
[{“type”:“eventStream”}] | Signaling format for the start of a break |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
| breakEnd | [oneOf] |
[{“type”:“eventStream”}] | Signaling format for the end of a break |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
| adTrackingFormat | [oneOf] |
[{“type”:“eventStream”}] | Define how ad tracking is formatted by the manifest manipulator |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.tracking.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}. |
| paddingAssets | object |
Assets used to pad to minimize discontinuity. It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration). |
|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| Distribution Base URL | string |
||
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event | |
| eventIdentification | object |
Select splice fields required to uniquely identify an event | |
| spliceEventId | boolean |
true | SpliceInsert EventId or TimeSignal SegmentationEventId |
| spliceTime | boolean |
false | Splice Time PTS |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dashTrimming”] |
||
| name | string |
“Trimming” | |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dashRemoveSignaling”] |
||
| name | string |
“Remove Content Signaling” | |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| contentSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dashAlternateContent”] |
||
| name | string |
“Alternate Content” | |
| decisionServerId | string |
SCTE-224 or SCTE-250 decision server | |
| alternateSourceUrl * | string |
“${action:Content}” | Templatable value to access the alternate content manifest.
Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
| alternateDistributionUrls | [string] |
URL template to reach a list of origin servers. Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Encoding profile ID |
|
| Distribution URLs | string |
||
| alternateQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| alternateHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| alternateConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| behaviorIfAlternateUnavailable | string [“returnError”, “skipOperation”] |
“returnError” | Define the behavior of the operation if the alternate content is not available. |
| paddingAssets | object |
Assets used to pad to minimize discontinuity. It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration). |
|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| Distribution Base URL | string |
||
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| maxExtraLatency | integer |
6000 | Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the maximum discontinuity between the alternate content and the back to live. |
| minAlternateDelay | integer |
12000 | Define the minimum delay to apply to the alternate content compared to the live in order to prevent buffer starvation. |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dashBlackout”] |
||
| name | string |
“Blackout” | |
| decisionServerId | string |
SCTE-224 or SCTE-250 decision server | |
| alternateSourceUrl * | string |
“${action:Content}” | Templatable value to access the Blackout content manifest. The Blackout content must be a static manifest Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
| alternateDistributionUrls | [string] |
URL template to reach a list of origin servers. Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
|
| Distribution URLs | string |
||
| alternateQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| alternateHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| alternateConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| behaviorIfAlternateUnavailable | string [“returnError”, “skipOperation”] |
“returnError” | Define the behavior of the operation if the alternate content is not available. |
| paddingAssets | object |
Assets used to pad to minimize discontinuity. It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration). |
|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| Distribution Base URL | string |
||
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| maxExtraLatency | integer |
6000 | Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the maximum discontinuity between the alternate content and the back to live. |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dashLookback”] |
||
| name | string |
“Lookback” | |
| start | object |
||
| source * | string [“constant”, “inputRequestQuery”] |
source | |
| value * | string |
property/value used for determinating end time of the lookback of
the lookback. The content should be an ISO 8601 date-time string or “now” or now- |
|
| end | object |
||
| source * | string [“constant”, “inputRequestQuery”] |
source replacement | |
| value * | string |
property/value used for determinating end time of the lookback.
The content should be an ISO 8601 date-time string or “now”. |
|
| enableReLocation | boolean |
false | modify or set |
| adjustFirstPeriodStartBasedOnPTO | boolean |
false | Adjust the period@start of the first period based on the
Presentation Time Offset (PTO). When enabled, shifts the first period@start to align with the lowest Presentation Time Offset (PTO) across segment templates (and their event streams) for start-over scenarios. |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dashTimelineInfo”] |
||
| name | string |
“Timeline Info” | |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
* : mandatory fields.
type: dashAdInsertion
name: Ad Insertion
decisionServerId: string
adsSourceUrl: http://cdn.example.com/ads/${adId}/${profileId}/manifest.mpd
adsDistributionUrls:
- string
adsQueryParameterForward:
rule: all
exceptions: []
adsHttpHeaderForward:
- x-amz-cf-id
adsConnection: {}
insertionLocation: nearestSegment
tracking:
type: direct
adSignalingFormat:
- type: eventStream
breakSignalingFormat:
breakStart:
- type: eventStream
breakEnd:
- type: eventStream
adTrackingFormat:
- type: eventStream
operationTriggers:
inputRequest:
- source: inputRequestQuery
name: string
condition: contains
value: string
placementSignaling:
- type: spliceBasicMatching
spliceCommandType: spliceInsert
segmentationTypeId: 15
durationPresent: true| Name | Type | Default | Description |
|---|---|---|---|
| Ad Signaling Format | [oneOf] |
[{“type”:“eventStream”}] | Define how ad signaling is formatted by the manifest manipulator |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
* : mandatory fields.
- type: eventStream| Name | Type | Default | Description |
|---|---|---|---|
| breakStart | [oneOf] |
[{“type”:“eventStream”}] | Signaling format for the start of a break |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
| breakEnd | [oneOf] |
[{“type”:“eventStream”}] | Signaling format for the end of a break |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.adbreak.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}. |
* : mandatory fields.
breakStart:
- type: eventStream
breakEnd:
- type: eventStream| Name | Type | Default | Description |
|---|---|---|---|
| Ad Tracking Format | [oneOf] |
[{“type”:“eventStream”}] | Define how ad tracking is formatted by the manifest manipulator |
| EventStream | object |
||
| type * | string [“eventStream”] |
Format type | |
| schemeIdUri * | string |
“urn:synamedia:dai:2023:measurement” | Value to insert for the event stream schemeIdUri attribute |
| value * | string |
“com.synamedia.dai.tracking.v2” | Value to insert for the event stream value attribute |
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}. | |
| eventContent | string |
“ |
Templated value to insert in the event content. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}. |
* : mandatory fields.
- type: eventStream| Name | Type | Default | Description |
|---|---|---|---|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| Distribution Base URL | string |
||
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
* : mandatory fields.
baseUrls:
- http://myCDN/cmaf/black-500ms/
distributionBaseUrls:
- https://myCDN/dash/cdvr/${profileId}
queryParameterForward:
rule: all
exceptions: []
httpHeaderForward:
- x-amz-cf-id
connection: {}| Name | Type | Default | Description |
|---|---|---|---|
| id * | string |
Processing Id used in the input URL | |
| sessionManagement | object |
{} | Define management of session. |
| accessPolicy | any |
{“type”:“auto”} | Defines how access of session data from the remote cache is managed (auto or manual). |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“auto”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
||
| type * | string [“manual”] |
||
| read * | boolean |
Allow read access | |
| write * | boolean |
Allow write access | |
| ttl * | boolean |
Update TTL |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| identification | [object] |
[{“source”:“inputRequestQuery”, “value”:“sessionId”}] | Define how to identify a user session or a group of users session from an input request |
| source * | string [“inputUrl”, “inputRequestQuery”, “inputHttpHeader”] |
||
| value * | string |
||
| expiration | integer |
Define the session data expiration in seconds. If not set, the default expiration will be applied. | |
| tenantId | string |
Tenant Id. Prefix used in the input URL | |
| source * | any |
Define how to get the reference playlist |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“hlsPlaylistFetch”] |
||
| sourceBaseUrl * | string |
URL template to reach the origin server. Playlist filename is extracted from incoming URL. Available token: - ${assetPath}: path to the asset from the incoming request URL. |
|
| distributionUrl | string |
URL template to reach the origin server. Token is ${assetPath} | |
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| defaultProfileId | string |
Default encoding profile identifier used when fetching ad
playlists. This value is used if the encoding profile identifier is not present in the source playlist. Related tokens: - ${profileId}: in adsSourceUrl, paddingAssets.baseUrls, missingAdsTranscoding.assetPathDestination |
|
| customEventSignaling | string |
Use custom event placement signaling for this source. Must match a event placement signaling defined in the settings |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“hlsAdInterstitial”] |
||
| decisionServerId * | string |
VAST decision server | |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Function tokens (rewrite the resolved value; applied after the ${…} tokens above): - @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@ - @regex:<value>;<regex>;<default>@ : returns capture group 1, or |
| adsQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| adsHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| adsConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| paddingAssetUrl | string |
Url of the asset used to pad to minimize discontinuity | |
| minPaddingDuration | integer |
100 | Define the min duration of a padding segment ms |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| output | object |
{} | Customize the output |
| stringReplacements | [object] |
[] | |
| pattern * | string |
pattern to replace in the output | |
| source * | string [“constant”, “inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
source replacement | |
| name * | string |
name of property used for replacement | |
| authorization | object |
The request is authorized if the request fullfills all conditions | |
| rejectionErrorCode | integer |
401 | The HTTP error code to return if the request is not authorized |
| rejectionErrorMessage | string |
“Unauthorized” | The error message to return if the request is not authorized |
| authorizations | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| masterPlaylist | object |
{} | Define master playlist behavior |
| naming | object |
{} | Define master playlist naming prefix and suffix |
| prefix | string |
“” | Prefix added to the master playlist name |
| suffix | string |
“” | Suffix added to the master playlist name (before extension) |
| mediaPlaylist | object |
{} | Define media playlist behavior |
| naming | object |
{} | Define media playlist naming prefix and suffix |
| prefix | string |
“” | Prefix added to media playlist names |
| suffix | string |
“” | Suffix added to media playlist names (before extension) |
| masterQueryParameterForward | object |
Define which query parameters from the input request are forwarded to media playlist URIs in the master playlist | |
| rule * | string [“all”, “none”] |
“all” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| operations * | [oneOf] |
[] | List of operations |
| Operation | any |
transformation applied to a hls playlist |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“hlsAdInsertion”] |
||
| name | string |
“Ad Insertion” | |
| decisionServerId * | string |
VMAP decision server Id | |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID Use cases: - Simple passthrough: “${mediaFile}” - Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}” - Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}” Function tokens (rewrite the resolved value; applied after the ${…} tokens above): - @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@ - @regex:<value>;<regex>;<default>@ : returns capture group 1, or |
| adsDistributionUrl | string |
URL template to reach an ads server. Available tokens from VMAP response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID |
|
| adsQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| adsHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| adsConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| insertionLocation | string [“nearestSegment”, “nearestPeriod”] |
“nearestSegment” | Ad insertion location |
| tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adSignalingFormat | [oneOf] |
[{“type”:“dateRangeTag”}] | Define how ad signaling is formatted by the manifest manipulator |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[{“name”:“X-PRESENTATION-TIME”, “value”:“${adStartMs}”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.adbreak"”}, {“name”:“X-AD-TYPE”, “value”:“"${adType}"”}] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. | |
| breakSignalingFormat | object |
Define how break signaling is formatted by the manifest manipulator | |
| breakStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of a break |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. | |
| breakEnd | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the end of a break |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. | |
| adTrackingFormat | [oneOf] |
[{“type”:“dateRangeTag”}] | Define how ad tracking is formatted by the manifest manipulator |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[{“name”:“X-AD-URL”, “value”:“"${trackingUrl}"”}, {“name”:“X-AD-ID”, “value”:“"${adId}"”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.tracking"”}, {“name”:“X-AD-EVENT-TYPE”, “value”:“"${trackingEvent}"”}] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adId}, ${trackingEvent} and ${trackingUrl}. | |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event | |
| playlistSelection | object |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Playlist name mapping between the source and ad playlists. If source playlist name is not in the array, source playlist name is used for ad playlists fetching |
|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| adsName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
Dynamic playlist matching rules. If no matching can be found, source playlist name is used for playlist fetching |
|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioVideo | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| iFrame | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| subtitles | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| image | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“hlsAdReplacement”] |
||
| name | string |
“Ad Replacement” | |
| decisionServerId * | string |
VAST decision server Id | |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID Use cases: - Simple passthrough: “${mediaFile}” - Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}” - Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}” Function tokens (rewrite the resolved value; applied after the ${…} tokens above): - @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@ - @regex:<value>;<regex>;<default>@ : returns capture group 1, or |
| adsDistributionUrl | string |
URL template to reach an ads server. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID |
|
| adsQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| adsHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| adsConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| staticAssetBehavior | object |
||
| midRollDurationMismatch | any |
Define the procession behavior if the ads response list doesn’t match the ad break duration. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“keepOriginalAdBreak”] |
||
| maxPaddingDuration | integer |
1000 | Define the maximum padding duration to complete an ad break |
| maxExtraLatency | integer |
500 | Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the max discontinuity between the ad break and the back to live. |
| paddingDistribution | object |
||
| breakStart | boolean |
false | Enable padding at start of break. |
| betweenAds | boolean |
false | Enable padding between ads of break. |
| breakEnd | boolean |
true | Enable padding at end of break. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| enablePreRoll | boolean |
false | Enable pre-roll ad insertion |
| enablePostRoll | boolean |
false | Enable post-roll ad insertion |
| dynamicAssetBehavior | object |
||
| midRollDurationMismatch | any |
Define the procession behavior if the ads response list doesn’t match the ad break duration. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“keepOriginalAdBreak”] |
||
| maxPaddingDuration | integer |
1000 | Define the maximum padding duration to complete an ad break |
| maxExtraLatency | integer |
500 | Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the max discontinuity between the ad break and the back to live. |
| paddingDistribution | object |
||
| breakStart | boolean |
false | Enable padding at start of break. |
| betweenAds | boolean |
false | Enable padding between ads of break. |
| breakEnd | boolean |
true | Enable padding at end of break. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adReplacementWindow | integer |
Define the edge time window in seconds during which ad replacement will be done. | |
| prebidding | string [“disabled”, “enabled”, “required”] |
“disabled” | Prebidding configuration |
| tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adSignalingFormat | [oneOf] |
[{“type”:“dateRangeTag”}] | Define how ad signaling is formatted by the manifest manipulator |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[{“name”:“X-PRESENTATION-TIME”, “value”:“${adStartMs}”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.adbreak"”}, {“name”:“X-AD-TYPE”, “value”:“"${adType}"”}] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. | |
| breakSignalingFormat | object |
Define how break signaling is formatted by the manifest manipulator | |
| breakStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of a break |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. | |
| breakEnd | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the end of a break |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. | |
| adTrackingFormat | [oneOf] |
[{“type”:“dateRangeTag”}] | Define how ad tracking is formatted by the manifest manipulator |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[{“name”:“X-AD-URL”, “value”:“"${trackingUrl}"”}, {“name”:“X-AD-ID”, “value”:“"${adId}"”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.tracking"”}, {“name”:“X-AD-EVENT-TYPE”, “value”:“"${trackingEvent}"”}] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adId}, ${trackingEvent} and ${trackingUrl}. | |
| paddingAssets | object |
Assets used to pad to minimize discontinuity. It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration). |
|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event | |
| playlistSelection | object |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Playlist name mapping between the source and ad playlists. If source playlist name is not in the array, source playlist name is used for ad playlists fetching |
|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| adsName * | string |
||
| paddingName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
Dynamic playlist matching rules. If no matching can be found, source playlist name is used for playlist fetching |
|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioVideo | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| iFrame | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| subtitles | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| image | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| eventIdentification | object |
Select splice fields required to uniquely identify an event | |
| spliceEventId | boolean |
true | SpliceInsert EventId or TimeSignal SegmentationEventId |
| spliceTime | boolean |
false | Splice Time PTS |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“hlsTrimming”] |
||
| name | string |
“Trimming” | |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“hlsAlternateContent”] |
||
| name | string |
“Alternate Content” | |
| decisionServerId | string |
SCTE-224 or SCTE-250 decision server | |
| alternateSourceUrl * | string |
“${action:Content}” | Templatable value to access the alternate content master playlist.
The master playlist must contain all available media playlists. Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
| alternateDistributionUrl | string |
URL template to reach the origin server. Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
|
| alternateQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| alternateHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| alternateConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| behaviorIfAlternateUnavailable | string [“returnError”, “skipOperation”] |
“returnError” | Define the behavior of the operation if the alternate content is not available. |
| paddingAssets | object |
Assets used to pad to minimize discontinuity. It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration). |
|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| maxExtraLatency | integer |
6000 | Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the maximum discontinuity between the alternate content and the back to live. |
| minAlternateDelay | integer |
12000 | Define the minimum delay to apply to the alternate content compared to the live in order to prevent buffer starvation. |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event | |
| playlistSelection | object |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Playlist name mapping between the source and alternate playlist.
If source playlist name is not in the array, source playlist name is used for alternate playlist fetching |
|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| alternateName * | string |
||
| paddingName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
Dynamic playlist matching rules. If no matching can be found, source playlist name is used for playlist fetching |
|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioVideo | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| iFrame | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| subtitles | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| image | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“hlsBlackout”] |
||
| name | string |
“Blackout” | |
| decisionServerId | string |
SCTE-224 or SCTE-250 decision server | |
| alternateSourceUrl * | string |
“${action:Content}” | Templatable value to access the Blackout master playlist. The Blackout master playlist must contain all available VOD media playlists. Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
| alternateDistributionUrl | string |
URL template to reach the origin server. Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
|
| alternateQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| alternateHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| alternateConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| behaviorIfAlternateUnavailable | string [“returnError”, “skipOperation”] |
“returnError” | Define the behavior of the operation if the alternate content is not available. |
| paddingAssets | object |
Assets used to pad to minimize discontinuity. It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration). |
|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| maxExtraLatency | integer |
6000 | Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the maximum discontinuity between the alternate content and the back to live. |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event | |
| playlistSelection | object |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Playlist name mapping between the source and alternate playlist.
If source playlist name is not in the array, source playlist name is used for alternate playlist fetching |
|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| alternateName * | string |
||
| paddingName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
Dynamic playlist matching rules. If no matching can be found, source playlist name is used for playlist fetching |
|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioVideo | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| iFrame | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| subtitles | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| image | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“hlsTimelineInfo”] |
||
| name | string |
“Timeline Info” | |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| httpResponseHeaders | [object] |
[{“header”:“Content-Type”, “value”:“application/vnd.apple.mpegurl”, “enableMaster”:true, “enableMedia”:true}, {“header”:“Access-Control-Allow-Origin”, “value”:“*“,”enableMaster”:true, “enableMedia”:true}] | HTTP headers to be added to responses |
| header * | string |
Http header | |
| value * | string |
Value of the http header | |
| enableMaster * | boolean |
true | Apply this header to master playlists |
| enableMedia * | boolean |
true | Apply this header to media playlists |
* : mandatory fields.
id: cmaf
sessionManagement: {}
tenantId: synamadia
source:
type: hlsPlaylistFetch
sourceBaseUrl: http://myCDN/dash/vodc/${assetPath}
distributionUrl: https://cdn1.example.com/dash/vodc/${assetPath}
queryParameterForward:
rule: all
exceptions: []
httpHeaderForward:
- x-amz-cf-id
connection: {}
defaultProfileId: HD
customEventSignaling: string
output: {}
authorization:
rejectionErrorCode: 401
rejectionErrorMessage: Unauthorized
authorizations:
- source: inputRequestQuery
name: string
condition: contains
value: string
masterPlaylist: {}
mediaPlaylist: {}
operations: []
httpResponseHeaders:
- header: Content-Type
value: application/vnd.apple.mpegurl
enableMaster: true
enableMedia: true
- header: Access-Control-Allow-Origin
value: "*"
enableMaster: true
enableMedia: true| Name | Type | Default | Description |
|---|---|---|---|
| Source | any |
Define how to get the reference playlist |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“hlsPlaylistFetch”] |
||
| sourceBaseUrl * | string |
URL template to reach the origin server. Playlist filename is extracted from incoming URL. Available token: - ${assetPath}: path to the asset from the incoming request URL. |
|
| distributionUrl | string |
URL template to reach the origin server. Token is ${assetPath} | |
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| defaultProfileId | string |
Default encoding profile identifier used when fetching ad
playlists. This value is used if the encoding profile identifier is not present in the source playlist. Related tokens: - ${profileId}: in adsSourceUrl, paddingAssets.baseUrls, missingAdsTranscoding.assetPathDestination |
|
| customEventSignaling | string |
Use custom event placement signaling for this source. Must match a event placement signaling defined in the settings |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“hlsAdInterstitial”] |
||
| decisionServerId * | string |
VAST decision server | |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Function tokens (rewrite the resolved value; applied after the ${…} tokens above): - @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@ - @regex:<value>;<regex>;<default>@ : returns capture group 1, or |
| adsQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| adsHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| adsConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| paddingAssetUrl | string |
Url of the asset used to pad to minimize discontinuity | |
| minPaddingDuration | integer |
100 | Define the min duration of a padding segment ms |
* : mandatory fields.
type: hlsPlaylistFetch
sourceBaseUrl: http://myCDN/dash/vodc/${assetPath}
distributionUrl: https://cdn1.example.com/dash/vodc/${assetPath}
queryParameterForward:
rule: all
exceptions: []
httpHeaderForward:
- x-amz-cf-id
connection: {}
defaultProfileId: HD
customEventSignaling: string| Name | Type | Default | Description |
|---|---|---|---|
| Operation | any |
transformation applied to a hls playlist |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“hlsAdInsertion”] |
||
| name | string |
“Ad Insertion” | |
| decisionServerId * | string |
VMAP decision server Id | |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID Use cases: - Simple passthrough: “${mediaFile}” - Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}” - Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}” Function tokens (rewrite the resolved value; applied after the ${…} tokens above): - @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@ - @regex:<value>;<regex>;<default>@ : returns capture group 1, or |
| adsDistributionUrl | string |
URL template to reach an ads server. Available tokens from VMAP response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID |
|
| adsQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| adsHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| adsConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| insertionLocation | string [“nearestSegment”, “nearestPeriod”] |
“nearestSegment” | Ad insertion location |
| tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adSignalingFormat | [oneOf] |
[{“type”:“dateRangeTag”}] | Define how ad signaling is formatted by the manifest manipulator |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[{“name”:“X-PRESENTATION-TIME”, “value”:“${adStartMs}”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.adbreak"”}, {“name”:“X-AD-TYPE”, “value”:“"${adType}"”}] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. | |
| breakSignalingFormat | object |
Define how break signaling is formatted by the manifest manipulator | |
| breakStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of a break |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. | |
| breakEnd | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the end of a break |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. | |
| adTrackingFormat | [oneOf] |
[{“type”:“dateRangeTag”}] | Define how ad tracking is formatted by the manifest manipulator |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[{“name”:“X-AD-URL”, “value”:“"${trackingUrl}"”}, {“name”:“X-AD-ID”, “value”:“"${adId}"”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.tracking"”}, {“name”:“X-AD-EVENT-TYPE”, “value”:“"${trackingEvent}"”}] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adId}, ${trackingEvent} and ${trackingUrl}. | |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event | |
| playlistSelection | object |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Playlist name mapping between the source and ad playlists. If source playlist name is not in the array, source playlist name is used for ad playlists fetching |
|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| adsName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
Dynamic playlist matching rules. If no matching can be found, source playlist name is used for playlist fetching |
|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioVideo | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| iFrame | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| subtitles | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| image | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“hlsAdReplacement”] |
||
| name | string |
“Ad Replacement” | |
| decisionServerId * | string |
VAST decision server Id | |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID Use cases: - Simple passthrough: “${mediaFile}” - Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}” - Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}” Function tokens (rewrite the resolved value; applied after the ${…} tokens above): - @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@ - @regex:<value>;<regex>;<default>@ : returns capture group 1, or |
| adsDistributionUrl | string |
URL template to reach an ads server. Available tokens from VAST response: - ${mediaFile}: Direct media file URL from VAST MediaFile element - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${creativeId}: VAST Creative ID - ${creativeAdId}: VAST Creative AdID attribute - ${adTitle}: Ad title from VAST AdTitle element - ${adId}: VAST Ad ID Available Manifest tokens: - ${profileId}: Encoding profile ID |
|
| adsQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| adsHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| adsConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| staticAssetBehavior | object |
||
| midRollDurationMismatch | any |
Define the procession behavior if the ads response list doesn’t match the ad break duration. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“keepOriginalAdBreak”] |
||
| maxPaddingDuration | integer |
1000 | Define the maximum padding duration to complete an ad break |
| maxExtraLatency | integer |
500 | Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the max discontinuity between the ad break and the back to live. |
| paddingDistribution | object |
||
| breakStart | boolean |
false | Enable padding at start of break. |
| betweenAds | boolean |
false | Enable padding between ads of break. |
| breakEnd | boolean |
true | Enable padding at end of break. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| enablePreRoll | boolean |
false | Enable pre-roll ad insertion |
| enablePostRoll | boolean |
false | Enable post-roll ad insertion |
| dynamicAssetBehavior | object |
||
| midRollDurationMismatch | any |
Define the procession behavior if the ads response list doesn’t match the ad break duration. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“keepOriginalAdBreak”] |
||
| maxPaddingDuration | integer |
1000 | Define the maximum padding duration to complete an ad break |
| maxExtraLatency | integer |
500 | Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the max discontinuity between the ad break and the back to live. |
| paddingDistribution | object |
||
| breakStart | boolean |
false | Enable padding at start of break. |
| betweenAds | boolean |
false | Enable padding between ads of break. |
| breakEnd | boolean |
true | Enable padding at end of break. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adReplacementWindow | integer |
Define the edge time window in seconds during which ad replacement will be done. | |
| prebidding | string [“disabled”, “enabled”, “required”] |
“disabled” | Prebidding configuration |
| tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adSignalingFormat | [oneOf] |
[{“type”:“dateRangeTag”}] | Define how ad signaling is formatted by the manifest manipulator |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[{“name”:“X-PRESENTATION-TIME”, “value”:“${adStartMs}”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.adbreak"”}, {“name”:“X-AD-TYPE”, “value”:“"${adType}"”}] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. | |
| breakSignalingFormat | object |
Define how break signaling is formatted by the manifest manipulator | |
| breakStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of a break |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. | |
| breakEnd | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the end of a break |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. | |
| adTrackingFormat | [oneOf] |
[{“type”:“dateRangeTag”}] | Define how ad tracking is formatted by the manifest manipulator |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[{“name”:“X-AD-URL”, “value”:“"${trackingUrl}"”}, {“name”:“X-AD-ID”, “value”:“"${adId}"”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.tracking"”}, {“name”:“X-AD-EVENT-TYPE”, “value”:“"${trackingEvent}"”}] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adId}, ${trackingEvent} and ${trackingUrl}. | |
| paddingAssets | object |
Assets used to pad to minimize discontinuity. It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration). |
|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event | |
| playlistSelection | object |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Playlist name mapping between the source and ad playlists. If source playlist name is not in the array, source playlist name is used for ad playlists fetching |
|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| adsName * | string |
||
| paddingName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
Dynamic playlist matching rules. If no matching can be found, source playlist name is used for playlist fetching |
|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioVideo | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| iFrame | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| subtitles | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| image | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| eventIdentification | object |
Select splice fields required to uniquely identify an event | |
| spliceEventId | boolean |
true | SpliceInsert EventId or TimeSignal SegmentationEventId |
| spliceTime | boolean |
false | Splice Time PTS |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“hlsTrimming”] |
||
| name | string |
“Trimming” | |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“hlsAlternateContent”] |
||
| name | string |
“Alternate Content” | |
| decisionServerId | string |
SCTE-224 or SCTE-250 decision server | |
| alternateSourceUrl * | string |
“${action:Content}” | Templatable value to access the alternate content master playlist.
The master playlist must contain all available media playlists. Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
| alternateDistributionUrl | string |
URL template to reach the origin server. Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
|
| alternateQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| alternateHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| alternateConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| behaviorIfAlternateUnavailable | string [“returnError”, “skipOperation”] |
“returnError” | Define the behavior of the operation if the alternate content is not available. |
| paddingAssets | object |
Assets used to pad to minimize discontinuity. It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration). |
|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| maxExtraLatency | integer |
6000 | Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the maximum discontinuity between the alternate content and the back to live. |
| minAlternateDelay | integer |
12000 | Define the minimum delay to apply to the alternate content compared to the live in order to prevent buffer starvation. |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event | |
| playlistSelection | object |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Playlist name mapping between the source and alternate playlist.
If source playlist name is not in the array, source playlist name is used for alternate playlist fetching |
|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| alternateName * | string |
||
| paddingName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
Dynamic playlist matching rules. If no matching can be found, source playlist name is used for playlist fetching |
|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioVideo | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| iFrame | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| subtitles | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| image | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“hlsBlackout”] |
||
| name | string |
“Blackout” | |
| decisionServerId | string |
SCTE-224 or SCTE-250 decision server | |
| alternateSourceUrl * | string |
“${action:Content}” | Templatable value to access the Blackout master playlist. The Blackout master playlist must contain all available VOD media playlists. Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
| alternateDistributionUrl | string |
URL template to reach the origin server. Available tokens: - ${action:Content}: Content URL from Signal Decision action - ${profileId}: Profile Id |
|
| alternateQueryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| alternateHttpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| alternateConnection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| behaviorIfAlternateUnavailable | string [“returnError”, “skipOperation”] |
“returnError” | Define the behavior of the operation if the alternate content is not available. |
| paddingAssets | object |
Assets used to pad to minimize discontinuity. It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration). |
|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| maxExtraLatency | integer |
6000 | Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the maximum discontinuity between the alternate content and the back to live. |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
||
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event | |
| playlistSelection | object |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Playlist name mapping between the source and alternate playlist.
If source playlist name is not in the array, source playlist name is used for alternate playlist fetching |
|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| alternateName * | string |
||
| paddingName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
Dynamic playlist matching rules. If no matching can be found, source playlist name is used for playlist fetching |
|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioVideo | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| iFrame | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| subtitles | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| image | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“hlsTimelineInfo”] |
||
| name | string |
“Timeline Info” | |
| operationTriggers | object |
The operation is triggered if the request fullfills all conditions | |
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
* : mandatory fields.
type: hlsAdInsertion
name: Ad Insertion
decisionServerId: string
adsSourceUrl: http://myCDN/hls/${adId}/${profileId}/index.m3u8
adsDistributionUrl: string
adsQueryParameterForward:
rule: all
exceptions: []
adsHttpHeaderForward:
- x-amz-cf-id
adsConnection: {}
insertionLocation: nearestSegment
tracking:
type: direct
adSignalingFormat:
- type: dateRangeTag
breakSignalingFormat:
breakStart:
- type: dateRangeTag
breakEnd:
- type: dateRangeTag
adTrackingFormat:
- type: dateRangeTag
operationTriggers:
inputRequest:
- source: inputRequestQuery
name: string
condition: contains
value: string
placementSignaling:
- type: spliceBasicMatching
spliceCommandType: spliceInsert
segmentationTypeId: 15
durationPresent: true
playlistSelection:
type: staticMapping
mappings:
- sourceName: video1.m3u8
adsName: video7Mps.m3u8| Name | Type | Default | Description |
|---|---|---|---|
| Ad Signaling Format | [oneOf] |
[{“type”:“dateRangeTag”}] | Define how ad signaling is formatted by the manifest manipulator |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[{“name”:“X-PRESENTATION-TIME”, “value”:“${adStartMs}”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.adbreak"”}, {“name”:“X-AD-TYPE”, “value”:“"${adType}"”}] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. |
* : mandatory fields.
- type: dateRangeTag| Name | Type | Default | Description |
|---|---|---|---|
| breakStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of a break |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. | |
| breakEnd | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the end of a break |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}. |
* : mandatory fields.
breakStart:
- type: dateRangeTag
breakEnd:
- type: dateRangeTag| Name | Type | Default | Description |
|---|---|---|---|
| Ad Tracking Format | [oneOf] |
[{“type”:“dateRangeTag”}] | Define how ad tracking is formatted by the manifest manipulator |
| EXT-X-DATERANGE tag | object |
||
| type * | string [“dateRangeTag”] |
Format type | |
| clientAttributes * | [object] |
[{“name”:“X-AD-URL”, “value”:“"${trackingUrl}"”}, {“name”:“X-AD-ID”, “value”:“"${adId}"”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.tracking"”}, {“name”:“X-AD-EVENT-TYPE”, “value”:“"${trackingEvent}"”}] | List of client attributes to insert |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adId}, ${trackingEvent} and ${trackingUrl}. |
* : mandatory fields.
- type: dateRangeTag| Name | Type | Default | Description |
|---|---|---|---|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available token: - ${profileId}: Encoding profile ID |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available token: - ${profileId}: Encoding profile ID |
|
| queryParameterForward | object |
Define which query parameters from the input request are forwarded to the origin server | |
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
||
| httpHeaderForward | [string] |
List of HTTP headers forwarded to the origin server | |
| HTTP Headers | string |
||
| connection | object |
{} | HTTP connection settings |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
* : mandatory fields.
baseUrls:
- http://myCDN/cmaf/black-500ms/
distributionBaseUrl: https://myCDN/hls/cdvr/${profileId}
queryParameterForward:
rule: all
exceptions: []
httpHeaderForward:
- x-amz-cf-id
connection: {}| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| adsName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioVideo | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| iFrame | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| subtitles | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| image | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
type: staticMapping
mappings:
- sourceName: video1.m3u8
adsName: video7Mps.m3u8| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| adsName * | string |
||
| paddingName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioVideo | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| iFrame | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| subtitles | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| image | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
type: staticMapping
mappings:
- sourceName: video1.m3u8
adsName: video7Mps.m3u8
paddingName: video7Mps| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| alternateName * | string |
||
| paddingName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioVideo | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| iFrame | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| subtitles | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| image | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
type: staticMapping
mappings:
- sourceName: video1.m3u8
alternateName: video7Mps.m3u8
paddingName: video7Mps| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| alternateName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| audioVideo | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“channels”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| iFrame | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| subtitles | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“language”] |
||
| tolerance | string [“exactMatching”, “alternateLanguage”] |
||
| alternateLanguage | string |
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| image | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“bandwidth”, “averageBandwidth”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source bandwidth (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source bandwidth (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“frameRate”] |
||
| toleranceMin * | number |
Lower tolerance in % from the source frame rate (ex: -10) | |
| toleranceMax * | number |
Upper tolerance in % from the source frame rate (ex: 10) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
type: staticMapping
mappings:
- sourceName: video1.m3u8
alternateName: video7Mps.m3u8| Name | Type | Default | Description |
|---|---|---|---|
| Tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
||
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Accept constant value or token to extract from different locations: ${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}. Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}” |
| header * | string |
||
| value * | string |
||
| trackingMacros | object |
Tracking macros management | |
| enableForwarding | boolean |
false | Forward ADS tracking macros to tracking server. This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs |
| filtering | [string] |
Define the macros to be forwarded | |
| Macro name | string |
* : mandatory fields.
type: direct| Name | Type | Default | Description |
|---|---|---|---|
| Mid Roll Duration Mismatch | any |
Define the procession behavior if the ads response list doesn’t match the ad break duration. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“keepOriginalAdBreak”] |
||
| maxPaddingDuration | integer |
1000 | Define the maximum padding duration to complete an ad break |
| maxExtraLatency | integer |
500 | Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion. |
| maxPeriodDiscontinuity | integer |
0 | Define the max discontinuity between the ad break and the back to live. |
| paddingDistribution | object |
||
| breakStart | boolean |
false | Enable padding at start of break. |
| betweenAds | boolean |
false | Enable padding between ads of break. |
| breakEnd | boolean |
true | Enable padding at end of break. |
* : mandatory fields.
type: adaptBreakDuration| Name | Type | Default | Description |
|---|---|---|---|
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
* : mandatory fields.
inputRequest:
- source: inputRequestQuery
name: string
condition: contains
value: string| Name | Type | Default | Description |
|---|---|---|---|
| Placement Signaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“spliceBasicMatching”] |
Trigger type | |
| spliceCommandType * | string [“spliceInsert”, “timeSignal”] |
“spliceInsert” | Must have the following splice command type to match |
| segmentationTypeId | integer |
Must have a segmentation descriptor with the following type ID to match | |
| durationPresent | boolean |
Duration must be available in the event |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“customEventMatching”] |
||
| customVariables | [object] |
Custom values from event signaling matching | |
| custom Variables | object(grid) |
Custom values from event signaling matching | |
| name * | string |
Name of the custom value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| present | boolean |
custom value must be present | |
| value | string |
Expected Value | |
| durationPresent | boolean |
Duration must be available in the event | |
| idPresent | boolean |
ID must be available in the event | |
| scte35Present | boolean |
SCTE35 must be available in the event | |
| scte224PolicyPresent | boolean |
SCTE224 Policy must be available in the event |
* : mandatory fields.
- type: spliceBasicMatching
spliceCommandType: spliceInsert
segmentationTypeId: 15
durationPresent: true| Name | Type | Default | Description |
|---|---|---|---|
| rule * | string [“all”, “none”] |
“none” | Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”. |
| exceptions | [string] |
[] | List of query parameter names that are exceptions to the rule |
| Query Parameter | string |
* : mandatory fields.
rule: all
exceptions: []| Name | Type | Default | Description |
|---|---|---|---|
| Transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
- type: split
separator: string
position: 0| Name | Type | Default | Description |
|---|---|---|---|
| spliceEventId | boolean |
true | SpliceInsert EventId or TimeSignal SegmentationEventId |
| spliceTime | boolean |
false | Splice Time PTS |
* : mandatory fields.
spliceEventId: true
spliceTime: false| Name | Type | Default | Description |
|---|---|---|---|
| id * | string |
ID of the event signaling format | |
| tags * | object |
Collection of tags describing the placement signaling | |
| first * | [object] |
First tags | |
| Tag | object |
Base Tag matching XML string as defined in RFC 8216 specification | |
| name * | string |
Name of the tag matching XML string | |
| span | [object] |
Span tags | |
| Tag | object |
Base Tag matching XML string as defined in RFC 8216 specification | |
| name * | string |
Name of the tag matching XML string | |
| last | [object] |
Last tags | |
| Tag | object |
Base Tag matching XML string as defined in RFC 8216 specification | |
| name * | string |
Name of the tag matching XML string | |
| variables * | object |
Collection of variables present in event signalings | |
| id | object |
Event Id can be used with token ${event.id} in VAST requests Also used internally for generating tracking events |
|
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| scte35 | object |
SCTE35 value Used for basic and advanced matching of splice events Can be used with tokens ${splice.[param]} in VAST requests |
|
| type * | string [“scte35”] |
“scte35” | Type of the value |
| format * | string [“base64”, “hex”] |
“base64” | Format of the SCTE35 value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| duration | object |
Duration value Can be used with token ${event(.durationS,.durationMs,.durationSms,.durationHMS)} in VAST requests |
|
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| elapsedTime | object |
Elapsed Time value (used internally to track time since event started) | |
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| scte224Policy | object |
Scte224 Policy value | |
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| custom | [oneOf] |
Collection of customable variables that can be used in for VAST
requests using token ${event. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“scte35”] |
“scte35” | Type of the value |
| format * | string [“base64”, “hex”] |
“base64” | Format of the SCTE35 value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
id: string
tags:
first:
- name: string
span:
- name: string
last:
- name: string
variables:
id:
type: string
locations:
- type: hls
tagName: string
location:
type: tagValue
position: 0
transform:
- type: split
separator: string
position: 0
scte35:
type: scte35
format: base64
locations:
- type: hls
tagName: string
location:
type: tagValue
position: 0
transform:
- type: split
separator: string
position: 0
duration:
type: time
format: seconds
locations:
- type: hls
tagName: string
location:
type: tagValue
position: 0
transform:
- type: split
separator: string
position: 0
elapsedTime:
type: time
format: seconds
locations:
- type: hls
tagName: string
location:
type: tagValue
position: 0
transform:
- type: split
separator: string
position: 0
scte224Policy:
type: string
locations:
- type: hls
tagName: string
location:
type: tagValue
position: 0
transform:
- type: split
separator: string
position: 0
custom:
- name: string
type: string
locations:
- type: hls
tagName: string
location:
type: tagValue
position: 0
transform:
- type: split
separator: string
position: 0| Name | Type | Default | Description |
|---|---|---|---|
| id * | string |
ID of the event signaling format. id/schemeIdUri pair must be unique across all dash event signaling formats. | |
| schemeIdUri * | string |
Scheme ID URI of the event signaling format. id/schemeIdUri pair must be unique across all dash event signaling formats. | |
| variables * | object |
Collection of variables present in event signalings | |
| id | object |
Event Id can be used with token ${event.id} in VAST requests Also used internally for generating tracking events |
|
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| scte35 | object |
SCTE35 value Used for basic and advanced matching of splice events Can be used with tokens ${splice.[param]} in VAST requests |
|
| type * | string [“scte35”] |
“scte35” | Type of the value |
| format * | string [“base64”, “hex”] |
“base64” | Format of the SCTE35 value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| duration | object |
Duration value Can be used with token ${event(.durationS,.durationMs,.durationSms,.durationHMS)} in VAST requests |
|
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”, “timescaleUnits”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| scte224Policy | object |
Scte224 Policy value | |
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| custom | [oneOf] |
Collection of customable variables that can be used in for VAST
requests using token ${event. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”, “timescaleUnits”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“scte35”] |
“scte35” | Type of the value |
| format * | string [“base64”, “hex”] |
“base64” | Format of the SCTE35 value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
id: string
schemeIdUri: string
variables:
id:
type: string
locations:
- type: dash
xpath: string
transform:
- type: split
separator: string
position: 0
scte35:
type: scte35
format: base64
locations:
- type: dash
xpath: string
transform:
- type: split
separator: string
position: 0
duration:
type: time
format: seconds
locations:
- type: dash
xpath: string
transform:
- type: split
separator: string
position: 0
scte224Policy:
type: string
locations:
- type: dash
xpath: string
transform:
- type: split
separator: string
position: 0
custom:
- name: string
type: string
locations:
- type: dash
xpath: string
transform:
- type: split
separator: string
position: 0| Name | Type | Default | Description |
|---|---|---|---|
| hls | [object] |
HLS Placement Signaling Formats | |
| HLS Event Signaling Format | object(categories) |
The operation is triggered if any of the trigger conditions are fullfilled | |
| id * | string |
ID of the event signaling format | |
| tags * | object |
Collection of tags describing the placement signaling | |
| first * | [object] |
First tags | |
| Tag | object |
Base Tag matching XML string as defined in RFC 8216 specification | |
| name * | string |
Name of the tag matching XML string | |
| span | [object] |
Span tags | |
| Tag | object |
Base Tag matching XML string as defined in RFC 8216 specification | |
| name * | string |
Name of the tag matching XML string | |
| last | [object] |
Last tags | |
| Tag | object |
Base Tag matching XML string as defined in RFC 8216 specification | |
| name * | string |
Name of the tag matching XML string | |
| variables * | object |
Collection of variables present in event signalings | |
| id | object |
Event Id can be used with token ${event.id} in VAST requests Also used internally for generating tracking events |
|
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| scte35 | object |
SCTE35 value Used for basic and advanced matching of splice events Can be used with tokens ${splice.[param]} in VAST requests |
|
| type * | string [“scte35”] |
“scte35” | Type of the value |
| format * | string [“base64”, “hex”] |
“base64” | Format of the SCTE35 value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| duration | object |
Duration value Can be used with token ${event(.durationS,.durationMs,.durationSms,.durationHMS)} in VAST requests |
|
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| elapsedTime | object |
Elapsed Time value (used internally to track time since event started) | |
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| scte224Policy | object |
Scte224 Policy value | |
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| custom | [oneOf] |
Collection of customable variables that can be used in for VAST
requests using token ${event. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“scte35”] |
“scte35” | Type of the value |
| format * | string [“base64”, “hex”] |
“base64” | Format of the SCTE35 value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| dash | [object] |
DASH Placement Signaling Formats | |
| Dash Event Signaling Format | object(categories) |
The operation is triggered if any of the trigger conditions are fullfilled | |
| id * | string |
ID of the event signaling format. id/schemeIdUri pair must be unique across all dash event signaling formats. | |
| schemeIdUri * | string |
Scheme ID URI of the event signaling format. id/schemeIdUri pair must be unique across all dash event signaling formats. | |
| variables * | object |
Collection of variables present in event signalings | |
| id | object |
Event Id can be used with token ${event.id} in VAST requests Also used internally for generating tracking events |
|
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| scte35 | object |
SCTE35 value Used for basic and advanced matching of splice events Can be used with tokens ${splice.[param]} in VAST requests |
|
| type * | string [“scte35”] |
“scte35” | Type of the value |
| format * | string [“base64”, “hex”] |
“base64” | Format of the SCTE35 value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| duration | object |
Duration value Can be used with token ${event(.durationS,.durationMs,.durationSms,.durationHMS)} in VAST requests |
|
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”, “timescaleUnits”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| scte224Policy | object |
Scte224 Policy value | |
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| custom | [oneOf] |
Collection of customable variables that can be used in for VAST
requests using token ${event. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”, “timescaleUnits”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“scte35”] |
“scte35” | Type of the value |
| format * | string [“base64”, “hex”] |
“base64” | Format of the SCTE35 value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
hls:
- id: string
tags:
first:
- name: string
span:
- name: string
last:
- name: string
variables:
id:
type: string
locations:
- type: hls
tagName: string
location:
type: tagValue
position: 0
transform:
- type: split
separator: string
position: 0
scte35:
type: scte35
format: base64
locations:
- type: hls
tagName: string
location:
type: tagValue
position: 0
transform:
- type: split
separator: string
position: 0
duration:
type: time
format: seconds
locations:
- type: hls
tagName: string
location:
type: tagValue
position: 0
transform:
- type: split
separator: string
position: 0
elapsedTime:
type: time
format: seconds
locations:
- type: hls
tagName: string
location:
type: tagValue
position: 0
transform:
- type: split
separator: string
position: 0
scte224Policy:
type: string
locations:
- type: hls
tagName: string
location:
type: tagValue
position: 0
transform:
- type: split
separator: string
position: 0
custom:
- name: string
type: string
locations:
- type: hls
tagName: string
location:
type: tagValue
position: 0
transform:
- type: split
separator: string
position: 0
dash:
- id: string
schemeIdUri: string
variables:
id:
type: string
locations:
- type: dash
xpath: string
transform:
- type: split
separator: string
position: 0
scte35:
type: scte35
format: base64
locations:
- type: dash
xpath: string
transform:
- type: split
separator: string
position: 0
duration:
type: time
format: seconds
locations:
- type: dash
xpath: string
transform:
- type: split
separator: string
position: 0
scte224Policy:
type: string
locations:
- type: dash
xpath: string
transform:
- type: split
separator: string
position: 0
custom:
- name: string
type: string
locations:
- type: dash
xpath: string
transform:
- type: split
separator: string
position: 0| Name | Type | Default | Description |
|---|---|---|---|
| server | object |
Server settings | |
| httpResponseHeaders | object |
Headers to include in the HTTP responses | |
| global | [object] |
Headers to include in the HTTP global responses | |
| header * | string |
HTTP header | |
| value * | string |
Value of the HTTP header | |
| cdnReqId | object |
CDN request ID is used to trace all requests. If not set, CDN request ID will not be traced. | |
| possibleHeaders | [string] |
List of possible HTTP headers used by the CDNs to trace the requests. The first header found in incoming requests or response will be used as cdnReqId. | |
| Header | string |
||
| traces | object |
||
| humanReadable | boolean |
false | If true, logs will be printed in non-json format |
| level | string [“error”, “warn”, “info”, “http”, “verbose”, “debug”, “silly”] |
“info” | Log severity level |
| accessLog | object(categories) |
||
| type | string [“stdout”, “clickhouse”] |
“stdout” | |
| manifestManipulator | object |
Define the rules to log the HTTP access to manifest manipulator | |
| enabled | boolean |
true | If true, access log is enabled for manifest manipulator |
| includeCacheHit | boolean |
false | If true, include in the access logs requests coming from cache |
| filtering | object |
Define any conditions to log the HTTP access | |
| httpError | boolean |
If true, log access about HTTP errors | |
| requestDuration | number |
If higher than 0, log access that takes longer than this duration in milliseconds | |
| vastRequest | boolean |
If true, log access about VAST/VMAP requests | |
| prebidder | object |
Define the rules to log the HTTP access to prebidder | |
| enabled | boolean |
true | If true, access log is enabled for prebidder |
| includeCacheHit | boolean |
false | If true, include in the access logs requests coming from cache |
| sessionManager | object |
Define the rules to log the HTTP access to session manager | |
| enabled | boolean |
true | If true, access log is enabled for session manager |
| includeCacheHit | boolean |
false | If true, include in the access logs requests coming from cache |
| filtering | object |
Define any conditions to log the HTTP access | |
| httpError | boolean |
If true, log access about HTTP errors | |
| requestDuration | number |
If higher than 0, log access that takes longer than this duration in milliseconds | |
| trackingServerProxy | object |
Define the rules to log the HTTP access to tracking server proxy | |
| enabled | boolean |
true | If true, access log is enabled for tracking server proxy |
| debug | object(categories) |
Debug configuration which allows to dump data and replay requests via dumped data | |
| returnTraceParent | boolean |
false | If true, http response returns the main request traceparent header |
| userData | boolean |
false | If true, additionnal debug log for user data will be added |
| vastData | boolean |
false | If true, additionnal debug log for vast data will be added |
| manifestManipulator | object |
||
| dump | object |
||
| enable | string [“true”, “false”, “onDemand”] |
“false” | If true, dump input request as well as all input data in specified directory. replayTraceId query parameter can then be used to fetch input data from dump directory instead of real server. |
| directory | string |
“/tmp/dump” | Directory where dumped input requests and data will be
stored. For S3 storage, use the s3://bucket-name/path/to/directory/ format. Available tokens: - ${sessionIdentification}: Session identification |
| s3Access | object |
||
| accessKeyId * | string |
||
| secretAccessKey * | string |
||
| region | string |
||
| compress | boolean |
false | If true, dump files will be compressed using gzip |
| filtering | object |
||
| traceId | string |
regex to filter input requests on trace Id (ex: 13{4}$) | |
| url | string |
regex to filter input requests on session Identification (ex: ^Device1 | |
| prebidder | object |
||
| dump | object |
||
| enable | string [“true”, “false”, “onDemand”] |
“false” | If true, dump input request as well as all input data in specified directory. replayTraceId query parameter can then be used to fetch input data from dump directory instead of real server. |
| directory | string |
“/tmp/dump” | Directory where dumped input requests and data will be
stored. For S3 storage, use the s3://bucket-name/path/to/directory/ format. Available tokens: - ${sessionIdentification}: Session identification |
| s3Access | object |
||
| accessKeyId * | string |
||
| secretAccessKey * | string |
||
| region | string |
||
| compress | boolean |
false | If true, dump files will be compressed using gzip |
| filtering | object |
||
| traceId | string |
regex to filter input requests on trace Id (ex: 14{4}$) | |
| url | string |
regex to filter input requests on session Identification (ex: ^Device1 | |
| sessionManager | object |
||
| dump | object |
||
| enable | string [“true”, “false”, “onDemand”] |
“false” | If true, dump input request as well as all input data in specified directory. replayTraceId query parameter can then be used to fetch input data from dump directory instead of real server. |
| directory | string |
“/tmp/dump” | Directory where dumped input requests and data will be
stored. For S3 storage, use the s3://bucket-name/path/to/directory/ format. Available tokens: - ${sessionIdentification}: Session identification |
| s3Access | object |
||
| accessKeyId * | string |
||
| secretAccessKey * | string |
||
| region | string |
||
| compress | boolean |
false | If true, dump files will be compressed using gzip |
| filtering | object |
||
| traceId | string |
regex to filter input requests on trace Id (ex: 15{4}$) | |
| url | string |
regex to filter input requests on session Identification (ex: ^Device1 | |
| trackingServerProxy | object |
||
| dump | object |
||
| enable | string [“true”, “false”, “onDemand”] |
“false” | If true, dump input request as well as all input data in specified directory. replayTraceId query parameter can then be used to fetch input data from dump directory instead of real server. |
| directory | string |
“/tmp/dump” | Directory where dumped input requests and data will be
stored. For S3 storage, use the s3://bucket-name/path/to/directory/ format. Available tokens: - ${sessionIdentification}: Session identification |
| s3Access | object |
||
| accessKeyId * | string |
||
| secretAccessKey * | string |
||
| region | string |
||
| compress | boolean |
false | If true, dump files will be compressed using gzip |
| filtering | object |
||
| traceId | string |
regex to filter input requests on trace Id (ex: 16{4}$) | |
| url | string |
regex to filter input requests on session Identification (ex: ^Device1 | |
| graphicalUserInterface | object |
Graphical user interface settings which allow to customize the appearance | |
| name | string |
Name of the cluster | |
| primaryColor | string |
“#00B2BF” | Primary color of the top bar |
| secondaryColor | string |
“#006EBF” | Secondary color of the top bar |
| eventSignalingFormats | object(categories) |
Event Signaling Formats | |
| hls | [object] |
HLS Placement Signaling Formats | |
| HLS Event Signaling Format | object(categories) |
The operation is triggered if any of the trigger conditions are fullfilled | |
| id * | string |
ID of the event signaling format | |
| tags * | object |
Collection of tags describing the placement signaling | |
| first * | [object] |
First tags | |
| Tag | object |
Base Tag matching XML string as defined in RFC 8216 specification | |
| name * | string |
Name of the tag matching XML string | |
| span | [object] |
Span tags | |
| Tag | object |
Base Tag matching XML string as defined in RFC 8216 specification | |
| name * | string |
Name of the tag matching XML string | |
| last | [object] |
Last tags | |
| Tag | object |
Base Tag matching XML string as defined in RFC 8216 specification | |
| name * | string |
Name of the tag matching XML string | |
| variables * | object |
Collection of variables present in event signalings | |
| id | object |
Event Id can be used with token ${event.id} in VAST requests Also used internally for generating tracking events |
|
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| scte35 | object |
SCTE35 value Used for basic and advanced matching of splice events Can be used with tokens ${splice.[param]} in VAST requests |
|
| type * | string [“scte35”] |
“scte35” | Type of the value |
| format * | string [“base64”, “hex”] |
“base64” | Format of the SCTE35 value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| duration | object |
Duration value Can be used with token ${event(.durationS,.durationMs,.durationSms,.durationHMS)} in VAST requests |
|
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| elapsedTime | object |
Elapsed Time value (used internally to track time since event started) | |
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| scte224Policy | object |
Scte224 Policy value | |
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| custom | [oneOf] |
Collection of customable variables that can be used in for VAST
requests using token ${event. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“scte35”] |
“scte35” | Type of the value |
| format * | string [“base64”, “hex”] |
“base64” | Format of the SCTE35 value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“hls”] |
“hls” | Type of the valueDataSource |
| tagName * | string |
Name of the tag carrying the value | |
| location * | any |
Location of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is the tag Value | |
| type * | string [“tagValue”] |
“tagValue” | Type of the value |
| position | integer |
0 | Position of the value (if the tag contains multiple non attribute values separated by commas) |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Source is an attribute of the tag | |
| type * | string [“tagAttribute”] |
“tagAttribute” | Type of the value |
| attributeName * | string |
Name of the attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| dash | [object] |
DASH Placement Signaling Formats | |
| Dash Event Signaling Format | object(categories) |
The operation is triggered if any of the trigger conditions are fullfilled | |
| id * | string |
ID of the event signaling format. id/schemeIdUri pair must be unique across all dash event signaling formats. | |
| schemeIdUri * | string |
Scheme ID URI of the event signaling format. id/schemeIdUri pair must be unique across all dash event signaling formats. | |
| variables * | object |
Collection of variables present in event signalings | |
| id | object |
Event Id can be used with token ${event.id} in VAST requests Also used internally for generating tracking events |
|
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| scte35 | object |
SCTE35 value Used for basic and advanced matching of splice events Can be used with tokens ${splice.[param]} in VAST requests |
|
| type * | string [“scte35”] |
“scte35” | Type of the value |
| format * | string [“base64”, “hex”] |
“base64” | Format of the SCTE35 value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| duration | object |
Duration value Can be used with token ${event(.durationS,.durationMs,.durationSms,.durationHMS)} in VAST requests |
|
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”, “timescaleUnits”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| scte224Policy | object |
Scte224 Policy value | |
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| custom | [oneOf] |
Collection of customable variables that can be used in for VAST
requests using token ${event. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“string”] |
“string” | Type of the value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“time”] |
“time” | Type of the value |
| format * | string [“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”, “timescaleUnits”] |
“seconds” | Format of the time value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
Name of the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | any [“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“scte35”] |
“scte35” | Type of the value |
| format * | string [“base64”, “hex”] |
“base64” | Format of the SCTE35 value |
| locations * | [object] |
Possible locations of the value | |
| Source of the value | object(grid) |
Source of the value | |
| type * | string [“dash”] |
“dash” | Type of the valueDataSource |
| xpath * | string |
XPath of the Event element carrying the value | |
| transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a split method | |
| type * | string [“split”] |
“split” | Type of the transform |
| separator * | string |
Separator used to split the value | |
| position * | integer |
Position of the split value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Base64 decode method | |
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Value has to be retrieved using a Key Value List method | |
| type * | string [“keyValueList”] |
“keyValueList” | Type of the transform |
| key * | string |
Key to retrieve the value | |
| listSeparator * | string |
“,” | Separator used to split each key value pair in the list |
| keyValueSeparator * | string |
“=” | Separator used to split the key and value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| cache | object |
Cache settings | |
| dash | object(grid-strict) |
Cache settings for DASH documents | |
| source | object |
{“default_ttl”:1} | Source used for splicing |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| ad | object |
{“default_ttl”:1000000, “max_entry_size_mb”:100} | Advertising |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| alternate | object |
{“default_ttl”:1} | Alternate / Blackout |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| hlsMediaPlaylist | object(grid-strict) |
Cache settings for HLS media playlists | |
| source | object |
{“default_ttl”:1} | Source used for splicing |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| ad | object |
{“default_ttl”:1000000, “max_entry_size_mb”:100} | Advertising |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| alternate | object |
{“default_ttl”:1} | Alternate / Blackout |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| hlsMasterPlaylist | object(grid-strict) |
Cache settings for HLS master playlists when dynamic matching is enabled. |
|
| ad | object |
{“default_ttl”:1000000, “max_entry_size_mb”:100} | Advertising |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| alternate | object |
{“default_ttl”:1} | Alternate / Blackout |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| http | object(grid-strict) |
Cache settings for HTTP requests which don’t necesitate parsing of the document and can be cached as is. |
|
| source | object |
{“default_ttl”:1} | Source transmitted as is in absence of any operation |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| adManager | object |
{“default_ttl”:1000000, “max_entry_size_mb”:100} | AD Transcoding |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| scte224 | object |
{“default_ttl”:1000000, “max_entry_size_mb”:100} | SCTE-224 |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| scte250 | object |
{“default_ttl”:1000000, “max_entry_size_mb”:100} | SCTE-250 |
| default_ttl | integer |
Default TTL for cache entries (in seconds) if max-age is not specified by the HTTP response |
|
| min_ttl | integer |
Minimum TTL value for cache entries (in seconds) The cache entry cannot be lower than this value even if the HTTP response specifies a lower max-age |
|
| max_ttl | integer |
Maximum TTL value for cache entries (in seconds) The cache entry cannot exceed this value even if the HTTP response specifies a higher max-age |
|
| max_entry_size_mb | integer |
Maximum size for cache entries (in MB) | |
| max_entry_count | integer |
Maximum number of element in the cache. | |
| advanced | object(categories) |
Advanced settings | |
| loggingRules | [object] |
List of logging rules to apply to the log messages | |
| sessionManager | object |
Session manager advanced settings | |
| accessLog | object |
Access log advanced settings |
* : mandatory fields.
server:
httpResponseHeaders:
global:
- header: string
value: string
cdnReqId:
possibleHeaders:
- string
traces:
humanReadable: false
level: error
accessLog:
type: stdout
manifestManipulator:
enabled: true
includeCacheHit: false
filtering:
httpError: true
requestDuration: 0
vastRequest: true
prebidder:
enabled: true
includeCacheHit: false
sessionManager:
enabled: true
includeCacheHit: false
filtering:
httpError: true
requestDuration: 0
trackingServerProxy:
enabled: true
debug:
returnTraceParent: false
userData: false
vastData: false
manifestManipulator:
dump:
enable: "true"
directory: /tmp/dump
s3Access:
accessKeyId: string
secretAccessKey: string
region: string
compress: false
filtering:
traceId: string
url: string
prebidder:
dump:
enable: "true"
directory: /tmp/dump
s3Access:
accessKeyId: string
secretAccessKey: string
region: string
compress: false
filtering:
traceId: string
url: string
sessionManager:
dump:
enable: "true"
directory: /tmp/dump
s3Access:
accessKeyId: string
secretAccessKey: string
region: string
compress: false
filtering:
traceId: string
url: string
trackingServerProxy:
dump:
enable: "true"
directory: /tmp/dump
s3Access:
accessKeyId: string
secretAccessKey: string
region: string
compress: false
filtering:
traceId: string
url: string
graphicalUserInterface:
name: string
primaryColor: "#00B2BF"
secondaryColor: "#006EBF"
eventSignalingFormats:
hls:
- id: string
tags:
first:
- name: string
span:
- name: string
last:
- name: string
variables:
id:
type: string
locations:
- type: hls
tagName: string
location:
type: tagValue
position: 0
transform:
- type: split
separator: string
position: 0
scte35:
type: scte35
format: base64
locations:
- type: hls
tagName: string
location:
type: tagValue
position: 0
transform:
- type: split
separator: string
position: 0
duration:
type: time
format: seconds
locations:
- type: hls
tagName: string
location:
type: tagValue
position: 0
transform:
- type: split
separator: string
position: 0
elapsedTime:
type: time
format: seconds
locations:
- type: hls
tagName: string
location:
type: tagValue
position: 0
transform:
- type: split
separator: string
position: 0
scte224Policy:
type: string
locations:
- type: hls
tagName: string
location:
type: tagValue
position: 0
transform:
- type: split
separator: string
position: 0
custom:
- name: string
type: string
locations:
- type: hls
tagName: string
location:
type: tagValue
position: 0
transform:
- type: split
separator: string
position: 0
dash:
- id: string
schemeIdUri: string
variables:
id:
type: string
locations:
- type: dash
xpath: string
transform:
- type: split
separator: string
position: 0
scte35:
type: scte35
format: base64
locations:
- type: dash
xpath: string
transform:
- type: split
separator: string
position: 0
duration:
type: time
format: seconds
locations:
- type: dash
xpath: string
transform:
- type: split
separator: string
position: 0
scte224Policy:
type: string
locations:
- type: dash
xpath: string
transform:
- type: split
separator: string
position: 0
custom:
- name: string
type: string
locations:
- type: dash
xpath: string
transform:
- type: split
separator: string
position: 0
cache:
dash:
source:
default_ttl: 1
ad:
default_ttl: 1000000
max_entry_size_mb: 100
alternate:
default_ttl: 1
hlsMediaPlaylist:
source:
default_ttl: 1
ad:
default_ttl: 1000000
max_entry_size_mb: 100
alternate:
default_ttl: 1
hlsMasterPlaylist:
ad:
default_ttl: 1000000
max_entry_size_mb: 100
alternate:
default_ttl: 1
http:
source:
default_ttl: 1
adManager:
default_ttl: 1000000
max_entry_size_mb: 100
scte224:
default_ttl: 1000000
max_entry_size_mb: 100
scte250:
default_ttl: 1000000
max_entry_size_mb: 100
advanced:
loggingRules:
- {}
sessionManager: {}
accessLog: {}| Name | Type | Default | Description |
|---|---|---|---|
| s3CredentialsKey | string |
Credentials key to use to S3 access. | |
| transcoder * | object |
||
| type * | string [“hybrik”] |
||
| apiUrl * | string |
||
| basicAuth * | object |
||
| user * | string |
||
| pwd * | string |
||
| login * | object |
||
| authKey * | string |
||
| authSecret * | string |
||
| compliance | string |
“20240524” | |
| userTag | string |
||
| DPLC | boolean |
false | Enable Dolby Professional Loudness Correction for audio layers |
| computingGroup | string |
||
| packagerImageUrl * | string |
||
| thumbnailsGeneratorImageUrl * | string |
||
| videoSettings | [object] |
||
| id * | string |
||
| setting * | string(json) |
Video setting JSON which will could be applied with the profile video layers. | |
| audioSettings | [object] |
||
| id * | string |
||
| setting * | string(json) |
Audio setting JSON which will could be applied with the profile audio layers. | |
| packagerSettings | [object] |
||
| id * | string |
||
| args * | string(json) |
VOD packager args JSON which will could be applied with the profile. | |
| thumbnailSettings | [object] |
||
| id * | string |
||
| args * | string(json) |
thumbnail args JSON which will could be applied with the profile. | |
| profiles * | [object] |
||
| id * | string |
Profile Id | |
| destinationBaseUrl * | string |
Destination directory | |
| segmentDuration | integer |
6 | Segment duration in seconds |
| packagerSettingId | string |
Reference to the packager settings to be used for this profile. | |
| thumbnailSettingId | string |
Reference to the thumbnail settings to be used for this profile. | |
| videoLayers * | [object] |
||
| settingId | string |
Reference to the video setting to be used for this layer. | |
| bandwidth * | integer |
6000 | Bandwitdh in kilobits per second |
| codec * | string [“h264”, “h265”] |
Codec used to transcode. | |
| width * | integer |
1920 | Output width |
| height * | integer |
1080 | Output height |
| frameRate | number |
29.97 | Output framerate |
| audioLayers * | [object] |
||
| settingId | string |
Reference to the audio setting to be used for this layer. | |
| bandwidth * | integer |
128 | Bandwitdh in kilobits per second |
| codec * | string [“aac”, “aac_lc”, “heaac_v1”, “heaac_v2”, “ac3”, “eac3”, “copy”] |
Codec used to transcode. Copy passthrough the elementary stream without change. | |
| channels | integer |
2 | Output channel count |
* : mandatory fields.
s3CredentialsKey: myS3credentials
transcoder:
type: hybrik
apiUrl: https://api-demo.hybrik.com
basicAuth:
user: XXXXXXXXXXXXXXXXX
pwd: YYYYYYYYYYYYYYYYY
login:
authKey: ZZZZZZZZZZZZZZZZZ
authSecret: WWWWWWWWWWWWWWWWW
compliance: "20240524"
userTag: string
DPLC: false
computingGroup: my-computing-group
packagerImageUrl: s3://hybrik-s3-in/vod-packager-v24.02.32.tar.gz
thumbnailsGeneratorImageUrl: s3://hybrik-s3-in/thumbnail-generator-v25.01.85.tar.gz
videoSettings:
- id: default
setting: string
audioSettings:
- id: default
setting: string
packagerSettings:
- id: default
args: string
thumbnailSettings:
- id: default
args: string
profiles:
- id: HD
destinationBaseUrl: string
segmentDuration: 6
packagerSettingId: string
thumbnailSettingId: string
videoLayers:
- settingId: string
bandwidth: 6000
codec: h264
width: 1920
height: 1080
frameRate: 29.97
audioLayers:
- settingId: string
bandwidth: 128
codec: aac
channels: 2| Name | Type | Default | Description |
|---|---|---|---|
| id * | string |
||
| userDataKey | string |
The key to be used to store session data in REDIS. | |
| debug | boolean |
Return error message of the helper function. | |
| enableAccessLog | boolean |
Enable access logging for this session manager. | |
| accessLogLevel | string [“error”, “info”] |
“info” | Access log severity level |
| expandQueryParameters | [oneOf] |
Automatically add query parameters to the request. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
The type of the query parameter expansion. | |
| inputQueryParameter * | string |
Name of the received query parameter. | |
| map * | [object] |
Additional query parameters to be added to the request according to the mapping. | |
| value * | string |
The value which can match to the input query parameter. | |
| additionalQueryParameters * | string |
The additional query parameters to be added. Example: ad.id=1234&ad.type=video |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
The type of the query parameter expansion. | |
| inputQueryParameter * | string |
Name of the received query parameter. | |
| property * | string |
The external data ressource which must contains a valid JSON with a
list of value/additionalQueryParameters. Example: [ { “value”: “qlv”, “additionalQueryParameters”: “ad.id=1234&ad.type=video” }, { “value”: “otherValue”, “additionalQueryParameters”: “ad.id=5678&ad.type=audio” } ] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| attributes * | [oneOf] |
[] | Attributes are input variables used to drive decision-making within
the process. Like any other variables, they can be saved in the session and reused by session-manager and manifest-manipulator. To access session data, the following attributes must be defined: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID (automatically generated if not provided through attributes) To ensure complete access logging and traceability, the following variables should be stored in the session: - TENANT_ID - ASSET_ID - DEVICE_TYPE - DEVICE_ID - DEVICE_IP - SESSION_START_TIME |
| Attribute | object |
Input attribute |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 17+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“string”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 18+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“boolean”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 19+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“number”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Array attribute allows to convert an input string into an array of
strings, using “,” as a separator. Can be used in condition of a decision to check if the attribute ‘contains’ a value. Example: “value1,value2,value3” will be converted into [“value1”, “value2”, “value3”]. |
|
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 20+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“array”] |
||
| separator | string |
The separator to use to split the input string into an array. Defaults to “,”. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Range attribute allows to create a couple of attributes min and max
from an input value based on the “-” separator. Example: with an input value “10-20” and attribute name is “myAttribute”, the 2 created attributes will be : - “myAttribute.min” with value “10” - “myAttribute.max” with value “20” |
|
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 21+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“range”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Mapping attribute allows to map an input value to a decision value
based on a defined mapping, the first matching will be applied. By
default, exact matching is used, but can be changed via the “operator”
property. A default value can also be defined if no mapping matches via the “defaultMappingResult” property. Example: With map [{source: “HD”, destination: “high”}, {source: “SD”, destination: “standard”}], operator “equals” and an input value “HD”, the attribute will have the value “high”. With the same map and operator “startsWith”, an input value “HD-1234” will also be mapped to “high”. |
|
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 22+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“mapping”] |
||
| operator | string [“equals”, “startsWith”, “endsWith”, “contains”] |
The operator to use for the mapping. Defaults to “equals”. | |
| map * | [object] |
Mapping of the attribute value to the decision value, the first
matching will be applied. By default, exact matching is used, can be changed via the “operator” property. |
|
| source * | string |
The attribute value to be mapped. | |
| destination * | string |
The decision value to be mapped to. | |
| defaultMappingResult | string |
The default value if no mapping matches. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
JSON field attribute allows to extract a value from a JSON input,
using the “field” property as the path to the value to be
extracted. Example: with field “supported_tracks.key_id” and an input parameter ‘{“key_id”:“value_to_extract,”an_other_key”:“another_value”}’, the attribute will have the value “value_to_extract”. |
|
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 23+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“jsonField”] |
||
| field * | string |
The field to be extracted from the JSON query parameter. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Key/Value attribute allows creating variables from an input string
of key-value pairs. Example: “key1=value1,key2=value2” will be converted into variables “key1”=“value1” and “key2”=“value2”. |
|
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 24+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“keyValue”] |
||
| listSeparator * | string |
“;” | The separator to use to split the input string into items. Variable tokens “${}” are supported. Defaults to “;”. |
| keyValueSeparator * | string |
“=” | The separator to use to split the key and value in each item. Variable tokens “${}” are supported. Defaults to “=”. |
| prefix | string |
An optional prefix to add to the variable names created from the
keys. For example, with prefix “myPrefix”, “key1=value1,key2=value2” will create variables “myPrefix.key1”=“value1” and “myPrefix.key2”=“value2”. |
|
| defaultValue | string |
Allows a default value to be used if no value is defined for a key. | |
| decisions * | [object] |
||
| conditions * | any |
Define a list of conditions to be met to trigger the event. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Define a list of conditions that must all be met to trigger the event. | |
| all * | [oneOf] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid) |
Define a condition to be met to trigger the event. | |
| fact * | string |
The attribute to be checked. | |
| operator * | string [“equal”, “notEqual”, “greaterThan”, “greaterThanInclusive”, “lessThan”, “lessThanInclusive”, “in”, “notIn”, “contains”, “doesNotContain”] |
The operator to be used to compare the attribute value. | |
| value * | string,number |
The value to be compared to the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Define a list of conditions where at least one must be met to trigger the event. | |
| any * | [oneOf] |
||
| Condition | object(grid) |
Define a condition to be met to trigger the event. | |
| fact * | string |
The attribute to be checked. | |
| operator * | string [“equal”, “notEqual”, “greaterThan”, “greaterThanInclusive”, “lessThan”, “lessThanInclusive”, “in”, “notIn”, “contains”, “doesNotContain”] |
The operator to be used to compare the attribute value. | |
| value * | string,number |
The value to be compared to the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Define a list of conditions where at least one must be met to trigger the event. | |
| any * | [oneOf] |
||
| Condition | object(grid) |
Define a condition to be met to trigger the event. | |
| fact * | string |
The attribute to be checked. | |
| operator * | string [“equal”, “notEqual”, “greaterThan”, “greaterThanInclusive”, “lessThan”, “lessThanInclusive”, “in”, “notIn”, “contains”, “doesNotContain”] |
The operator to be used to compare the attribute value. | |
| value * | string,number |
The value to be compared to the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| event * | object |
||
| type * | string [“define”] |
||
| params * | [object] |
||
| name * | string |
The parameter name to be passed to the event. | |
| value * | string,number,boolean |
The parameter value to be passed to the event. | |
| saveInSessionData | boolean |
false | |
| response * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“document”] |
||
| contentType * | string [“application/json”, “text/plain”] |
||
| statusCode | string |
“200” | Status code |
| httpResponseHeaders | [object] |
HTTP headers to be added to responses | |
| header * | string |
Http header | |
| value * | string |
Value of the http header | |
| updateSessionData | object |
||
| behavior * | string [“keep”, “update”, “replace”, “none”] |
||
| dynamicBehavior | string |
Dynamical behavior can be based on variable. It will override the behavior property when it is set. | |
| sessionExpiration | string |
“14400” | Duration in seconds after which the session data will expire. |
| queryParameters | object |
||
| enabled * | boolean |
false | |
| filters | [string] |
Supported filters are blog patterns. examples: - “var.*” : All query parameters whose names start with “var.” - “**/!(var.unexpected)” : All query parameters, except for “var.unexpected” |
|
| httpHeaders | object |
||
| enabled * | boolean |
false | |
| filters | [string] |
Supported filters are blog patterns. examples: - “var.*” : All HTTP headers whose names start with “var.” - “**/!(var.unexpected)” : All HTTP headers, except for “var.unexpected” |
|
| document * | string(javascript) |
The document to be sent to the player. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“redirect”] |
||
| statusCode * | string |
“307” | Status code |
| httpResponseHeaders | [object] |
HTTP headers to be added to responses | |
| header * | string |
Http header | |
| value * | string |
Value of the http header | |
| updateSessionData | object |
||
| behavior * | string [“keep”, “update”, “replace”, “none”] |
||
| dynamicBehavior | string |
Dynamical behavior can be based on variable. It will override the behavior property when it is set. | |
| sessionExpiration | string |
“14400” | Duration in seconds after which the session data will expire. |
| queryParameters | object |
||
| enabled * | boolean |
false | |
| filters | [string] |
Supported filters are blog patterns. examples: - “var.*” : All query parameters whose names start with “var.” - “**/!(var.unexpected)” : All query parameters, except for “var.unexpected” |
|
| httpHeaders | object |
||
| enabled * | boolean |
false | |
| filters | [string] |
Supported filters are blog patterns. examples: - “var.*” : All HTTP headers whose names start with “var.” - “**/!(var.unexpected)” : All HTTP headers, except for “var.unexpected” |
|
| url * | string |
The redirect URL to be sent to the player. |
* : mandatory fields.
id: preplay
userDataKey: /${STREAM_FORMAT}//${PROCESSING_ID}/${SESSION_ID}
debug: true
enableAccessLog: true
accessLogLevel: error
expandQueryParameters:
- type: constant
inputQueryParameter: expand
map:
- value: qlv
additionalQueryParameters: ad.id=1234&ad.type=video
attributes: []
decisions:
- conditions:
all:
- fact: resolution.max
operator: greaterThan
value: string
event:
type: define
params:
- name: string
value: string
saveInSessionData: false
response:
type: document
contentType: application/json
statusCode: "200"
httpResponseHeaders:
- header: string
value: string
updateSessionData:
behavior: keep
dynamicBehavior: string
sessionExpiration: "3600"
queryParameters:
enabled: false
filters:
- ad.*
httpHeaders:
enabled: false
filters:
- string
document: string| Name | Type | Default | Description |
|---|---|---|---|
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 25+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“string”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 26+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“boolean”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 27+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“number”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 28+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“array”] |
||
| separator | string |
The separator to use to split the input string into an array. Defaults to “,”. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 29+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“range”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 30+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“mapping”] |
||
| operator | string [“equals”, “startsWith”, “endsWith”, “contains”] |
The operator to use for the mapping. Defaults to “equals”. | |
| map * | [object] |
Mapping of the attribute value to the decision value, the first
matching will be applied. By default, exact matching is used, can be changed via the “operator” property. |
|
| source * | string |
The attribute value to be mapped. | |
| destination * | string |
The decision value to be mapped to. | |
| defaultMappingResult | string |
The default value if no mapping matches. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 31+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“jsonField”] |
||
| field * | string |
The field to be extracted from the JSON query parameter. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| name * | string |
||
| source * | any |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“queryParams”] |
||
| property * | string |
The key of the query parameter to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“httpHeaders”] |
||
| property * | string |
The key of the HTTP header to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“environment”] |
||
| property * | string |
The name of environment variable to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Attribute from session data allows to extract a value from the
session data. This is possible only if all required attributes to build
the session data key are present and extracted before. By default, the session data key is built format from those attributes: - STREAM_FORMAT - PROCESSING_ID - SESSION_ID |
|
| type * | string [“sessionData”] |
||
| property * | string |
The property in the session data to be used to extract the attribute value. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“externalData”] |
||
| property * | string |
The key of the external data to be used to extract the attribute value |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| required | boolean |
||
| default | string |
||
| saveInSessionData | boolean |
||
| transform | string |
Transformation can be applied to the input value using the token
${self} Special tokens which can be used as function parameter: - SPACE Examples: - string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix” - ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105” - FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180” - MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7” - HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@” - binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010” - encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@ - decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@ - REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 32+\-([0-9]{3})$; 0}@ - encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@ - JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@ - CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@ - JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@ - randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31 - randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@” - slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B” - encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000” - replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex” |
|
| type * | string [“keyValue”] |
||
| listSeparator * | string |
“;” | The separator to use to split the input string into items. Variable tokens “${}” are supported. Defaults to “;”. |
| keyValueSeparator * | string |
“=” | The separator to use to split the key and value in each item. Variable tokens “${}” are supported. Defaults to “=”. |
| prefix | string |
An optional prefix to add to the variable names created from the
keys. For example, with prefix “myPrefix”, “key1=value1,key2=value2” will create variables “myPrefix.key1”=“value1” and “myPrefix.key2”=“value2”. |
|
| defaultValue | string |
Allows a default value to be used if no value is defined for a key. |
* : mandatory fields.
name: resolution
source:
type: queryParams
property: resolution
required: true
default: 0-1024
saveInSessionData: true
transform: string
type: string| Name | Type | Default | Description |
|---|---|---|---|
| Configuration Updates History | [object] |
||
| timestamp * | number(date-time) |
Timestamp of the configuration update | |
| method * | string [“POST”, “PUT”, “PATCH”, “DELETE”] |
HTTP method used for the update | |
| path * | string |
URL path of the updated configuration | |
| validatedEtag * | boolean |
ETag as been validated to updated the configuration (default case via controller UI) | |
| delta * | [object] |
List of changes made to the configuration | |
| action | string [“create”, “update”, “delete”] |
Type of action performed on the configuration part | |
| path | string |
JSON path of the configuration field that has been changed | |
| old | any |
Previous value of the configuration field | |
| new | any |
New value of the configuration field |
* : mandatory fields.
- timestamp: 1696152896000
method: PUT
path: string
validatedEtag: true
delta:
- action: create
path: settings.graphicalUserInterface.port
old: null
new: null| Name | Type | Default | Description |
|---|---|---|---|
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
* : mandatory fields.
{}