Connecting to the API

In order to connect your ERP or e-commerce platform to ChannelEngine, you can use the REST API. Or a combination of the API and data feeds (XML or CSV).

The most up-to-date  information can be found through the links below:

Before you start using our API you might want to check our range of extensions for common e-commerce platforms.

Using the API

When using the API, make sure to use your personal subdomain <shopname>.channelengine.net (e.g. myshop-nl.channelengine.net).

Product-, pricing- and stock information

There are two ways to get product information updated to ChannelEngine:

  1. Via a data feed in XML or CSV. (Reference found here)
    This can be a single regularly updated feed containing both product details, attributes, and images as well as stock and pricing.

    or

    When you have a large product catalog, it makes sense to provide a separate data feed on a daily basis while generating a separate offer feed, containing only stock and pricing, which is updated on a regular basis (eg. every 15 min, depending on the sales volume and stock levels). 
  2. Adding a data feed can be done by going to your ChannelEngine account and go to Products > Product feeds.
  3. Via the API (Reference found here)
    All product information can be inserted and updated via the API as well. Usually, it makes sense to add new products once and update product information when these products update. For every stock or price change, you can call our API to reflect these updates when they happen.

Orders

Orders can best be fetched, acknowledged or canceled via the API. We strongly advise using the /v2/orders/new endpoint for getting orders, but you are free to use the /v2/orders endpoint which allows filtering on status and attributes (like is the order merchant or channel fulfilled?). 

Shipments

Each order can have one or more shipments that need to be sent to ChannelEngine including track & trace reference where available. This track & trace reference is a requirement for most marketplaces in order to track shipment performance. If an order or individual order lines can be split up in multiple shipments, is depending on the support the channel has for this. Please consult individual marketplace guide to see what's supported.

Please note that for marketplaces, shipments will not be exported without a carrier method and track&trace number. Be sure to supply this in your shipment calls, either right away or by doing a PUT /v2/shipments/{merchantShipmentNo} later containing the Method and TrackTraceNo. The TrackTraceUrl is optional (most marketplaces will ignore it and create their own), but if you have the data please include it.

Returns

Get all returns created by the channel via the API or create a new return if the channel support it. To see what kind of return options are available (channel returns, merchant returns, both or noone), please consult the individual marketplace guide to see what's supported.

You can separately mark (part of) an order as returned by the customer when received in your warehouse.

Rate limits

You are limited to 1.000 requests in 15 minutes. 

The status of the rate limiting is communicated in the response headers:

X-Rate-Limit-Limit: the rate limit period (e.g. 15m)
X-Rate-Limit-Remaining: number of requests remaining
X-Rate-Limit-Reset: UTC date time (in ISO 8601 format) when the limits resets

If the limit is reached, you will receive a response with HTTP status 429 (Too many requests).

Make sure you are using as few calls as possible, for example by creating/updating products with one call in bulk. 10 calls each containing 1000 products is better than 100 calls containing 100 products. If the limit is still an issue, contact support and mention the IP address of the server(s) you're calling from.

Questions?

When you have any questions regarding the API implementation you can email to support@channelengine.com. Please provide as much relevant information as possible so our team can help you in the most efficient way.