Product Attribute
Manage product attributes
Create attribute
POST
‎‎ https://<domain>/<api prefix>/<version>/commerce/product/create/attribute/
This endpoint will help to create a new attribute to the system
Headers
apikey*
string
apikey
Authorization*
string
Bearer access token
Request Body
name*
dict
Attribute name, eg: {"en":"<name>"}
description*
dict
Attribute description, eg:{"en":"<description>"}
data_type*
string
Data type, possible values are String, Integer, Float, and Boolean.
widget*
string
Supported widgets are select_box, radio_button, color_box, textfield, textarea, and datepicker.
options*
array
contains at least one dict with the following keys
{"status": <boolean>,"label":"<string>","value":"<string>","weight":<integer>}
is_unique
boolean
is_display
boolean
is_required
boolean
attribute_for
string
general or varients
{
"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/attribute/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>'
},
body: JSON.stringify({"name":{"en":"<name in english>","de":"<name in german>"},"data_type":"<attribute data type>","attribute_for":"<attribute for>","widget":"<widget type>","description":{"en":"<description in english>","de":"<description in german>"},"is_unique":"<is unique value>","is_required":"<is required>","is_display":"<need to display>","options":[{"status":"<attribute option status>","label":"<attribute option label>","value":"<attirbute option value>","weight":"<attirbute option weight>"},{"status":"<attribute option status>","label":"<attribute option label>","value":"<attirbute option value>","weight":"<attirbute option weight>"}]})
};
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/attribute/",
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\":{\"en\":\"<name in english>\",\"de\":\"<name in german>\"},\"data_type\":\"<attribute data type>\",\"attribute_for\":\"<attribute for>\",\"widget\":\"<widget type>\",\"description\":{\"en\":\"<description in english>\",\"de\":\"<description in german>\"},\"is_unique\":\"<is unique value>\",\"is_required\":\"<is required>\",\"is_display\":\"<need to display>\",\"options\":[{\"status\":\"<attribute option status>\",\"label\":\"<attribute option label>\",\"value\":\"<attirbute option value>\",\"weight\":\"<attirbute option weight>\"},{\"status\":\"<attribute option status\",\"label\":\"<attribute option label>\",\"value\":\"<attirbute option value>\",\"weight\":\"<attirbute option weight>\"}]}",
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
Name for {language code} language is required.
400
Validation Error
description
Description for {language code} langauge is required.
400
Validation Error
widget
{widget name} is not a valid choice. Supported widgets are {widgets}.
400
Validation Error
widget
{widget name} is not a valid choice. Supported widgets for data type {data type} is/are {widget/widgets}.
400
Validation Error
data_type
{data_type} is not a valid choice. Supported data types are {data}.
400
Validation Error
widget
{widget} widget can't be selected for an {data_type} data type.
400
Validation Error
options
The selected widget-data_type attribute doesn't support any options. leave it as empty or no need to mention.
400
Validation Error
options
This field is required.
400
Validation Error
name
All languages of names must have a description of the corresponding language.
List Attributes
GET
‎‎ https://<domain>/<api prefix>/<version>/commerce/product/list/attributes/
This endpoint will return list of available product attributes
Query Parameters
en_name
string
English name
Headers
apikey*
string
apikey
Authorization*
string
Bearer access token
{
"status_code": 200,
"errors": {},
"data": {
"results": [
{
"id": <id>,
"name": {
"en": "<name in english>",
"de": "<name in german>"
},
"description": {
"en": "<description in english>",
"de": "<description in german>"
},
"widget": "<widget type>",
"attribute_for": "<attribute for>",
"is_unique": <is unique value>,
"is_required": <is required>,
"is_display": <need to display>,
"options": [
{
"label": "<attribute option label>",
"value": "<attirbute option value>",
"status": <attribute option status>,
"weight": <attirbute option weight>
},
{
"label": "<attribute option label>",
"value": "<attirbute option value>",
"status": <attribute option status>,
"weight": <attirbute option weight>
}
],
"data_type": "<attribute data type>",
"status": 1
}
],
"count": <total attibutes count>,
"previous": <previous url>,
"next": <next url>
}
}
Sample Node
Node
var request = require('request');
var options = {
'method': 'GET',
'url': '‎ https://<domain>/<api prefix>/<version>/commerce/product/list/attributes/',
'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/attributes/",
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;
Get A Attribute
GET
‎https://<domain>/<api prefix>/<version>/commerce/product/get/attribute/<attribute id>/
This endpoint will return a single attribute details
Headers
apikey*
string
apikey
Aurthorization*
string
Bearer access token
{
"status_code": 200,
"errors": {},
"data": {
"id": <id>,
"name": {
"en": "<name in english>",
"de": "<name in german>"
},
"description": {
"en": "<description in english>",
"de": "<description in german>"
},
"widget": "<widget type>",
"attribute_for": "<attribute for>",
"is_unique": <is unique value>,
"is_required": <is required>,
"is_display": <need to display>,
"options": [
{
"label": "<attribute option label>",
"value": "<attirbute option value>",
"status": <attribute option status>,
"weight": <attirbute option weight>
},
{
"label": "<attribute option label>",
"value": "<attirbute option value>",
"status": <attribute option status>,
"weight": <attirbute option weight>
}
],
"data_type": "<attribute data type>",
"status": 1
}
}
Sample code
Node
var request = require('request');
var options = {
'method': 'GET',
'url': '‎https://<domain>/<api prefix>/<version>/commerce/product/get/attribute/<attribute 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/get/attribute/<attribute_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 => "GET",
CURLOPT_HTTPHEADER => array(
"apikey: <apikey>",
"Authorization: Bearer <access token"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Delete Attribute
DELETE
‎https://<domain>/<api prefix>/<version>/commerce/product/delete/attribute/<attribute id>/
This endpoint will help to delete a product attribute from the system.
Headers
apikey*
string
apikey
Authorization*
string
Bearer access token
{
"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/attribute/<attribute_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/attribute/<attribute_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;
Update Attribute
POST
‎https://<domain>/<api prefix>/<version>/commerce/product/update/attribute/<attribute id>/
This endpoint will help to edit a product attribute details.
Headers
apikey*
string
apikey
Authorization*
string
Bearer access token
Request Body
String
Same as create attribute
{
"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/attribute/<attribute_id>/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
body: JSON.stringify({"name":{"en":"<name in english>","de":"<name in german>"},"data_type":"<attribute data type>","attribute_for":"<attribute for>","widget":"<widget type>","description":{"en":"<description in english>","de":"<description in german>"},"is_unique":"<is unique value>","is_required":"<is required>","is_display":"<need to display>","options":[{"status":"<attribute option status>","label":"<attribute option label>","value":"<attirbute option value>","weight":"<attirbute option weight>"},{"status":"<attribute option status>","label":"<attribute option label>","value":"<attirbute option value>","weight":"<attirbute option weight>"}]})
};
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/attribute/<attribute_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 => 'POST',
CURLOPT_POSTFIELDS =>'{
"name":{"en":"<name>"},
"description":{"en":"<description>"},
"data_type":"<data_type>",
"widget":"<widget>",
"options":[{"status": <status>,"label":"<attribute_option_label>","value":"<value>","weight":<weight>}]
}',
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Last updated
Was this helpful?