Ad-ID COMPLETE EXTERNAL ACCESS (CEA) SPECIFICATION

Similar documents
FTP Guide - Appendix G Time and Quality Statement Updates

Internet Engineering Task Force (IETF) Category: Informational March 2017 ISSN:

Creating Codes with Spreadsheet Upload

Table of Contents. Developer Manual...1

Level 3 Media Portal API Guide

All requests must be authenticated using the login and password you use to access your account.

Cisco TelePresence Basic Cisco VCS configuration

MIP4 Working Group. Generic Notification Message for Mobile IPv4 draft-ietf-mip4-generic-notification-message-16

CMDP-LIMS INTERFACE CONTROL

Encrypted Object Extension

Highwinds CDN Content Protection Products. August 2009

Please note: This is a working document and is subject to change. Please check back periodically to ensure you have the latest version of this spec.

Open Caching CDNI extensions proposals. Sanjay Mishra, Ori Finkelman IETF-100, Singapore November 2017

DRAFT COPY

Authorization and Authentication

User Manual. MDWorkflow. Web Application from Midrange Dynamics

The production version of your service API must be served over HTTPS.

Cisco Threat Intelligence Director (TID)

Version 2.38 April 18, 2019

Internet Engineering Task Force (IETF) Request for Comments: 8437 Updates: 3501 August 2018 Category: Standards Track ISSN:

Deploying the BIG-IP System with Microsoft IIS

IoT Platform API Reference (Version 4_2.0)

API Security Management SENTINET

D. Crocker, Ed. Updates: RFC4871 June 10, 2009 (if approved) Intended status: Standards Track Expires: December 12, 2009

ExtraHop 7.3 ExtraHop Trace REST API Guide

SMS Outbound. HTTP interface - v1.1

ForeScout Extended Module for VMware AirWatch MDM

Open Command and Control (OpenC2) Language Specification. Version 0.0.2

SMS Outbound. SMTP interface - v1.1

LINK Mobility SMS REST API MT and Delivery Reports Version 1.3; Last updated September 21, 2017

ELECTRONIC FILE TRANSFER SPECIFICATION

REGISTRATION DATA INTERFACE SPECIFICATION

Usage of "OAuth2" policy action in CentraSite and Mediator

Cisco TelePresence Video Communication Server Basic Configuration (Single VCS Control)

RESTful User Provisioning with IBM Business Process Manager on Cloud

Secure Access Manager (SAM) Administrator Guide December 2017

cellip CELLIPS SMS INTERFACE DESCRIPTION HTTP GET INNEHÅLLSFÖRTECKNING

API Documentation. Release Version 1 Beta

BEAWebLogic RFID. Edge Server. Using the Administration Console

NIELSEN API PORTAL USER REGISTRATION GUIDE

Citrix Analytics Data Governance Collection, storage, and retention of logs generated in connection with Citrix Analytics service.

Quriiri HTTP MT API. Quriiri HTTP MT API v , doc version This document describes the Quriiri HTTP MT API version 1 (v1).

Voice over IP Consortium

Reviewing the API Documentation

CounterACT User Directory Plugin

TAXII 2.0 Specification Pre Draft

Important Notice. Important Notice

Embedded for Sharp OSA Setup Guide

MxVision WeatherSentry Web Services REST Programming Guide

HTTP Authentication API

Equitrac Integrated for Konica Minolta

Header Status Codes Cheat Sheet

1. Overview Account Configuration Details... 3

Partner Web Services. GetOrderStatus Version 1 Service Manual

COMPLIANCE. associates VALIDATOR WHITE PAPER. Addressing 21 cfr Part 11

Technical Guide. REST API for Mobile Outbound SMS

Digital Imaging and Communications in Medicine (DICOM) Supplement 194: RESTful Services for Non-Patient Instances

BIG-IP Access Policy Manager : Portal Access. Version 12.1

National Identity Exchange Federation. Web Services System- to- System Profile. Version 1.1

PassBy[ME] API Documentation

IBM Leads Version 9 Release 1 October 25, User Guide

Deploying the BIG-IP System with Oracle WebLogic Server

