Order
Create Order
POST
https://<domain>/<api prefix>/<version>/commerce/create-order/
This API Endpoint will create an order.
Headers
apikey*
string
apikey
Authorization*
string
Bearer access token
Request Body
uid*
string
user id
total_amount*
number
Order total amount
address*
object
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
products*
array
Must be an array of products, product object should contain product_id, quantity, unit_price, discount, and total_amount.
​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/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
<?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
Status Code
Error Type
Field
Description
400
Validation Error
products
This field is required. Must have one product.
400
Validation Error
product_id
Invalid product_id <product id>
400
Validation Error
quantity
Invalid quantity. Quantity must be greater than 1.
400
Validation Error
address_state_code
Invalid address_state_code
400
Validation Error
address_country_code
Invalid address_country_code
400
Validation Error
uid
Invalid user id
400
Validation Error
total_amount
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
Headers
apikey*
string
apikey
Authorization*
string
Bearer access token
Request Body
order_type*
string
Possible values are upgrade,renewal
uid*
string
user id
order_total*
number
Order tatal amount
address_state_code*
string
Adress state code
address_country_code*
string
Adresss county code
address_postal_code*
string
Adress postal code
address_locality*
string
Address locality
address_premise*
string
Address street
address_name_line*
string
Address house number
address_phone_number*
string
Address phone number
address_mail_id*
string
Address E-mail ID
address_last_name*
string
Address last name
address_first_name*
string
Address first name
discount*
number
Total discount
unit_price*
number
unit price of the product
product_id*
number
product id
Sample code
Node
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
<?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
Status Code
Error Type
Field
Description
400
Validation Error
product_id
Invalid product_id <product id>
400
Validation Error
address_postcode
Invalid postcode
400
Validation Error
address_state_code
Invalid address_state_code
400
Validation Error
address_first_name
Invalid address_first_name
400
Validation Error
address_last_name
Invalid address_last_name
400
Validation Error
address_country_code
Invalid address_country_code
400
Validation Error
uid
Invalid user id
400
Validation Error
product_id
Couldn't process your request. Renewal package not same as the existing package. Please check your package and try again.
400
Validation Error
product_id
Couldn't process your request. May be you reached maximum upgrade or invalid package id.
400
Validation Error
order_total
Discount must be less than unit_price.
400
Validation Error
order_total
Order total must be difference of unit_price and discount.
400
Validation Error
uid
You are not placed into the genealogy yet. Please wait until the placement completes.
400
Validation Error
uid
There exists a package upgrade in processing. Please wait until the process complete or contact the site administrator.
400
Validation Error
uid
System initiated package auto upgrade. Please wait until the process complete.
400
Validation Error
uid
Payment for previous purchase is not completed yet. Please wait until the payment complete or cancel that payment.
400
Validation Error
uid
There exists a package upgrade in processing. Please wait until the process complete or contact the site administrator.
400
Validation Error
uid
You cannot perform package upgrade because you have an active refund request.
400
Validation Error
product_id
The supplied package same as the existing package. Please change your package and try again.
400
Validation Error
order_type
Invalid order_type. Supported values are upgrade,renewal
400
Validation Error
product_id
You already have an active package.
List Orders
GET
https://<domain>/<api prefix>/<version>/commerce/all-orders/
get the list of orders
Query Parameters
order number
string
order number
period
string
period
category
string
category
limit
string
limit
Headers
apikey*
string
apikey
Authorization*
string
Bearer access token
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
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
<?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
Headers
apikey*
string
apikey
Authorization*
string
Bearer access token
Request Body
order_number*
number
order number
{
"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
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
<?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
status code
error type
field
description
400
Validation Error
order_number
Order Number maynot be blank.
Order Number is required.
Invalid order number.
Last updated
Was this helpful?