Shoppable APIs Documentation

Quickstart Guide

1. Obtain API token

Shoppable authenticates all API requests using a token passed as an ‘Authorization: Bearer token’  in the header (-H).

Test Token:

-H ‘Authorization: Bearer Kolu72V3T3eFplHNe66e8aef90aba018’

All Customers will initially receive a staging token, once you're ready for production you can make a request for a production token, Shoppable will provide you with access to your production token. 

Host (environment):

Staging Production
api.shoppable.co api.shoppable.com

2. The Catalog

Use our catalog request if you need to find UPCs or just to get the contents of our catalog. You can search by different parameters, Brand, Category, and or Search Term. 

Use the Test Token from Step 1

-H ‘Authorization: Bearer Kolu72V3T3eFplHNe66e8aef90aba018’

Below is an example request:

URL Endpoint:

GET: https://api.shoppable.co/v3/catalog/?search=revlon&merchants=walmart&brands=revlon&offset=0&rows=5&navigation_type=none

Query parameters when generating your request along with some context:

Name Description
rows (string) Limits the number of product records returned in the response
offset (string) Skip the specified amount of products that come back in response (initial set to 0)
search (string)

Search phrase can be any valid Solr qry syntax. Uses Shoppable field weights to determine relevance.

Search- free form Solr q param search. Supports q Solr search strings. Search attributes are singular ex: &search=-category:men AND__ -category:children__ would remove categories with children and men from the search results.

* It's important to note that these are values of the search qry param.

Qry params- are Solr fq in plural(s).

Example: qry param for merchant is merchant(s). Which can support multiple values separated by a delimiter (, for OR. | for AND).

Example:

&merchants=lord,ralph,Top. An asterisk() is used for values that are not complete words. So ‘Top*’ will return Topman. But ‘Top’ will not. ‘Lord’ will return Lord And Taylor because ‘Lord’ is a whole word. 

Important points:

  • , = OR
  • | = AND
  • (*) is a wildcard for partial word searches.

The qry params that are availble and added as solr fq search criteria are:

  • merchants: merch1,merch2,merch3 (OR equals to ‘’ , ‘’), 
  • catagories: cat1,cat2,cat3 (OR), 
  • brands: example brand1,brand2,brand3(OR). brand1|brand2|brand3 (AND equals to ‘’ | ‘’)
  • part_numbers: part_number1,part_number2 (OR).Part_number1|part_number2 (AND), __sizes-__size1,size2 (OR). size1|size2 (AND) 
  • colors: color1,color2 (OR). color1|color2 (AND)
  • min_price: min_price=20
  • max_price: max_price=50
  • upc: upc1,upc2 (OR). upc1|upc2(AND)
  • category_ids: category_id1,categoryid2 (OR). categoryid1|categoryid2(AND) *This is probably the only logical use of the AND feature for fq. But it’s available for all of the above
  • coupons: coupon1,coupon2 (OR). coupon1|coupon2 (AND)
brands (string) Comma-separated list of brands for query filter
category_ids (string) The tid or tids you want to check against
categories (string) Comma-separated list of categories used for query filter
sort (string)

How to sort products

Options:

  • -last_modified
  • price
  • -price
  • name
  • random
sizes (string) Comma-separated list of sizes for query filter
colors (string) Comma-separated list of colors for query filter
merchants (string) Comma-separated list of merchants for filtering
coupons (string) Comma-separated list of coupons for filtering
min_price (string) The minimum price for query filter.
max_price (string) The maximum price for query filter
navigation_type (string)

Parameter for how the navigation is returned.

Options:

  • arelimited
  • category_all
  • category_only
  • except_category
  • all
  • none
part_numbers (string) Comma-separated list of part numbers

 

A successful response (status: 200) will return a JSON object:

