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
Request
Response
Request
Headers
apikey
required
string
apikey
Authorization
required
string
Bearer access token
Response
200: OK
{
"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>',
'Content-Type': 'application/json'
},
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>",
"Content-Type: application/json"
),
));
​
$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
Request
Response
Request
Headers
apikey
required
string
apikey
Authorization
required
string
Bearer access token
Query Parameters
en_name
optional
string
English name
Response
200: OK
{
"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>'
}
};
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>"
),
));
​
$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
Request
Response
Request
Headers
apikey
required
string
apikey
Aurthorization
required
string
Bearer access token
Response
200: OK
{
"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>'
}
};
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>"
),
));
​
$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.
Request
Response
Request
Headers
apikey
required
string
apikey
Authorization
required
string
Bearer access token
Response
200: OK
{
"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>'
}
};
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>"
),
));
​
$response = curl_exec($curl);
​
curl_close($curl);
echo $response;
​

Edit Attribute

put
​

https://<domain>/<api prefix>/<version>/commerce/product/edit/attribute/<attribute id>/
This endpoint will help to edit a product attribute details.
Request
Response
Request
Headers
apikey
required
string
apikey
Authorization
required
string
Bearer access token
Response
200: OK
{
"status_code": 200,
"errors": {},
"data": {}
}

Sample code

Node

var request = require('request');
var options = {
'method': 'PUT',
'url': 'β€Ž https://<domain>/<api prefix>/<version>/commerce/product/edit/attribute/<attribute id>/',
'headers': {
'apikey': '<apikey>',
'Content-Type': 'application/json'
},
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/edit/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 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>",
"Content-Type: application/json"
),
));
​