Order

Create Order

post
https://<domain>/<api prefix>/<version>/commerce/create-order/

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/

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/

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/

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.