[
{
"metadata": "string",
"count": "string",
"query_time": "string",
"navigation": "string",
"previous_page_url": "string",
"next_page_url": "string",
"products": "string",
"part_number": "string",
"name": "string",
"brand": "string",
"merchant": "string",
"merchant_id": "string",
"description": "string",
"url": "string",
"image": "string",
"retail_price": "string",
"sale_price": "string",
"price": "string",
"active": "string",
"on_sale": "string",
"shipping_charge": "string",
"ship_free_min": "string",
"ship_flat_rate": "string",
"colors": "string",
"sizes": "string",
"size": "string",
"id": "string",
"merchant_sku": "string",
"sku": "string",
"upc": "string",
"merchant_item_id": "string",
"customer_service_url": "string",
"return_policy_url ": "string",
"alt_images": "string",
"material": "string",
"lead_color": "string",
"custom_classes": "string",
"category": "string",
"free_shipping": "string"
}
]

The catalog model has the following schema parameters:

metadata (string) Metadata of the information returned.

count (string)

Count of total products in the request.
query_time (string) The query_time for this request.
navigation (string) Navigation object for the display of navigation interface.
previous_page_url (string) The previous URL for paging through the result set. A '''' is returned if you are at the first result set.
next_page_url (string) The next URL for paging through the result set.
products (string) An array of products in the query result.
part_number (string) Shoppable's part number.
name (string) The product name.
brand (string) The brand name.
merchant (string) The merchant name from which this product is sold.
merchant_id (string) Id of the merchant.
description (string) The description. This normally won't contain HTML markup unless you add your own markup in the Shoppable Dashboard.
url (string) The direct URL to the product on the merchant's site.
image (string) A default image for the product. This will be set to the image of the first SKU in the colors array. This is useful for displaying the price even when there are no available SKUs for the product.
retail_price (string) A default retail_price for the product. This will be set to the retail_price of the first SKU in the colors array. This is useful for displaying the price even when there are no available SKUs for the product.
sale_price (string) A default sale_price for the product. This attribute is only present when the item is discounted from its retail price. This will be set to the sale_price of the first SKU in the colors array. This is useful for displaying the sale price even when there are no available SKUs for the product.
price (string) The lowest price for the product, which will either be the retail price, the sale price or the discount price.
active (string) A boolean that indicates whether the product is available for purchase. By default, this will always be true since the API only responds with active products.
on_sale (string) Determines if the product is on sale.
shipping_charge (string) The shipping charge for the product.
ship_free_min (string) The minimum shipping charge for the product.
ship_flat_rate (string) Shipping flat rate for this product.
colors (string) An array that contains the various SKU's for a product.
sizes (string) An array that contains the various SKU's for color.
size (string) A string containing the size of the current SKU. This attribute is omitted if the product does not come in different sizes.
id (string) This is the SKU of the product of the specified color and size. This number is the most unique identifier of a product in a feed.

merchant_sku

(string)

The merchant's SKU for the current color/size combination if one is set. If the merchant_sku is not set by the merchant, this attribute will be omitted.
sku (string) SKU of the product.
upc (string) Upc code for this product. Upc is globally unique and can be used to search for products across retailers (price comparison).

merchant_item_id

(string)

The merchant's item ID for the product if one is set. If the merchant_item_id is not set by the merchant, this attribute will be omitted.

customer_service_url

(string)

The merchant's customer service URL if one is set. If the customer_service_url is not set by the merchant, this attribute will be omitted.

return_policy_url

(string)

The merchant's return policy URL if one is set. If the return_policy_url is not set by the merchant, this attribute will be omitted.

alt_images

(string)

An array containing all of the images 72Lux has for the product. The default image from above will always be the first element of the array

material

(string)

The material the product is made from if one is set. If the material is not set, this attribute will be omitted.

lead_color

(string)

If the publisher has set a lead color for this product on the Shoppable Dashboard, this attribute will be set to the name of that color. In addition, the lead color will always be the first element in the colors array

custom_classes

(string)

If the publisher has set any custom CSS classes for this product on the Shoppable Dashboard, this attribute will contain a string of those custom CSS class names.

category

(string)

The category of the product, if one is set. If a category is not set, this attribute will be omitted. The category is formatted as ''Level 1 category> Level 2 category > ...''

free_shipping

(string)

A boolean indicating whether this product qualifies for free shipping.

The catalog request has the following error codes:

50001 (string) Bad Request - Invalid rows parameter.
50002 (string) Bad Request - Invalid Offset parameter.
50003 (string) Bad Request - Invalid sort parameter
50004 (string) Bad Request - Invalid discount_type parameter
50005 (string) Bad Request - Invalid navigation_type parameter
50006 (string) Bad Request - Invalid category parameter
50007 (string) Bad Request - Invalid part_number parameter
50008 (string) Bad Request - Invalid Brand parameter
50009 (string) Bad Request - Invalid sizes parameter
50010 (string) Bad Request - Invalid colors parameter
50011 (string) Bad Request - Invalid merchants parameter

We've attached an example Postman request for the catalog below:

Postman Example Request: https://www.getpostman.com/collections/ecb509acbe0bb3f9b272

3. Products

If you've identified the products you'd like to use whether from our Catalog request (step 2) or from any other external sources you can use the Product request to fetch product information along with its variations (colors, sizes) if applicable.

Use the Test Token from Step 1

-H ‘Authorization: Bearer Kolu72V3T3eFplHNe66e8aef90aba018’

Fetch product information by UPC for a single or multiple products. A UPC stands for universal product code, which is made up of a unique 12-Digit code. If all your UPCs are valid you'll be able to fetch products successfully, use the request below.

URL Endpoint:

Single Product:

GET: https://api.shoppable.com/v3/product?upcs=309972924759

Multiple Products:

GET: https://api.shoppable.com/v3/product?upcs=309972924759,081555770167,603084459353

A successful response (status: 200) will return a JSON object:

[
{
"part_number": "string",
"name": "string",
"brand": "string",
"merchant": "string",
"merchant_id": "string",
"ship_free_min": "string",
"delivery_fee": "string",
"ship_flat_rate": "string",
"shipping_charge": "string",
"description": "string",
"url": "string",
"category": "string",
"category_id": "string",
"merchant_tax_path": "string",
"customer_service_url": "string",
"return_policy_url": "string",
"active": "string",
"merchant_item_id": "string",
"merchant_sku": "string",
"colors": "string",
"image": "string",
"retail_price": "string",
"sale_price": "string",
"discount_price": "string",
"price": "string",
"on_sale": "string",
"coupons": "string",
"weight": "string",
"dimensions": "string",
"alt_images": "string",
"free_shipping": "string",
"color": "string",
"size": "string",
"upc": "string",
"id": "string"
}
]

The product model has the following schema parameters:

part_number (string) Returns the part number passed.
name (string) Name of the product.
brand (string) Brand of the product.
merchant (string) Merchant selling the product and the party handling shipping.
merchant_id (string) Id of the merchant.
ship_free_min (string) The minimum shipping charge for this product.
delivery_fee (string) Delivery fee for this product.
ship_flat_rate (string) Shipping flat rate for this product.
shipping_charge (string) The shipping charge for the product.
description (string) Long description of the product.
url (string) Affiliate link of the product.
category (string) Nested categories. The category is formatted as''Level 1 category>Level 2 category > ...''
category_id (string) Id of the product category.
merchant_tax_path (string) Product category as used by the merchant.
customer_service_url (string) string
Customer service URL of the merchant.
return_policy_url (string) string
Return policy URL of the merchant
active (string) Availability of the product on a specific size and color. Products may be unavailable due to it being out of stock or poor feed data.
merchant_item_id (string) Part number of the product as used by the merchant when available.
merchant_sku (string) SKU of the product as used by the merchant when available.
colors (string) An array of available colors with a price for a product. Each color also has arrays of images and sizes.
image (string) General image for the product.
retail_price (string) The retail price of the product for a specific color of the product.
sale_price (string) The sale price of the product for a specific color of the product. This attribute will only be present if the product is on sale.
discount_price (string) The sale price of the product after coupons are applied. This attribute will only be present if the product is on sale.
price (string) The lowest price for the product will either be the retail price, the sale price, or the discounted price.
on_sale (string) Determines if the product is on sale.
coupons (string) An array of coupons that are acceptable to this product. This array includes the type of coupon($off,%off,free_shipping), threshold (which is the threshold when they are applied, and the amount saved.
weight (string) Item weight when available.
dimensions (string) Item Dimensions when available.
alt_images (string) Alternate images of the product such as from different angles and/or colors.
free_shipping (string) Whether shipping by the merchant is free.
color (string) Available color for a given product.
size (string) Size of the product for a specific color.
upc (string) UPC code for this specific product variation.
id (string) This is the SKU of the product of the specified color and size. This number is the most unique identifier of a product in a feed.

The catalog request has the following error codes:

30000 (string) Unknown Solr Server error.
30002 (string) Invalid token.
30003 (string) Unauthorized access.
40001 (string) Product Not Found.

We've attached an example Postman product request below:

Postman Example Request: https://www.getpostman.com/collections/8d54d5a908aa75b20ca7

4. The Cart

So you've selected the products you'd like to add to the cart, you'll able to use the cart request to create a new cart, add/update/delete item(s), fetch an existing cart, clear and delete a cart. 

Use the Test Token from Step 1

-H ‘Authorization: Bearer Kolu72V3T3eFplHNe66e8aef90aba018’

URL Endpoint:

Create Cart:

GET: https://api.shoppable.co/v3/cart/

Response

{
"cart": {
"id": "String",
"qty": Number,
"subtotal": Number,
"total": Number
},
"partner_id": Number,
"partner_name": "String",
"availableMerchants": [Array]
}

Add to Cart

REQUEST FORMAT: /cart/{id}/put/{sku}/qty/{qty}

GET:
https://api.shoppable.co/v3/cart/7cd17781-b975-4e96-a6b2-8db9d2f57f60/put/11458-10316567_60d4cfab4460358d9217135b92867186/qty/8

Request parameters when generating your request along with some context:

Name Description
id (string) The Id of the requested cart.
sku (string) The SKUs of the items you’d like to update in the cart. The SKU must exist which is the same as the id and must be active for the item to be added.
qty (Number) The quantity of the item you would like to add to the cart.

Response (if an item doesn't add to the cart it's due to the item being Out of Stock)

{
"cart": {
"id": "String",
"modified_on": "String",
"partner_id": Number,
"partner_name": "String",
"subtotal": Number,
"shipping_total": Number,
"total": Number,
"external_total": Number,
"qty": Number
},
"merchants": [
{
"id": "String",
"name": "String",
"customer_service_url": "String",
"return_policy_url": "String",
"shipping_flat_rate": Number,
"ship_fee": Number,
"shipping_fee": Number,
"ship_free_min": Number,
"ship_min": Number,
"subtotal": Number,
"total": Number,
"shipping_total": Number,
"items": [
{
"sku": "String",
"merchant_sku": "String",
"upc": "String",
"part_number": "String",
"brand": "String",
"qty": Number,
"name": "String",
"retail_price": Number,
"images": [
"String"
],
"color": "String",
"size": "String",
"url": "String",
"url2": null,
"url2_es": null,
"marketplace": false,
"sale_price": Number,
"price": Number,
"subtotal": Number,
"total": Number,
"modified_on": "String"
}
]
}
],
"settings": {
"showMoreFromCategory": Boolean,
"brands": "String",
"merchants": "String",
"updateLinks ": Boolean
},
"partnerId": Number
}

Update Cart:

POST: https://api.shoppable.co/v3/cart/put/bundling
Request Body (Content-Type: application/json):

{
"id":"String",
"items":
[
{"sku": "String","qty": Number},
{"sku": "String","qty": Number},
{"sku": "String","qty": Number}
]

}

Request parameters when generating your request along with some context:

Name Description
id (string) The Id of the requested cart.
sku (string) The SKUs of the items you’d like to update in the cart. The SKU must exist which is the same as the id and must be active for the item to be added.
qty (Number) The quantity of the item you would like to add to the cart.

The response will return the cart requested with the updated values same as in the Add to Cart's response

Delete item from Cart

The delete item request will remove the product and all of its quantity from the cart. If you would like to just update the quantity then use the Update Call listed above.

REQUEST FORMAT: /cart/{id}/delete/{sku}

GET:
https://api.shoppable.co/v3/cart/7cd17781-b975-4e96-a6b2-8db9d2f57f60/delete/11458-10316567_60d4cfab4460358d9217135b92867186/

Request parameters when generating your request along with some context:

Name Description
id (string) The Id of the requested cart.
sku (string) The SKUs of the items you’d like to update in the cart. The SKU must exist which is the same as the id and must be active for the item to be added.

Response

{
"cart": {
"id": "String",
"modified_on": "String",
"partner_id": Number,
"partner_name": "String",
"shipping_total": Number,
"total": Number,
"external_total": Number,
"qty": Number
},
"merchants": [],
"settings": {
"showMoreFromCategory": Boolean,
"brands": "String",
"merchants": "String",
"updateLinks ": Boolean
},
"partnerId": Number
}

Fetch Cart

REQUEST FORMAT: /cart/{id}

GET:
https://api.shoppable.co/v3/cart/7cd17781-b975-4e96-a6b2-8db9d2f57f60

Request parameters when generating your request along with some context:

Name Description
id (string) The Id of the requested cart.

The response will return the cart requested the same as in the Add to Cart's response.

Clear Cart

REQUEST FORMAT: /cart/{id}

GET:
https://api.shoppable.co/v3/cart/7cd17781-b975-4e96-a6b2-8db9d2f57f60/clear

Request parameters when generating your request along with some context:

Name Description
id (string) The Id of the requested cart.

The response will return code status: 200, successfully clearing cart. 

Delete Cart

REQUEST FORMAT: /cart/{id}/deleteCart

GET:
https://api.shoppable.co/v3/cart/7cd17781-b975-4e96-a6b2-8db9d2f57f60/deleteCart

Request parameters when generating your request along with some context:

Name Description
id (string) The Id of the requested cart.

The response will return code status: 200, successfully clearing cart. 

We've attached a Postman collection of all the add to cart requests below:

Postman Example Request: https://www.getpostman.com/collections/2cb6f5ba1e076c609f7c

4. The Patented, Shoppable® Universal Checkout

Now that you've created a cart and have added products to it, it's time to checkout. You will only be able to checkout carts that have at least a single product attached. 

Use the Test Token from Step 1

Token: Kolu72V3T3eFplHNe66e8aef90aba018

URL Endpoint:

Checkout Cart:

POST: https://secure.shoppable.co/api/v3/token/Kolu72V3T3eFplHNe66e8aef90aba018/checkout

Request (all fields below are required)

{
"cartId": "String",
"shipping_first_name": "String",
"shipping_last_name": "String",
"shipping_street1": "String",
"shipping_city": "String",
"shipping_state": "String",
"shipping_postal_code": "String",
"shipping_phone": "String",
"shipping_email": "String",
"billing_first_name": "String",
"billing_last_name": "String",
"billing_street1": "String",
"billing_city": "String",
"billing_state": "String",
"billing_postal_code": "String",
"billing_phone": "String",
"billing_email": "String",
"billing_country": "String",
"card_name": "String",
"currency": "String",
"expiry_month": "String",
"expiry_year": "String",
"security_code": "String",
"card_number": "String"
}

Request parameters when generating your request along with some context:

Name Description Required
cartId (string)  The cart_id to be processed TRUE
shipping_first_name (string)  The first name on the shipping address for the customer checking out TRUE
shipping_last_name (string)  The last name on the shipping address for the customer checking out. TRUE
shipping_street1 (string)  The street address line 1 on the shipping address for the customer checking out TRUE
shipping_street2 (string)  The street address line 2 on the shipping address for the customer checking out FALSE
shipping_city (string)  The city on the shipping address for the customer checking out TRUE
shipping_state (string)  The state on the shipping address for the customer checking out TRUE
shipping_postal_code (string)  The postal code on the shipping address for the customer checking out TRUE
shipping_country_code (string)  The country code on the shipping address for the customer checking out TRUE
shipping_phone (string)  The phone on the shipping address for the customer checking out TRUE
shipping_email (string)  The email on the shipping address for the customer checking out TRUE
billing_first_name (string)  The first name on the billing address for the customer checking out TRUE
billing_last_name (string)  The last name on the billing address for the customer checking out TRUE
billing_street1 (string)  The street line 1 on the billing address for the customer checking out TRUE
billing_street2 (string)  The street line 2 on the billing address for the customer checking out FALSE
billing_city (string)  The city on the billing address for the customer checking out TRUE
billing_state (string)  The state on the billing address for the customer checking out TRUE
billing_country (string)  The country on the billing address for the customer checking out TRUE
billing_postal_code (string)  The postal code on the billing address for the customer checking out TRUE
billing_phone (string)  The phone number on the billing address for the customer checking out TRUE
billing_email (string)  The email on the billing address for the customer checking out TRUE
card_name (string)  The name for the cardholder for the customer checking out TRUE
card_number (string)  The card number for the cardholder for the customer checking out TRUE
expiry_month (string)  The expiration month on the card for the cardholder for the customer checking out TRUE
expiry_year (string)  The expiration year on the card for the cardholder for the customer checking out TRUE
security_code (string)  The security code on the card for the cardholder for the customer checking out TRUE

Response (refer to next request, Order API request for response parameters)

[
{
"merchant": "String",
"merchant_id": "String",
"color": "String",
"size": "String",
"mfg_part_number": "String",
"mfg_sku": "String",
"part_number": "String",
"sku": "String",
"upc": "String",
"price": Number,
"shipping_charge": Number,
"quantity": Number,
"title": "String",
"brand": "String",
"url": "String",
"status": Number,
"id": Number,
"number": "String",
"partner_id": Number,
"total": "String",
"item_total": "String",
"shipping_total": "String",
"shipping_first_name": "String",
"shipping_last_name": "String",
"shipping_phone": "String",
"shipping_company": "String",
"shipping_street1": "String",
"shipping_street2": "String",
"shipping_city": "String",
"shipping_state": "String",
"shipping_postal_code": "String",
"shipping_country": "String",
"shipping_email": "String",
"billing_first_name": "String",
"billing_last_name": "String",
"billing_phone": "String",
"billing_company": "String",
"billing_street1": "String",
"billing_street2": "String",
"billing_city": "String",
"billing_state": "String",
"billing_postal_code": "String",
"billing_country": "String",
"billing_email": "String",
"payment_method": Number,
"completed_total": "String",
"completed_item_total": "String",
"completed_order_total": "String",
"completed_shipping_total": "String",
"created_at": "String",
"updated_at": "String",
"expunged": Boolean,
"currency": "String",
"customer_id":"String",
"opt_in": "String",
"language":"String",
"tracking_number":"String",
"tax_payable": "String",
"campaign":"String",
"cart_id":"String",
"last_modified_by": "String",
"merchant_total": Number
}
]

We've attached an example Postman checkout request below:

Postman Example Request: https://www.getpostman.com/collections/74e58fb80b524f0162f6

5. The Order API

Now that you've created an order through the checkout request you'll need to fetch your order information. The Order API requires credentials for the initial authentication request. If you haven't yet received your Order API credentials then make sure to reach out to provide you the credentials for access to your order data.

Auth Request

Order API Credentials (test):

userId: TEST

password: Test1234@!*&

URL Endpoint:

POST: https://orders.shoppable.com:4433/auth

Request (all fields below are required)

{
"userId": "TEST",
"password": "Test1234@!*&"
}

Request parameters when generating your request along with some context:

Name Description
userId (string) User id from the provided credentials
password (string) Password from the provided credentials

Response

[
{
"auth": Boolean,
"token": "string",
"expire": 0 // will a 24 hour time value
}
]

Response parameters when generating your request along with some context:

Name Description
auth (boolean) Boolean for auth token token
token (string) Token for Order API request access
expire (integer) Timestamp for token's life

Order Range Request

You will need to use the token returned to you in the Auth response, it is a tokenized value of your credentials that a 24 hour expiry time.

Order API Auth Response (test):

[
    {
        "auth": Boolean,
        "token": "string", // you'll use this token for your Order Range Call
         "expire": 0 // will a 24 hour time value
    }
]

URL Endpoint:

REQUEST FORMAT: /orderData/{rows}/page/{page}/startdate/{startDate}/enddate/{endDate}

GET:
https://orders.shoppable.com:4433/v3/orderData/100/page/0/startdate/2020-01-01T00:00:00.000Z/enddate/2021-02-10T00:00:00.000Z

Request parameters when generating your request along with some context:

Name Description
x-access-token (header) Token generated from Order API Auth Request
rows (path) Number of orders you want to be returned
page (path) The page offset for the orders
startDate (path) The starting date of the orders (use ISO Date Format)
endDate (path) The ending date of the orders (use ISO Date Format)

Response (if an item doesn't add to the cart it's due to the item being Out of Stock)

[
{
"order_number": "string",
"partner_id": 0,
"total": "string",
"shipping_total": "string",
"id": 0,
"billing_email": "string",
"order_date": "string",
"order_status": "string",
"billing_first_name": "string",
"billing_last_name": "string",
"billing_postal_code": "string",
"billing_state": "string",
"billing_city": "string",
"billing_street1": "string",
"billing_street2": "string",
"billing_company": "string",
"billing_phone": "string",
"billing_country": "string",
"shipping_first_name": "string",
"shipping_country": "string",
"shipping_last_name": "string",
"shipping_postal_code": "string",
"shipping_state": "string",
"shipping_city": "string",
"shipping_street1": "string",
"shipping_street2": "string",
"shipping_company": "string",
"shipping_phone": "string",
"shipping_email": "string",
"item_total": "string",
"opt_in": "string",
"part_number": "string",
"merchant_order_id": "string",
"product_name": "string",
"upc": "string",
"brand": "string",
"sku": "string",
"title": "string",
"quantity": "string",
"price": "string",
"subtotal": "string",
"merchant": "string",
"merchant_id": "string",
"prevStatus": "string",
"lineitem_id": 0,
"lineitem_status": "string",
"lineitem_url": "string",
"lineitem_image_url": "string",
"lineitem_color": "string",
"lineitem_size": "string",
"commission_rate": 0,
"commission": "string",
"merchant_total": "string",
"tax": 0,
"partner_name": "string",
"partner_domain": "string"
}
]

Request parameters when generating your request along with some context:

order_number (string) Order number for the entire order - includes all retailers and line items.
partner_id (integer) minimum: 10000
maximum: 999999
Internal partner_id is related to staging/production token.
total (string) Order Grand total for all line items.
shipping_total (string) Shipping charges for this merchant’s line_items.
id (integer) minimum: 10000
maximum: 999999
Order ID
billing_email (string) The email on the billing address for the customer.
order_date (string) Date order was placed.
order_status (string)
  • Complete: Order has been completed by shoppable and sent to the merchant.
  • Pending: Shoppable is processing the order with the merchant.
  • Canceled: Shoppable has canceled the order.
  • Invalid cc: CC has been rejected by the retailer.
  • Out of stock: This item is no longer in stock.
  • Invalid billing: Shipment has no tracking information for 7 days since added, or has no further updates for 30 days since the last update.
  • Invalid shipping: New shipments added that are pending to track, or new shipments without tracking information available yet.
  • Invalid payment: Payment info is invalid.
  • Invalid coupon: The order contains an invalid coupon.
  • Retailer attention: The retailer needs more information before processing the order.
  • Retailer processing: The retailer is processing.
  • Fraud detected: Fraud was detected.
  • Test: This is a test line item.
  • Invalid product info: The product information provided was invalid.
  • Returned: The product was returned to the merchant.
  • Attention required: This order requires attention.
billing_first_name (string) The first name on the billing address for the customer.
billing_last_name (string) The last name on the billing address for the customer.
billing_postal_code (string) Postal code for the billing address given by the customer during checkout.
billing_state (string) State for the billing address given by the customer during checkout.
billing_city (string) The city for the billing address given by the customer during checkout.
billing_street1 (string) The street line 1 on the billing address given by the customer during checkout.
billing_street2 (string) The street line 2 on the billing address given by the customer during checkout.
billing_company (string) The company name on the billing address given by the customer during checkout.
billing_phone (string) The phone number on the billing address given by the customer during checkout.
billing_country (string) Country on the billing address given by the customer during checkout.
shipping_first_name (string) The first name on the shipping address given by the customer during checkout.
shipping_country (string) Country on the shipping address given by the customer during checkout.
shipping_last_name: The last name on the shipping address given by the customer during checkout.
shipping_postal_code (string) Postal code on the shipping address given by the customer during checkout.
shipping_state (string) State on the shipping address given by the customer during checkout.
shipping_city (string) City on the shipping address given by the customer during checkout.
shipping_street1 (string) The street line 1 on the shipping address given by the customer during checkout.
shipping_street2 (string) The street line 2 on the shipping address given by the customer during checkout.
shipping_company (string) The company name on the shipping address given by the customer during checkout.
shipping_phone (string) The phone number on the shipping address given by the customer during checkout.
shipping_email (string) The email on the shipping address given by the customer during checkout
item_total (string) The total amount for all line items in this order. This value is applied across retailers and will be the same value for all line items in a single order.
opt_in (string) The boolean string that shows if the user subscribes to the email list.
part_number (string) Shoppable's part number for the product.
merchant_order_id (string) Order id provided by the merchant.
product_name (string) Name of the item purchased.
upc (string) UPC code for this specific product variation.
brand (string) The brand name.
sku (string) Shoppable's SKU for this line_item variation.
title (string) Name of the item title.
quantity (string) Merchant selling the product and the party handling shipping.
price (string) Unit Price for this line_item.
subtotal (string) Price*qty.
merchant (string) Merchant selling the product and the party handling shipping.
merchant_id (string)

Id of the merchant.

prevStatus (string)
  • Complete: Order has been completed by shoppable and sent to the merchant
  • Pending: Shoppable is processing the order with the merchant
  • Canceled: Shoppable has canceled the order
  • Invalid cc: CC has been rejected by the retailer.
  • Out of stock: This item is no longer in stock.
  • Invalid billing: Shipment has no tracking information for 7 days since added, or has no further updates for 30 days since the last update.
  • Invalid shipping: New shipments added that are pending to track, or new shipments without tracking information available yet.
  • Invalid payment: Payment info is invalid.
  • Invalid coupon: The order contains an invalid coupon.
  • Retailer attention: The retailer needs more information before processing the order.
  • Retailer processing: The retailer is processing.
  • Fraud detected: Fraud was detected.
  • Test: This is a test line item.
  • Invalid product info: The product information provided was invalid.
  • Returned: The product was returned to the merchant.
  • Attention required: This order requires attention.
lineitem_id (integer) minimum: 10000
maximum: 999999
Shoppable's id for each line item.
lineitem_status (string) Status for each of the merchant's line items.
lineitem_url (string) Line item's product link.
lineitem_image_url (string) Line item's product image link.
lineitem_color (string) Line item's color variation.
lineitem_size (string) Line item's size variation.
commission_rate (integer) minimum: 0
maximum: 100
Partner's commission rate.
commission (string) Partner's commission.
merchant_total (string) Total of the subtotal for each line item for this merchant.
tax (number) Charged tax.
partner_name (string) Partner name for the order.
partner_domain (string) Partner domain that registered under the partner profile.

We've attached an example Postman Order API collection below:

Postman Example Request: https://www.getpostman.com/collections/d4037beaef9b1d9304b6

Congrats!  🎉 

You've made it through the whole product cycle, from finding products to creating carts, adding products to it, checking out a cart successfully, and finally fetching your orders. We hope you found this guide helpful as your introduction and integration with Shoppable's APIs. If you have any additional questions about any aspects of the integration or any specific API requests then make sure to reach out. We're always here and ready to help everyone get integrated properly and swiftly.