Table of Contents

Client API

Getting Started

Before you can start using the client API you first need to enable API access. This needs to be done by logging into the client area, clicking on 'Hello, <NAME>', then 'Client API', then the 'API Status' tab and finally the 'Enable API' button.

API End Point

Each API request should be directed to:

https://customer.ndchost.com/index.php

The client API accepts parameters using either POST or GET. We always recommend using POST!

Required Parameters

The following parameters are always required when making a API request.

Modules and Functions

Below are a list of modules and it's corresponding functions.

client

cpanellicensing

Example API request using the curl command

Below shows how one could make a simple API request using curl to retrieve your current client details

curl https://customer.ndchost.com/whmcs/index.php \
-d m=clientapi \
-d apikey=supersecretkey \
-d apimodule=client \
-d apifunction=getdetails

Example API request using PHP's curl function

<?PHP
// Required Parameters
$post['m'] = 'clientapi';
$post['apikey'] = 'supersecretkey';
$post['apimodule'] = 'client';
$post['apifunction'] = 'getdetails';
 
// Curl Init
$ch = curl_init();
if($ch === false) die('Curl Error: curl_init failed');
 
// Curl Options
curl_setopt($ch, CURLOPT_URL, 'https://customer.ndchost.com/whmcs/index.php' );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
 
// Curl Result
$result = curl_exec($ch);
if($result === false) die(curl_error($ch));
 
// Result Info
$curlinfo = @curl_getinfo($ch);
if($curlinfo['content_type'] != 'application/json') die("api response was not JSON\n");
 
// Decode JSON into an array
$result = @json_decode($result, true);
if(!is_array($result)) die("failed to decode JSON response\n");
 
// Print out result
print_r($result);

Example JSON response

{
   "status":"success",
   "message":"successfully retrieved client details",
   "data":{
      "id":"1",
      "firstname":"Test",
      "lastname":"Client",
      "companyname":"",
      "email":"testclient@domain.com",
      "address1":"1001 Ave Pico",
      "address2":"",
      "city":"San Clemente",
      "state":"Ca",
      "postcode":"92673",
      "country":"US",
      "phonenumber":"123-456-7890",
      "defaultgateway":"paypal",
      "credit":"0.00",
      "billingcid":"0",
      "lastlogin":"2012-08-01 18:30:56",
      "ip":"204.10.36.76",
      "host":"staff.ndchost.com",
      "status":"Active"
   }
}