Introduction
Create, delete, update, and search SKECHERS.com discounts and promocodes.
Error Codes
The Skechers Web Service uses conventional HTTP response codes to indicate the success or failure of an API request. When a request is valid, but does not complete successfully (e.g. user not found), a response is given containing a specific error code and error message about the point of failure.
Response Parameters
-
errorCode: string
An error code that can be referenced in the table to the right. Refer to this error code when identifying errors. -
errorMessage: string
A human-readable message providing more details about this error.
Codes
00001 | Request Timeout. |
---|---|
00002 | Invalid form data. |
05000 | Discount already exists. |
05001 | Discount not found. |
05002 | Discount expired. |
05003 | Discount not started. |
05004 | Max usage reached. |
05006 | Min purchase amount not met. |
05007 | Max purchase amount exceeded. |
05008 | Min quantity not met. |
05009 | Max quantity exceeded. |
05010 | Does not match gender specified for discount. |
05011 | Required style code not met. |
05012 | Must buy all required styles for this discount. |
05013 | Excluded style codes used. |
05014 | Discount cannot be approved. |
05015 | Discount not applicable to redlined items. |
05016 | Generic Error - Discount not applicable. |
Conditions
Parameters
-
id: int
Conditions ID, numeric only, no dashes. Example: 101. -
freeshipping: boolean
optionalTrue if free standard shipping, false otherwise. -
usesPerCustomer: int
optionalNumber of uses allowed per customer. Example: 10. -
maxusage: int
optionalMax number of times the discount can be used. Example: 10. -
minItemAmount: float
optionalMin item amount for which the discount can be applied to. Example: 10.00. -
maxItemAmount: float
optionalMax item amount for which the discount can be applied to. Example: 100.00. -
minOrderAmount: float
optionalMin order amount before the discount can be applied. Example: 200.00 -
maxOrderAmount: float
optionalMax order amount that the discount can be applied. Example: 300.00 -
minqty: int
optionalMin quantity of items before the discount can be applied. Example: 5. -
maxqty: int
optionalMax quantity of items that the customer can have so that the discount applies. Example: 15. -
mustbuyall: boolean
optionalTrue if all specified stylecodes / catids are required for discount to be applicable, false otherwise. -
includeDiscountItems: boolean
optionalTrue if the discount is applicable to discounted items, false otherwise. -
genders: list
optionalGenders the discount applies to. List of strings. Example: M for male, F for female. -
stylecodes: list
optionalStylecodes the discount applies to. List of strings. Example: 53927. -
excludedstyles: list
optionalStylecodes the discount doesn't apply to. List of strings. Example: 52619. -
catids: list
optionalCategory IDs the discount applies to. List of strings. -
excludedcatids: list
optionalCategory IDs the discount doesn't apply to. List of strings. -
divisions: list
optionalDivisions the discount applies to. List of strings. Example: TC for Men's Sport Casual. -
excludeddivisions: string
optionalDivisions the discount doesn't apply to. List of strings. TC for Men's Sport Casual.
Discount
Parameters
-
id: int
Discount ID, numeric only, no dashes. Example: 1492912. -
code: string
Discount code. Example: $30_OFF. -
amount: float
Discount amount. Example: 30.00. -
uses: int
Number of uses of the discount for tracking. Example: 5. -
locale: string
Locale where the discount is being applied to.en_US is US, en_US_direct is US Direct. es_CL is Chile, en_CA is Canada, fr_CA is French Canada, en_GB is UK, de_DE is Germany, and es_ES is Spain. -
description: string
Discount description. Example: Get 30 dollars off your order. -
notes: string
Discount notes. Example: This is a discount note. -
amountType: string
Amount type of the discount. Example: P for percent or F for fixed. -
discountType: string
Discount type. Example: I for item, O for order, or P for purchase with purchase (PWP). -
beginDate: long
Begin date discount should go into effect, expressed as a Unix timestamp in milliseconds. Example: 12/31/2025 is represented as 1767139200000. -
endDate: long
End date discount should end, expressed as a Unix timestamp in milliseconds. Example: 12/31/2025 is represented as 1767139200000. -
garpacid: string
optionalGarpac ID if this is a B2B discount, if applicable. Example: 88888. -
status: string
Discount status. A for active, P for pending, D for disabled. -
author: string
Author of the discount in email format. Example: skx_tester@skechers.com. -
conditions: object
Discount conditions. Please refer to the Conditions model under Model -> Conditions for fields that are associated with each Conditions object. -
purchaseConditions: object
Discount purchase conditions. Please refer to the Conditions model under Model -> Conditions for fields that are associated with each purchase conditions object.
Apply Discount
On error, returns an error code. On success, applies a discount to an order and returns the discount amount. It also returns the list of items for which the discount is applicable to as well as the list of excluded items for which the discount is not applicable to. The discount amount is divided evenly among each of the applicable items.
Request Parameters
-
discountcode: string
Discount code, nonEmptyText(maxLength = 50). -
lineitems.upccode: string
Item's UPC Code, nonEmptyText, string that is numeric only, no dashes. -
lineitems.quantity: int
Item Quantity.
Response Parameters
-
amount: float
Amount taken off the subtotal as a result of applying the discount. -
applicableItems: list
Items that the discount is applicable to. Refers to a list of objects for which the fields are listed below this entry. -
upc: string
Item's UPC code, string that is numeric only, no dashes. Example: 888222488215. -
productname: string
Name of the product. Example: D'Lites. -
code: string
Discount code applied to the order. Example: $10_OFF. -
discountType: string
Type of discount. Example: O for order type discount.
Example Request
curl \
-X POST \
-H "Content-type: application/json" \
-d '{"apikey":"AY8ZRNUHN2I4MNM5JQDDWVBXWQBEUH","request":{"discountcode":"$10_OFF","lineitems":[{"upccode":"193113109125","quantity":1},{"upccode":"884292343003","quantity":1}]}} ' http://retailapi-skechers-com.dev.skechers.com/api/discount/applyDiscount
Example Response
Live Response
Batch Create
Batch create discounts. On error, returns an error code. On success, sends csv file to provided email address and returns a confirmation message stating that an email has been sent to the email address provided.
Request Parameters
-
refid: string
Reference Id to avoid duplicates. Non-empty text, minLength = 5. -
email: string
Email address to send the codes to. Non-empty text. -
suffixlength: int
Discount code suffix length. MaxLength = 50. -
numofdiscounts: int
Number of discounts to generate. Max limit of 500,000. -
prefix: string
Discount prefix, nonEmptyText( maxLength = 10). -
excludes: string
List of chars to exclude from generated codes. -
alphanumeric: boolean
True if alphanumeric code, else it will be entirely numeric. -
freeshipping: boolean
optionalFree standard shipping. Default value=false -
usesPerCustomer: int
optionalNumber of times a customer can use the discount. -
maxusage: int
optionalMax number of times the discount can be used. -
minItemAmount: float
optionalMin item amount. -
maxItemAmount: float
optionalMax item amount. -
minOrderAmount: float
optionalMin order amount. -
maxOrderAmount: float
optionalMax order amount. -
minqty: int
optionalMin quantity. -
maxqty: int
optionalMax quantity. -
mustbuyall: boolean
optionalIf all specified stylecodes / catids are required for discount to be applicable. Default value=false -
includeDiscountItems: boolean
optionalIf the discount is applicable to discounted items. Default value=false -
genders: list
optionalGenders the discount applies to. List of strings. -
stylecodes: list
optionalStylecodes the discount applies to. List of strings. -
excludedstyles: list
optionalStylecodes the discount doesn't apply to. List of strings. -
catids: list
optionalCategory IDs the discount applies to. List of strings. -
excludedcatids: list
optionalCategory IDs the discount doesn't apply to. List of strings. -
divisions: list
optionalDivisions the discount applies to. List of strings. -
excludeddivisions: list
optionalDivisions the discount doesn't apply to. List of strings. -
code: string
Discount code, nonEmptyText(maxLength= 50). -
amount: float
Discount amount. -
description: string
Discount description. -
notes: string
optionalDiscount notes. -
amounttype: string
Whether the discount is percentage-based or fixed, nonEmptyText. Char. Either P for Percent, or F for Fixed. -
discounttype: string
Whether the discount is an item, order, or PWP discount, nonEmptyText. Char. I for Item Discount, O for Order Discount, P for PWP Discount. -
begindate: long
Begin date discount should go into effect, expressed as a Unix timestamp in milliseconds. -
enddate: long
End date discount should end, expressed as a Unix timestamp in milliseconds. -
garpacid: string
optionalGarpac ID if this is a B2B discount. -
pwpConditions: object
optionalAnother set of conditions.
Example Request
curl \
-X POST \
-H "Content-type: application/json" \
-d '{"apikey":"AY8ZRNUHN2I4MNM5JQDDWVBXWQBEUH","request":{"refid":"L39F5","email":"skxtest@skechers.com","suffixlength":10,"numofdiscounts":10,"prefix":"SKX","excludes":["!","#"],"alphanumeric":true,"discount":{"conditions":{"excludedcatids":[],"maxqty":5,"excludeddivisions":[],"excludedstyles":[],"catids":[],"maxOrderAmount":250,"mustbuyall":false,"includeDiscountItems":false,"freeshipping":true,"maxusage":40,"stylecodes":["193113109125"],"minOrderAmount":100,"divisions":[],"genders":["M"],"maxItemAmount":110.5,"minqty":1,"minItemAmount":5.5},"description":"Another description","amount":"40.00","begindate":1403549175000,"code":"$10_OFF","discounttype":"O","notes":"Notes","enddate":1435085175000,"amounttype":"P"}}} ' http://retailapi-skechers-com.dev.skechers.com/api/discount/batchCreate
Example Response
Live Response
Create Discount
Add a discount. Automatically set to inactive, requires approval first. On error, returns an error code. On success, returns a Discount object.
Request Parameters
-
code: string
Discount code, nonEmptyText(maxLength= 50). -
amount: float
Discount amount. -
description: string
Discount description. -
notes: string
optionalDiscount notes. -
amounttype: string
Whether the discount is percentage-based or fixed, nonEmptyText. Char. Either P for Percent, or F for Fixed. -
discounttype: string
Whether the discount is an item, order, or PWP discount, nonEmptyText. Char. I for Item Discount, O for Order Discount, P for PWP Discount. -
begindate: long
Begin date discount should go into effect, expressed as a Unix timestamp in milliseconds. -
enddate: long
End date discount should end, expressed as a Unix timestamp in milliseconds. -
garpacid: string
optionalGarpac ID if this is a B2B discount. -
freeshipping: boolean
optionalFree standard shipping. Default value=false -
usesPerCustomer: int
optionalNumber of times a customer can use the discount. -
maxusage: int
optionalMax number of times the discount can be used. -
minItemAmount: float
optionalMin item amount. -
maxItemAmount: float
optionalMax item amount. -
minOrderAmount: float
optionalMin order amount. -
maxOrderAmount: float
optionalMax order amount. -
minqty: int
optionalMin quantity. -
maxqty: int
optionalMax quantity. -
mustbuyall: boolean
optionalIf all specified stylecodes / catids are required for discount to be applicable. Default value=false -
includeDiscountItems: boolean
optionalIf the discount is applicable to discounted items. Default value=false -
genders: list
optionalGenders the discount applies to. List of strings. -
stylecodes: list
optionalStylecodes the discount applies to. List of strings. -
excludedstyles: list
optionalStylecodes the discount doesn't apply to. List of strings. -
catids: list
optionalCategory IDs the discount applies to. List of strings. -
excludedcatids: list
optionalCategory IDs the discount doesn't apply to. List of strings. -
divisions: list
optionalDivisions the discount applies to. List of strings. -
excludeddivisions: string
optionalDivisions the discount doesn't apply to. List of strings. -
giveAwayConditions: object
optionalAnother set of conditions.
Response Parameters
-
Discount: object
Refers to a Discount object for which the model can be found in the Models section of this document under Models -> Discount.
Example Request
curl \
-X POST \
-H "Content-type: application/json" \
-d '{"apikey":"AY8ZRNUHN2I4MNM5JQDDWVBXWQBEUH","request":{"conditions":{"excludedcatids":[],"maxqty":2,"excludeddivisions":[],"excludedstyles":["52619"],"catids":[],"maxOrderAmount":500,"mustbuyall":false,"includeDiscountItems":false,"freeshipping":false,"maxusage":1,"stylecodes":["53927"],"minOrderAmount":15,"divisions":[],"genders":["M"],"maxItemAmount":200,"minqty":1,"usesPerCustomer":1,"minItemAmount":10},"garpacid":"88888","description":"Another description","amount":30,"begindate":1403549175000,"code":"$30_OFF","discounttype":"O","pwpConditions":{"stylecodes":["68135"]},"notes":"Notes","enddate":1435085175000,"amounttype":"P"}} ' http://retailapi-skechers-com.dev.skechers.com/api/discount/createDiscount
Example Response
Live Response
Get Discount By Code
Get discount by code and locale. On error, returns an error code. On success, returns a Discount object.
Request Parameters
-
code: string
Discount code, case insensitive. Non-empty text.
Response Parameters
-
Discount: object
Refers to a Discount object for which the model can be found in the Models section of this document under Models -> Discount.
Example Request
curl \
-X POST \
-H "Content-type: application/json" \
-d '{"apikey":"AY8ZRNUHN2I4MNM5JQDDWVBXWQBEUH","request":{"code":"QHUANG6TSO"}} ' http://retailapi-skechers-com.dev.skechers.com/api/discount/getDiscountByCode
Example Response
Live Response
Get Discounts By Status
Get all discounts associated with a status. 'A' for Active, 'P' for Pending, 'D' for disabled. On error, returns an error code. On success, returns a list of Discount objects that meet the status criteria.
Request Parameters
-
status: string
Discount status, nonEmptyText. A for Active, P for Pending, D for Disabled.
Response Parameters
-
Discount: object
Refers to a Discount object for which the model can be found in the Models section of this document under Models -> Discount.
Example Request
curl \
-X POST \
-H "Content-type: application/json" \
-d '{"apikey":"AY8ZRNUHN2I4MNM5JQDDWVBXWQBEUH","request":{"status":["P"]}} ' http://retailapi-skechers-com.dev.skechers.com/api/discount/getDiscountsByStatus
Example Response
Live Response
Increment Usage
Increment usage of a discount. On error, returns an error code. On success, increments the usage of the discount provided and returns a success confirmation message.
Request Parameters
-
code: string
Discount code, nonEmptyText.
Example Request
curl \
-X POST \
-H "Content-type: application/json" \
-d '{"apikey":"AY8ZRNUHN2I4MNM5JQDDWVBXWQBEUH","request":{"code":"$10_OFF"}} ' http://retailapi-skechers-com.dev.skechers.com/api/discount/incrementUsage
Example Response
Live Response
Resend Batch Email
Send email with csv of generated codes from previous batch creation. On error, returns an error code. On success, resends csv file containing the batch of discounts associated with prefix and refid provided to the email address provided. Also returns a confirmation message stating that an email has been sent to the email address provided.
Request Parameters
-
prefix: string
Discount prefix, nonEmptyText. -
email: string
Email address to send the codes to. Non-empty text. -
refid: string
Reference Id to avoid duplicates. Non-empty text.
Example Request
curl \
-X POST \
-H "Content-type: application/json" \
-d '{"apikey":"AY8ZRNUHN2I4MNM5JQDDWVBXWQBEUH","request":{"email":"skxtest@skechers.com","prefix":"SKX","refid":"L39F5"}} ' http://retailapi-skechers-com.dev.skechers.com/api/discount/resendBatchEmail
Example Response
Live Response
Search By Field
Search discounts by code, begin date, end date, or description. All optional fields. Does not include batch discounts. Limit 1000. On error, returns an error code. On success, returns a list of Discount objects that meet the search criteria.
Request Parameters
-
code: string
optionalDiscount code. -
begindate: long
optionalBeginning of date range to search, expressed as a Unix timestamp in milliseconds. -
enddate: long
optionalEnd of date range to search, expressed as a Unix timestamp in milliseconds. -
description: string
optionalDiscount description.
Response Parameters
-
Discount: object
Refers to a Discount object for which the model can be found in the Models section of this document under Models -> Discount.
Example Request
curl \
-X POST \
-H "Content-type: application/json" \
-d '{"apikey":"AY8ZRNUHN2I4MNM5JQDDWVBXWQBEUH","request":{"code":"$10_OFF","begindate":1388534400000,"enddate":1580284800000,"description":"Get $10 off your total order"}} ' http://retailapi-skechers-com.dev.skechers.com/api/discount/searchByField
Example Response
Live Response
Update Discount
Update a discount. Automatically set to inactive, requires approval first. On error, returns an error code. On success, returns the updated Discount object.
Request Parameters
-
amount: string
Must be a string that contains a float. -
description: string
-
notes: string
optional -
begindate: int
Begin date discount should go into effect, in milliseconds. -
enddate: int
End date discount should end, in milliseconds. -
freeshipping: boolean
Free standard shipping. -
garpacid: string
optionalGarpac ID if this is a B2B discount. -
maxusage: string
optional -
minItemAmount: int
optionalMin item amount. Float. -
maxItemAmount: int
optionalMax item amount. Float. -
minOrderAmount: int
optionalMin order amount. Float. -
maxOrderAmount: int
optionalMax order amount. Float. -
minqty: int
optionalMin quantity. -
maxqty: int
optionalMax quantity. -
mustbuyall: boolean
optionalIf all specified stylecodes / catids are required for discount to be applicable. -
genders: list
optionalGenders discount applies to. List of strings. -
stylecodes: list
optionalExcluded stylecodes discount applies to. List of strings. -
excludedstyles: list
optionalStylecodes discount doesn't apply to. List of strings. -
catids: list
optionalCategory IDs that discount applies to. List of strings. -
excludedcatids: list
optionalCategory IDs that discount doesn't apply to. List of strings. -
pwpConditions: object
optionalAnother set of conditions.
Response Parameters
-
Discount: object
Refers to a Discount object for which the model can be found in the Models section of this document under Models -> Discount.
Example Request
curl \
-X POST \
-H "Content-type: application/json" \
-d '{"apikey":"AY8ZRNUHN2I4MNM5JQDDWVBXWQBEUH","request":{"discount":{"conditions":{"stylecodes":["53927"]},"giveAwayConditions":{"stylecodes":["68135"]},"description":"Another description","amount":"100.00","begindate":1403549175000,"code":"GIVEAWAY10","discounttype":"O","notes":"Notes","enddate":1435085175000,"amounttype":"P"}}} ' http://retailapi-skechers-com.dev.skechers.com/api/discount/updateDiscount
Example Response
Live Response
Update Status
Approve, disable, activate a discount. On error, returns an error code. On success, updates the status of the provided discount and returns a success confirmation message.
Request Parameters
-
code: string
Discount code, nonEmptyText. -
status: string
Discount status will be updated to the value provided in this field, nonEmptyText. Set 'A' to set to active, 'P' for pending, 'D' for disabled. -
author: string
Email address of the discount author, nonEmptyText.
Example Request
curl \
-X POST \
-H "Content-type: application/json" \
-d '{"apikey":"AY8ZRNUHN2I4MNM5JQDDWVBXWQBEUH","request":{"code":"$10_OFF","status":"A","author":"skxtest@skechers.com"}} ' http://retailapi-skechers-com.dev.skechers.com/api/discount/updateStatus