List Product Categories
GET
‎https://<domain>/<api prefix>/<version>/commerce/product/list/categories/
This API endpoint will return a list of the product category (product-type)
Query Parameters
HTTP/1.1 200 OK
Content-Type: application/json
​
Body:
{
"status_code": 200,
"errors": {},
"data": {
"results": [
{
"id": <category_id>,
"name": "<category_name>",
"status": <status>,
"has_inventory": <has_inventory_boolean>,
"has_recurring": <has_recurring_boolean>,
"has_variants": <has_variants_boolean>,
"has_shippable": <has_shippable_boolean>,
"has_discount": <has_discount_boolean>,
"created": "<created_date>",
"modified": "<modified_date>",
"data": {
"tax": {
"method": "<method_name>",
"method_status": <status>
},
"afl_fees": {
"method": "<method_name>",
"method_status": <status>
},
...
},
"slug": "<slug>"
}
...
],
"count": <list_count>,
"previous": <previous_page_link>,
"next": "<next_page_link>"
}
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://<domain>/<api prefix>/<version>/commerce/product/list/categories/',
'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/categories/",
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 Product Category
Create a Product category (Product - Type).
First, Get the list of enabled product type method configuration through the below-provided endpoint.
Then Create product type through the post method.
Active Product Type Method Configurations
GET
‎https://<domain>/<api prefix>/<version>/commerce/product/get/producttype/methodconf/
This API endpoint will return enabled product type method configurations
HTTP/1.1 200 OK
Content-Type: application/json
​
Body:
{
"status_code": 200,
"errors": {},
"data": {
"EnabledProductTypeMethodConf": [
{
"method": "<method_name>",
"weight": <weight>,
"title": "<method_title>",
"description": "<method_description>",
"attr_slug": [],
"disabled_status": <status>
},
...
]
}
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://<domain>/<api prefix>/<version>/commerce/product/get/producttype/methodconf/',
'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/get/producttype/methodconf/',
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 Product Type
POST
‎https://<domain>/<api prefix>/<version>/commerce/product/create/category/
This API endpoint will create a product type.
Request Body
Name | Type | Description |
---|
| | |
| | name translations for name |
| | An array of the string contains method names |
| | An array of integer contains catalogue ids |
| | An array of integerS contains product attribute group ids,
Require at least one group id |
​HTTP/1.1 200 OK
Content-Type: application/json
​
Body:
{
"status_code": 200,
"errors": {},
"data": {}
}
Body Parameters are JSON.stringify, Refer below block for the body parameter structure, and also refer sample code.
{
"name": "<product-type-name>",
"translations": {
"<language_code>": "<name>",
"<language_code>": "<name>",
...
},
"method": [
"<method_name>",
"<method_name>",
...
],
"catalogue_ids": [
<catalogue_id>,
<catalogue_id>,
...
],
"attr_grp_ids": [
<attr_grp_ids>,
<attr_grp_ids>,
...
]
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://<domain>/<api prefix>/<version>/commerce/product/create/category/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
'Content-Type': 'application/json',
},
body: JSON.stringify({"name":"<method-name>","translations":{"<language_code>":"<name>","<language_code>":"<name>"},"method":["<method_name>","<method_name>"],"catalogue_ids":[<id>,<id>],"attr_grp_ids":[<id>,<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/category/',
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 =>'{
"name": "<method_name>",
"translations": {
"<language_code>": "<name>",
"<language_code>": "<name>"
},
"method": [
"<method_name>",
"<method_name>"
],
"catalogue_ids": [
<id>,
<id>
],
"attr_grp_ids": [
<id>,
<id>
]
}',
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>',
'Content-Type: application/json',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Error Responses
| | | |
| | | This field is required. This field may not be blank. Ensure this field has no more than 250 characters. |
| | | Provided <catalogue_ids> is not a valid catalogue id Provided <catalogue_ids> does not exist |
| | | Provide at least one group Provided <attr_grp_id> is not a valid group id Provided <attr_grp_id> does not exist |
Update Product Category
POST
‎https://<domain>/<api prefix>/<version>/commerce/product/update/category/
This API endpoint will update a product category.
Request Body
Name | Type | Description |
---|
| | |
| | New or existing name of the product type |
| | Replace with a new array of integer or existing group ids,
Require at least one attribute group id. |
| | name translations for name |
| | An array of the string contains method names |
| | An array of integer contains catalogue ids |
​HTTP/1.1 200 OK
Content-Type: application/json
​
Body:
{
"status_code": 200,
"errors": {},
"data": {}
}
Body Parameters are JSON.stringify, Refer below block for the body parameter structure, and also refer sample code.
{
"ptype":<product_typ>,
"name": "<product-type-name>",
"translations": {
"<language_code>": "<name>",
"<language_code>": "<name>",
...
},
"method": [
"<method_name>",
"<method_name>",
...
],
"catalogue_ids": [
<catalogue_id>,
<catalogue_id>,
...
],
"attr_grp_ids": [
<attr_grp_ids>,
<attr_grp_ids>,
...
]
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://<domain>/<api prefix>/<version>/commerce/product/update/category/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
'Content-Type': 'application/json',
},
body: JSON.stringify({"ptype":<product_type_id>,"name":"<name>","attr_grp_ids":[<id>,<id>],"translations":{"<language_code>":"<name>","<language_code>":"<name>"},"method":["<method_name>","<method_name>"],"catalogue_ids":[<id>,<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/category/',
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 =>'{
"ptype":<product_type_id>,
"name":"<name>",
"attr_grp_ids":[
<id>,
<id>
],
"translations": {
"<language_code>":"<name>",
"<language_code>":"<name>"
},
"method": [
<method_name>",
<method_name>"
],
"catalogue_ids": [
<id>,
<id>
]
}',
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>',
'Content-Type: application/json',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Error Responses
| | | |
| | | Product Type id is required. This field may not be blank. Product Type does not exist. |
| | | This field is required. This field may not be blank. Ensure this field has no more than 250 characters. |
| | | Provided <catalogue_ids> is not a valid catalogue id Provided <catalogue_ids> does not exist |
| | | Provide at least one group Provided <attr_grp_id> is not a valid group id Provided <attr_grp_id> does not exis |
Delete Product Category
DELETE
‎https://<domain>/<api prefix>/<version>/commerce/product/delete/category/?id=<category_id>
This API endpoint will delete a product category
Query Parameters
​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/category/?id=<category_id>',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
formData: {}
};
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/category/?id=<category_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
| | | |
| | | Category id is not valid. Category does not exist.
This field may not be blank
Category id is required. |
| | | There are products in this category.you can't delete it Category can't delete or remove |