BrandingUI (Basic, Advanced, Enterprise) Getting Started - Important First Steps

Delegated Access Control Extension

CGI / HTTP(s) GET NETIO M2M API protocols docs

Tufts University. Capital Expenditure

Deploying the BIG-IP System with Oracle E-Business Suite

Cisco Threat Intelligence Director (TID)

ADP Secure Client User Guide

NDEV Mobile HTTP Services for NDEV Mobile Clients

Troubleshooting Exchange Calendaring Integrations

Tenable.io Container Security REST API. Last Revised: June 08, 2017

Cisco TelePresence Device Authentication on Cisco VCS

IBM Security Access Manager Version January Federation Administration topics IBM

Equitrac Embedded for Ricoh Basic. Setup Guide Equitrac Corporation

BIG-IP Access Policy Manager : Portal Access. Version 13.0

RECOMMENDED DEPLOYMENT PRACTICES. The F5 and Okta Solution for High Security SSO

SMS Relay. API Documentation SPLIO - SPRING Contact and Campaign SMS Relay API - EN v1.2.docx

Equitrac Integrated for Konica Minolta. Setup Guide Equitrac Corporation

Request for Comments: Tail-f Systems December Partial Lock Remote Procedure Call (RPC) for NETCONF

Deploying the BIG-IP System with HTTP Applications

Equitrac Embedded for Sharp OSA. Setup Guide Equitrac Corporation

BIG-IP Access Policy Manager : Secure Web Gateway. Version 13.0

Programming Guide. vrealize Automation 7.3

GeoTrust API Quick Guide

API Security Management with Sentinet SENTINET

Link to Download FlexiDoc Server preactivated

REGISTRATION DATA INTERFACE SPECIFICATION

Ad-ID Format. Ad-ID Format. April 1, Version 1.0. Page 1

Integration Architecture Of SDMS

Briefcase ios 3.6. Release Notes

All Rights Reserved, Copyright FUJITSU LIMITED IoT Platform Service Portal Operating Manual (Version 5_0.0)

Cisco Single VCS Control - Basic Configuration

Lesson 13 Securing Web Services (WS-Security, SAML)

SRX als NGFW. Michel Tepper Consultant

API Developer s Guide

Security Assertions Markup Language

Partner Web Services. Get License Service Manual

E POSTBUSINESS API Login-API Reference. Version 1.1

etrac Company Documents Guide

Transcription:

Ad-ID COMPLETE EXTERNAL ACCESS (CEA) SPECIFICATION Version 1.5 Revision History Date Updates July 2017 Version 1.5 Updated rules for providing Parent company information for unlocked prefix December 2016 Version 1.4 Included Validation Service April 2016 Version 1.3 Added description/example of default Industry Group November 2015 Version 1.2 Included Authentication/Request specification for CEA service July 2015 Version 1.1 External Specification January 2014 Initial Specification 1.0 GOAL Ad-ID Complete external access (CEA) is a tool to provide basic existence validation and slate information for pre-known Ad-ID codes to a select group of registered users through an API-only interface. There are two CEA access types: Full CEA and Validation Only. Media outlets will be guaranteed access to Full CEA, this includes online publishers. Measurement companies and other companies will need to request access to Full CEA or Validation Only through an approval process. Companies that do not qualify for CEA, will need to use Ad-ID s Selective External Access (SEA). For details on SEA refer to http://adid.org/about/external-access. CEA does not provide any directory (lookup) or search services. Users of CEA must know what they are seeking. CEA is a read-only service and will not modify Ad-ID s in any manner or form. USERS Users of Complete External Access (CEA) must request access through customer service and be approved. This request should include basic information about the CEA account including, but not limited to, contact name, email, address, etc. For the approval process, users may be required to submit a purpose of use statement, which will be evaluated before granting access. Users also must accept the terms of service for CEA. Upon approval of the account, Ad-ID will issue a CEA USER ID and CEA API KEY. All CEA calls must contain both keys as part of the request to gain access. The purpose of the CEA USER ID and API KEY is to bind the user and their use of the service to the terms and conditions for the service. Requests containing a user s CEA USER ID and KEY are the responsibility of that user thus requiring them to guard these keys in an appropriate manner. Ad-ID Complete External Access (CEA) Specification Page 1 of 12

