POST /campaign
Requires authentication with server access token.
Create a new campaign.
The receipt that a customer receives upon completing a purchase with the campaign may contain additional text provided by the client. This text may also include Inject Tokens that will be replaced at the time of receipt generation.
See also
Help us improve
Did you spot an error? Or maybe you just have a suggestion for how we can improve? Leave us a comment.
Request
POST /api/2/campaign
title | required |
---|---|
description | optionalThe campaign description |
metaData | optionalAdditional client meta-data, not used by SPiD |
startDate | optionalDate/time when the campaign becomes available |
stopDate | optionalDate/time when the campaign ceases to be available |
additionalReceiptInfo | optionalText to include in purchase receipts |
requireAddress | optional1 or 0. If 1, access to the campaign requires users to have a delivery address in their SPiD profile |
requireVoucher | optional1 or 0. If 1, access to the campaign requires users to have a valid and available voucher |
limit | optionalThe maximum number of purchases allowed for this campaign |
products | optionalA list of products in this campaign |
Example request
curl
Minimal example
curl https://login.schibsted.com/api/2/campaign \
-X POST \
-H "Authorization: Bearer [access token]" \
-d "title=Freebies for all"
With all parameters
curl https://login.schibsted.com/api/2/campaign \
-X POST \
-H "Authorization: Bearer [access token]" \
-d "title=Freebies for all" \
-d "description=Some information" \
-d "metaData=Meta" \
-d "startDate=2016-06-01" \
-d "stopDate=2014-07-01" \
-d "additionalReceiptInfo=Special deal" \
-d "requireAddress=1" \
-d "requireVoucher=1" \
-d "limit=10" \
-d "products=[]"
Response
This endpoint supports the JSON and JSON-P response formats.
Success: 200 OK
Returns the newly created campaign object
Campaign
Campaigns are groups of products that may be given new prices when purchased through the campaign. For a campaign to be applied to a purchase, it’s campaignId
needs to be part of the purchase URL. Campaigns may have limitations on their availability in time (start and stop dates), count (ie how many times it has been used), voucher (requires a valid voucher code to use) or address (the user must supply a physical address in order to use it).
Although campaigns are intended for temporary special offers, they may also be used as permanent way of getting lists of products. For this use case one has to be aware that the newPrice
of campaign products does not update automatically if the product price is updated.
campaignId ✓ | integer (as string)The campaign's unique ID. Needs to be part of any purchase URL that should have the campaign applied |
---|---|
clientId ✓ | stringID of the client that owns this campaign |
title ✓ | stringCampaign title |
description ✓ | stringAdditional campaign description |
metaData | stringNot used by Schibsted account, for client-specific meta-data |
startDate ✓ | datetimeWhen the campaign starts/becomes active |
stopDate ✓ | datetimeWhen the campaign stops/ceases to be active |
additionalReceiptInfo | stringAdditional text to include in purchase receipts for this campaign |
requireAddress ✓ | string, "1" (true) or "0" (false)If |
requireVoucher ✓ | string, "1" (true) or "0" (false)If |
status ✓ | Campaign status |
limit ✓ | integer (as string)Maximum number of purchases allowed for this campaign |
count ✓ | integer (as string)The number of purchases made on this campaign so far |
updated ✓ | datetimeWhen the campaign was last updated |
created ✓ | datetimeWhen the campaign was created |
products | list of Campaign productsThe campaign's products |
The check mark ✓ indicates that the field always contains a valid non-empty value.
Campaign status
An enum, with the following possible values:
| New |
---|---|
| Active |
Failure cases
Some HTTP response codes are used for multiple error situations. There is no consistent way to tell these apart, but the error object will contain a textual explanation of the reason for the error. For explanation on OAuth related failures and errors see OAuth authentication failures.
- 401 Unauthorized You don't have administration rights for this client.
- 401 Unauthorized Your client doesn't have administration rights for this client.
- 403 Forbidden Client is not authorized to access this API endpoint. Contact Schibsted account to request access.
- 403 Forbidden Requesting IP is not whitelisted
- 403 Forbidden Access token rejected
- 404 Not Found Unknown client ID
- 404 Not Found Client ID mismatch. The client making the request is no the owner of this resource, and does not have administrative privileges for it.
- 420 Request Ratelimit exceeded
Sample response
JSON
{
"status": "1",
"clientId": "[Your client ID]",
"additionalReceiptInfo": null,
"requireVoucher": "0",
"count": "0",
"startDate": null,
"products": [],
"title": "My Campaign",
"created": "2014-08-05 12:59:48",
"updated": "2014-08-05 12:59:48",
"limit": null,
"stopDate": null,
"campaignId": "10047",
"requireAddress": "0",
"metaData": null,
"description": null
}
JSON-P
callback({
"status": "1",
"clientId": "[Your client ID]",
"additionalReceiptInfo": null,
"requireVoucher": "0",
"count": "0",
"startDate": null,
"products": [],
"title": "My Campaign",
"created": "2014-08-05 12:59:48",
"updated": "2014-08-05 12:59:48",
"limit": null,
"stopDate": null,
"campaignId": "10047",
"requireAddress": "0",
"metaData": null,
"description": null
});
Comments/feedback
Do you have questions, or just want to contribute some newly gained insight? Want to share an example? Please leave a comment. Our team reads and responds to every question. Additionally, your experience can help others using Schibsted account, and it can help us continuously improve our documentation.