Create new campaign
Create a new campaign using this method. Successfully created campaigns will be assigned a unique campaign ID.
URL: POST/api/v1/campaigns
Note:
- This API supports batch operations with a max batch size of 10. For bulk operation, the advertiser Id must be the same across all requests in the payload.
- You must set all of budgetType, dailyBudget, totalBudget, startDate, endDate, and deliverySpeed parameters at same level i.e. either at campaign level or ad group level
Request Parameters
Parameters | Notes | Type | Required | Possible Values |
---|---|---|---|---|
advertiserId | ID of advertiser whose campaign is to be scheduled | integer | Y | Advertiser ID for which the campaign is to be created |
name | The name of the campaign Note: Limit on length of campaign name is 240 characters | integer | Y | The campaign name should be unique |
description | Campaign description Note: Limit on length of campaign description is 240 characters | string | N | Provide valid description corresponding to campaign type |
objective | Campaign objective | string | N | Values: • awareness • engagement • conversion Note: Default value for objective will be awareness, unless specified |
campaignType | The type of the campaign | string | N | Values of campaignType: ngd |
startDate | The date to start campaign Note: it must be set either at campaign or ad group level | date | This field is required only if it is not set at ad group level | Date should be in format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX Note: date values are internally converted to EST timezone |
The date when campaign ends Note: it must be set either at campaign or ad group level | date | This field is required only if it is not set at ad group level | Date should be in format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX To run campaign indefinitely, set its value as ‘9999-12-30T00:00:00Z’ Note: date values are internally converted to EST | |
budgetType | The type of budget allocation you want to choose for your campaign Note: it must be set either at campaign or ad group level | string | This field is required only if it is not set at ad group level | Values: - daily - total |
dailyBudget | Daily budget of campaign Note: • Daily budget cannot exceed your total budget amount • Up to 20% of the unspent budget will be rolled over to the next day • it must be set either at campaign or ad group level | double | This field is required only if: -It is not set at ad group level -budgetType is set to be daily | The value of daily budget should at least be $0.01 Note: This field is required only if budgetType is set to be dailyBudget |
totalBudget | Total budget of campaign Note: it must be set either at campaign or ad group level | double | This field is required only if: -It is not set at ad group level -budgetType is set to be total | The value of total budget should at least be $0.01 Note: This field is required only if budgetType is set to be totalBudget |
deliverySpeed | Determines pacing of ad delivery Note: it must be set either at campaign or ad group level | This field is required only if it is not set at ad group level | Values: • frontloaded • evenly Note: frontloaded pacing is not supported if budgetType is daily |
Note:
• You can only set either dailyBudget or totalBudget
• To set daily budget, you must choose value of budgetType as “daily” and then define dailyBudget.
• To set total budget, you must choose value of budgetType as “total” and then define totalBudget.
• Budget, Schedule and Delivery speed must be set either at campaign or ad group level
• You must set all of budgetType, dailyBudget, totalBudget, startDate, endDate, and deliverySpeed parameters at
same level i.e. either at campaign level or ad group level
Headers
Header Name | Description | Required | Values |
Authorization | The token will provide you the access to the API. It is same for all advertisers you access through the API | Y | Please utilize the generated auth_token shared with you at the time of partner onboarding from the Getting Started Guide. This key can be repurposed for SP API access as well. |
WM_CONSUMER.ID | We will provide you the consumer ID to access the API. It is same for all advertisers you access through the API. | Y | Please use the generated ConsumerId shared with you at the time of partner onboarding. Refer to the Getting Started Guide for further explanation on this |
WM_SEC.AUTH_SIGNATURE | Auth signature as an API key | Y | Use the signature generator code from Getting Started Guide to generate this value |
WM_CONSUMER.intimestamp | Timestamp for which the auth signature is generated. Use Unix epoch format for the timestamp | Y | Use the signature generator code (Getting Started Guide) to generate this value |
WM_SEC.KEY_VERSION | We will provide you with the KEY VERSION to access the API. It is same for all advertisers you access through the API | Y | 1 |
Sample Request
curl -X POST \ 'https://developer.api.us.stg.walmart.com/api-proxy/service/display/api/v1/api/v1/campaigns' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <auth_token>'
--header 'WM_SEC.AUTH_SIGNATURE: **************' \ --header 'WM_SEC.KEY_VERSION: 1' \ --header 'WM_CONSUMER.ID: adfwe-v23-faasd2r-afs-asdfqeff' \ --header 'WM_CONSUMER.intimestamp: 1565309779' --data '[ { "advertiserId": 1, "name": "string", "description": "string", "objective": "string", "campaignType": "ngd", "startDate": "string", "endDate": "string", "budgetType": "string", "dailyBudget": 0.0, "totalBudget": 0.0, "deliverySpeed": "string" } ]'
Sample Request (Batch Operation)
curl -X POST \ 'https://developer.api.us.stg.walmart.com/api-proxy/service/display/api/v1/api/v1/campaigns' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <auth_token>'
--header 'WM_SEC.AUTH_SIGNATURE: **************' \ --header 'WM_SEC.KEY_VERSION: 1' \ --header 'WM_CONSUMER.ID: adfwe-v23-faasd2r-afs-asdfqeff' \ --header 'WM_CONSUMER.intimestamp: 1565309779' --data ' [ { "advertiserId": 1, "name": "string", "description": "string", "objective": "string", "campaignType": "ngd", "startDate": "string", "endDate": "string", "budgetType": "string", "dailyBudget": 0.0, "totalBudget": 0.0, "deliverySpeed": "string" }, { "advertiserId": 1, "name": "string", "description": "string", "objective": "string", "campaignType": "ngd", "startDate": "string", "endDate": "string", "budgetType": "string", "dailyBudget": 0.0, "totalBudget": 0.0, "deliverySpeed": "string" }
]'
Response
Element | Description | Type |
---|---|---|
code | The response code can have following values: • success • failure | string |
details | Details will populate success or error message depending upon value of code | string |
campaignId | ID of the campaign. This will be returned only when code=success | integer |
name | Name of the campaign | string |
Sample Response
[ { "code": "success", "details": ["string"], "name": "string1", "campaignId": 1 } ]
Sample Response (Batch Operation)
[ { "code": "success", "details": ["string"], "name": "string1", "campaignId": 1 }, { "code": "failure", "details": ["stringA", "stringB"], "name": "string1" } ]
Updated 10 days ago