FULL CEA REQUESTS Ad-ID records will be marked with a flag (cea_flag) indicating the access status to CEA service. CEA_flag will be available in the UI and provide users the ability to toggle if a record is made available for Full CEA or not. The two possible states controlled by CEA flag (cea_flag) are: 1. Allowed select information will be made available about the particular Ad-ID via Full CEA (Default) 2. Denied (under limited conditions) no detailed information will be made available about the particular Ad-ID via CEA, other than that it is a valid Ad-ID and the Parent company. The default will be to allow access (Allowed) to Ad-ID data. Note: CEA_flag is not part of the response returned from CEA service and only used to determine if a record is available or not as part of CEA. VALIDATION ONLY REQUESTS Validation only requests provide a basic existence validation API for pre-known Ad-ID codes. Users with validation only access will not have full access to CEA as described above. Using the ADID call, the CEA validation service will return an XML document containing a status message indicating whether or not the ADID is valid, and conditionally, the parent company of the ADID. Note: The cea_flag does not apply for the validation service. The response for the validation service will be the same regardless if the exclude flag is set or not. A response will be returned regardless of whether the code is valid, invalid, or void. The only metadata returned will be the Parent information. Ad-ID Complete External Access (CEA) Specification Page 2 of 12

CEA PROTOCOL There are no authentication requirements for CEA beyond CEA KEY and signed request. CEA service is separate and apart from the core users of the Ad-ID web-based system. No web system credentials should ever be solicited or passed to CEA gateway. There is only a single CEA request defined for version 1 of this product. It is designed to return information on a single Ad-ID. Future versions may permit multiple Ad-ID s per request, but this is not part of Phase 1. CEA request is a standard HTTPS RESTful request. The request will contain the following headers: 1. x-userid (CEA user id provided by Ad-ID) 2. x-date (an ISO 8601 format date/time of the request) 3. x-hash (a hashed value of the url and the date/time per Ad-ID specifications). The request will contain the following parameters: 1. The complete Ad-ID being requested (key=code) *OR* 2. The compact unique identifier (cuid) for an Ad-ID being requested (key=cuid) Example Full CEA Request: cea.ad-id.org/adid_services/ea_c/adid/adid0001000 or cea.ad-id.org/adid_services/ea_c/cuid/abf6cda3 There are three possible response codes for any given CEA REQUEST. They are: 1. Code=0: The Ad-ID was found and the information is contained in the balance of the response 2. Code=1: The Ad-ID does not exist 3. Code=2: The Ad-ID is valid but the information requested is denied as described above The entire response will be a well-formed XML document similar to the following: <response> <status> [status code from above] </status> <count> [the number of codes returned in this query, set to 1 or 0 for V1] </count> <status_message>[status Message] </status_message> <codes> <code> <adid> [the adid code] </adid> <guid> [the adid compact identifier] </guid> <field 1> </field 1> <field n> </field n> </code> </codes> </response> Ad-ID Complete External Access (CEA) Specification Page 3 of 12

Example Validation Only Request: cea.ad-id.org/adid_services/ea_v/adid/adid0001000 or cea.ad-id.org/adid_services/ea_v/cuid/abf6cda3 There are two possible response codes for any given validation request. They are: 1. Code=0: The Ad-ID was found and the information is contained in the balance of the response 2. Code=1: The Ad-ID does not exist The entire response will be a well-formed XML document similar to the following: <response> <status> [status code from above] </status> <status_message>[status Message] </status_message> <count> [the number of codes returned in this query, set to 1 or 0 for V1] </count> <adid> <adid_fullcode> [the adid code] </adid_fullcode> <guid> [the adid compact identifier] </guid> </adid> </response> All valid requests will return an HTTP 200 response. Invalid CEA KEYS or a bad signature request will generate an HTTP 403 response code. Poorly formed requests will generate an HTTP 4xx code. Ad-ID Complete External Access (CEA) Specification Page 4 of 12

