Yahoo Native Creatives¶
This article describes services for creating, updating and reading |co| native creatives.
Overview¶
Use the Creative resource to manage Yahoo native creatives in DSP. Use this help page for guidance on trafficking the creative formats that the Yahoo Native Marketplace supports. See Supported Creative Formats for details on the Yahoo Native Marketplace creative formats. For complete specifications, see the Creatives help page for the Traffic API.
The format for a creative is defined by two key fields: creativeType
and adType
. While creativeType
is a required field for all formats, adType
is optional.
Important
If you attempt to link a creative to a Yahoo Native line, DSP only allows you to proceed if the creative is one of the supported formats.
Endpoint¶
/traffic/creatives
Create and Update¶
For all the Create and Update requests, replace <Base64 Data> in the payload with actual Base64-encoded binary data. For testing, you can use an online converter like browserling to convert your local image files to Base64-encoded strings.
Standard¶
A Standard native creative is defined by creativeType = NATIVE_DISPLAY
. It requires a details object that describes the title, description and company name, and a content object that captures the binary data of Main Image, Mobile images, and Advertiser logo. The landing page URL is captured in the root object.
Example Request¶
POST /traffic/creatives
Host: <HOST_NAME>
Content-Type: application/json
Accept: application/json
X-Auth-Method: OAuth2
X-Auth-Token: <ACCESS_TOKEN>
Example Request Body¶
{
"name": "Happy Medium Native Standard Creative 1",
"creativeType": "NATIVE_DISPLAY",
"landingPageUrl": "http://happymedium.world",
"status": "ACTIVE",
"mimeType": "image/png",
"accountId": 1234,
"content": {
"binaryData": "<Base64 Data of Main Image>",
"largeMobileImageData": "<Base64 Data of Mobile Web Image>",
"smallImageBinaryData": "<Base64 Data of Mobile App Image>",
"smallBinaryData": "<Base64 Data of Advertiser Logo>"
},
"details": {
"title": "Try a Happy Medium.",
"companyName": "HappyMedium Inc.",
"description": "When in doubt, go with a Happy Medium!"
}
}
Example Response¶
{
"response": {
"status": "ACTIVE",
"creativeType": "NATIVE_DISPLAY",
"id": 3333,
"accountId": 1234,
"name": "Happy Medium Native Standard Creative 6",
"landingPageUrl": "http://happymedium.world",
"mimeType": "image/png",
"updatedAt": "2019-11-19T19:49:10Z",
"details": {
"title": "Try a Happy Medium.",
"description": "When in doubt, go with a Happy Medium!",
"companyName": "HappyMedium Inc.",
"images": {
"iconImageSecuredUrl": "https://s.yimg.com/zi/6b5f12f1-516f-47a6-9313-6d85bbc7a9c7.png",
"imageSecuredUrl": "https://s.yimg.com/zi/89d0f8ba-0ec6-4f33-8969-369c5a2d0cd2.png",
"smallImageSecuredUrl": "https://s.yimg.com/zi/63dd54c8-6dfb-4513-8bf8-89e803762e52.png",
"largeMobileImageSecuredUrl": "https://s.yimg.com/zi/6bd33743-187f-4d1b-b297-553c8cd9c928.png"
},
"creativeMedia": []
}
},
"errors": null,
"timeStamp": "2019-11-19T19:49:11Z"
}
Video¶
A native Video creative is defined by creativeType = NATIVE_VIDEO
. It requires a details object that describes the title, description and company name, and a content object that captures the binary data of the Video, Main Image, Mobile image, and Advertiser logo. The landing page URL is captured in the root object.
Example Request¶
POST /traffic/creatives
Host: <HOST_NAME>
Content-Type: application/json
Accept: application/json
X-Auth-Method: OAuth2
X-Auth-Token: <ACCESS_TOKEN>
Example Request Body¶
{
"name": "Happy Medium Native Standard Creative",
"creativeType": "NATIVE_VIDEO",
"landingPageUrl": "http://happymedium.world",
"status": "ACTIVE",
"accountId": 1234,
"mimeType": "video/mp4",
"content": {
"binaryData": "<Base64 Data of Video>",
"nativeVideoImageData": "<Base64 Data of Main Image>",
"largeMobileImageData": "<Base64 Data of Mobile Web Image>",
"smallBinaryData": "<Base64 Data of Advertiser Logo>"
},
"details": {
"title": "Try a Happy Medium.",
"companyName": "HappyMedium Inc.",
"description": "When in doubt, go with a Happy Medium!"
}
}
Example Response¶
{
"response": {
"id": 3333,
"accountId": 1234,
"name": "Happy Medium Native Standard Creative",
"landingPageUrl": "http://happymedium.world",
"status": "ACTIVE",
"mimeType": "video/mp4",
"creativeType": "NATIVE_VIDEO",
"details": {
"title": "Try a Happy Medium.",
"description": "When in doubt, go with a Happy Medium!",
"companyName": "HappyMedium Inc.",
"images": {
"creativeFileUrl": "https://s.yimg.com/ch/raw-videos/aa4f765f-04dc-4acd-bf08-349fe11c353b.mp4",
"iconImageSecuredUrl": "https://s.yimg.com/ch/f7a4a594-250f-4675-982e-d2d66210f767.png",
"imageSecuredUrl": "https://s.yimg.com/ch/a1a9109b-f730-4699-86d5-a4be0667cf1f.png",
"largeMobileImageSecuredUrl": "https://s.yimg.com/ch/195655f3-6454-4518-9604-386aff68fc65.png"
},
"creativeMedia": []
},
"updatedAt": "2021-02-13T02:07:42Z"
},
"errors": null,
"timeStamp": "2021-02-13T02:07:42.418Z"
}
Carousel¶
A Carousel creative is defined by creativeType = NATIVE_DISPLAY
and adType = CAROUSEL
. It requires a details object that describes the company name, and an array of NativeCards. A carousel must have at least 3 nativeCards, and can contain upto 5 of them.
Native Card¶
The NativeCard object is designed specifically for Carousel creatives and is described by the following attributes.
Field |
Description |
Data Type |
Required |
---|---|---|---|
|
Title of the card. It should not be similar to that of other native cards. |
String |
Y |
|
Description of the card. |
String |
Y |
|
Valid Call to action text. |
String |
Y |
|
Each Card Index should be unique and should be in sequence starting from 0 to 4 maximum. |
Integer |
Y |
|
Unlike other creative formats, landingPageUrl should be included only inside each nativeCard and not on the root level. |
String |
Y |
|
Unlike other creative formats, landingPageDomain should be included only inside each nativeCard and not on the root level. |
String |
Y |
|
A wrapper object that encapsulates image and video assets. |
Object |
Y |
|
Mandatory Base 64 binary data that defines the main image typically used by publishers that use a rectangle image. |
String (Base64-encoded binary data) |
Y |
|
Read-only url of the uploaded main image. |
String |
N |
|
Mandatory Base 64 binary data defines the square image which corresponds to the icon image. |
String (Base64-encoded binary data) |
Y |
|
Read-only url of the uploaded square image. |
String |
N |
|
Optional Base 64 binary data if any video content is uploaded for the native card object. |
String (Base64-encoded binary data) |
N |
|
Read-only url of the uploaded video. |
String |
N |
Example Request¶
POST /traffic/creatives
Host: <HOST_NAME>
Content-Type: application/json
Accept: application/json
X-Auth-Method: OAuth2
X-Auth-Token: <ACCESS_TOKEN>
Example Request Body¶
{
"accountId": 1234,
"name": "Carousel Test Creative",
"creativeType": "NATIVE_DISPLAY",
"adType": "CAROUSEL",
"status": "ACTIVE",
"language": "ENGLISH",
"details": {
"companyName": "Advertiser 1",
"nativeCards": [
{
"title": "1 Title 1",
"description": "1 Test Description 1",
"callToAction": "Learn More",
"cardIndex": "0",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"assets": {
"image": "<Base64 Data of Main Image>",
"squareImage": "<Base64 Date of Square Image>",
"video": "<Base64 Data of Optional Video>"
}
},
{
"title": "2 Title 2",
"description": "2 Test Description 2",
"callToAction": "Learn More",
"cardIndex": "1",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"assets": {
"image": "<Base64 Data of Main Image>",
"squareImage": "<Base64 Date of Square Image>",
"video": "<Base64 Data of Optional Video>"
}
},
{
"title": "3 Title 3",
"description": "3 Test Description 3",
"callToAction": "Learn More",
"cardIndex": "2",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"assets": {
"image": "<Base64 Data of Main Image>",
"squareImage": "<Base64 Date of Square Image>",
"video": "<Base64 Data of Optional Video>"
}
}
]
}
}
Example Response¶
{
"response": {
"id": 3335,
"accountId": 1234,
"name": "Carousel Test Creative",
"status": "ACTIVE",
"creativeType": "NATIVE_DISPLAY",
"adType": "CAROUSEL",
"language": "ENGLISH",
"details": {
"companyName": "Advertiser 1",
"nativeCards": [
{
"title": "1 Title 1",
"description": "1 Test Description 1",
"callToAction": "Learn More",
"cardIndex": "0",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"assets": {
"imageUrl": "https://s.yimg.com/zi/6a1a4d47-f748-44fd-a8c9-e00d520f175c.jpeg",
"squareImageUrl": "https://s.yimg.com/zi/5ad67395-dc55-4f88-bb1e-8e5fde343a7b.png",
"videoUrl": "https://edgecast-vod.yimg.com/brdsp/964e07e2-78d7-501e-8186-77d864ba661b/video_output_305.mp4"
}
},
{
"title": "2 Title 2",
"description": "2 Test Description 2",
"callToAction": "Learn More",
"cardIndex": "1",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"assets": {
"imageUrl": "https://s.yimg.com/zi/6a1a4d47-f748-44fd-a8c9-e00d520f175c.jpeg",
"squareImageUrl": "https://s.yimg.com/zi/5ad67395-dc55-4f88-bb1e-8e5fde343a7b.png",
"videoUrl": "https://edgecast-vod.yimg.com/brdsp/964e07e2-78d7-501e-8186-77d864ba661b/video_output_305.mp4"
}
},
{
"title": "3 Title 3",
"description": "3 Test Description 3",
"callToAction": "Learn More",
"cardIndex": "2",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"assets": {
"imageUrl": "https://s.yimg.com/zi/6a1a4d47-f748-44fd-a8c9-e00d520f175c.jpeg",
"squareImageUrl": "https://s.yimg.com/zi/5ad67395-dc55-4f88-bb1e-8e5fde343a7b.png",
"videoUrl": "https://edgecast-vod.yimg.com/brdsp/964e07e2-78d7-501e-8186-77d864ba661b/video_output_305.mp4"
}
}
]
},
"updatedAt": "2020-10-25T21:52:18Z"
},
"errors": null,
"timeStamp": "2020-10-25T21:52:18Z"
}
Carousel with Portrait Background Image¶
A portrait background image can be added to a Native Carousel creative to allow them to run on Mobile Moments supply. To add a portrait background image, use the content
object with binaryData
field set to the base 64 encoded binary data of the image.
Example Request¶
POST /traffic/creatives HTTP/1.1
Host: <HOST_NAME>
Content-Type: application/json
Accept: application/json
X-Auth-Method: OAUTH
X-Auth-Token: <ACCESS_TOKEN>
Example Request Body¶
{
"accountId": 1234,
"name": "Carousel with Portrait Background Image",
"creativeType": "NATIVE_DISPLAY",
"adType": "CAROUSEL",
"status": "ACTIVE",
"language": "ENGLISH",
"content": {
"binaryData": "<Base64 Data of Background Image>"
},
"details": {
"companyName": "Advertiser 1",
"optOutOfMoments": false,
"styles": {
"callToActionText": {
"bgColor": "#1c1c1c"
}
},
"nativeCards": [
{
"title": "1 Title 1",
"description": "1 Test Description 1",
"callToAction": "Learn More",
"cardIndex": "0",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"assets": {
"image": "<Base64 Data of Main Image>",
"squareImage": "<Base64 Date of Square Image>",
"video": "<Base64 Data of Optional Video>"
}
},
{
"title": "2 Title 2",
"description": "2 Test Description 2",
"callToAction": "Learn More",
"cardIndex": "1",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"assets": {
"image": "<Base64 Data of Main Image>",
"squareImage": "<Base64 Date of Square Image>",
"video": "<Base64 Data of Optional Video>"
}
},
{
"title": "3 Title 3",
"description": "3 Test Description 3",
"callToAction": "Learn More",
"cardIndex": "2",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"assets": {
"image": "<Base64 Data of Main Image>",
"squareImage": "<Base64 Date of Square Image>",
"video": "<Base64 Data of Optional Video>"
}
}
]
}
}
Example Response¶
{
"response": {
"id": 3335,
"accountId": 1234,
"name": "Carousel with Portrait Background Image",
"status": "ACTIVE",
"creativeType": "NATIVE_DISPLAY",
"adType": "CAROUSEL",
"language": "ENGLISH",
"details": {
"companyName": "Advertiser 1",
"optOutOfMoments": false,
"backgroundImageUrl": "https://s.yimg.com/zi/cfdf3f3d-599f-42c3-86dd-25a21755db25.jpeg",
"styles": {
"callToActionText": {
"bgColor": "#1c1c1c"
}
},
"nativeCards": [
{
"title": "1 Title 1",
"description": "1 Test Description 1",
"callToAction": "Learn More",
"cardIndex": "0",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"assets": {
"imageUrl": "https://s.yimg.com/zi/6a1a4d47-f748-44fd-a8c9-e00d520f175c.jpeg",
"squareImageUrl": "https://s.yimg.com/zi/5ad67395-dc55-4f88-bb1e-8e5fde343a7b.png",
"videoUrl": "https://edgecast-vod.yimg.com/brdsp/964e07e2-78d7-501e-8186-77d864ba661b/video_output_305.mp4"
}
},
{
"title": "2 Title 2",
"description": "2 Test Description 2",
"callToAction": "Learn More",
"cardIndex": "1",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"assets": {
"imageUrl": "https://s.yimg.com/zi/6a1a4d47-f748-44fd-a8c9-e00d520f175c.jpeg",
"squareImageUrl": "https://s.yimg.com/zi/5ad67395-dc55-4f88-bb1e-8e5fde343a7b.png",
"videoUrl": "https://edgecast-vod.yimg.com/brdsp/964e07e2-78d7-501e-8186-77d864ba661b/video_output_305.mp4"
}
},
{
"title": "3 Title 3",
"description": "3 Test Description 3",
"callToAction": "Learn More",
"cardIndex": "2",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"assets": {
"imageUrl": "https://s.yimg.com/zi/6a1a4d47-f748-44fd-a8c9-e00d520f175c.jpeg",
"squareImageUrl": "https://s.yimg.com/zi/5ad67395-dc55-4f88-bb1e-8e5fde343a7b.png",
"videoUrl": "https://edgecast-vod.yimg.com/brdsp/964e07e2-78d7-501e-8186-77d864ba661b/video_output_305.mp4"
}
}
]
},
"updatedAt": "2020-10-25T21:52:18Z"
},
"errors": null,
"timeStamp": "2020-10-25T21:52:18Z"
}
Portrait Image¶
A Portrait Image creative is defined by creativeType = NATIVE_DISPLAY
and adType = PORTRAIT
. It requires a details object that describes the title, description, callToAction and companyName, and a content object that captures the binary data of the Portrait Image. The landing page URL and domain are captured in the root object.
Example Request¶
POST /traffic/creatives HTTP/1.1
Host: <HOST_NAME>
Content-Type: application/json
Accept: application/json
X-Auth-Method: OAuth2
X-Auth-Token: <ACCESS_TOKEN>
Example Request Body¶
{
"name": "Portrait Image Test Creative",
"creativeType": "NATIVE_DISPLAY",
"adType": "PORTRAIT",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"status": "ACTIVE",
"language": "ENGLISH",
"mimeType": "image/jpeg",
"accountId": 1234,
"content": {
"binaryData": "<Base64 Data of Portrait Image>",
"panoramaImageData": "<Base64 Data of optional Panorama Image>"
},
"details": {
"title": "Try a Happy Medium.",
"companyName": "HappyMedium Inc.",
"description": "When in doubt, go with a Happy Medium!",
"callToAction": "Learn More"
}
}
Example Response¶
{
"response": {
"status": "ACTIVE",
"creativeType": "NATIVE_DISPLAY",
"adType": "PORTRAIT",
"id": 3336,
"accountId": 1234,
"name": "Portrait Image Test Creative",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "https://www.yahoo.com",
"language": "ENGLISH",
"mimeType": "image/jpeg",
"updatedAt": "2020-10-25T21:52:18Z",
"details": {
"title": "Try a Happy Medium.",
"description": "When in doubt, go with a Happy Medium!",
"companyName": "HappyMedium Inc.",
"callToAction": "Learn More",
"images": {
"imageSecuredUrl": "http://pbp-ci.yahoofs.com/pbp-stg/creatives/bba78eac-b4c0-4e24-995a-e8d76a85f49c2191578831137715663.plain",
"panoramaImageSecuredUrl": "http://pbp-ci.yahoofs.com/pbp-stg/creatives/bba78eac-b4c0-4e24-995a-e8d76a85f49c2191578831137715663.plain"
}
}
},
"errors": null,
"timeStamp": "2020-10-25T21:52:18Z"
}
Portrait Image with Touchpoints¶
Use optional touchpoints on Portrait Image creatives to showcase multiple items on a single screen. Consumers can tap on pins to learn more about individual items or parts of an ad. Touchpoints create a shoppable experience or interactive showroom. See Native Touchpoint Moments for details. To add touchpoints to a Portrait Image creative, use the touchpoints
array inside the details
object.
Touchpoint¶
The touchpoint object is designed specifically for Portrait Image creatives and is described by the following attributes.
Field |
Description |
Data Type |
Required |
---|---|---|---|
|
Type of the touchpoint, can be either TOUCHPOINT_PORTRAIT or TOUCHPOINT_PANORAMA. |
String |
Y |
|
Template type of the touchpoint, must be one of: DEFAULT, DOT_LIGHT, DOT_DARK, TAG_LIGHT, TAG_DARK, PLUS_LIGHT, PLUS_DARK. |
String |
Y |
|
ID of the touchpoint asset. |
Integer |
N |
|
Touchpoint unique index describing its order. |
Integer |
Y |
|
Url of the uploaded image that will show after clicking the touchpoint. |
String |
N |
|
Base64 binary data for image that will show after clicking the touchpoint. |
String (Base64-encoded binary data) |
N |
|
Url that the user will be redirected to after clicking the touchpoint. |
String |
Y |
|
Object holding information about dimensions and coordinates of the touchpoint. |
Object |
Y |
|
Touchpoint width. |
Integer |
Y |
|
Touchpoint height. |
Integer |
Y |
|
Touchpoint x coordinate. |
Integer |
Y |
|
Touchpoint y coordinate. |
Integer |
Y |
Example Request¶
POST /traffic/creatives HTTP/1.1
Host: <HOST_NAME>
Content-Type: application/json
Accept: application/json
X-Auth-Method: OAuth2
X-Auth-Token: <ACCESS_TOKEN>
Example Request Body¶
{
"name": "Portrait Image with Touchpoints",
"creativeType": "NATIVE_DISPLAY",
"adType": "PORTRAIT",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"status": "ACTIVE",
"language": "ENGLISH",
"mimeType": "image/jpeg",
"accountId": 1234,
"content": {
"binaryData": "<Base64 Data of Portrait Image>",
"panoramaImageData": "<Base64 Data of optional Panorama Image>"
},
"details": {
"title": "Try a Happy Medium.",
"companyName": "HappyMedium Inc.",
"description": "When in doubt, go with a Happy Medium!",
"callToAction": "Learn More",
"touchpoints": [
{
"type": "TOUCHPOINT_PORTRAIT",
"templateType": "PLUS_LIGHT",
"assetIndex": 0,
"assetBinaryData": "<Base64 Data of Portrait or Panorama Image>",
"landingUrl": "http://yahoo.com",
"styles": {
"w": 45,
"h": 45,
"x": 200,
"y": 300
}
}
]
}
}
Example Response¶
{
"response": {
"status": "ACTIVE",
"creativeType": "NATIVE_DISPLAY",
"adType": "PORTRAIT",
"id": 3336,
"accountId": 1234,
"name": "Portrait Image with Touchpoints",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "https://www.yahoo.com",
"language": "ENGLISH",
"mimeType": "image/jpeg",
"updatedAt": "2020-10-25T21:52:18Z",
"details": {
"title": "Try a Happy Medium.",
"description": "When in doubt, go with a Happy Medium!",
"companyName": "HappyMedium Inc.",
"callToAction": "Learn More",
"images": {
"imageSecuredUrl": "http://pbp-ci.yahoofs.com/pbp-stg/creatives/bba78eac-b4c0-4e24-995a-e8d76a85f49c2191578831137715663.plain",
"panoramaImageSecuredUrl": "http://pbp-ci.yahoofs.com/pbp-stg/creatives/bba78eac-b4c0-4e24-995a-e8d76a85f49c2191578831137715663.plain"
},
"touchpoints": [
{
"type": "TOUCHPOINT_PORTRAIT",
"templateType": "PLUS_LIGHT",
"assetId": 145,
"assetIndex": 0,
"assetUrl": "https://s.yimg.com/zi/50b65482-c1d5-435e-8e70-5e669a30e021.png",
"landingUrl": "http://yahoo.com",
"styles": {
"w": 45,
"h": 45,
"x": 200,
"y": 300
}
}
]
}
},
"errors": null,
"timeStamp": "2020-10-25T21:52:18Z"
}
Portrait Video¶
A Portrait Image creative is defined by creativeType = NATIVE_VIDEO
and adType = PORTRAIT
. It requires a details object that describes the title, description, callToAction and companyName, and a content object that captures the binary data of the Portrait Video and Portrait Image. The landing page URL and domain are captured in the root object.
Example Request¶
POST /traffic/creatives HTTP/1.1
Host: <HOST_NAME>
Content-Type: application/json
Accept: application/json
X-Auth-Method: OAuth2
X-Auth-Token: <ACCESS_TOKEN>
Example Request Body¶
{
"name": "Portrait Video Test",
"creativeType": "NATIVE_VIDEO",
"adType": "PORTRAIT",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"mimeType": "video/mp4",
"status": "ACTIVE",
"language": "ENGLISH",
"accountId": 1234,
"content": {
"binaryData": "<Base64 Data of Portrait Video>",
"nativeVideoImagedata": "<Base64 Data of Portrait Image>"
},
"details": {
"title": "Try a Happy Medium.",
"companyName": "HappyMedium Inc.",
"description": "When in doubt, go with a Happy Medium!",
"callToAction": "Learn More",
"isVideoScrollable": true
}
}
Example Response¶
{
"response": {
"status": "ACTIVE",
"creativeType": "NATIVE_VIDEO",
"adType": "PORTRAIT",
"id": 3337,
"accountId": 1234,
"name": "Portrait Video Test",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "https://www.yahoo.com",
"language": "ENGLISH",
"mimeType": "video/mp4",
"updatedAt": "2020-10-25T21:52:18Z",
"details": {
"title": "Try a Happy Medium.",
"description": "When in doubt, go with a Happy Medium!",
"companyName": "HappyMedium Inc.",
"callToAction": "Learn More",
"isVideoScrollable": true,
"images": {
"imageSecuredUrl": "http://pbp-ci.yahoofs.com/pbp-stg/creatives/bba78eac-b4c0-4e24-995a-e8d76a85f49c2191578831137715663.plain",
"creativeFileUrl": "https://pbp-ci.yahoofs.com/pbp-stg/creatives/bba78eac-b4c0-4e24-995a-e8d76a85f49c2191578831137715663.plain"
}
}
},
"errors": null,
"timeStamp": "2020-10-25T21:52:18Z"
}
Sponsored Mail¶
A Sponsored Mail creative is defined by creativeType = NATIVE_DISPLAY
and adType = SPONSORED_MAIL
. It requires a details object that describes the title, description, callToAction and companyName, and a content object that captures the binary data of the Main Image and Thumbnail Image. The landing page URL and domain are captured in the root object.
Example Request¶
POST /traffic/creatives HTTP/1.1
Host: <HOST_NAME>
Content-Type: application/json
Accept: application/json
X-Auth-Method: OAuth2
X-Auth-Token: <ACCESS_TOKEN>
Example Request Body¶
{
"name": "Your First Sponsored Mail Ad",
"creativeType": "NATIVE_DISPLAY",
"adType": "SPONSORED_MAIL",
"landingPageUrl": "https://yahoo.com/url",
"landingPageDomain": "https://www.yahoo.com",
"mimeType": "image/png",
"status": "ACTIVE",
"language": "ENGLISH",
"accountId": 1234,
"content": {
"binaryData": "<Base64 Data of Main Image>",
"smallImageBinaryData": "<Base64 Data of Thumbnail Image>"
},
"details": {
"title": "Try a Happy Medium.",
"companyName": "HappyMedium Inc.",
"description": "When in doubt, go with a Happy Medium!",
"callToAction": "Learn More"
}
}
Example Response¶
{
"response": {
"status": "ACTIVE",
"creativeType": "NATIVE_DISPLAY",
"adType": "SPONSORED_MAIL",
"id": 3338,
"accountId": 1234,
"name": "Your First Sponsored Mail Ad",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "https://www.yahoo.com",
"mimeType": "image/png",
"language": "ENGLISH",
"updatedAt": "2020-10-25T21:52:18Z",
"details": {
"title": "Try a Happy Medium.",
"description": "When in doubt, go with a Happy Medium!",
"companyName": "HappyMedium Inc.",
"callToAction": "Learn More",
"images": {
"imageSecuredUrl": "http://pbp-ci.yahoofs.com/pbp-stg/creatives/bba78eac-b4c0-4e24-995a-e8d76a85f49c2191578831137715663.plain",
"iconImageSecuredUrl": "https://pbp-ci.yahoofs.com/pbp-stg/creatives/bba78eac-b4c0-4e24-995a-e8d76a85f49c2191578831137715663.plain"
}
}
},
"errors": null,
"timeStamp": "2020-10-25T21:52:18Z"
}
Read¶
All Creative Formats¶
Example Request¶
GET /traffic/creatives HTTP/1.1
Host: <HOST_NAME>
Content-Type: application/json
Accept: application/json
X-Auth-Method: OAuth2
X-Auth-Token: <ACCESS_TOKEN>
Example Response - Standard Native Creatives¶
{
"response": {
"status": "ACTIVE",
"creativeType": "NATIVE_DISPLAY",
"id": 3333,
"accountId": 1234,
"name": "Happy Medium Native Standard Creative 6",
"landingPageUrl": "http://happymedium.world",
"mimeType": "image/png",
"updatedAt": "2019-11-19T19:49:10Z",
"details": {
"title": "Try a Happy Medium.",
"description": "When in doubt, go with a Happy Medium!",
"companyName": "HappyMedium Inc.",
"images": {
"iconImageSecuredUrl": "https://s.yimg.com/zi/6b5f12f1-516f-47a6-9313-6d85bbc7a9c7.png",
"imageSecuredUrl": "https://s.yimg.com/zi/89d0f8ba-0ec6-4f33-8969-369c5a2d0cd2.png",
"smallImageSecuredUrl": "https://s.yimg.com/zi/63dd54c8-6dfb-4513-8bf8-89e803762e52.png",
"largeMobileImageSecuredUrl": "https://s.yimg.com/zi/6bd33743-187f-4d1b-b297-553c8cd9c928.png"
},
"creativeMedia": []
}
},
"errors": null,
"timeStamp": "2019-11-19T19:49:11Z"
}
Example Response - Native Video Creatives¶
{
"response": {
"id": 3333,
"accountId": 1234,
"name": "Happy Medium Native Standard Creative",
"landingPageUrl": "http://happymedium.world",
"status": "ACTIVE",
"mimeType": "video/mp4",
"creativeType": "NATIVE_VIDEO",
"details": {
"title": "Try a Happy Medium.",
"description": "When in doubt, go with a Happy Medium!",
"companyName": "HappyMedium Inc.",
"images": {
"creativeFileUrl": "https://s.yimg.com/ch/raw-videos/aa4f765f-04dc-4acd-bf08-349fe11c353b.mp4",
"iconImageSecuredUrl": "https://s.yimg.com/ch/f7a4a594-250f-4675-982e-d2d66210f767.png",
"imageSecuredUrl": "https://s.yimg.com/ch/a1a9109b-f730-4699-86d5-a4be0667cf1f.png",
"largeMobileImageSecuredUrl": "https://s.yimg.com/ch/195655f3-6454-4518-9604-386aff68fc65.png"
},
"creativeMedia": []
},
"updatedAt": "2021-02-13T02:07:42Z"
},
"errors": null,
"timeStamp": "2021-02-13T02:07:42.418Z"
}
Example Response - Carousel Creatives¶
{
"response": {
"id": 3335,
"accountId": 1234,
"name": "Carousel Test Creative",
"status": "ACTIVE",
"creativeType": "NATIVE_DISPLAY",
"adType": "CAROUSEL",
"language": "ENGLISH",
"details": {
"companyName": "Advertiser 1",
"nativeCards": [
{
"title": "1 Title 1",
"description": "1 Test Description 1",
"callToAction": "Learn More",
"cardIndex": "0",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"assets": {
"imageUrl": "https://s.yimg.com/zi/6a1a4d47-f748-44fd-a8c9-e00d520f175c.jpeg",
"squareImageUrl": "https://s.yimg.com/zi/5ad67395-dc55-4f88-bb1e-8e5fde343a7b.png",
"videoUrl": "https://edgecast-vod.yimg.com/brdsp/964e07e2-78d7-501e-8186-77d864ba661b/video_output_305.mp4"
}
},
{
"title": "2 Title 2",
"description": "2 Test Description 2",
"callToAction": "Learn More",
"cardIndex": "1",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"assets": {
"imageUrl": "https://s.yimg.com/zi/6a1a4d47-f748-44fd-a8c9-e00d520f175c.jpeg",
"squareImageUrl": "https://s.yimg.com/zi/5ad67395-dc55-4f88-bb1e-8e5fde343a7b.png",
"videoUrl": "https://edgecast-vod.yimg.com/brdsp/964e07e2-78d7-501e-8186-77d864ba661b/video_output_305.mp4"
}
},
{
"title": "3 Title 3",
"description": "3 Test Description 3",
"callToAction": "Learn More",
"cardIndex": "2",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"assets": {
"imageUrl": "https://s.yimg.com/zi/6a1a4d47-f748-44fd-a8c9-e00d520f175c.jpeg",
"squareImageUrl": "https://s.yimg.com/zi/5ad67395-dc55-4f88-bb1e-8e5fde343a7b.png",
"videoUrl": "https://edgecast-vod.yimg.com/brdsp/964e07e2-78d7-501e-8186-77d864ba661b/video_output_305.mp4"
}
}
]
},
"updatedAt": "2020-10-25T21:52:18Z"
},
"errors": null,
"timeStamp": "2020-10-25T21:52:18Z"
}
Example Response - Carousel with Portrait Background Image¶
{
"response": {
"id": 3335,
"accountId": 1234,
"name": "Carousel with Portrait Background Image",
"status": "ACTIVE",
"creativeType": "NATIVE_DISPLAY",
"adType": "CAROUSEL",
"language": "ENGLISH",
"details": {
"companyName": "Advertiser 1",
"optOutOfMoments": false,
"backgroundImageUrl": "https://s.yimg.com/zi/cfdf3f3d-599f-42c3-86dd-25a21755db25.jpeg",
"styles": {
"callToActionText": {
"bgColor": "#1c1c1c"
}
},
"nativeCards": [
{
"title": "1 Title 1",
"description": "1 Test Description 1",
"callToAction": "Learn More",
"cardIndex": "0",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"assets": {
"imageUrl": "https://s.yimg.com/zi/6a1a4d47-f748-44fd-a8c9-e00d520f175c.jpeg",
"squareImageUrl": "https://s.yimg.com/zi/5ad67395-dc55-4f88-bb1e-8e5fde343a7b.png",
"videoUrl": "https://edgecast-vod.yimg.com/brdsp/964e07e2-78d7-501e-8186-77d864ba661b/video_output_305.mp4"
}
},
{
"title": "2 Title 2",
"description": "2 Test Description 2",
"callToAction": "Learn More",
"cardIndex": "1",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"assets": {
"imageUrl": "https://s.yimg.com/zi/6a1a4d47-f748-44fd-a8c9-e00d520f175c.jpeg",
"squareImageUrl": "https://s.yimg.com/zi/5ad67395-dc55-4f88-bb1e-8e5fde343a7b.png",
"videoUrl": "https://edgecast-vod.yimg.com/brdsp/964e07e2-78d7-501e-8186-77d864ba661b/video_output_305.mp4"
}
},
{
"title": "3 Title 3",
"description": "3 Test Description 3",
"callToAction": "Learn More",
"cardIndex": "2",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "http://yahoo.com",
"assets": {
"imageUrl": "https://s.yimg.com/zi/6a1a4d47-f748-44fd-a8c9-e00d520f175c.jpeg",
"squareImageUrl": "https://s.yimg.com/zi/5ad67395-dc55-4f88-bb1e-8e5fde343a7b.png",
"videoUrl": "https://edgecast-vod.yimg.com/brdsp/964e07e2-78d7-501e-8186-77d864ba661b/video_output_305.mp4"
}
}
]
},
"updatedAt": "2020-10-25T21:52:18Z"
},
"errors": null,
"timeStamp": "2020-10-25T21:52:18Z"
}
Example Response - Portrait Image Creatives¶
{
"response": {
"status": "ACTIVE",
"creativeType": "NATIVE_DISPLAY",
"adType": "PORTRAIT",
"id": 3336,
"accountId": 1234,
"name": "Portrait Image Test Creative",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "https://www.yahoo.com",
"language": "ENGLISH",
"mimeType": "image/jpeg",
"updatedAt": "2020-10-25T21:52:18Z",
"details": {
"title": "Try a Happy Medium.",
"description": "When in doubt, go with a Happy Medium!",
"companyName": "HappyMedium Inc.",
"callToAction": "Learn More",
"images": {
"imageSecuredUrl": "http://pbp-ci.yahoofs.com/pbp-stg/creatives/bba78eac-b4c0-4e24-995a-e8d76a85f49c2191578831137715663.plain"
}
}
},
"errors": null,
"timeStamp": "2020-10-25T21:52:18Z"
}
Example Response - Portrait Image Creatives with Touchpoints¶
{
"response": {
"status": "ACTIVE",
"creativeType": "NATIVE_DISPLAY",
"adType": "PORTRAIT",
"id": 3336,
"accountId": 1234,
"name": "Portrait Image with Touchpoints",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "https://www.yahoo.com",
"language": "ENGLISH",
"mimeType": "image/jpeg",
"updatedAt": "2020-10-25T21:52:18Z",
"details": {
"title": "Try a Happy Medium.",
"description": "When in doubt, go with a Happy Medium!",
"companyName": "HappyMedium Inc.",
"callToAction": "Learn More",
"images": {
"imageSecuredUrl": "http://pbp-ci.yahoofs.com/pbp-stg/creatives/bba78eac-b4c0-4e24-995a-e8d76a85f49c2191578831137715663.plain",
"panoramaImageSecuredUrl": "http://pbp-ci.yahoofs.com/pbp-stg/creatives/bba78eac-b4c0-4e24-995a-e8d76a85f49c2191578831137715663.plain"
},
"touchpoints": [
{
"type": "TOUCHPOINT_PORTRAIT",
"templateType": "PLUS_LIGHT",
"assetId": 145,
"assetIndex": 0,
"assetUrl": "https://s.yimg.com/zi/50b65482-c1d5-435e-8e70-5e669a30e021.png",
"landingUrl": "http://yahoo.com",
"styles": {
"w": 45,
"h": 45,
"x": 200,
"y": 300
}
}
]
}
},
"errors": null,
"timeStamp": "2020-10-25T21:52:18Z"
}
Example Response - Portrait Video Creatives¶
{
"response": {
"status": "ACTIVE",
"creativeType": "NATIVE_VIDEO",
"adType": "PORTRAIT",
"id": 3337,
"accountId": 1234,
"name": "Portrait Video Test",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "https://www.yahoo.com",
"language": "ENGLISH",
"updatedAt": "2020-10-25T21:52:18Z",
"details": {
"title": "Try a Happy Medium.",
"description": "When in doubt, go with a Happy Medium!",
"companyName": "HappyMedium Inc.",
"callToAction": "Learn More",
"images": {
"imageSecuredUrl": "http://pbp-ci.yahoofs.com/pbp-stg/creatives/bba78eac-b4c0-4e24-995a-e8d76a85f49c2191578831137715663.plain",
"creativeFileUrl": "https://pbp-ci.yahoofs.com/pbp-stg/creatives/bba78eac-b4c0-4e24-995a-e8d76a85f49c2191578831137715663.plain"
}
}
},
"errors": null,
"timeStamp": "2020-10-25T21:52:18Z"
}
Example Response - Sponsored Mail Creatives¶
Example Response¶
{
"response": {
"status": "ACTIVE",
"creativeType": "NATIVE_DISPLAY",
"adType": "SPONSORED_MAIL",
"id": 3338,
"accountId": 1234,
"name": "Your First Sponsored Mail Ad",
"landingPageUrl": "http://yahoo.com",
"landingPageDomain": "https://www.yahoo.com",
"mimeType": "image/png",
"language": "ENGLISH",
"updatedAt": "2020-10-25T21:52:18Z",
"details": {
"title": "Try a Happy Medium.",
"description": "When in doubt, go with a Happy Medium!",
"companyName": "HappyMedium Inc.",
"callToAction": "Learn More",
"images": {
"imageSecuredUrl": "http://pbp-ci.yahoofs.com/pbp-stg/creatives/bba78eac-b4c0-4e24-995a-e8d76a85f49c2191578831137715663.plain",
"iconImageSecuredUrl": "https://pbp-ci.yahoofs.com/pbp-stg/creatives/bba78eac-b4c0-4e24-995a-e8d76a85f49c2191578831137715663.plain"
}
}
},
"errors": null,
"timeStamp": "2020-10-25T21:52:18Z"
}