The Sellers Commerce Open API provides a simple RESTful interface with lightweight JSON-formatted responses to use many of Sellers Commerce features,
included data related to Shopper,Order, Tools, Product,Category and many more.
And its using OAuth to allow both read and write access for public and private data.
This document provides information to developers on how to integrate with the Sellers Commerce Open API.
Sellers Commerce Open API's are accessible by as base url which looks like
api.sellerscommerce.com/api/Shopper/getall
api.sellerscommerce.com/api/Shopper/getall
All requests must be made with https. Both request body data and response data are formatted as JSON. Every request, including JSON, must have a Content-Type Http Request Header with a value of application/json.
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
The Sellers Commerce Open API uses a standard Authorization header to identifies every request.
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
An endpoint's name indicates the type of data it handles and the action it performs on that data. We are using below actions only:
Action | HTTP | Method Description |
Create | POST | Creates an entity of the corresponding type. |
Retrieve | GET | Returns all instances of a particular entity that match query parameters you provide. |
Delete | DELETE | Deletes the existing entity that matches the identifier you provide. Deleted entities cannot be retrieved. |
Requests to Connect Sellers Commerce Open API endpoints must include the following HTTP headers:
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
The Sellers Commerce Open API currently only support JSON format.
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Sellers Commerce get all api endpoint also support most commonly used odata Queries which are available these days for generic query:
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
The SellersCommerce Open API attempts to return appropriate HTTP status codes for every request.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Error Messages
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
In addition to descriptive error text, error messages contain machine-parseable codes. While the text for an error message may change, the codes will stay the same. The following table describes the codes which may appear when working with the API:
Sellers Commerce Response Code | Response Body Text/Results | Response Messages | HTTP Status Code | HTTP Status Message |
20 | Processed | Processed Successfully | 200 | OK |
21 | ProviderNotExists | Provider Does Not Exist | 404 | NotFound |
22 | UserNotExists | User Does Not Exist | 404 | NotFound |
24 | OrderNotExist | Order Does Not Exist | 404 | NotFound |
25 | SkuNotExist | Order item with provided SKU Code Does Not Exist in current order | 404 | NotFound |
26 | InvalidQty | Shipment quantity is more than quantity to be shipped. | 406 | NotAcceptable |
27 | PaymenExist | Payment data already exist for requested order | 406 | NotAcceptable |
28 | AlreadyCaptured | Requested Order alredy captured | 406 | NotAcceptable |
29 | ProcessFailed | Process gets failed due to some internal errors | 406 | NotAcceptable |
30 | InvalidData | Invalid data provided | 406 | NotAcceptable |
31 | CategoryNotExist | Category doesn't exists | 406 | NotAcceptable |
32 | ParentCategoryNotExists | Parent Category doesn't exists | 406 | NotAcceptable |
33 | Exists | Already exists for current request | 406 | NotAcceptable |
34 | InvalidSku | Invalid SKU Data Provided | 406 | NotAcceptable |
35 | BrandNotExists | Brand and First level category does nor match, Brand Does not exist in our database, Please provide the correct brand name or include it in category if new | 406 | NotAcceptable |
36 | InsertCategoryFailed | Category insertion for this product has been Failed, Please try again with valid data | 406 | NotAcceptable |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentMethodId | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
DiscountTypeId | Flat | 3 |
Percentage | 4 | |
DiscountOnOtherProduct | 5 | |
BuyXGetY | 6 | |
None | 217 |
Api Column Name | Name | Value |
---|---|---|
PaymentStatusId | AuthorizeAndCapture | 74 |
AuthorizeOnly | 75 | |
PriorAuthCapture | 86 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentGatewayId | Authorized Net | 25 |
Moneris | 26 | |
PayPal [Credit Card] | 27 | |
XCharge | 28 | |
Sage | 29 | |
USAePay | 73 | |
Fast Charge | 96 | |
PayPal [Express Checkout] | 206 | |
Stripe | 220 | |
Square | 221 | |
Cyber Source(Secure Acceptance) | 229 |
Api Column Name | Name | Value |
---|---|---|
Gender | Male | 1 |
Female | 2 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
OptionTypeId | Multiple | 46 |
Swatch | 47 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
ActionId | Remove Category and Mapping | 1 |
Remove Category Mapping from Parent | 2 |
Api Column Name | Name | Value |
---|---|---|
PricingType | Amount | 1 |
Percentage | 2 | |
FreeShipping | 3 |
Api Column Name | Name | Value |
---|---|---|
Display Type ID | Text Box | 1 |
Drop Down | 2 | |
Picture | 3 |
Api Column Name | Name | Value |
---|---|---|
Discount Type ID | Price Discount | 1 |
Percentage Discount | 2 |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
Payment Method ID | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
Return Status ID | Return Initiated | 97 |
Return Accepted | 98 | |
Return Rejected | 99 | |
Return Refunded | 100 | |
Return Partially Accepted | 104 |
Api Column Name | Name | Value |
---|---|---|
Return Type ID | Replaced | 102 |
Refunded | 103 |
API Name | Description |
---|---|
api/product/getall | This method will return the list of Products as json list object |
api/product/getallproducts | This method will return the list of Products as json list object |
api/product/getallproductskus?top={top}&skip={skip}&SCproductID={SCproductID}&ProductCode={ProductCode} | This method will return the list of skus avaiable in Store as Json list object |
api/product/get/{productcode} | This method will return single Product details as json object for Productcode |
api/product/products | This method will Post the single Product Informations and add or update the informations in our database |
api/product/updateskuprice | This method will Update the SKU Price Informations in our database |
api/product/updateskuinventory | This method will Update the SKU Inventory in our database |
api/product/getallsuppliers | This method will return the list of all Suppliers as json list object |
api/product/getproducts | No Documentation Available |
The Sellers Commerce Open API provides a simple RESTful interface with lightweight JSON-formatted responses to use many of Sellers Commerce features,
included data related to Shopper,Order, Tools, Product,Category and many more.
And its using OAuth to allow both read and write access for public and private data.
This document provides information to developers on how to integrate with the Sellers Commerce Open API.
Sellers Commerce Open API's are accessible by as base url which looks like
api.sellerscommerce.com/api/Shopper/getall
api.sellerscommerce.com/api/Shopper/getall
All requests must be made with https. Both request body data and response data are formatted as JSON. Every request, including JSON, must have a Content-Type Http Request Header with a value of application/json.
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
The Sellers Commerce Open API uses a standard Authorization header to identifies every request.
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
An endpoint's name indicates the type of data it handles and the action it performs on that data. We are using below actions only:
Action | HTTP | Method Description |
Create | POST | Creates an entity of the corresponding type. |
Retrieve | GET | Returns all instances of a particular entity that match query parameters you provide. |
Delete | DELETE | Deletes the existing entity that matches the identifier you provide. Deleted entities cannot be retrieved. |
Requests to Connect Sellers Commerce Open API endpoints must include the following HTTP headers:
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
The Sellers Commerce Open API currently only support JSON format.
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Sellers Commerce get all api endpoint also support most commonly used odata Queries which are available these days for generic query:
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
The SellersCommerce Open API attempts to return appropriate HTTP status codes for every request.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Error Messages
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
In addition to descriptive error text, error messages contain machine-parseable codes. While the text for an error message may change, the codes will stay the same. The following table describes the codes which may appear when working with the API:
Sellers Commerce Response Code | Response Body Text/Results | Response Messages | HTTP Status Code | HTTP Status Message |
20 | Processed | Processed Successfully | 200 | OK |
21 | ProviderNotExists | Provider Does Not Exist | 404 | NotFound |
22 | UserNotExists | User Does Not Exist | 404 | NotFound |
24 | OrderNotExist | Order Does Not Exist | 404 | NotFound |
25 | SkuNotExist | Order item with provided SKU Code Does Not Exist in current order | 404 | NotFound |
26 | InvalidQty | Shipment quantity is more than quantity to be shipped. | 406 | NotAcceptable |
27 | PaymenExist | Payment data already exist for requested order | 406 | NotAcceptable |
28 | AlreadyCaptured | Requested Order alredy captured | 406 | NotAcceptable |
29 | ProcessFailed | Process gets failed due to some internal errors | 406 | NotAcceptable |
30 | InvalidData | Invalid data provided | 406 | NotAcceptable |
31 | CategoryNotExist | Category doesn't exists | 406 | NotAcceptable |
32 | ParentCategoryNotExists | Parent Category doesn't exists | 406 | NotAcceptable |
33 | Exists | Already exists for current request | 406 | NotAcceptable |
34 | InvalidSku | Invalid SKU Data Provided | 406 | NotAcceptable |
35 | BrandNotExists | Brand and First level category does nor match, Brand Does not exist in our database, Please provide the correct brand name or include it in category if new | 406 | NotAcceptable |
36 | InsertCategoryFailed | Category insertion for this product has been Failed, Please try again with valid data | 406 | NotAcceptable |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentMethodId | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
DiscountTypeId | Flat | 3 |
Percentage | 4 | |
DiscountOnOtherProduct | 5 | |
BuyXGetY | 6 | |
None | 217 |
Api Column Name | Name | Value |
---|---|---|
PaymentStatusId | AuthorizeAndCapture | 74 |
AuthorizeOnly | 75 | |
PriorAuthCapture | 86 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentGatewayId | Authorized Net | 25 |
Moneris | 26 | |
PayPal [Credit Card] | 27 | |
XCharge | 28 | |
Sage | 29 | |
USAePay | 73 | |
Fast Charge | 96 | |
PayPal [Express Checkout] | 206 | |
Stripe | 220 | |
Square | 221 | |
Cyber Source(Secure Acceptance) | 229 |
Api Column Name | Name | Value |
---|---|---|
Gender | Male | 1 |
Female | 2 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
OptionTypeId | Multiple | 46 |
Swatch | 47 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
ActionId | Remove Category and Mapping | 1 |
Remove Category Mapping from Parent | 2 |
Api Column Name | Name | Value |
---|---|---|
PricingType | Amount | 1 |
Percentage | 2 | |
FreeShipping | 3 |
Api Column Name | Name | Value |
---|---|---|
Display Type ID | Text Box | 1 |
Drop Down | 2 | |
Picture | 3 |
Api Column Name | Name | Value |
---|---|---|
Discount Type ID | Price Discount | 1 |
Percentage Discount | 2 |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
Payment Method ID | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
Return Status ID | Return Initiated | 97 |
Return Accepted | 98 | |
Return Rejected | 99 | |
Return Refunded | 100 | |
Return Partially Accepted | 104 |
Api Column Name | Name | Value |
---|---|---|
Return Type ID | Replaced | 102 |
Refunded | 103 |
API Name | Description |
---|---|
api/shopper/getall | This method will return the list of Shoppers as json list object |
api/shopper/get/{username} | This method will return single Shopper details as json object for username |
api/shopper/shoppers | This method will Post the Shoppers Informations and add or update the informations in our database |
api/shopper/shopperaddress | This method will Post the Shoppers Addresses and add or update the informations in our database |
The Sellers Commerce Open API provides a simple RESTful interface with lightweight JSON-formatted responses to use many of Sellers Commerce features,
included data related to Shopper,Order, Tools, Product,Category and many more.
And its using OAuth to allow both read and write access for public and private data.
This document provides information to developers on how to integrate with the Sellers Commerce Open API.
Sellers Commerce Open API's are accessible by as base url which looks like
api.sellerscommerce.com/api/Shopper/getall
api.sellerscommerce.com/api/Shopper/getall
All requests must be made with https. Both request body data and response data are formatted as JSON. Every request, including JSON, must have a Content-Type Http Request Header with a value of application/json.
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
The Sellers Commerce Open API uses a standard Authorization header to identifies every request.
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
An endpoint's name indicates the type of data it handles and the action it performs on that data. We are using below actions only:
Action | HTTP | Method Description |
Create | POST | Creates an entity of the corresponding type. |
Retrieve | GET | Returns all instances of a particular entity that match query parameters you provide. |
Delete | DELETE | Deletes the existing entity that matches the identifier you provide. Deleted entities cannot be retrieved. |
Requests to Connect Sellers Commerce Open API endpoints must include the following HTTP headers:
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
The Sellers Commerce Open API currently only support JSON format.
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Sellers Commerce get all api endpoint also support most commonly used odata Queries which are available these days for generic query:
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
The SellersCommerce Open API attempts to return appropriate HTTP status codes for every request.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Error Messages
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
In addition to descriptive error text, error messages contain machine-parseable codes. While the text for an error message may change, the codes will stay the same. The following table describes the codes which may appear when working with the API:
Sellers Commerce Response Code | Response Body Text/Results | Response Messages | HTTP Status Code | HTTP Status Message |
20 | Processed | Processed Successfully | 200 | OK |
21 | ProviderNotExists | Provider Does Not Exist | 404 | NotFound |
22 | UserNotExists | User Does Not Exist | 404 | NotFound |
24 | OrderNotExist | Order Does Not Exist | 404 | NotFound |
25 | SkuNotExist | Order item with provided SKU Code Does Not Exist in current order | 404 | NotFound |
26 | InvalidQty | Shipment quantity is more than quantity to be shipped. | 406 | NotAcceptable |
27 | PaymenExist | Payment data already exist for requested order | 406 | NotAcceptable |
28 | AlreadyCaptured | Requested Order alredy captured | 406 | NotAcceptable |
29 | ProcessFailed | Process gets failed due to some internal errors | 406 | NotAcceptable |
30 | InvalidData | Invalid data provided | 406 | NotAcceptable |
31 | CategoryNotExist | Category doesn't exists | 406 | NotAcceptable |
32 | ParentCategoryNotExists | Parent Category doesn't exists | 406 | NotAcceptable |
33 | Exists | Already exists for current request | 406 | NotAcceptable |
34 | InvalidSku | Invalid SKU Data Provided | 406 | NotAcceptable |
35 | BrandNotExists | Brand and First level category does nor match, Brand Does not exist in our database, Please provide the correct brand name or include it in category if new | 406 | NotAcceptable |
36 | InsertCategoryFailed | Category insertion for this product has been Failed, Please try again with valid data | 406 | NotAcceptable |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentMethodId | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
DiscountTypeId | Flat | 3 |
Percentage | 4 | |
DiscountOnOtherProduct | 5 | |
BuyXGetY | 6 | |
None | 217 |
Api Column Name | Name | Value |
---|---|---|
PaymentStatusId | AuthorizeAndCapture | 74 |
AuthorizeOnly | 75 | |
PriorAuthCapture | 86 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentGatewayId | Authorized Net | 25 |
Moneris | 26 | |
PayPal [Credit Card] | 27 | |
XCharge | 28 | |
Sage | 29 | |
USAePay | 73 | |
Fast Charge | 96 | |
PayPal [Express Checkout] | 206 | |
Stripe | 220 | |
Square | 221 | |
Cyber Source(Secure Acceptance) | 229 |
Api Column Name | Name | Value |
---|---|---|
Gender | Male | 1 |
Female | 2 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
OptionTypeId | Multiple | 46 |
Swatch | 47 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
ActionId | Remove Category and Mapping | 1 |
Remove Category Mapping from Parent | 2 |
Api Column Name | Name | Value |
---|---|---|
PricingType | Amount | 1 |
Percentage | 2 | |
FreeShipping | 3 |
Api Column Name | Name | Value |
---|---|---|
Display Type ID | Text Box | 1 |
Drop Down | 2 | |
Picture | 3 |
Api Column Name | Name | Value |
---|---|---|
Discount Type ID | Price Discount | 1 |
Percentage Discount | 2 |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
Payment Method ID | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
Return Status ID | Return Initiated | 97 |
Return Accepted | 98 | |
Return Rejected | 99 | |
Return Refunded | 100 | |
Return Partially Accepted | 104 |
Api Column Name | Name | Value |
---|---|---|
Return Type ID | Replaced | 102 |
Refunded | 103 |
API Name | Description |
---|---|
api/return/getall | This method will return the list of Return Requests as json list object |
api/return/get/{returnnumber} | This method will return single Return Request details as json object for a single OrderNumber |
api/return/return | This method will Create a new Return Request for the Order |
The Sellers Commerce Open API provides a simple RESTful interface with lightweight JSON-formatted responses to use many of Sellers Commerce features,
included data related to Shopper,Order, Tools, Product,Category and many more.
And its using OAuth to allow both read and write access for public and private data.
This document provides information to developers on how to integrate with the Sellers Commerce Open API.
Sellers Commerce Open API's are accessible by as base url which looks like
api.sellerscommerce.com/api/Shopper/getall
api.sellerscommerce.com/api/Shopper/getall
All requests must be made with https. Both request body data and response data are formatted as JSON. Every request, including JSON, must have a Content-Type Http Request Header with a value of application/json.
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
The Sellers Commerce Open API uses a standard Authorization header to identifies every request.
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
An endpoint's name indicates the type of data it handles and the action it performs on that data. We are using below actions only:
Action | HTTP | Method Description |
Create | POST | Creates an entity of the corresponding type. |
Retrieve | GET | Returns all instances of a particular entity that match query parameters you provide. |
Delete | DELETE | Deletes the existing entity that matches the identifier you provide. Deleted entities cannot be retrieved. |
Requests to Connect Sellers Commerce Open API endpoints must include the following HTTP headers:
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
The Sellers Commerce Open API currently only support JSON format.
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Sellers Commerce get all api endpoint also support most commonly used odata Queries which are available these days for generic query:
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
The SellersCommerce Open API attempts to return appropriate HTTP status codes for every request.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Error Messages
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
In addition to descriptive error text, error messages contain machine-parseable codes. While the text for an error message may change, the codes will stay the same. The following table describes the codes which may appear when working with the API:
Sellers Commerce Response Code | Response Body Text/Results | Response Messages | HTTP Status Code | HTTP Status Message |
20 | Processed | Processed Successfully | 200 | OK |
21 | ProviderNotExists | Provider Does Not Exist | 404 | NotFound |
22 | UserNotExists | User Does Not Exist | 404 | NotFound |
24 | OrderNotExist | Order Does Not Exist | 404 | NotFound |
25 | SkuNotExist | Order item with provided SKU Code Does Not Exist in current order | 404 | NotFound |
26 | InvalidQty | Shipment quantity is more than quantity to be shipped. | 406 | NotAcceptable |
27 | PaymenExist | Payment data already exist for requested order | 406 | NotAcceptable |
28 | AlreadyCaptured | Requested Order alredy captured | 406 | NotAcceptable |
29 | ProcessFailed | Process gets failed due to some internal errors | 406 | NotAcceptable |
30 | InvalidData | Invalid data provided | 406 | NotAcceptable |
31 | CategoryNotExist | Category doesn't exists | 406 | NotAcceptable |
32 | ParentCategoryNotExists | Parent Category doesn't exists | 406 | NotAcceptable |
33 | Exists | Already exists for current request | 406 | NotAcceptable |
34 | InvalidSku | Invalid SKU Data Provided | 406 | NotAcceptable |
35 | BrandNotExists | Brand and First level category does nor match, Brand Does not exist in our database, Please provide the correct brand name or include it in category if new | 406 | NotAcceptable |
36 | InsertCategoryFailed | Category insertion for this product has been Failed, Please try again with valid data | 406 | NotAcceptable |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentMethodId | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
DiscountTypeId | Flat | 3 |
Percentage | 4 | |
DiscountOnOtherProduct | 5 | |
BuyXGetY | 6 | |
None | 217 |
Api Column Name | Name | Value |
---|---|---|
PaymentStatusId | AuthorizeAndCapture | 74 |
AuthorizeOnly | 75 | |
PriorAuthCapture | 86 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentGatewayId | Authorized Net | 25 |
Moneris | 26 | |
PayPal [Credit Card] | 27 | |
XCharge | 28 | |
Sage | 29 | |
USAePay | 73 | |
Fast Charge | 96 | |
PayPal [Express Checkout] | 206 | |
Stripe | 220 | |
Square | 221 | |
Cyber Source(Secure Acceptance) | 229 |
Api Column Name | Name | Value |
---|---|---|
Gender | Male | 1 |
Female | 2 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
OptionTypeId | Multiple | 46 |
Swatch | 47 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
ActionId | Remove Category and Mapping | 1 |
Remove Category Mapping from Parent | 2 |
Api Column Name | Name | Value |
---|---|---|
PricingType | Amount | 1 |
Percentage | 2 | |
FreeShipping | 3 |
Api Column Name | Name | Value |
---|---|---|
Display Type ID | Text Box | 1 |
Drop Down | 2 | |
Picture | 3 |
Api Column Name | Name | Value |
---|---|---|
Discount Type ID | Price Discount | 1 |
Percentage Discount | 2 |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
Payment Method ID | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
Return Status ID | Return Initiated | 97 |
Return Accepted | 98 | |
Return Rejected | 99 | |
Return Refunded | 100 | |
Return Partially Accepted | 104 |
Api Column Name | Name | Value |
---|---|---|
Return Type ID | Replaced | 102 |
Refunded | 103 |
API Name | Description |
---|---|
api/embellishments/getall | This method will return the all Embellishments as json list object |
api/embellishments/getproductembellishment?productCode={productCode} | This method will return the all Embellishments tagged to products as json list object |
The Sellers Commerce Open API provides a simple RESTful interface with lightweight JSON-formatted responses to use many of Sellers Commerce features,
included data related to Shopper,Order, Tools, Product,Category and many more.
And its using OAuth to allow both read and write access for public and private data.
This document provides information to developers on how to integrate with the Sellers Commerce Open API.
Sellers Commerce Open API's are accessible by as base url which looks like
api.sellerscommerce.com/api/Shopper/getall
api.sellerscommerce.com/api/Shopper/getall
All requests must be made with https. Both request body data and response data are formatted as JSON. Every request, including JSON, must have a Content-Type Http Request Header with a value of application/json.
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
The Sellers Commerce Open API uses a standard Authorization header to identifies every request.
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
An endpoint's name indicates the type of data it handles and the action it performs on that data. We are using below actions only:
Action | HTTP | Method Description |
Create | POST | Creates an entity of the corresponding type. |
Retrieve | GET | Returns all instances of a particular entity that match query parameters you provide. |
Delete | DELETE | Deletes the existing entity that matches the identifier you provide. Deleted entities cannot be retrieved. |
Requests to Connect Sellers Commerce Open API endpoints must include the following HTTP headers:
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
The Sellers Commerce Open API currently only support JSON format.
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Sellers Commerce get all api endpoint also support most commonly used odata Queries which are available these days for generic query:
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
The SellersCommerce Open API attempts to return appropriate HTTP status codes for every request.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Error Messages
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
In addition to descriptive error text, error messages contain machine-parseable codes. While the text for an error message may change, the codes will stay the same. The following table describes the codes which may appear when working with the API:
Sellers Commerce Response Code | Response Body Text/Results | Response Messages | HTTP Status Code | HTTP Status Message |
20 | Processed | Processed Successfully | 200 | OK |
21 | ProviderNotExists | Provider Does Not Exist | 404 | NotFound |
22 | UserNotExists | User Does Not Exist | 404 | NotFound |
24 | OrderNotExist | Order Does Not Exist | 404 | NotFound |
25 | SkuNotExist | Order item with provided SKU Code Does Not Exist in current order | 404 | NotFound |
26 | InvalidQty | Shipment quantity is more than quantity to be shipped. | 406 | NotAcceptable |
27 | PaymenExist | Payment data already exist for requested order | 406 | NotAcceptable |
28 | AlreadyCaptured | Requested Order alredy captured | 406 | NotAcceptable |
29 | ProcessFailed | Process gets failed due to some internal errors | 406 | NotAcceptable |
30 | InvalidData | Invalid data provided | 406 | NotAcceptable |
31 | CategoryNotExist | Category doesn't exists | 406 | NotAcceptable |
32 | ParentCategoryNotExists | Parent Category doesn't exists | 406 | NotAcceptable |
33 | Exists | Already exists for current request | 406 | NotAcceptable |
34 | InvalidSku | Invalid SKU Data Provided | 406 | NotAcceptable |
35 | BrandNotExists | Brand and First level category does nor match, Brand Does not exist in our database, Please provide the correct brand name or include it in category if new | 406 | NotAcceptable |
36 | InsertCategoryFailed | Category insertion for this product has been Failed, Please try again with valid data | 406 | NotAcceptable |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentMethodId | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
DiscountTypeId | Flat | 3 |
Percentage | 4 | |
DiscountOnOtherProduct | 5 | |
BuyXGetY | 6 | |
None | 217 |
Api Column Name | Name | Value |
---|---|---|
PaymentStatusId | AuthorizeAndCapture | 74 |
AuthorizeOnly | 75 | |
PriorAuthCapture | 86 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentGatewayId | Authorized Net | 25 |
Moneris | 26 | |
PayPal [Credit Card] | 27 | |
XCharge | 28 | |
Sage | 29 | |
USAePay | 73 | |
Fast Charge | 96 | |
PayPal [Express Checkout] | 206 | |
Stripe | 220 | |
Square | 221 | |
Cyber Source(Secure Acceptance) | 229 |
Api Column Name | Name | Value |
---|---|---|
Gender | Male | 1 |
Female | 2 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
OptionTypeId | Multiple | 46 |
Swatch | 47 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
ActionId | Remove Category and Mapping | 1 |
Remove Category Mapping from Parent | 2 |
Api Column Name | Name | Value |
---|---|---|
PricingType | Amount | 1 |
Percentage | 2 | |
FreeShipping | 3 |
Api Column Name | Name | Value |
---|---|---|
Display Type ID | Text Box | 1 |
Drop Down | 2 | |
Picture | 3 |
Api Column Name | Name | Value |
---|---|---|
Discount Type ID | Price Discount | 1 |
Percentage Discount | 2 |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
Payment Method ID | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
Return Status ID | Return Initiated | 97 |
Return Accepted | 98 | |
Return Rejected | 99 | |
Return Refunded | 100 | |
Return Partially Accepted | 104 |
Api Column Name | Name | Value |
---|---|---|
Return Type ID | Replaced | 102 |
Refunded | 103 |
API Name | Description |
---|---|
api/category/getall | This method will return the all Categories as json list object |
api/category/get/{categorycode} | This method will return the a single Category as json object |
api/category/categoryproducts/{categorycode} | This method will return the all Product tagged to a single category as json list object |
api/category/categories | This method will Post the Categories and add or update the informations in our database |
api/category/category | This method will delete the Category from our database |
api/category/productcategory | This method will Post multiple Product Category and update the informations in our database |
api/category/getallbrands | This method will return the all Brands as json list object |
The Sellers Commerce Open API provides a simple RESTful interface with lightweight JSON-formatted responses to use many of Sellers Commerce features,
included data related to Shopper,Order, Tools, Product,Category and many more.
And its using OAuth to allow both read and write access for public and private data.
This document provides information to developers on how to integrate with the Sellers Commerce Open API.
Sellers Commerce Open API's are accessible by as base url which looks like
api.sellerscommerce.com/api/Shopper/getall
api.sellerscommerce.com/api/Shopper/getall
All requests must be made with https. Both request body data and response data are formatted as JSON. Every request, including JSON, must have a Content-Type Http Request Header with a value of application/json.
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
The Sellers Commerce Open API uses a standard Authorization header to identifies every request.
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
An endpoint's name indicates the type of data it handles and the action it performs on that data. We are using below actions only:
Action | HTTP | Method Description |
Create | POST | Creates an entity of the corresponding type. |
Retrieve | GET | Returns all instances of a particular entity that match query parameters you provide. |
Delete | DELETE | Deletes the existing entity that matches the identifier you provide. Deleted entities cannot be retrieved. |
Requests to Connect Sellers Commerce Open API endpoints must include the following HTTP headers:
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
The Sellers Commerce Open API currently only support JSON format.
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Sellers Commerce get all api endpoint also support most commonly used odata Queries which are available these days for generic query:
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
The SellersCommerce Open API attempts to return appropriate HTTP status codes for every request.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Error Messages
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
In addition to descriptive error text, error messages contain machine-parseable codes. While the text for an error message may change, the codes will stay the same. The following table describes the codes which may appear when working with the API:
Sellers Commerce Response Code | Response Body Text/Results | Response Messages | HTTP Status Code | HTTP Status Message |
20 | Processed | Processed Successfully | 200 | OK |
21 | ProviderNotExists | Provider Does Not Exist | 404 | NotFound |
22 | UserNotExists | User Does Not Exist | 404 | NotFound |
24 | OrderNotExist | Order Does Not Exist | 404 | NotFound |
25 | SkuNotExist | Order item with provided SKU Code Does Not Exist in current order | 404 | NotFound |
26 | InvalidQty | Shipment quantity is more than quantity to be shipped. | 406 | NotAcceptable |
27 | PaymenExist | Payment data already exist for requested order | 406 | NotAcceptable |
28 | AlreadyCaptured | Requested Order alredy captured | 406 | NotAcceptable |
29 | ProcessFailed | Process gets failed due to some internal errors | 406 | NotAcceptable |
30 | InvalidData | Invalid data provided | 406 | NotAcceptable |
31 | CategoryNotExist | Category doesn't exists | 406 | NotAcceptable |
32 | ParentCategoryNotExists | Parent Category doesn't exists | 406 | NotAcceptable |
33 | Exists | Already exists for current request | 406 | NotAcceptable |
34 | InvalidSku | Invalid SKU Data Provided | 406 | NotAcceptable |
35 | BrandNotExists | Brand and First level category does nor match, Brand Does not exist in our database, Please provide the correct brand name or include it in category if new | 406 | NotAcceptable |
36 | InsertCategoryFailed | Category insertion for this product has been Failed, Please try again with valid data | 406 | NotAcceptable |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentMethodId | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
DiscountTypeId | Flat | 3 |
Percentage | 4 | |
DiscountOnOtherProduct | 5 | |
BuyXGetY | 6 | |
None | 217 |
Api Column Name | Name | Value |
---|---|---|
PaymentStatusId | AuthorizeAndCapture | 74 |
AuthorizeOnly | 75 | |
PriorAuthCapture | 86 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentGatewayId | Authorized Net | 25 |
Moneris | 26 | |
PayPal [Credit Card] | 27 | |
XCharge | 28 | |
Sage | 29 | |
USAePay | 73 | |
Fast Charge | 96 | |
PayPal [Express Checkout] | 206 | |
Stripe | 220 | |
Square | 221 | |
Cyber Source(Secure Acceptance) | 229 |
Api Column Name | Name | Value |
---|---|---|
Gender | Male | 1 |
Female | 2 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
OptionTypeId | Multiple | 46 |
Swatch | 47 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
ActionId | Remove Category and Mapping | 1 |
Remove Category Mapping from Parent | 2 |
Api Column Name | Name | Value |
---|---|---|
PricingType | Amount | 1 |
Percentage | 2 | |
FreeShipping | 3 |
Api Column Name | Name | Value |
---|---|---|
Display Type ID | Text Box | 1 |
Drop Down | 2 | |
Picture | 3 |
Api Column Name | Name | Value |
---|---|---|
Discount Type ID | Price Discount | 1 |
Percentage Discount | 2 |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
Payment Method ID | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
Return Status ID | Return Initiated | 97 |
Return Accepted | 98 | |
Return Rejected | 99 | |
Return Refunded | 100 | |
Return Partially Accepted | 104 |
Api Column Name | Name | Value |
---|---|---|
Return Type ID | Replaced | 102 |
Refunded | 103 |
The Sellers Commerce Open API provides a simple RESTful interface with lightweight JSON-formatted responses to use many of Sellers Commerce features,
included data related to Shopper,Order, Tools, Product,Category and many more.
And its using OAuth to allow both read and write access for public and private data.
This document provides information to developers on how to integrate with the Sellers Commerce Open API.
Sellers Commerce Open API's are accessible by as base url which looks like
api.sellerscommerce.com/api/Shopper/getall
api.sellerscommerce.com/api/Shopper/getall
All requests must be made with https. Both request body data and response data are formatted as JSON. Every request, including JSON, must have a Content-Type Http Request Header with a value of application/json.
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
The Sellers Commerce Open API uses a standard Authorization header to identifies every request.
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
An endpoint's name indicates the type of data it handles and the action it performs on that data. We are using below actions only:
Action | HTTP | Method Description |
Create | POST | Creates an entity of the corresponding type. |
Retrieve | GET | Returns all instances of a particular entity that match query parameters you provide. |
Delete | DELETE | Deletes the existing entity that matches the identifier you provide. Deleted entities cannot be retrieved. |
Requests to Connect Sellers Commerce Open API endpoints must include the following HTTP headers:
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
The Sellers Commerce Open API currently only support JSON format.
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Sellers Commerce get all api endpoint also support most commonly used odata Queries which are available these days for generic query:
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
The SellersCommerce Open API attempts to return appropriate HTTP status codes for every request.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Error Messages
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
In addition to descriptive error text, error messages contain machine-parseable codes. While the text for an error message may change, the codes will stay the same. The following table describes the codes which may appear when working with the API:
Sellers Commerce Response Code | Response Body Text/Results | Response Messages | HTTP Status Code | HTTP Status Message |
20 | Processed | Processed Successfully | 200 | OK |
21 | ProviderNotExists | Provider Does Not Exist | 404 | NotFound |
22 | UserNotExists | User Does Not Exist | 404 | NotFound |
24 | OrderNotExist | Order Does Not Exist | 404 | NotFound |
25 | SkuNotExist | Order item with provided SKU Code Does Not Exist in current order | 404 | NotFound |
26 | InvalidQty | Shipment quantity is more than quantity to be shipped. | 406 | NotAcceptable |
27 | PaymenExist | Payment data already exist for requested order | 406 | NotAcceptable |
28 | AlreadyCaptured | Requested Order alredy captured | 406 | NotAcceptable |
29 | ProcessFailed | Process gets failed due to some internal errors | 406 | NotAcceptable |
30 | InvalidData | Invalid data provided | 406 | NotAcceptable |
31 | CategoryNotExist | Category doesn't exists | 406 | NotAcceptable |
32 | ParentCategoryNotExists | Parent Category doesn't exists | 406 | NotAcceptable |
33 | Exists | Already exists for current request | 406 | NotAcceptable |
34 | InvalidSku | Invalid SKU Data Provided | 406 | NotAcceptable |
35 | BrandNotExists | Brand and First level category does nor match, Brand Does not exist in our database, Please provide the correct brand name or include it in category if new | 406 | NotAcceptable |
36 | InsertCategoryFailed | Category insertion for this product has been Failed, Please try again with valid data | 406 | NotAcceptable |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentMethodId | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
DiscountTypeId | Flat | 3 |
Percentage | 4 | |
DiscountOnOtherProduct | 5 | |
BuyXGetY | 6 | |
None | 217 |
Api Column Name | Name | Value |
---|---|---|
PaymentStatusId | AuthorizeAndCapture | 74 |
AuthorizeOnly | 75 | |
PriorAuthCapture | 86 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentGatewayId | Authorized Net | 25 |
Moneris | 26 | |
PayPal [Credit Card] | 27 | |
XCharge | 28 | |
Sage | 29 | |
USAePay | 73 | |
Fast Charge | 96 | |
PayPal [Express Checkout] | 206 | |
Stripe | 220 | |
Square | 221 | |
Cyber Source(Secure Acceptance) | 229 |
Api Column Name | Name | Value |
---|---|---|
Gender | Male | 1 |
Female | 2 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
OptionTypeId | Multiple | 46 |
Swatch | 47 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
ActionId | Remove Category and Mapping | 1 |
Remove Category Mapping from Parent | 2 |
Api Column Name | Name | Value |
---|---|---|
PricingType | Amount | 1 |
Percentage | 2 | |
FreeShipping | 3 |
Api Column Name | Name | Value |
---|---|---|
Display Type ID | Text Box | 1 |
Drop Down | 2 | |
Picture | 3 |
Api Column Name | Name | Value |
---|---|---|
Discount Type ID | Price Discount | 1 |
Percentage Discount | 2 |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
Payment Method ID | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
Return Status ID | Return Initiated | 97 |
Return Accepted | 98 | |
Return Rejected | 99 | |
Return Refunded | 100 | |
Return Partially Accepted | 104 |
Api Column Name | Name | Value |
---|---|---|
Return Type ID | Replaced | 102 |
Refunded | 103 |
API Name | Description |
---|---|
api/order/getall | This method will return the list of Order as json list object |
api/order/getorders | This method will return the list of Order as json list object |
api/order/get/{ordernumber} | This method will return single order details as json object for a single OrderNumber |
api/order/shippinginformation | This method will Post the Shipping Informations of all items of a order |
api/order/paymentinformation | This method will update the payment status from authorized to capture with provided transaction number, Authorization code is required |
api/order/updateorderstatus | This method will update the order status from placed to processing for the given OrderNumber and Order Post Status is Required |
api/order/OrderSamplePost | No Documentation Available |
The Sellers Commerce Open API provides a simple RESTful interface with lightweight JSON-formatted responses to use many of Sellers Commerce features,
included data related to Shopper,Order, Tools, Product,Category and many more.
And its using OAuth to allow both read and write access for public and private data.
This document provides information to developers on how to integrate with the Sellers Commerce Open API.
Sellers Commerce Open API's are accessible by as base url which looks like
api.sellerscommerce.com/api/Shopper/getall
api.sellerscommerce.com/api/Shopper/getall
All requests must be made with https. Both request body data and response data are formatted as JSON. Every request, including JSON, must have a Content-Type Http Request Header with a value of application/json.
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
The Sellers Commerce Open API uses a standard Authorization header to identifies every request.
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
An endpoint's name indicates the type of data it handles and the action it performs on that data. We are using below actions only:
Action | HTTP | Method Description |
Create | POST | Creates an entity of the corresponding type. |
Retrieve | GET | Returns all instances of a particular entity that match query parameters you provide. |
Delete | DELETE | Deletes the existing entity that matches the identifier you provide. Deleted entities cannot be retrieved. |
Requests to Connect Sellers Commerce Open API endpoints must include the following HTTP headers:
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
The Sellers Commerce Open API currently only support JSON format.
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Sellers Commerce get all api endpoint also support most commonly used odata Queries which are available these days for generic query:
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
The SellersCommerce Open API attempts to return appropriate HTTP status codes for every request.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Error Messages
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
In addition to descriptive error text, error messages contain machine-parseable codes. While the text for an error message may change, the codes will stay the same. The following table describes the codes which may appear when working with the API:
Sellers Commerce Response Code | Response Body Text/Results | Response Messages | HTTP Status Code | HTTP Status Message |
20 | Processed | Processed Successfully | 200 | OK |
21 | ProviderNotExists | Provider Does Not Exist | 404 | NotFound |
22 | UserNotExists | User Does Not Exist | 404 | NotFound |
24 | OrderNotExist | Order Does Not Exist | 404 | NotFound |
25 | SkuNotExist | Order item with provided SKU Code Does Not Exist in current order | 404 | NotFound |
26 | InvalidQty | Shipment quantity is more than quantity to be shipped. | 406 | NotAcceptable |
27 | PaymenExist | Payment data already exist for requested order | 406 | NotAcceptable |
28 | AlreadyCaptured | Requested Order alredy captured | 406 | NotAcceptable |
29 | ProcessFailed | Process gets failed due to some internal errors | 406 | NotAcceptable |
30 | InvalidData | Invalid data provided | 406 | NotAcceptable |
31 | CategoryNotExist | Category doesn't exists | 406 | NotAcceptable |
32 | ParentCategoryNotExists | Parent Category doesn't exists | 406 | NotAcceptable |
33 | Exists | Already exists for current request | 406 | NotAcceptable |
34 | InvalidSku | Invalid SKU Data Provided | 406 | NotAcceptable |
35 | BrandNotExists | Brand and First level category does nor match, Brand Does not exist in our database, Please provide the correct brand name or include it in category if new | 406 | NotAcceptable |
36 | InsertCategoryFailed | Category insertion for this product has been Failed, Please try again with valid data | 406 | NotAcceptable |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentMethodId | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
DiscountTypeId | Flat | 3 |
Percentage | 4 | |
DiscountOnOtherProduct | 5 | |
BuyXGetY | 6 | |
None | 217 |
Api Column Name | Name | Value |
---|---|---|
PaymentStatusId | AuthorizeAndCapture | 74 |
AuthorizeOnly | 75 | |
PriorAuthCapture | 86 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentGatewayId | Authorized Net | 25 |
Moneris | 26 | |
PayPal [Credit Card] | 27 | |
XCharge | 28 | |
Sage | 29 | |
USAePay | 73 | |
Fast Charge | 96 | |
PayPal [Express Checkout] | 206 | |
Stripe | 220 | |
Square | 221 | |
Cyber Source(Secure Acceptance) | 229 |
Api Column Name | Name | Value |
---|---|---|
Gender | Male | 1 |
Female | 2 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
OptionTypeId | Multiple | 46 |
Swatch | 47 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
ActionId | Remove Category and Mapping | 1 |
Remove Category Mapping from Parent | 2 |
Api Column Name | Name | Value |
---|---|---|
PricingType | Amount | 1 |
Percentage | 2 | |
FreeShipping | 3 |
Api Column Name | Name | Value |
---|---|---|
Display Type ID | Text Box | 1 |
Drop Down | 2 | |
Picture | 3 |
Api Column Name | Name | Value |
---|---|---|
Discount Type ID | Price Discount | 1 |
Percentage Discount | 2 |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
Payment Method ID | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
Return Status ID | Return Initiated | 97 |
Return Accepted | 98 | |
Return Rejected | 99 | |
Return Refunded | 100 | |
Return Partially Accepted | 104 |
Api Column Name | Name | Value |
---|---|---|
Return Type ID | Replaced | 102 |
Refunded | 103 |
The Sellers Commerce Open API provides a simple RESTful interface with lightweight JSON-formatted responses to use many of Sellers Commerce features,
included data related to Shopper,Order, Tools, Product,Category and many more.
And its using OAuth to allow both read and write access for public and private data.
This document provides information to developers on how to integrate with the Sellers Commerce Open API.
Sellers Commerce Open API's are accessible by as base url which looks like
api.sellerscommerce.com/api/Shopper/getall
api.sellerscommerce.com/api/Shopper/getall
All requests must be made with https. Both request body data and response data are formatted as JSON. Every request, including JSON, must have a Content-Type Http Request Header with a value of application/json.
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
The Sellers Commerce Open API uses a standard Authorization header to identifies every request.
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
An endpoint's name indicates the type of data it handles and the action it performs on that data. We are using below actions only:
Action | HTTP | Method Description |
Create | POST | Creates an entity of the corresponding type. |
Retrieve | GET | Returns all instances of a particular entity that match query parameters you provide. |
Delete | DELETE | Deletes the existing entity that matches the identifier you provide. Deleted entities cannot be retrieved. |
Requests to Connect Sellers Commerce Open API endpoints must include the following HTTP headers:
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
The Sellers Commerce Open API currently only support JSON format.
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Sellers Commerce get all api endpoint also support most commonly used odata Queries which are available these days for generic query:
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
The SellersCommerce Open API attempts to return appropriate HTTP status codes for every request.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Error Messages
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
In addition to descriptive error text, error messages contain machine-parseable codes. While the text for an error message may change, the codes will stay the same. The following table describes the codes which may appear when working with the API:
Sellers Commerce Response Code | Response Body Text/Results | Response Messages | HTTP Status Code | HTTP Status Message |
20 | Processed | Processed Successfully | 200 | OK |
21 | ProviderNotExists | Provider Does Not Exist | 404 | NotFound |
22 | UserNotExists | User Does Not Exist | 404 | NotFound |
24 | OrderNotExist | Order Does Not Exist | 404 | NotFound |
25 | SkuNotExist | Order item with provided SKU Code Does Not Exist in current order | 404 | NotFound |
26 | InvalidQty | Shipment quantity is more than quantity to be shipped. | 406 | NotAcceptable |
27 | PaymenExist | Payment data already exist for requested order | 406 | NotAcceptable |
28 | AlreadyCaptured | Requested Order alredy captured | 406 | NotAcceptable |
29 | ProcessFailed | Process gets failed due to some internal errors | 406 | NotAcceptable |
30 | InvalidData | Invalid data provided | 406 | NotAcceptable |
31 | CategoryNotExist | Category doesn't exists | 406 | NotAcceptable |
32 | ParentCategoryNotExists | Parent Category doesn't exists | 406 | NotAcceptable |
33 | Exists | Already exists for current request | 406 | NotAcceptable |
34 | InvalidSku | Invalid SKU Data Provided | 406 | NotAcceptable |
35 | BrandNotExists | Brand and First level category does nor match, Brand Does not exist in our database, Please provide the correct brand name or include it in category if new | 406 | NotAcceptable |
36 | InsertCategoryFailed | Category insertion for this product has been Failed, Please try again with valid data | 406 | NotAcceptable |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentMethodId | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
DiscountTypeId | Flat | 3 |
Percentage | 4 | |
DiscountOnOtherProduct | 5 | |
BuyXGetY | 6 | |
None | 217 |
Api Column Name | Name | Value |
---|---|---|
PaymentStatusId | AuthorizeAndCapture | 74 |
AuthorizeOnly | 75 | |
PriorAuthCapture | 86 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentGatewayId | Authorized Net | 25 |
Moneris | 26 | |
PayPal [Credit Card] | 27 | |
XCharge | 28 | |
Sage | 29 | |
USAePay | 73 | |
Fast Charge | 96 | |
PayPal [Express Checkout] | 206 | |
Stripe | 220 | |
Square | 221 | |
Cyber Source(Secure Acceptance) | 229 |
Api Column Name | Name | Value |
---|---|---|
Gender | Male | 1 |
Female | 2 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
OptionTypeId | Multiple | 46 |
Swatch | 47 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
ActionId | Remove Category and Mapping | 1 |
Remove Category Mapping from Parent | 2 |
Api Column Name | Name | Value |
---|---|---|
PricingType | Amount | 1 |
Percentage | 2 | |
FreeShipping | 3 |
Api Column Name | Name | Value |
---|---|---|
Display Type ID | Text Box | 1 |
Drop Down | 2 | |
Picture | 3 |
Api Column Name | Name | Value |
---|---|---|
Discount Type ID | Price Discount | 1 |
Percentage Discount | 2 |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
Payment Method ID | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
Return Status ID | Return Initiated | 97 |
Return Accepted | 98 | |
Return Rejected | 99 | |
Return Refunded | 100 | |
Return Partially Accepted | 104 |
Api Column Name | Name | Value |
---|---|---|
Return Type ID | Replaced | 102 |
Refunded | 103 |
API Name | Description |
---|---|
api/PortalAdmin/Admins | No Documentation Available |
api/PortalAdmin/Admin?userid={userid} | No Documentation Available |
api/PortalAdmin/Admin | No Documentation Available |
api/PortalAdmin/IsEmailOrUserNameExists?param={param}&userid={userid}&isContact={isContact} | No Documentation Available |
api/PortalAdmin/GetUserByID?userid={userid} | No Documentation Available |
api/PortalAdmin/AllRoles | No Documentation Available |
api/PortalAdmin/RaiseRequest | Used to save a Store closure request |
api/PortalAdmin/RemoveAdmin | No Documentation Available |
api/PortalAdmin/SendExportEmail?exportName={exportName}&exportedBy={exportedBy} | model used for |
api/PortalAdmin/RedirectURL?ProviderID={ProviderID}&type={type} | No Documentation Available |
The Sellers Commerce Open API provides a simple RESTful interface with lightweight JSON-formatted responses to use many of Sellers Commerce features,
included data related to Shopper,Order, Tools, Product,Category and many more.
And its using OAuth to allow both read and write access for public and private data.
This document provides information to developers on how to integrate with the Sellers Commerce Open API.
Sellers Commerce Open API's are accessible by as base url which looks like
api.sellerscommerce.com/api/Shopper/getall
api.sellerscommerce.com/api/Shopper/getall
All requests must be made with https. Both request body data and response data are formatted as JSON. Every request, including JSON, must have a Content-Type Http Request Header with a value of application/json.
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
The Sellers Commerce Open API uses a standard Authorization header to identifies every request.
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
An endpoint's name indicates the type of data it handles and the action it performs on that data. We are using below actions only:
Action | HTTP | Method Description |
Create | POST | Creates an entity of the corresponding type. |
Retrieve | GET | Returns all instances of a particular entity that match query parameters you provide. |
Delete | DELETE | Deletes the existing entity that matches the identifier you provide. Deleted entities cannot be retrieved. |
Requests to Connect Sellers Commerce Open API endpoints must include the following HTTP headers:
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
The Sellers Commerce Open API currently only support JSON format.
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Sellers Commerce get all api endpoint also support most commonly used odata Queries which are available these days for generic query:
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
The SellersCommerce Open API attempts to return appropriate HTTP status codes for every request.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Error Messages
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
In addition to descriptive error text, error messages contain machine-parseable codes. While the text for an error message may change, the codes will stay the same. The following table describes the codes which may appear when working with the API:
Sellers Commerce Response Code | Response Body Text/Results | Response Messages | HTTP Status Code | HTTP Status Message |
20 | Processed | Processed Successfully | 200 | OK |
21 | ProviderNotExists | Provider Does Not Exist | 404 | NotFound |
22 | UserNotExists | User Does Not Exist | 404 | NotFound |
24 | OrderNotExist | Order Does Not Exist | 404 | NotFound |
25 | SkuNotExist | Order item with provided SKU Code Does Not Exist in current order | 404 | NotFound |
26 | InvalidQty | Shipment quantity is more than quantity to be shipped. | 406 | NotAcceptable |
27 | PaymenExist | Payment data already exist for requested order | 406 | NotAcceptable |
28 | AlreadyCaptured | Requested Order alredy captured | 406 | NotAcceptable |
29 | ProcessFailed | Process gets failed due to some internal errors | 406 | NotAcceptable |
30 | InvalidData | Invalid data provided | 406 | NotAcceptable |
31 | CategoryNotExist | Category doesn't exists | 406 | NotAcceptable |
32 | ParentCategoryNotExists | Parent Category doesn't exists | 406 | NotAcceptable |
33 | Exists | Already exists for current request | 406 | NotAcceptable |
34 | InvalidSku | Invalid SKU Data Provided | 406 | NotAcceptable |
35 | BrandNotExists | Brand and First level category does nor match, Brand Does not exist in our database, Please provide the correct brand name or include it in category if new | 406 | NotAcceptable |
36 | InsertCategoryFailed | Category insertion for this product has been Failed, Please try again with valid data | 406 | NotAcceptable |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentMethodId | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
DiscountTypeId | Flat | 3 |
Percentage | 4 | |
DiscountOnOtherProduct | 5 | |
BuyXGetY | 6 | |
None | 217 |
Api Column Name | Name | Value |
---|---|---|
PaymentStatusId | AuthorizeAndCapture | 74 |
AuthorizeOnly | 75 | |
PriorAuthCapture | 86 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentGatewayId | Authorized Net | 25 |
Moneris | 26 | |
PayPal [Credit Card] | 27 | |
XCharge | 28 | |
Sage | 29 | |
USAePay | 73 | |
Fast Charge | 96 | |
PayPal [Express Checkout] | 206 | |
Stripe | 220 | |
Square | 221 | |
Cyber Source(Secure Acceptance) | 229 |
Api Column Name | Name | Value |
---|---|---|
Gender | Male | 1 |
Female | 2 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
OptionTypeId | Multiple | 46 |
Swatch | 47 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
ActionId | Remove Category and Mapping | 1 |
Remove Category Mapping from Parent | 2 |
Api Column Name | Name | Value |
---|---|---|
PricingType | Amount | 1 |
Percentage | 2 | |
FreeShipping | 3 |
Api Column Name | Name | Value |
---|---|---|
Display Type ID | Text Box | 1 |
Drop Down | 2 | |
Picture | 3 |
Api Column Name | Name | Value |
---|---|---|
Discount Type ID | Price Discount | 1 |
Percentage Discount | 2 |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
Payment Method ID | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
Return Status ID | Return Initiated | 97 |
Return Accepted | 98 | |
Return Rejected | 99 | |
Return Refunded | 100 | |
Return Partially Accepted | 104 |
Api Column Name | Name | Value |
---|---|---|
Return Type ID | Replaced | 102 |
Refunded | 103 |
The Sellers Commerce Open API provides a simple RESTful interface with lightweight JSON-formatted responses to use many of Sellers Commerce features,
included data related to Shopper,Order, Tools, Product,Category and many more.
And its using OAuth to allow both read and write access for public and private data.
This document provides information to developers on how to integrate with the Sellers Commerce Open API.
Sellers Commerce Open API's are accessible by as base url which looks like
api.sellerscommerce.com/api/Shopper/getall
api.sellerscommerce.com/api/Shopper/getall
All requests must be made with https. Both request body data and response data are formatted as JSON. Every request, including JSON, must have a Content-Type Http Request Header with a value of application/json.
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
The Sellers Commerce Open API uses a standard Authorization header to identifies every request.
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
An endpoint's name indicates the type of data it handles and the action it performs on that data. We are using below actions only:
Action | HTTP | Method Description |
Create | POST | Creates an entity of the corresponding type. |
Retrieve | GET | Returns all instances of a particular entity that match query parameters you provide. |
Delete | DELETE | Deletes the existing entity that matches the identifier you provide. Deleted entities cannot be retrieved. |
Requests to Connect Sellers Commerce Open API endpoints must include the following HTTP headers:
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
The Sellers Commerce Open API currently only support JSON format.
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Sellers Commerce get all api endpoint also support most commonly used odata Queries which are available these days for generic query:
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
The SellersCommerce Open API attempts to return appropriate HTTP status codes for every request.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Error Messages
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
In addition to descriptive error text, error messages contain machine-parseable codes. While the text for an error message may change, the codes will stay the same. The following table describes the codes which may appear when working with the API:
Sellers Commerce Response Code | Response Body Text/Results | Response Messages | HTTP Status Code | HTTP Status Message |
20 | Processed | Processed Successfully | 200 | OK |
21 | ProviderNotExists | Provider Does Not Exist | 404 | NotFound |
22 | UserNotExists | User Does Not Exist | 404 | NotFound |
24 | OrderNotExist | Order Does Not Exist | 404 | NotFound |
25 | SkuNotExist | Order item with provided SKU Code Does Not Exist in current order | 404 | NotFound |
26 | InvalidQty | Shipment quantity is more than quantity to be shipped. | 406 | NotAcceptable |
27 | PaymenExist | Payment data already exist for requested order | 406 | NotAcceptable |
28 | AlreadyCaptured | Requested Order alredy captured | 406 | NotAcceptable |
29 | ProcessFailed | Process gets failed due to some internal errors | 406 | NotAcceptable |
30 | InvalidData | Invalid data provided | 406 | NotAcceptable |
31 | CategoryNotExist | Category doesn't exists | 406 | NotAcceptable |
32 | ParentCategoryNotExists | Parent Category doesn't exists | 406 | NotAcceptable |
33 | Exists | Already exists for current request | 406 | NotAcceptable |
34 | InvalidSku | Invalid SKU Data Provided | 406 | NotAcceptable |
35 | BrandNotExists | Brand and First level category does nor match, Brand Does not exist in our database, Please provide the correct brand name or include it in category if new | 406 | NotAcceptable |
36 | InsertCategoryFailed | Category insertion for this product has been Failed, Please try again with valid data | 406 | NotAcceptable |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentMethodId | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
DiscountTypeId | Flat | 3 |
Percentage | 4 | |
DiscountOnOtherProduct | 5 | |
BuyXGetY | 6 | |
None | 217 |
Api Column Name | Name | Value |
---|---|---|
PaymentStatusId | AuthorizeAndCapture | 74 |
AuthorizeOnly | 75 | |
PriorAuthCapture | 86 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
PaymentGatewayId | Authorized Net | 25 |
Moneris | 26 | |
PayPal [Credit Card] | 27 | |
XCharge | 28 | |
Sage | 29 | |
USAePay | 73 | |
Fast Charge | 96 | |
PayPal [Express Checkout] | 206 | |
Stripe | 220 | |
Square | 221 | |
Cyber Source(Secure Acceptance) | 229 |
Api Column Name | Name | Value |
---|---|---|
Gender | Male | 1 |
Female | 2 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
OptionTypeId | Multiple | 46 |
Swatch | 47 |
Api Column Name | Name | Value |
---|---|---|
IsBrand | Yes | 0 |
No | 1 |
Api Column Name | Name | Value |
---|---|---|
ActionId | Remove Category and Mapping | 1 |
Remove Category Mapping from Parent | 2 |
Api Column Name | Name | Value |
---|---|---|
PricingType | Amount | 1 |
Percentage | 2 | |
FreeShipping | 3 |
Api Column Name | Name | Value |
---|---|---|
Display Type ID | Text Box | 1 |
Drop Down | 2 | |
Picture | 3 |
Api Column Name | Name | Value |
---|---|---|
Discount Type ID | Price Discount | 1 |
Percentage Discount | 2 |
Api Column Name | Name | Value |
---|---|---|
OrderStatusId | Live Cart | 1 |
Abandoned Cart | 2 | |
Placed | 3 | |
Waiting for dropshipment | 4 | |
Cancelled | 5 | |
Awaiting Fulfillment | 6 | |
Awaiting Shipment | 7 | |
Partially Shipped | 8 | |
Shipped | 9 | |
Completed | 10 | |
Processing Order | 35 | |
Rejected | 36 | |
Undelivered | 37 | |
Partial Paid | 38 |
Api Column Name | Name | Value | CarrierID |
---|---|---|---|
ServiceTypeId | Ground | 1 | 1 |
Next Day Air Early AM | 2 | 1 | |
Next Day Air | 3 | 1 | |
Next Day Air Saver | 4 | 1 | |
2nd Day Air Early AM | 5 | 1 | |
2nd Day Air | 6 | 1 | |
3 Day Select | 7 | 1 | |
Canada Standard | 8 | 1 | |
Worldwide Express | 9 | 1 | |
Worldwide Express Plus | 10 | 1 | |
Worldwide Expedited | 11 | 1 | |
ExpressMail | 13 | 2 | |
PriorityMail | 14 | 2 | |
Parcel Post (Machinable) | 15 | 2 | |
Library | 16 | 2 | |
Media | 17 | 2 | |
Priority Overnight | 18 | 8 | |
Standard Overnight | 19 | 8 | |
First Overnight | 20 | 8 | |
FedEx 2 Day | 21 | 8 | |
FedEx Express Saver | 22 | 8 | |
International Priority | 23 | 8 | |
International Economy | 24 | 8 | |
International First | 25 | 8 | |
FedEx 1 Day Freight | 26 | 8 | |
FedEx 2 Day Freight | 27 | 8 | |
FedEx 3 Day Freight | 28 | 8 | |
FedEx Ground | 29 | 8 | |
Ground Home Delivery | 30 | 8 | |
International Priority Freight | 31 | 8 | |
International Economy Freight | 32 | 8 | |
Tier One | 34 | 10 | |
Tier Two | 35 | 10 | |
Tier Three | 36 | 10 |
Api Column Name | Name | Value |
---|---|---|
CarrierId | UPS | 1 |
USPS | 2 | |
Flat Rate Per Item | 3 | |
Ship By Weight | 4 | |
Ship By Order Total | 5 | |
Flat Rate Per Order | 6 | |
In Store Pick Up | 7 | |
FEDEX | 8 | |
Ship by Order Total[Tiered] | 10 |
Api Column Name | Name | Value |
---|---|---|
Payment Method ID | PayPal [Express Checkout] | 30 |
Credit Card | 31 | |
Manual Payment | 32 | |
Purchase Order | 33 | |
Store Credit | 90 | |
Gift Card | 91 | |
Cyber Source (Secure Acceptance) | 224 |
Api Column Name | Name | Value |
---|---|---|
Return Status ID | Return Initiated | 97 |
Return Accepted | 98 | |
Return Rejected | 99 | |
Return Refunded | 100 | |
Return Partially Accepted | 104 |
Api Column Name | Name | Value |
---|---|---|
Return Type ID | Replaced | 102 |
Refunded | 103 |
API Name | Description |
---|---|
api/PortalLogin/Login | No Documentation Available |
api/PortalLogin/ForgotPassword?userid={userid}&resetkey={resetkey} | No Documentation Available |
api/PortalLogin/ChangeForgotPassword | No Documentation Available |
api/PortalLogin/ResetPassword?username={username} | No Documentation Available |
api/PortalLogin/UpdatePasswordResetHistory?PasswordResetHistoryID={PasswordResetHistoryID} | No Documentation Available |
api/PortalLogin/ValiadateStoreSSO?storeSSO={storeSSO} | No Documentation Available |
api/PortalLogin/ClosureFormSSO?storeSSO={storeSSO} | No Documentation Available |
api/PortalLogin/UpdateClientFeedBack | No Documentation Available |
api/PortalLogin/UpdateClosureForm | No Documentation Available |
The Sellers Commerce Open API provides a simple RESTful interface with lightweight JSON-formatted responses to use many of Sellers Commerce features,
included data related to Shopper,Order, Tools, Product,Category and many more.
And its using OAuth to allow both read and write access for public and private data.
This document provides information to developers on how to integrate with the Sellers Commerce Open API.
Sellers Commerce Open API's are accessible by as base url which looks like
api.sellerscommerce.com/api/Shopper/getall
api.sellerscommerce.com/api/Shopper/getall
All requests must be made with https. Both request body data and response data are formatted as JSON. Every request, including JSON, must have a Content-Type Http Request Header with a value of application/json.
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
For example:
Header :
Content-Type: application/json
Authorization: bearer accesstoken
The Sellers Commerce Open API uses a standard Authorization header to identifies every request.
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
it is also used to track overall call usage. To get access to sellers commerce open api user need to get acess token from our token endpoint
api.sellerscommerce.com/token
Token endpoint need three required data as below :
grant_type : password (no need to change anything, pass as usual)
username : Users Access Key
password : Users Shared Secret Key
With the above informations, user will get below response
{
"access_token": "ux6UKvImExGMm7rzLZDwpZAZPBapSPqNshe9Xx7xpz3HQy5LA5_IL8nu_yEZ_aN-AxjAud6IfvqLEwmFQpC4S8A5k",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "83895c3b-d59f-420e-b67a-8ca6ce3a17b4"
}
please do remember that bearer access token is valid for 1 hr,
However bearer access token can always be regenerated by hitting our refresh token endpoint till 4 hrs with the same Token endpoint api.sellerscommerce.com/token
this time it needs only two required data as below :
grant_type : refresh_token (no need to change anything, pass as usual)
refresh_token : 83895c3b-d59f-420e-b67a-8ca6ce3a17b4 ( it is your previous generated refresh token)
With the above informations, user will get below response
{
"access_token": "KlzDRDd4036-GeczoDjgH1290Q--u5PrYdzxdRjMJUFo-0batdjypjXMO4rkRG2Vxw7fVNU9AyjFsLE421YnnywmtWnHwG8",
"token_type": "bearer",
"expires_in": 3599,
"refresh_token": "1e1e2f48-824f-44fc-ac09-18f790acfb74"
}
Everytime it will provide you new refresh token which is valid for next 4 hrs. so, you need to get access token by ur privet secret credentials only once and then our endpoint will always provide you new refresh token and access token without asking your secret credential, it also kept our api very secure
Once user have his access token, it needs to be passed with every request as a valid bearer token in the Authorization header:
Header :
Authorization: bearer accesstoken
An endpoint's name indicates the type of data it handles and the action it performs on that data. We are using below actions only:
Action | HTTP | Method Description |
Create | POST | Creates an entity of the corresponding type. |
Retrieve | GET | Returns all instances of a particular entity that match query parameters you provide. |
Delete | DELETE | Deletes the existing entity that matches the identifier you provide. Deleted entities cannot be retrieved. |
Requests to Connect Sellers Commerce Open API endpoints must include the following HTTP headers:
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
Accept: application/json
Authorization: bearer accesstoken
In the place of YOUR_API_KEY, provide either your application's personal access token (available from the application dashboard) or an access token you generated with the OAuth API.
POST requests must include one additional header:
Content-Type: application/json
Authorization: bearer accesstoken
By default, all endpoint responses provide data as JSON in the response body and include a Content-Type: application/json header.
The Sellers Commerce Open API currently only support JSON format.
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Data is returned using JSON, a lightweight serialization language that is compatible with many different languages.
JSON is Java Script Object Notationa.
This might be extended in the future which will provide you more output formats based on your request header specification.
For now JSON is the default.
Each API response is wrapped in a standard structure that holds the results of the API call, plus metadata about the request:
[{
"FirstName": "sample string 1",
"LastName": "sample string 2",
"DOB": "2016-04-27T14:38:17.1709364+00:00",
"Deleted": true,
"ShopperTypeID": 11,
"Address": [{
"AddressName": "sample string 1",
"AddressLine1": "sample string 3",
"City": "sample string 5",
"StateCode": "sample string 6",
"CountryCode": "sample string 7",
"ZipCode": "sample string 8"
}]
}]
Sellers Commerce get all api endpoint also support most commonly used odata Queries which are available these days for generic query:
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
Odata Query Examples
* To get order data between two different order placed date the query should be like
http://api.sellerscommerce.com/api/order/getall?$filter=OrderPlacedDate+gt+datetime'2016-01-01'+and+OrderPlacedDate+lt+datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=CreatedDate ge datetime'2016-01-01' and CreatedDate le datetime'2016-06-01'
or http://api.sellerscommerce.com/api/order/getall?$filter=ModifiedDate ge datetime'2016-01-01' and ModifiedDate le datetime'2016-06-01'
The above query is an example that how to add odata query after api/order/getall to filter order between 2016-01-01 and 2016-06-01 dates.
You can query any date which is present for the requested method as an example here it's like for order it is OrderPlacedDate
Please remember that OdataQuery requests must include these additional query line other wise it will return you null values
To get order data in orderby
http://api.sellerscommerce.com/api/order/getall?$orderby=OrderNumber desc
Returns all order in descending order number
in the same way other getall methods can be order by valid data which are getting rendered by api
The SellersCommerce Open API attempts to return appropriate HTTP status codes for every request.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Code Text Description
200 OK Success!
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. In API v1.1, requests without authentication are considered invalid and will yield this response.
401 Unauthorized Authentication credentials were missing or incorrect. Also returned in other circumstances, for example all calls to API v1 endpoints now return 401 (use API v1.1 instead).
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
406 Not Acceptable Returned by the Search API when an invalid format is specified in the request.
429 Too Many Requests Returned in API v1.1 when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limiting in API
500 Internal Server Error Something is broken. Please post to the developer forums so the Twitter team can investigate.
502 Bad Gateway Twitter is down or being upgraded.
503 Service Unavailable The Twitter servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The Twitter servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.
Error Messages
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
When the SellersCommerce Open API returns error messages, it does so in JSON format. For example, an error response might look like this:
{
"Results": "OrderNotExist",
"ResponseMessage": "Order Does Not Exist",
"StatusCode": 24
}
In addition to descriptive error text, error messages contain machine-parseable codes. While the text for an error message may change, the codes will stay the same. The following table describes the codes which may appear when working with the API:
Sellers Commerce Response Code | Response Body Text/Results | Response Messages | HTTP Status Code | HTTP Status Message |
20 | Processed | Processed Successfully | 200 | OK |
21 | ProviderNotExists | Provider Does Not Exist | 404 | NotFound |
22 | UserNotExists | User Does Not Exist | 404 | NotFound |
24 |