Ad-ID DIGITAL AD SLATE AND ADDITIONAL METADATA The Full CEA service will return an XML document containing Ad-ID Digital Slate, Product Categorization and Commercial Delivery Companies from External Access that are selected for that code. See Appendix A for an example. APPLICATION LOGIC When a CEA request enters the gateway, the following is a high level workflow; each generating an appropriate response 1. Is the request well-formed? 2. Does CEA KEY exist and is it valid? 3. Is the user authorized to access CEA: a. Is CEA KEY/Signature permitted and valid? 4. Does the requested Ad-ID exist in the Ad-ID system? a. If the Ad-ID does not exist at all; return status 1 b. Is the code voided? -> return status 2 c. Is CEA_flag on the record set to deny? -> return status 2 d. Is CEA_flag on the record set to allow? -> return status 0 5. Log request 6. Deliver response Sample responses are in Appendix A and B. METADATA UPDATES AND CHANGES Any changes to the metadata will be applied and will be up-to-date, but providing the ability to receive notification for these updates is beyond scope for the initial phase. Ad-ID Complete External Access (CEA) Specification Page 5 of 12

CEA SERVICE AUTHENTICATION AND REQUESTS CEA Authentication CEA Authentication is a process by which the identity of the request to CEA server is verified. All HTTP traffic for CEA will take place over SSL and use a pure form of the RESTful API. CEA authentication and requests will require the generation of a HMAC signature along with one additional value (date/time). The Date/Time should be in ISO 8601 (RFC3339) format. Overview of the authentication process 1. A user obtains a CEA User ID and CEA API Key. 2. The user submits a request with the credentials to CEA server. 3. CEA server uses the credentials to verify the request is from a valid CEA user. 4. If the credentials are valid, the request is processed, and response information is returned. If the credentials are invalid, the recipient rejects the request and returns an error message. CEA Credentials Each CEA account must be provisioned with the following elements: 1. CEA User ID (a 8-character, alphanumeric sequence) Example: CEA User ID: A8U978X0 2. API Key (a 16-character, alphanumeric sequence) Example: CEA APIKEY: A8U978x0b9K123X9 CEA Requests All requests to CEA server will be made over SSL with the following headers (sha256 used in this example): GET /adid_services/ea_c/adid/adid0001000 X- Userid: A8U978X0 X-Date: 2015-10-08T10:00:00-04:00 X-Hash: 7cc4d54522a2b45835c14b4fa87a7e7adaaa503452ab38443e3bf55eb0d94a70 URI Format: Four URIs are supported by CEA as follows: Method: GET Full Access: URI: /adid_services/ea_c/adid/adid0001000 URI: /adid_services/ea_c/cuid/abf6cda3 Ad-ID Complete External Access (CEA) Specification Page 6 of 12

Validation Only: URI: /adid_services/ea_v/adid/adid0001000 URI: /adid_services/ea_v/cuid/abf6cda3 HMAC-SHA256 Generation for REST Requests Generation of the HMAC is based on the URI being requested along with one additional value: The date/time. The Date/Time should be in ISO 8601 (RFC3339) format. Basic Authentication Process The following describes the steps required to authenticate requests to CEA using an HMAC- SHA256 request signature. 1. You construct a request to CEA. 2. You calculate an x-hash message authentication code (HMAC-SHA256) signature with your CEA API Key. For information about HMAC, see RFC2104. 3. You include the following x-header info in the request, and then send the request to CEA. 1. x-userid (CEA user id provided by Ad-ID) 2. x-date (an ISO 8601 format date/time of the request) 3. x-hash (a hashed value of the uri and the date/time per Ad-ID specifications). 4. CEA uses your user ID to look up your CEA API key. 5. CEA generates a signature from the request data and CEA key with the same algorithm you used to calculate the signature you sent in the request. 6. If the signature generated by CEA matches the one you sent in the request, the request is considered authentic. If the comparison fails, the request is discarded, and CEA returns an error response. Ad-ID Complete External Access (CEA) Specification Page 7 of 12

APPENDIX A: FULL CEA REQUESTS Response for cea_flag VALUE 0 <?xml version="1.0" encoding="utf-8"?> <status>0</status> <count>1</count> <adid> <adid_fullcode>zade0001000h</adid_fullcode> <guid>fb1a1dfe</guid> <slate> <media_type>video</media_type> <video_format_flag>h</video_format_flag> <parent id="u10000160">ad EYE DEE CORP</parent> <advertiser id="c10000161">ad EYE DEE STORES</advertiser> <brand id="b10000162">eyeglasses</brand> <product id="p10000165">regular VISION</product> <ad_title>seeing is Believing</ad_title> <created>2015-09-25</created> <copyright>2015 Ad Eye Dee Corp</copyright> <version>free case</version> <agency_name>ad-id, LLC</agency_name> <language>english</language> <length>30</length> <bleed></bleed> <color_type></color_type> <expandable></expandable> </slate> <Brand_and_Product> <industry_group id="g700">retail</industry_group> <major_category id="g710">retail STORES</major_category> <sub_category id="g71e">optical GOODS AND SERVICES</sub_category> <product_category id="g71e">optical CTR</product_category> </Brand_and_Product> <commercial_delivery> <group>extreme Reach</group> </commercial_delivery> </adid> Access Allowed for an Ad-ID that includes a specific product. Ad-ID Complete External Access (CEA) Specification Page 8 of 12

<?xml version="1.0" encoding="utf-8"?> <status>0</status> <count>1</count> <adid> <adid_fullcode>zadl0002000h</adid_fullcode> <guid>8448b0f7</guid> <slate> <media_type>video</media_type> <video_format_flag>h</video_format_flag> <parent id="u10000160">ad EYE DEE CORP</parent> <advertiser id="c10000161">ad EYE DEE STORES</advertiser> <brand id="b10000162">eyeglasses</brand> <product id="other">eye Care</product> <ad_title>see the Light</ad_title> <created>2016-04-12</created> <copyright>2016 Ad Eye Dee Corp</copyright> <version>spring Special</version> <agency_name>ad-id, LLC</agency_name> <language>english</language> <length>60</length> <bleed></bleed> <color_type></color_type> <expandable></expandable> </slate> <Brand_and_Product> <industry_group id="g700" default= true >RETAIL</industry_group> <major_category></major_category> <sub_category></sub_category> <product_category></product_category> </Brand_and_Product> <commercial_delivery> <group>extreme Reach</group> </commercial_delivery> </adid> Access Allowed for an Ad-ID that includes a product the user identified as Other and entered manually. Response for cea_flag VALUE 1 <?xml version="1.0" encoding="utf-8"?> <status>1</status> <status_message> The Ad-ID was not found</status_message> <count>0</count> Ad-ID Complete External Access (CEA) Specification Page 9 of 12

Response for cea_flag VALUE 2 <?xml version="1.0" encoding="utf-8"?> <status>2</status> <status_message>the Ad-ID is valid but has been excluded.</status_message> <count>1</count> <adid> <adid_fullcode>zadl0001000</adid_fullcode> <guid>ff8ec4bf</guid> <parent>xyz Corporation</parent> </adid> Access Denied. <?xml version="1.0" encoding="utf-8"?> <status>2</status> <status_message>the Ad-ID has been voided.</status_message> <count>1</count> <adid> <adid_fullcode>zade0001000h</adid_fullcode> <guid>fb1a1dfe</guid> </adid> Voided Code A user removed this code from the list of active Ad-ID codes. Ad-ID Complete External Access (CEA) Specification Page 10 of

APPENDIX B: VALIDATION ONLY REQUESTS Response for cea_flag VALUE 0 <?xml version="1.0" encoding="utf-8"?> <status>0</status> <status_message>the Ad-ID is valid.</status_message> <count>1</count> <adid> <adid_fullcode>501u0015000</adid_fullcode> <guid>201984d9</guid> <parent>anything CATS INC</parent> </adid> Response for cea_flag VALUE 1 <?xml version="1.0" encoding="utf-8"?> <status>1</status> <status_message>the Ad-ID was not found.</status_message> <count>0</count> Ad-ID Complete External Access (CEA) Specification Page 10 of 12

