To integrate with other services and applications, we recommend setting up integration via Zapier.
You will be able to transfer data between services without the help of programmers.
Learn more about integration via Zapier

You can get detailed information about the order by its ID by sending a query to the API service using software methods.

The query is sent by the POST method in the URLencode format to the address: http://username.justclick.io/api/getOrderDetails.

Where username is the login of the user in the system, as well as their domain of the third level in the JustClick service.

Your system will receive the invoice information in response.

Parameters Transferred in the Query

The method can contain:

bill_id - (int) invoice ID (required)
good_info - (bool) add the product information

If you pass 1 or true in the good_info parameter, the following information will be displayed:

  • good_ids is the product id in the invoice
  • good_count is the number of products in the invoice
  • prepayment_enabled shows whether prepayment is allowed
  • prepayment_minsum is the minimal prepayment amount.

How Does It Work

You call getOrderDetails API function. Your system will receive the result of the function performing and the data array in the result variable in response.

The data array will look as follows:

stdClass Object (
[id] => invoice number,
[first_name] => name
[last_name] => surname
[middle_name] => middle name
[email] => email
[phone] => telephone number
[city] => city
[country] => country
[address] => address
[region] => region
[postalcode] => postal code
[created] => date of creating the invoice
[pay_status] => invoice status
[paid] => date of paying the invoice
[type] => order type
[payway] => mathod of payment
[comment] => comment on the invoice
[domain] => order domain
[link] => link to paying for the order page
[good_count] => the number of products in the order
[price] => product price
[bill_sum_topay] => left to pay
[tag] => tag
[kupon] => used coupon

[utm] => stdClass Object
(
[medium] => channel utm-parameter (if exists)
 => source utm-parameter (if exists)
[campaign] => campaign utm-parameter (if exists)
[content] => advertisement utm-parameter (if exists)
[term] => key utm-parameter (if exists)
)

[items] => Array (
[0] => stdClass Object (
[id] => product identifier
[title] => product name
[sum] => the actual cost
[price] => product price from settings
[pincode] => transferred pincode

[partners] => Array
(
[0] => stdClass Object
(
[partner_lvl] => affiliate program level
[partner_id] => partner’s ID
[partner_name] => partner’s login
[partner_fee] => partner’s fee
)

[1] => stdClass Object
(
[partner_lvl] => affiliate program level
[partner_id] => partner’s ID
[partner_name] => partner’s login
[partner_fee] => partner’s fee
)
)
)

[1] => stdClass Object (
[id] => product identifier
[title] => product name
[sum] => the actual cost
[price] => product price from settings
[pincode] => transferred pincode
[partners] => Array
(
[0] => stdClass Object
(
[partner_lvl] => affiliate program level
[partner_id] => partner’s ID
[partner_name] => partner’s login
[partner_fee] => partner’s fee
)

[1] => stdClass Object
(
[partner_lvl] => affiliate program level
[partner_id] => partner’s ID
[partner_name] => partner’s login
[partner_fee] => partner’s fee
)
)
)
)
)

The response is coded in JSON format. For more details, see the API Service Responses.

If you transferred the bill_domain parameter to the CreateOrder function, the variable $resr->result[‘link’]will contain the full link for payment in the http://your-domain.com/bill/… format after the response. You can use it like that, for example :

header("Location: " . $resp->result['link']);

If you didn’t transfer the bill_domain parameter to the CreateOrder function, add the protocol and domain to the link after the response:

header("Location: http://your-domain.com" . $resp->result['link']);

Example Of Getting the Invoice Information in PHP

In the example, we get the order 102937 information.

GetHash Function forms the hash to the transferred data.

CheckHash Function checks the hash to the service response.

// Login to the JustClick system. 
$user_rs['user_id'] = 'username';
//The key for forming a hash. See API section (the link in the bottom right corner of the personal account).
$user_rs['user_rps_key'] = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';

// Forming the array of bought goods for transferring to the API.
$send_data = array(
	'bill_id' => '102937', //order ID
	'good_info' => true

);

// Forming the hash to the transmitted data.
$send_data['hash'] = GetHash($send_data, $user_rs);

//Calling the getOrderDetails function and decoding the received data.
$resp = json_decode(Send('http://username.justclick.io/api/getOrderDetails', $send_data));

//Checking the service response.
if(!CheckHash($resp, $user_rs)){
	echo "Error! The response hash is not true!" ; print_r($resp);
	exit;
}

if($resp->error_code == 0){
	echo "The order information:";
	print_r($resp->result);
}
else
	echo "Error code:{$resp->error_code} - description: {$resp->error_text}";

// =========== Functions of sending, receiving and processing a response. ============

// Sending the query to the API service
function Send($url, $data)
{
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_POST, true);
	curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // outputting the response to the variable.

	$res = curl_exec($ch);

	curl_close($ch);
	return $res;
}

// Forming the transferred to the API data hash.
function GetHash($params, $user_rs) {
	$params = http_build_query($params);
	$user_id = $user_rs['user_id'];
	$secret = $user_rs['user_rps_key'];
	$params = "{$params}::{$user_id}::{$secret}";
	return md5($params);
}

// Checking the received response hash.
function CheckHash($resp, $user_rs) {
	$secret = $user_rs['user_rps_key'];
	$code = $resp->error_code;
	$text = $resp->error_text;
	$hash = md5("$code::$text::$secret");
	if($hash == $resp->hash)
		return true; // the hash is correct
	else
		return false; // the hash is not correct
}

Rate article

1 star2 stars3 stars4 stars5 stars (No votes)
Loading...