Create Order
POST
https://<domain>/<api prefix>/<version>/commerce/create-order/
This API Endpoint will create an order.
Request Body
Is an object for address details, the object should contain address_first_name, address_last_name, address_mail_id, address_phone_number, address_name_line, address_premise, address_locality, address_postal_code, address_country_code, and address_state_code
Must be an array of products,
product object should contain product_id, quantity, unit_price, discount, and total_amount.
200
Copy ​HTTP/1.1 200 OK
Content-Type: application/json
​
Body:
{
"status_code": 200,
"errors": {},
"data": {}
}
Sample code
Node
Copy var request = require ( 'request' );
var options = {
'method' : 'POST' ,
'url' : 'https://<domain>/<api prefix>/<version>/commerce/create-order/' ,
'headers' : {
'apikey' : '<apikey>'
} ,
body : JSON .stringify (
{
"products" : [
{
"product_id" : < product id >,
"quantity":< product quantity >,
"unit_price":< product unit price >,
"discount":< product total dicount >,
"total_amount":< lineitem total amount >
}
],
"address": {
"address_first_name" : "<address first name>" ,
"address_last_name" : "<address last name>" ,
"address_mail_id" : "<address email id>" ,
"address_phone_number" : "<address phone number>" ,
"address_name_line" : "<address house number>" ,
"address_premise" : "<address street>" ,
"address_locality" : "<address locality>" ,
"address_postal_code" : "<address post code>" ,
"address_country_code" : "<address country code>" ,
"address_state_code" : "<address state code>"
},
"total_amount":< total order amount >,
"uid":"< user id >"
}
)
};
request(options, function (error, response) {
if (error) throw new Error (error);
console .log ( response .body);
});
PHP
Copy <? php
$curl = curl_init () ;
curl_setopt_array ( $curl , array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/commerce/create-order/' ,
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 => '{
"products": [
{
"product_id":<product id>,
"quantity":<product quantity>,
"unit_price":<product unit price>,
"discount":<product total dicount>,
"total_amount":<lineitem total amount>
}
],
"address":{
"address_first_name":"<address first name>",
"address_last_name":"<address last name>",
"address_mail_id":"<address email id>",
"address_phone_number":"<address phone number>",
"address_name_line":"<address house number>",
"address_premise":"<address street>",
"address_locality":"<address locality>",
"address_postal_code":"<address post code>",
"address_country_code":"<address country code>",
"address_state_code":"<address state code>"
},
"total_amount":<total order amount>,
"uid":"<user id>"
}' ,
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>'
) ,
) ) ;
$response = curl_exec ( $curl ) ;
curl_close ( $curl ) ;
echo $response;
Error Responses
This field is required. Must have one product.
Invalid product_id <product id>
Invalid quantity. Quantity must be greater than 1.
Invalid address_state_code
Invalid address_country_code
Invalid order total_amount. Order total_amount must be the sum of line item total_amount.
Renewal or Upgrade
POST
https://<domain>/<api prefix>/<version>/commerce/upgrade-renewal-package/
This API Endpoint will help to package upgrade or renewal
Request Body
Possible values are upgrade,renewal
unit price of the product
Sample code
Node
Copy var request = require ( 'request' );
var options = {
'method' : 'POST' ,
'url' : 'https://<domain>/<api prefix>/<version>/commerce/upgrade-renewal-package/' ,
'headers' : {
'apikey' : '<apikey>'
} ,
body : JSON .stringify (
{
"product_id" : < product id >,
"unit_price": < product unit price >,
"discount": < total discount amount >,
"order_total": < order total amount >
"address_first_name": "< address first name >",
"address_last_name": "< address last name >",
"address_mail_id": "< address email id >",
"address_phone_number": "< address phone number >",
"address_name_line": "< address house number >",
"address_premise": "< address street >",
"address_locality": "< address locality >",
"address_postal_code": "< address post code >",
"address_country_code": "< address country code >",
"address_state_code": "< address state code >"
"uid":"< user id >",
"order_type":"< order type >"
}
)
};
request(options, function (error, response) {
if (error) throw new Error (error);
console .log ( response .body);
});
PHP
Copy <? php
$curl = curl_init () ;
curl_setopt_array ( $curl , array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/commerce/create-order/' ,
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 => '{
"product_id": <product id>,
"unit_price": <product unit price>,
"discount": <total discount amount>,
"order_total": <order total amount>
"address_first_name": "<address first name>",
"address_last_name": "<address last name>",
"address_mail_id": "<address email id>",
"address_phone_number": "<address phone number>",
"address_name_line": "<address house number>",
"address_premise": "<address street>",
"address_locality": "<address locality>",
"address_postal_code": "<address post code>",
"address_country_code": "<address country code>",
"address_state_code": "<address state code>"
"uid":"<user id>",
"order_type":"<order type>"
}' ,
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>'
) ,
) ) ;
$response = curl_exec ( $curl ) ;
curl_close ( $curl ) ;
echo $response;
Error Responses
Invalid product_id <product id>
Invalid address_state_code
Invalid address_first_name
Invalid address_last_name
Invalid address_country_code
Couldn't process your request. Renewal package not same as the existing package. Please check your package and try again.
Couldn't process your request. May be you reached maximum upgrade or invalid package id.
Discount must be less than unit_price.
Order total must be difference of unit_price and discount.
You are not placed into the genealogy yet. Please wait until the placement completes.
There exists a package upgrade in processing. Please wait until the process complete or contact the site administrator.
System initiated package auto upgrade. Please wait until the process complete.
Payment for previous purchase is not completed yet. Please wait until the payment complete or cancel that payment.
There exists a package upgrade in processing. Please wait until the process complete or contact the site administrator.
You cannot perform package upgrade because you have an active refund request.
The supplied package same as the existing package. Please change your package and try again.
Invalid order_type. Supported values are upgrade,renewal
You already have an active package.
List Orders
GET
https://<domain>/<api prefix>/<version>/commerce/all-orders/
get the list of orders
Query Parameters
200
Copy HTTP/1.1 200 OK
Content-Type: application/json
​
Body:
{
"status_code": 200,
"errors": {},
"data": {
"orders": [
{
"id": <id>,
"uid": <uid>,
"order_number": <order number>,
"data": <data>,
"order_total": <order_total>,
"currency_symbol": <currency_symbol>,
"currency_code": <currency_code>,
"order_type": <order_type>,
"status": <status>,
"created": <created>,
"modified": <modified>,
"shipping_id": <shipping_id>,
"billing_id": <billing_id>
}
],
"filter_data": <filter data>
}
}
Sample Code
Node
Copy var request = require ( "request" );
var options = { method: 'GET' ,
url: 'https://<domain>/<api prefix>/<version>/commerce/all-orders/' ,
headers:
{ authorization: 'Bearer <access-token>' ,
apikey: '<apikey>' ,
'content-type' : 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' }
}
};
request ( options , function (error , response , body) {
if (error) throw new Error (error);
console . log ( body ) ;
} ) ;
PHP
Copy <? php
$curl = curl_init () ;
curl_setopt_array ( $curl , array(
CURLOPT_PORT => "8000" ,
CURLOPT_URL => "https://<domain>/<api prefix>/<version>/commerce/all-orders/" ,
CURLOPT_RETURNTRANSFER => true ,
CURLOPT_ENCODING => "" ,
CURLOPT_MAXREDIRS => 10 ,
CURLOPT_TIMEOUT => 30 ,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1 ,
CURLOPT_CUSTOMREQUEST => "GET" ,
CURLOPT_POSTFIELDS => "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"product_id\"\r\n\r\n46363\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--" ,
CURLOPT_HTTPHEADER => array(
"apikey: <apikey>" ,
"authorization: Bearer <access-token>" ,
"content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW" ,
) ,
) ) ;
$response = curl_exec ( $curl ) ;
$err = curl_error ( $curl ) ;
curl_close ( $curl ) ;
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Order Details
GET
‎https://<domain>/<api prefix>/<version>/commerce/order-details/
get details of order using order_number
Request Body
200
Copy {
"status_code": 200,
"errors": {},
"data": [
{
"id": < id >,
"product_id": < product_id >,
"bundle_id": < bundle_id >,
"line_item_label": "< line_item_label >",
"quantity": < quantity >,
"price": "< price >",
"data": {
"price": {
"data": [],
"items": {
"base_price": {
"data": [],
"title": "< title >",
"total": < total >,
"included": < included >,
"quantity": < quantity >,
"description": "< description >",
"currency_code": "< currency_code >"
}
},
"title": "< title >",
"total": < total >,
"quantity": < quantity >,
"description": "< description >",
"currency_code": "< currency_code >",
"revenue_total": < revenue_total >
},
"modules": {},
"product": {
"sku": "< sku >",
"product_type": "< product_type >",
"product_type_code": "< product_type_code >"
},
"item_display": {
"items": {
"varient_attributes": {
"title": "< title >",
"params": {
"price": {
"value": "< value >"
},
"images": {
"value": "< images >"
},
"product-name": {
"value": "< product-name >"
},
"whole-sale-price": {
"value": < whole-sale-price >
}
},
"display": {},
"description": "< description >"
}
}
}
},
"order_id": < order_id >,
"currency_code": "< currency_code >",
"order_id_id": < order_id_id >,
"status": "< status >",
"image_path": "< image_path >"
},
....
]
}
Sample Code
Node
Copy var request = require ( 'request' );
var options = {
'method' : 'POST' ,
'url' : 'https://<domain>/<api prefix>/<version>/commerce/order-details/' ,
'headers' : {
'apikey' : '<apikey>' ,
'Authorization' : 'Bearer <access token>' ,
} ,
formData: {
'order_number' : 'order_number'
}
};
request ( options , function (error , response) {
if (error) throw new Error (error);
console . log ( response . body ) ;
} ) ;
PHP
Copy <? php
$curl = curl_init () ;
curl_setopt_array ( $curl , array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/commerce/order-details/?order_number=<order_number>' ,
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_POSTFIELDS => array() ,
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>' ,
'Authorization: Bearer <access token>'
) ,
) ) ;
$response = curl_exec ( $curl ) ;
curl_close ( $curl ) ;
echo $response;
Error Responses
Order Number maynot be blank.
Order Number is required.
Invalid order number.