APPENDIX C: Ad-ID CEA FIELD DESCRIPTIONS Field Name Required Description Full Ad-ID code Yes The unique identifier for this advertising asset. Includes Flag for HD or 3D. GUID Yes Ad-ID Internal CUID (Compact Unique Identifier). Media Type Yes The media category describing the type of advertising asset. Only one media type can be chosen per advertising asset Example: Video would be used for TV ads Video Format Flag Yes Only available for codes with media type Video. Refers to SD (standard definition), HD (high definition) and 3D (3 dimensional). Parent Yes The parent company of the advertiser featured in the advertising asset. Example: AD EYE DEE CORP Advertiser Yes The company or the agency s client that is advertising. Example: AD EYE DEE STORES Brand Yes The advertiser brand that is associated to this product. Example: EYEGLASSES Product Yes The product that is the extension of the brand. Example: REGULAR VISION Ad Title Yes Indicates the name of the advertising asset. Length/Size Yes Indicates the duration or size of the advertising asset. Agency Name Yes The agency working with the advertiser. Language Yes The spoken language of the advertisement formatted according to the English Name Of Language of a registered RFC-5646 region code from ISO 639-2. Copyright No Copyright information related to or communicated in this advertising asset. Version No Describes a variation which differentiates this advertising asset from another. Example: A company runs the same advertising asset in 3 cities, but each one has a customized offer at the end for the specific location. All 3 advertising assets may have the same Ad Title, but the version indicates the city and/or the special offer included in the advertising asset to differentiate the 3 versions from each other. Bleed No Only available for codes with media type Print. Indicates whether the print asset is a bleed or non-bleed ad. Bleed means the item runs up to the edge of the page. Color Type No Only available for codes with media type Print. Indicates the color used in the print ad (Black and White, Four Color, etc). Expandable No Only available for codes with media type Internet Display or Mobile. Indicates whether the ad is expandable or not. Ad-ID Complete External Access (CEA) Specification Page 10 of 12

Field Name Required Description Expandable means the ad expands in size when a user rolls over or clicks on them. Date Created Yes Date the Ad-ID code was created. Industry Group Derived* Most generic grouping, represented by a hundred level numeric code. Example: G700- RETAIL Major Category Derived* Further refines the industry category, represented by a ten level numeric code. Example: G710- RETAIL STORES Sub Category Derived* Most specific PCC level associated with brands, and represented by the unit level numeric code. Example: G71E- OPTICAL GOODS AND SERVICES Product Category Derived* The most granular level used to identify the specific categories included in the PCC Sub Category. Example: G71E - OPTICAL CTR Commercial Delivery No Companies that distribute ads to media outlets on behalf of advertisers and their agencies. *These values are derived from the Product selected on the slate. If the value of Other is chosen, the user manually enters a product, in which case a default Industry Group will be provided and the other categories will not be populated. Ad-ID Complete External Access (CEA) Specification Page 11 of 12

APPENDIX D: Error Code Reference The following is a reference guide for error codes and messages returned from CEA Web Services on validation errors or issues with our services. Authentication: bad credentials, userid/apikey mismatch, request received outside time limit based on timestamp in message. After X failures in X minutes system will begin to block by IP address and email tech. Malformed request - treated the same as authentication failure Request for nonexistent resource (adid or cuid not found). After X failures in X minutes, block by IP address for 30 minutes, no email notification to tech. Error on Validation Error System Name Description Code 1001 CEA_ERR_DATA There is an error in one or more input data parameters in the request. Malformed Request 2001 CEA_ERR_AUTH There is an error in CEA credentials provided in the request or the signed request is not valid. 5001 CEA_ERR_PROC A processing error occurred. System Response HTTP Response HTTP Reponses Ad-ID Web Services Usage Code Text 200 OK Success. 400 Bad request Errors in input data parameters. 403 Forbidden. Authentication errors, or attempting to access data for which the user is not authorized. 405 Method not allowed. Attempting to pass request parameters using an unsupported http method. 500 An error not covered by the other response Internal server error. codes. Sample Response XML <?xml version="1.0"?> <error> </error_message> <error_code>2001</error_code> <error_message>request data failed validation. Please address the issues and try again.</error_message> </error> Ad-ID Complete External Access (CEA) Specification Page 12 of 12