createPromotion
post
/ccadmin/v1/promotions
Create a new promotion. **Requires the x-ccasset-language header so translated content can be set for a specific language.**
Request
Supported Media Types
- application/json
Header Parameters
-
X-CCAsset-Language: string
The asset language of the request
Root Schema : createPromotion_request
Type:
Show Source
object
-
audiences(optional):
array audiences
List of audiences to which the promotion is limited. An empty list implies no restrictions.
-
cardIINRanges(optional):
array cardIINRanges
List of issuer identification numbers including wildcards and ranges for which the promotion should be applied.
-
description(optional):
string
The description of the promotion.
-
displayName:
string
The display name of the promotion.
-
enabled(optional):
boolean
Whether or not the promotion is currently enabled.
-
endDate(optional):
string
When this promotion ceases to be active
-
excludedPromotions(optional):
array excludedPromotions
List of promotions to be excluded from the current promotion. Item promotions can exclude promotions of type: item, order, shipping. Order promotions can exclude promotion of type order and shipping. Shipping promotions can only exclude another shipping promotions.
-
filterForQualifierActedAsQualifier(optional):
boolean
Determines whether qualifiers can be reused in a promotion. If true, qualifiers can be used only once per promotion evaluation. Applicable to all promotion types. If unset, will be treated as true.
-
filterForQualifierDiscountedByAny(optional):
boolean
Determines whether items discounted by any promotion can act as qualifiers for other promotions. Applicable to all promotion types. If unset, will be treated as true.
-
filterForQualifierDiscountedByCurrent(optional):
boolean
Determines whether items discounted by the current promotion can act as qualifiers for other promotions. Applicable to item promotions. If unset, will be treated as true.
-
filterForQualifierNegativePrices(optional):
boolean
Determines whether items with negative prices can act as qualifiers for other promotions. Applicable to all promotion types. If unset, will be treated as true.
-
filterForQualifierOnSale(optional):
boolean
Determines whether items that were priced with a sale price should be allowed to act as qualifiers. Applicable to all promotion types. If unset, will be treated as false.
-
filterForQualifierZeroPrices(optional):
boolean
Determines whether items with zero prices can act as qualifiers. Applicable to all promotion types. If unset, will be treated as true.
-
filterForTargetActedAsQualifier(optional):
boolean
Determines whether items that have acted as a qualifier for any discount can receive the current discount. Applicable to item promotions. If unset, will be treated as true.
-
filterForTargetDiscountedByAny(optional):
boolean
Determines whether items that have been discounted by any promotion can receive another discount. Applicable to item promotions. If unset, will be treated as true.
-
filterForTargetDiscountedByCurrent(optional):
boolean
Determines whether items that have been discounted by the current promotion can receive the discount again. Applicable to item promotions. If unset, will be treated as true.
-
filterForTargetNegativePrices(optional):
boolean
Determines whether items with negative prices can receive the discount. Applicable to item promotions. If unset, will be treated as true.
-
filterForTargetOnSale(optional):
boolean
Determines whether items that were priced with a sale price should be allowed to receive the current discount. If unset, will be treated as true.
-
filterForTargetPriceLTOETPromoPrice(optional):
boolean
Determines whether to exclude items with price lower than promotion price. Applicable to item promotions. If unset, will be treated as true.
-
filterForTargetZeroPrices(optional):
boolean
Determines whether items with zero prices can receive the discount. Applicable to item promotions. If unset, will be treated as true.
-
maxUsesPerOrder(optional):
integer
Number of times a promotion can be applied to an order, -1 indicates that the same promotion can be applied unlimited number of times
-
parentFolder(optional):
object parentFolder
Map of promotion folder's repository ID key and value. In order to have no folder assignment, set parentFolder to null e.g. "parentFolder": null or skip the property completely.
-
priceListGroups(optional):
array priceListGroups
The price List Groups
-
priority:
string
The priority of this promotion over other promotions
-
shippingMethods(optional):
array shippingMethods
Shipping Methods for which the promotion should be applied
-
sites(optional):
array sites
This will limit the promotion to being applicable only to the 1+ specified sites. An empty array means the promotion applies to all sites.
-
startDate(optional):
string
When this promotion becomes active
-
templateName:
string
The name of the promotion template to use.
-
templatePath:
string
The path to the promotion template.
-
templateValues(optional):
object templateValues
Specifies the template values that are used as part of the promotion to control its behavior
Example:
{
"endDate":"2014-04-29T19:30:00.000-04:00",
"filterForQualifierZeroPrices":null,
"displayName":"10% Off Orders Over $100 ",
"templateValues":{
"spend_value":"100",
"discount_value":"10",
"discount_type_value":"percentOff"
},
"description":"Spend $100 today and get 10% off your order!",
"sites":[
{
"repositoryId":"funSite"
},
{
"repositoryId":"anotherFunSite"
}
],
"priority":1,
"filterForQualifierDiscountedByAny":null,
"templatePath":"order",
"enabled":true,
"cardIINRanges":[
"456789",
"9878",
"987634-987648"
],
"filterForQualifierNegativePrices":null,
"excludedPromotions":[
{
"repositoryId":"explicitItemFixedDiscount"
},
{
"repositoryId":"bogoPromotion"
}
],
"filterForQualifierOnSale":null,
"parentFolder":{
"repositoryId":"promoFolder100001"
},
"templateName":"spendYGetOrderDiscount",
"audiences":[
{
"repositoryId":"audienceId1"
},
{
"repositoryId":"audienceId2"
}
],
"maxUsesPerOrder":3,
"filterForQualifierActedAsQualifier":null,
"startDate":"2014-04-25T17:30:00.000-04:00",
"shippingMethods":[
"priorityShippingMethod",
"groundShippingMethod"
]
}
Nested Schema : audiences
Type:
array
List of audiences to which the promotion is limited. An empty list implies no restrictions.
Show Source
Nested Schema : cardIINRanges
Type:
array
List of issuer identification numbers including wildcards and ranges for which the promotion should be applied.
Show Source
Nested Schema : excludedPromotions
Type:
array
List of promotions to be excluded from the current promotion. Item promotions can exclude promotions of type: item, order, shipping. Order promotions can exclude promotion of type order and shipping. Shipping promotions can only exclude another shipping promotions.
Show Source
Nested Schema : parentFolder
Type:
object
Map of promotion folder's repository ID key and value. In order to have no folder assignment, set parentFolder to null e.g. "parentFolder": null or skip the property completely.
Show Source
-
repositoryId(optional):
string
Existing promotion folder's repository ID
Nested Schema : shippingMethods
Type:
array
Shipping Methods for which the promotion should be applied
Show Source
Nested Schema : sites
Type:
array
This will limit the promotion to being applicable only to the 1+ specified sites. An empty array means the promotion applies to all sites.
Show Source
Nested Schema : templateValues
Type:
object
Specifies the template values that are used as part of the promotion to control its behavior
Show Source
-
condition_psc_value(optional):
object condition_psc_value
The condition product set criteria value
-
discount_type_value(optional):
string
The discount type
-
discount_value(optional):
string
The discount value
-
discountStructure(optional):
object discountStructure
The discount structure
-
gwpItem(optional):
object gwpItem
The gift with promotion configuration details
-
no_of_items_to_buy(optional):
string
The number of items to buy
-
no_of_items_to_discount(optional):
string
The number of items to discount
-
offer_psc_value(optional):
object offer_psc_value
The offer product set criteria values
-
optional_offer_psc_value(optional):
object optional_offer_psc_value
The offer product set criteria values
-
PSC_value(optional):
object PSC_value
The product set criteria values
-
sort_by(optional):
string
The sort by condition
-
sort_order(optional):
string
The sort order
-
spend_value(optional):
string
The spend value
Nested Schema : items
Type:
Show Source
object
-
repositoryId:
string
The ID of an audience associated with the promotion.
Nested Schema : items
Type:
Show Source
object
-
repositoryId:
string
The ID of a site associated with the promotion.
Nested Schema : condition_psc_value
Type:
object
The condition product set criteria value
Show Source
-
excludedCategories(optional):
array excludedCategories
The excluded categories
-
excludedProducts(optional):
array excludedProducts
The excluded products
-
excludedSkus(optional):
array excludedSkus
The excluded SKU IDs
-
includedCategories(optional):
array includedCategories
The included categories
-
includedProducts(optional):
array includedProducts
The included products
-
includedSkus(optional):
array includedSkus
The included SKU IDs
Nested Schema : discountStructure
Type:
object
The discount structure
Show Source
-
discount_details(optional):
array discount_details
The discount details
-
discount_type_value(optional):
string
The discount type value
Nested Schema : gwpItem
Type:
object
The gift with promotion configuration details
Show Source
-
autoRemove(optional):
boolean
Whether to remove item from cart when cart no longer meets buy condition
-
giftId(optional):
string
The product id of the gift item
-
giftType(optional):
string
The gift item type
Nested Schema : offer_psc_value
Type:
object
The offer product set criteria values
Show Source
-
excludedCategories(optional):
array excludedCategories
The excluded categories
-
excludedProducts(optional):
array excludedProducts
The excluded products
-
excludedSkus(optional):
array excludedSkus
The excluded SKU IDs
-
includedCategories(optional):
array includedCategories
The included categories
-
includedProducts(optional):
array includedProducts
The included products
-
includedSkus(optional):
array includedSkus
The included SKU IDs
Nested Schema : optional_offer_psc_value
Type:
object
The offer product set criteria values
Show Source
-
excludedCategories(optional):
array excludedCategories
The excluded categories
-
excludedProducts(optional):
array excludedProducts
The excluded products
-
excludedSkus(optional):
array excludedSkus
The excluded SKU IDs
-
includedCategories(optional):
array includedCategories
The included categories
-
includedProducts(optional):
array includedProducts
The included products
-
includedSkus(optional):
array includedSkus
The included SKU IDs
-
sameAsCondition(optional):
boolean
Items to include and exclude for offer are the same as items in buy condition
Nested Schema : PSC_value
Type:
object
The product set criteria values
Show Source
-
excludedCategories(optional):
array excludedCategories
The excluded categories
-
excludedProducts(optional):
array excludedProducts
The excluded products
-
excludedSkus(optional):
array excludedSkus
The excluded SKU IDs
-
includedCategories(optional):
array includedCategories
The included categories
-
includedProducts(optional):
array includedProducts
The included products
-
includedSkus(optional):
array includedSkus
The included SKU IDs
Nested Schema : items
Type:
Show Source
object
-
discount_value(optional):
string
The discount value
-
spend_value(optional):
string
The spend value
Response
Supported Media Types
- application/json
200 Response
Following model is returned when operation succeeds.
Root Schema : createPromotion_response
Type:
Show Source
object
-
cardIINRanges(optional):
array cardIINRanges
List of issuer identification numbers including wildcards and ranges for which the promotion should be applied.
-
displayName(optional):
string
The display name of the promotion.
-
enabled(optional):
boolean
Whether or not the promotion is currently enabled.
-
endDate(optional):
string
When this promotion ceases to be active
-
filterForQualifierActedAsQualifier(optional):
boolean
Determines whether qualifiers can be reused in a promotion. If true, qualifiers can be used only once per promotion evaluation. Applicable to all promotion types. If unset, will be treated as true.
-
filterForQualifierDiscountedByAny(optional):
boolean
Determines whether items discounted by any promotion can act as qualifiers for other promotions. Applicable to all promotion types. If unset, will be treated as true.
-
filterForQualifierDiscountedByCurrent(optional):
boolean
Determines whether items discounted by the current promotion can act as qualifiers for other promotions. Applicable to item promotions. If unset, will be treated as true.
-
filterForQualifierNegativePrices(optional):
boolean
Determines whether items with negative prices can act as qualifiers for other promotions. Applicable to all promotion types. If unset, will be treated as true.
-
filterForQualifierOnSale(optional):
boolean
Determines whether items that were priced with a sale price should be allowed to act as qualifiers. Applicable to all promotion types. If unset, will be treated as false.
-
filterForQualifierZeroPrices(optional):
boolean
Determines whether items with zero prices can act as qualifiers. Applicable to all promotion types. If unset, will be treated as true.
-
filterForTargetActedAsQualifier(optional):
boolean
Determines whether items that have acted as a qualifier for any discount can receive the current discount. Applicable to item promotions. If unset, will be treated as true.
-
filterForTargetDiscountedByAny(optional):
boolean
Determines whether items that have been discounted by any promotion can receive another discount. Applicable to item promotions. If unset, will be treated as true.
-
filterForTargetDiscountedByCurrent(optional):
boolean
Determines whether items that have been discounted by the current promotion can receive the discount again. Applicable to item promotions. If unset, will be treated as true.
-
filterForTargetNegativePrices(optional):
boolean
Determines whether items with negative prices can receive the discount. Applicable to item promotions. If unset, will be treated as true.
-
filterForTargetOnSale(optional):
boolean
Determines whether items that were priced with a sale price should be allowed to receive the current discount. If unset, will be treated as true.
-
filterForTargetPriceLTOETPromoPrice(optional):
boolean
Determines whether to exclude items with price lower than promotion price. Applicable to item promotions. If unset, will be treated as true.
-
filterForTargetZeroPrices(optional):
boolean
Determines whether items with zero prices can receive the discount. Applicable to item promotions. If unset, will be treated as true.
-
id(optional):
string
The Promotion id.
-
lastModified(optional):
string
When promotion was last modified
-
parentFolder(optional):
object parentFolder
Map of promotion folder's repository ID key and value.
-
repositoryId(optional):
string
The Promotion id.
-
sites(optional):
array sites
This will limit the promotion to being applicable only to the 1+ specified sites. An empty array means the promotion applies to all sites.
-
stackingRule(optional):
object stackingRule
Represents a rule to determine a group of promotions that can be used together.
-
startDate(optional):
string
When this promotion becomes active
-
type(optional):
integer
Integer representation of the promotion type (shipping, item, order).
Nested Schema : cardIINRanges
Type:
array
List of issuer identification numbers including wildcards and ranges for which the promotion should be applied.
Show Source
Nested Schema : parentFolder
Type:
object
Map of promotion folder's repository ID key and value.
Show Source
-
repositoryId(optional):
string
The promotion folder's repository ID that the promotion is assigned to.
Nested Schema : sites
Type:
array
This will limit the promotion to being applicable only to the 1+ specified sites. An empty array means the promotion applies to all sites.
Show Source
Nested Schema : stackingRule
Type:
object
Represents a rule to determine a group of promotions that can be used together.
Show Source
-
displayName(optional):
string
The name of the rule.
-
id(optional):
string
The stacking rule id.
-
maxPromotions(optional):
string
The maximum number of promotions that can be applied to an order based on this rule.
-
repositoryId(optional):
string
The stacking rule id
Nested Schema : items
Type:
Show Source
object
-
repositoryId(optional):
string
The ID of a site associated with the promotion.
Example Response (application/json)
{
"parentFolder":null,
"filterForQualifierOnSale":null,
"filterForQualifierZeroPrices":null,
"displayName":"10% Off Orders Over $100 ",
"id":"promo20014",
"type":9,
"filterForQualifierActedAsQualifier":null,
"filterForQualifierDiscountedByAny":null,
"enabled":true,
"cardIINRanges":[
"456789",
"9878",
"987634-987648"
],
"filterForQualifierNegativePrices":null
}
Default Response
The error response.
The following are the internal error codes thrown by this API when the request processing fails in Oracle Commerce Cloud:
|Error Code|Description|
|------------------|------------------|
|21247|Invalid format for parentFolder property|
|21244|No item found for the following type and ID: promotionFolder,invalidId|
|21110|Invalid data error. The exact error message will vary based on the property.|
|21174|incompatiblePromotionId : Promotion type item can not be included/excluded with the given promotion type : {item/order or discount}.|
|21171|No item found for the following type and ID: promotion, invalidPromotion.|
Root Schema : errorModel
Type:
Show Source
object
-
devMessage(optional):
string
An optional non-localized message containing technical information for developers
-
errorCode(optional):
string
The numerical code identifying the error
-
errors(optional):
array errors
An optional list of errors if multiple errors were encountered
-
message(optional):
string
The localized message describing the error
-
moreInfo(optional):
string
An optional non-localized message with more information
-
o:errorPath(optional):
string
An optional machine readable description of where the error occurred
-
status(optional):
string
The HTTP status code
-
type(optional):
string
The URI to the HTTP state code definition
Nested Schema : errors
Type:
array
An optional list of errors if multiple errors were encountered
Show Source
Nested Schema : items
Type:
Show Source
object
-
devMessage(optional):
string
An optional non-localized message containing technical information for developers
-
errorCode(optional):
string
The numerical code identifying the error
-
message(optional):
string
The localized message describing the error
-
moreInfo(optional):
string
An optional non-localized message with more information
-
o:errorPath(optional):
string
An optional machine readable description of where the error occurred
-
status(optional):
string
The HTTP status code