API - Products

The Products resource contains several methods that return product specific information.

Method Name: listProducts, listPreviousProducts, listNextProducts

Retrieve a list of our products. The list will contain 25 products at a time with links to the next and previous pages.

The methods listPreviousProducts and listNextProducts are pagination methods.

  • Method: GET

  • Parameters:

    • Limit — Min Value: 0, Max Value: 25.
    • Offset — Min Value: 0
  • Request Headers: Accept, Authorization, Host

  • Request Message Body: None

  • Response Headers: Content-Length, Content-Type, Content-Location

  • Response Message Body: List of products

  • Response Status: 200, 400, 401, 403, 404

  • Media Types:

    • application/vnd.koleimports.ds.product+xml
    • application/vnd.koleimports.ds.product+json

Request Parameters:

GET /products?limit=25&offset=0
Host: example.com 
Authorization: Basic {id}:{api_key} 
Accept: application/vnd.koleimports.ds.product+xml

Example CURL Request:

curl -H "Accept: application/vnd.koleimports.ds.product+xml" "https://{id}:{api_key}@api.koleimports.com/products?limit=1&offset=0"

Example Response:

HTTP/1.1 200 OK 
Content-Type: application/vnd.koleimports.ds.product+xml
Content-Length: 1804
Content-Location: https://api.koleimports.com/products?limit=25&offset=0

<?xml version="1.0" encoding="utf-8"?>
<products>
    <product>
        <sku></sku>
        <upc></upc>
        <title></title>
        <description></description>
        <type></type>
        <brand></brand>
        <colors></colors>
        <materials></materials>
        <attributes></attributes>
        <tags></tags>
        <category_id></category_id>
        <category></category>
        <subcategory_id></subcategory_id>
        <subcategory></subcategory>
        <inventory></inventory>
        <is_closeout></is_closeout>
        <unit_weight></unit_weight>
        <created></created>
        <modified></modified>
        <images>
            <image>
                <size></size>
                <url></url>
            </image>
        </images>
        <tiers>
            <tier>
                <quantity></quantity>
                <price></price>
            </tier>
        </tiers>
        <sale>
            <on_sale></on_sale>
            <sale_name></sale_name>
            <start_date></start_date>
            <end_date></end_date>
        </sale>
        <links>
            <link>
                <method></method>
                <media_type></media_type>
                <url></url>
            </link>
        </links>
    </product>
    <links>
        <link>
            <method>listNextProducts</method>
            <media_type>application/vnd.koleimports.ds.product+xml</media_type>
            <url>https://api.koleimports.com/products/?limit=25&amp;offset=25</url>
        </link>
    </links>
</products>

Response Field Definitions

The listProducts, listPreviousProducts and listNextProducts methods are collection methods. See getOrder for field definitions.

Method Name: getProduct

Retrieve information about a product by SKU.

  • Method: GET

  • Parameters: None

  • Request Headers: Accept, Authorization, Host

  • Request Message Body: None

  • Response Headers: Content-Length, Content-Type, Content-Location

  • Response Message Body: Product Information

  • Response Status: 200, 400, 401, 403, 404

  • Media Types:

    • application/vnd.koleimports.ds.product+xml
    • application/vnd.koleimports.ds.product+json

Request Parameters:

GET /products/{SKU}
Host: example.com 
Authorization: Basic {id}:{api_key} 
Accept: application/vnd.koleimports.ds.product+xml

Example CURL Request:

curl -H "Accept: application/vnd.koleimports.ds.product+xml" "https://{id}:{api_key}@api.koleimports.com/products/{SKU}"

Example Response:

HTTP/1.1 200 OK 
Content-Type: application/vnd.koleimports.ds.product+xml
Content-Length: 1804
Content-Location: https://api.koleimports.com/products/{SKU}

<?xml version="1.0" encoding="utf-8"?>
<product>
    <sku></sku>
    <upc></upc>
    <title></title>
    <description></description>
    <type></type>
    <brand></brand>
    <colors></colors>
    <materials></materials>
    <attributes></attributes>
    <tags></tags>
    <category_id></category_id>
    <category></category>
    <subcategory_id></subcategory_id>
    <subcategory></subcategory>
    <inventory></inventory>
    <is_closeout></is_closeout>
    <unit_weight></unit_weight>
    <created></created>
    <modified></modified>
    <images>
        <image>
            <size></size>
            <url></url>
        </image>
    </images>
    <tiers>
        <tier>
            <quantity></quantity>
            <price></price>
        </tier>
    </tiers>
    <sale>
        <on_sale></on_sale>
        <sale_name></sale_name>
        <start_date></start_date>
        <end_date></end_date>
    </sale>
    <links>
        <link>
            <method></method>
            <media_type></media_type>
            <url></url>
        </link>
    </links>
</product>

Response Body Field Definitions

Field Name Description Type Length
Field Name Description Type Length
order

Children:

  • sku
  • upc
  • title
  • description
  • type
  • brand
  • colors
  • materials
  • attributes
  • tags
  • category_id
  • category
  • subcategory_id
  • subcategory
  • inventory
  • is_closeout
  • unit_weight
  • created
  • modified
  • images
  • tiers
  • sale
  • links
n/a n/a
sku

The 5 Letter SKU of the item.

String 5
upc

The universal product code.

String 20
title

A short description.

String 150
description

A long description.

String 1000
type

The product type (e.g. import, floor display, pallet).

String 50
brand

The product brand name.

String 50
colors

A comma separated list of colors. These are the colors of the actual item, not a product option.

String 250
materials

A comma separated list of materials. These are the materials of the actual item, not a product option.

String 250
attributes

A comma separated list of attributes. These are the attributes of the actual item, not a product option.

String 250
tags

A comma separated list of tags. These are the tags of the actual item, not a product option.

String 250
category_id

A numeric ID (0 - 99) that represents the item category.

String 2
category

The product category.

String 150
subcategory_id

A numeric ID (1000 - 9999) that represents the item subcategory.

String 4
subcategory

The product subcategory.

String 150
inventory

The quantity available for ordering.

Integer 10
is_closeout

A boolean that dictates whether or not this item is a closeout item. A closeout item is no longer available after selling out.
Options: 0 or 1

Boolean 1
unit_weight

The unit weight (in lbs.) for the item.

Decimal 10
created

The ISO 8601 Timestamp for when the product was created (0000-00-00T00:00:00).

String 19
modified

The ISO 8601 Timestamp for when the product was last modified (0000-00-00T00:00:00).

String 19
images

Children:

  • image
n/a n/a
image

Children:

  • size
  • url
n/a n/a
size

The size of the image.
Options: tiny, small, medium, large, xlarge, print

String 50
url

The url to the image location.

String 255
tiers

Children:

  • tier
n/a n/a
tier

Children:

  • quantity
  • price
n/a n/a
quantity

The pricing tier quantity. (e.g. tier 1 might be 24 pieces). This is the quantity that will be ordered.

int 10
price

The unit piece price for the item.

decimal 10
sale

Children:

  • on_sale
  • sale_name
  • start_date
  • end_date
n/a n/a
on_sale

A boolean that dictates whether or not this is on sale.
Options: 0 or 1

Boolean 1
sale_name

The name of the sale.

string 100
start_date

The ISO 8601 Timestamp for when the sale starts (0000-00-00T00:00:00).

String 19
end_date

The ISO 8601 Timestamp for when the sale ends (0000-00-00T00:00:00).

String 19
links

Children:

  • link
n/a n/a
link

Children:

  • method
  • media_type
  • url
n/a n/a
method

The name of the API method.

String 100
media_type

The media type for the method. Use this in the Accept Header.

String 250
url

The URL used to access the resource.

String 250