Digital Measurement SEI Streaming Content Viewing: Difference between revisions
From Engineering Client Portal
(Created page with "This interface specification depicts the file schema required to supply Nielsen with response-level Viewing data in a “Server-to-Server” relationship for incorporation into the Nielsen One Content and/or Nielsen One Ads products.") |
No edit summary |
||
Line 1: | Line 1: | ||
This interface specification depicts the file schema required to supply Nielsen with response-level Viewing data in a “Server-to-Server” relationship for incorporation into the Nielsen One Content and/or Nielsen One Ads products. | This interface specification depicts the file schema required to supply Nielsen with response-level Viewing data in a “Server-to-Server” relationship for incorporation into the Nielsen One Content and/or Nielsen One Ads products. | ||
== Delivery Specifications == | |||
Files should be delivered at a fixed cadence in a dedicated S3 bucket following the outlined in this spec prefix and object naming conventions and data formats. | |||
* All prefix labels and file names should be lowercase except for app ids. | |||
* Supported format are: | |||
** Text files with utf-8 encoding in JSON Lines format; | |||
** Apache Parquet format with snappy compression; | |||
* All data files have extensions to indicate the file format (.json | .parquet) | |||
* Data file can be partitioned into multiple parts with min size of 256MB | |||
* Data can be delivered separately in multiple splits, if needed due to organizational, technical or privacy requirements. This allows to permission s3 access separately, to process data independently and to persist data partitioned, within the limits of the SEI system | |||
=== S3 Bucket and Prefix Naming Convention === | |||
useast1-nlsn-w-dig-sei-<'''partnerid'''>-feeds-'''<env>/<filetype>/<split>/yyyy/mm/dd/hh/<object>''' | |||
{| class="wikitable" | |||
|'''Name''' | |||
|'''Description''' | |||
|- | |||
|partnerid | |||
|Abbreviation provided by Nielsen for each provider or publisher | |||
|- | |||
|env | |||
|“test” or “prod” | |||
|- | |||
|filetype | |||
|exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where: | |||
* exposure is reserved for multi-product files | |||
* <product>-exposure is for single product files, where <product> is [dar|dcr|dtvr|ctvc|audio] | |||
|- | |||
|split | |||
|a separate data split, can be by platform (ex.: ios, browser, android, ctv), by country (us, ca, jp, etc.), by publisher, by team, etc. or “all” (if data is provided in one split). | |||
|- | |||
|yyyy/mm/dd/hh | |||
| | |||
* yyyy - year | |||
* mm - month | |||
* dd - date padded with 0 example 01, 02,..., 31 | |||
* hh - hour padded with 0 example 00, 02,..., 23 | |||
|} | |||
=== S3 Bucket and Prefix Naming Convention === | |||
<partnerid>_<filetype>_<intid>_<appid>_<starttime>_<endtime>.[json|parquet] | |||
{| class="wikitable" | |||
|'''Name''' | |||
|'''Description''' | |||
|- | |||
|partnerid | |||
|Abbreviation provided by Nielsen for each provider or publisher | |||
|- | |||
|filetype | |||
|exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where: | |||
* '''exposure''' is reserved for multi-product files | |||
* '''<product>-exposure''' is for single product files, where '''<product>''' is '''[dar|dcr|dtvr|ctvc|audio]''' | |||
|- | |||
|initid | |||
|integration id: unique identifier provided by Nielsen | |||
|- | |||
|appid | |||
|Nielsen-provided server application identifier | |||
|- | |||
|starttime | |||
|start date and hour of the data in the file in UTC | |||
* Example format: yyyymmddhh | |||
|- | |||
|endtime | |||
|end date and hour (not inclusive) of the data in the file in UTC | |||
* Example format: yyyymmddhh | |||
|} | |||
=== Success File === | |||
Empty '''_SUCCESS''' file should be provided to indicate that data delivery for a particular hour and split is completed (even if there is no data for that particular hour and split). | |||
=== Manifest File === | |||
A manifest should be provided which contains metadata related to the uploaded file(s). The manifest is a text file in .json format that implements the AWS unload manifest file format. It has the same name as the data file, but has the '''_manifest''' suffix. | |||
Example: | |||
{ | |||
"entries": [ | |||
{"url":"s3://bucket/prefix/0000_object_00.snappy.parquet", "mandatory":true}, | |||
{"url":"s3://bucket/prefix/0001_object_00.snappy.parquet", "mandatory":true}, | |||
{"url":"s3://bucket/prefix/0002_object_00.snappy.parquet", "mandatory":true}, | |||
{"url":"s3://bucket/prefix/0003_object_00.snappy.parquet", "mandatory":true} | |||
], | |||
"meta": { | |||
"schema_version": "S2SV1.7.0", | |||
"accreditation_status": "0", | |||
"start_time": "1710154800", | |||
"end_time": "1710158399", | |||
"record_count": 55 | |||
} | |||
} | |||
The manifest contains a complete list of all files provided for a given period and split, as well as a meta data (a.k.a. header) which should include the following attributes: |
Revision as of 17:23, 3 June 2024
This interface specification depicts the file schema required to supply Nielsen with response-level Viewing data in a “Server-to-Server” relationship for incorporation into the Nielsen One Content and/or Nielsen One Ads products.
Delivery Specifications
Files should be delivered at a fixed cadence in a dedicated S3 bucket following the outlined in this spec prefix and object naming conventions and data formats.
- All prefix labels and file names should be lowercase except for app ids.
- Supported format are:
- Text files with utf-8 encoding in JSON Lines format;
- Apache Parquet format with snappy compression;
- All data files have extensions to indicate the file format (.json | .parquet)
- Data file can be partitioned into multiple parts with min size of 256MB
- Data can be delivered separately in multiple splits, if needed due to organizational, technical or privacy requirements. This allows to permission s3 access separately, to process data independently and to persist data partitioned, within the limits of the SEI system
S3 Bucket and Prefix Naming Convention
useast1-nlsn-w-dig-sei-<partnerid>-feeds-<env>/<filetype>/<split>/yyyy/mm/dd/hh/<object>
Name | Description |
partnerid | Abbreviation provided by Nielsen for each provider or publisher |
env | “test” or “prod” |
filetype | exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where:
|
split | a separate data split, can be by platform (ex.: ios, browser, android, ctv), by country (us, ca, jp, etc.), by publisher, by team, etc. or “all” (if data is provided in one split). |
yyyy/mm/dd/hh |
|
S3 Bucket and Prefix Naming Convention
<partnerid>_<filetype>_<intid>_<appid>_<starttime>_<endtime>.[json|parquet]
Name | Description |
partnerid | Abbreviation provided by Nielsen for each provider or publisher |
filetype | exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where:
|
initid | integration id: unique identifier provided by Nielsen |
appid | Nielsen-provided server application identifier |
starttime | start date and hour of the data in the file in UTC
|
endtime | end date and hour (not inclusive) of the data in the file in UTC
|
Success File
Empty _SUCCESS file should be provided to indicate that data delivery for a particular hour and split is completed (even if there is no data for that particular hour and split).
Manifest File
A manifest should be provided which contains metadata related to the uploaded file(s). The manifest is a text file in .json format that implements the AWS unload manifest file format. It has the same name as the data file, but has the _manifest suffix.
Example:
{
"entries": [
{"url":"s3://bucket/prefix/0000_object_00.snappy.parquet", "mandatory":true},
{"url":"s3://bucket/prefix/0001_object_00.snappy.parquet", "mandatory":true},
{"url":"s3://bucket/prefix/0002_object_00.snappy.parquet", "mandatory":true},
{"url":"s3://bucket/prefix/0003_object_00.snappy.parquet", "mandatory":true}
],
"meta": {
"schema_version": "S2SV1.7.0",
"accreditation_status": "0",
"start_time": "1710154800",
"end_time": "1710158399",
"record_count": 55
}
}
The manifest contains a complete list of all files provided for a given period and split, as well as a meta data (a.k.a. header) which should include the following attributes: