Skip to main content

Products' Catalog API

Summary

  1. Overview

  2. Sync Products

    2.1 Authentication

    2.2 Pagination

    2.3 Product Properties

    2.4 Product Option Properties

    2.5 Product Option Value Properties

    2.6 Required Endpoints

    2.7 Retrieve All Products

    2.8 Retrieves a List of Product Options

    2.9 Mark the Product as Configurable in Your System

    2.10 Mark the Product as Not Longer Configurable in Your System

1. Overview

The Sync Products API is an interface that must be implemented on the system on which you want to integrate Zakeke, to allow the exchange and synchronization of the product catalog.

You can implement this API using any technology stack. You can read here a basic implementation of it in php.

2. Sync Products

Each product in your system can contain one or multiple variants (some ecommerce platforms would call these options) that the customer can purchase (imagine multiple sizes or colors of the same t-shirt design).

The purpose of Products Sync API is to let you link each product from your system that will be available for the configuration by Zakeke.

2.1 Authentication

Each request is authenticated by http basic auth by using using your Zakeke api client id as username and your secret key as password. You can find your api keys from this page.

2.2 Pagination

API responses must support pagination by a parameter named page in the query string. Pages have index 1. The API must return an empty list when the requested page doesn't have any elements.

2.3 Product Properties

  • code : A unique numeric identifier for the product. Each id is unique across your system.
"code": "242422342"
  • name : The name of the product.
"name": "Woman handbag"
  • thumbnail : An image associated with the product.
"thumbnail": "https://urlOfTheproduct"

2.4 Product Option Properties

  • code : The unique numeric identifier for the product option.
"code": "34523"
  • name : The name of the product option.
"name": "Color"
  • values : The possible values ​​of the product option.
"values": [
{
"code": "537564567",
"name": "White"
},
{
"code": "646456464",
"name": "Black"
}
]

2.5 Product Option Value Properties

  • code : The unique numeric identifier for the option value.
{	
"code": "537564567"
}
  • name : The name of the option value.
{	
"name": "White"
}

2.6 Required Endpoints

These are the endpoints to be implemented on your system that are required for the Product Sync API integration:

VerbEndpointAttribute
GEThttps://yourSystem/productSyncAPIRetrieves a list of products.

2.7 Retrieve All Products

VerbEndpointDescription
GEThttps://yourSystem/productSyncAPI/{product_code}/optionsRetrieves a list of product options.

Response

HTTP/1.1 200 OK

[
{
"code":"1343242",
"name":"Woman handbag",
"thumbnail":"https://imageUrl"
},
{
"code":"1343243",
"name":"Watch",
"thumbnail":"https://imageUrl"
}
]

2.8 Retrieves a List of Product Options

VerbEndpointDescription
GEThttps://yourSystem/productSyncAPI/{product_code}/optionsRetrieve all options for a product

Response

HTTP/1.1 200 OK

[
{
"code":"34523",
"name":"Color",
"values": [
{
"code": "537564567",
"name": "White"
},
{
"code": "646456464",
"name": "Black"
}
]
}
]

2.9 Mark the Product as Configurable in Your System

VerbEndpointDescriptionResponse
POSThttps://yourSystem/productSyncAPI/{product_code}/configuratorLink a product on your system with a Zakeke configurationHTTP/1.1 200 OK

2.10 Mark the Product as Not Longer Configurable in Your System

VerbEndpointDescriptionResponse
DELETEhttps://yourSystem/productSyncAPI/{product_code}/configuratorUnlink a product on your system with a Zakeke configurationHTTP/1.1 200 OK