Product Catalogue

Manage product catalogue

List catalogues

GET ‎https://<domain>/<api prefix>/<version>/commerce/product/list/catalogue/

This API endpoint will return a list of product catalogue

Query Parameters

NameTypeDescription

offset

string

The offset indicates the starting position of the query in relation to the complete set of unpaginated items.

limit

string

The limit indicates the maximum number of items to return, default maximum number is 50, and maximum limit is 100.

Headers

NameTypeDescription

apikey*

string

apikey

Authorization*

string

Bearer access token

HTTP/1.1 200 OK
Content-Type: application/json
​
Body:
{
    "status_code": 200,
    "errors": {},
    "data": {
        "results": [
            {
                "id": <catalogue_id>,
                "name": "<catalogue_name>",
                "parent_id": <parent_id>,
                "image": "<image_path>",
                "parent": {
                    "id": <parent_id>,
                    "name": "<parent_name>"
                },
                "translation": [
                    {
                        "name": "<catalogue_name>",
                        "language_code": "<language_code>",
                        "entity_id": <entity_id>
                    }
                    ...
                ]
            },
            ...
        ],
        "count": <list_count>,
        "previous": "<link_for_previous_page_list>",
        "next": "<link_for_next_page_list>"
    }
}

Sample Code

Node

var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://<domain>/<api prefix>/<version>/commerce/product/list/catalogue/',
  'headers': {
    'apikey': '<apikey>',
    'Authorization': 'Bearer <access token>',
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://<domain>/<api prefix>/<version>/commerce/product/list/catalogue/",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "apikey: <apikey>",
    "Authorization: Bearer <access token>",
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Create Catalogue

POST ‎https://<domain>/<api prefix>/<version>/commerce/product/create/catalogue/

This API endpoint will create a product catalogue

Headers

NameTypeDescription

apikey*

string

apikey

Authorization*

string

Bearer acces token

Request Body

NameTypeDescription

name*

string

Name of catalogue

parent_id*

string

Parent id of catalogue

​HTTP/1.1 200 OK
Content-Type: application/json
​
Body:
{
    "status_code": 200,
    "errors": {},
    "data": {}
}

Sample Code

Node

var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://<domain>/<api prefix>/<version>/commerce/product/create/catalogue/',
  'headers': {
    'apikey': '<apikey>',
    'Authorization': 'Bearer <access token>',
  },
  formData: {
    'name ': '<catalogue_name>',
    'parent_id': '<parent_id>'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://<domain>/<api prefix>/<version>/commerce/product/create/catalogue/",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => array('name ' => '<catalogue_name>','parent_id' => '<parent_name>'),
  CURLOPT_HTTPHEADER => array(
    "apikey: <apikey>",
    "Authorization: Bearer <access token>",
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Error Responses

Status Code

Error Type

Field

Description

400

Validation Error

name

This field is required.

This field may not be blank.

Ensure this field has no more than 200 characters.

"\"Catalogue name already selected. Please choose different name !"

400

Validation Error

parent_id

Parent id is required

This field may not be blank

Incorrect type. Expected pk value, received str.

Invalid pk \"parent_id\" - object does not exist.

Update Catalogue

POST ‎https://<domain>/<api prefix>/<version>/commerce/product/update/catalogue/

This API endpoint will update a product catalogue.

Headers

NameTypeDescription

apikey*

string

apikey

Authorization*

string

Bearer access token

Request Body

NameTypeDescription

id*

string

Catalogue id

name*

string

New name or existing name of catalogue.

parent_id*

string

Parent id

​HTTP/1.1 200 OK
Content-Type: application/json
​
Body:
{
    "status_code": 200,
    "errors": {},
    "data": {}
}

Sample Code

Node

var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://<domain>/<api prefix>/<version>/commerce/product/update/catalogue/',
  'headers': {
    'apikey': '<apikey>',
    'Authorization': 'Bearer <access token>',
  },
  formData: {
    'id': '<catalogue_id>',
    'name': '<name>',
    'parent_id': '<parent_catalogue_id>'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://<domain>/<api prefix>/<version>/commerce/product/update/catalogue/",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => array('id' => '<catalogue_id>','name' => '<name>','parent_id' => '<parent_catalogue_id>'),
  CURLOPT_HTTPHEADER => array(
    "apikey: <apikey>",
    "Authorization: Bearer <access token>",
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Error Responses

Status Code

Error Type

Field

Description

400

Invalid Input

id

Catalogue id is required.

This field may not be blank.

Catalogue id is not valid.

Catalogue does not exist.

All other error responses of create catalogue.

Delete Catalogue

DELETE ‎https://<domain>/<api prefix>/<version>/commerce/product/delete/catalogue/?id=<id>

This API endpoint will delete a product catalogue.

Query Parameters

NameTypeDescription

id*

string

Catalogue id

Headers

NameTypeDescription

apikey*

string

apikey

Authorization*

string

Bearer access token

​HTTP/1.1 200 OK
Content-Type: application/json
​
Body:
{
    "status_code": 200,
    "errors": {},
    "data": {}
}

Sample Code

Node

var request = require('request');
var options = {
  'method': 'DELETE',
  'url': 'https://<domain>/<api prefix>/<version>/commerce/product/delete/catalogue/?id=<id>',
  'headers': {
    'apikey': '<apikey>',
    'Authorization': 'Bearer <access token>',
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://<domain>/<api prefix>/<version>/commerce/product/delete/catalogue/?id=<id>",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_HTTPHEADER => array(
    "apikey: <apikey>",
    "Authorization: Bearer <access token>",
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Error Responses

Status Code

Error Type

FIeld

Description

401

Request Failed

Catalogue can't delete or remove

400

Invalid Input

id

Catalogue id is not valid.

Catalogue does not exist. This field may not be blank Catalogue id is required.

Last updated