WHMCS API Get CustomFields

A big problem with WHMCS is that you don’t have any API to manage customfields. With this API you can get all clients, products or support custom fields.

You can use it as a standard WHMCS API. You may want to use it with internal API function. In this case WHMCS documentation is helpful so no more explanations are required. Keep in mind that due to the way WHMCS handles API permissions, you will only be able to use this as internal API.

To use it you have to upload the getcustomfields.php (all lowercase) into the /includes/api whmcs folder and it’s done.

Parameters

ParameterTypeDescriptionRequired
relidintThe ID of the related item you want to get the custom fields forRequired
typestringSupports client, product or support. defaults to clientOptional

Response Parameters

ParameterTypeDescription
resultstringThe result of the operation: success or error
fieldnameArrayAn array with all the data using the name of the field as the key of the Array
fieldidArrayAn array with all the data using the id of the field as the key of the Array

 

Example request (CURL)

Given the recent changes in WHMCS custom API work only with the Local API function.

Example Request (Local API)

$command = 'GetCustomFields';
$postData = array(
    'relid' => 1,
);
$adminUsername = 'ADMIN_USERNAME';

$results = localAPI($command, $postData, $adminUsername);
print_r($results);

Example Response

Array ( 
	[result] => success,
        [1] => Array
        (
            [id] => 1
            [fieldname] => custom field name
            [fieldtype] => text
            [description] => description
            [fieldoptions] => 
            [regexpr] =>
            [adminonly] => 
            [required] => 
            [showorder] => 
            [showinvoice] => 
            [value] => value
            [created_at] => 2019-01-19 18:00:00
            [updated_at] => 2019-01-20 11:16:43
        )

        [custom field name] => Array
        (
            [id] => 1
            [fieldname] => custom field name
            [fieldtype] => text
            [description] => description
            [fieldoptions] => 
            [regexpr] =>
            [adminonly] => 
            [required] => 
            [showorder] => 
            [showinvoice] => 
            [value] => value
            [created_at] => 2019-01-19 18:00:00
            [updated_at] => 2019-01-20 11:16:43
        )
	)

Error Responses

Error response codes are:

  • The relid is undefined
  • The type you selected does not exists. Please check
  • No custom fields were found

Got questions or problems? Contact us or comment, we’ll be happy to help.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *