WHMCS API Update CustomFields

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

You can use it as a standard WHMCS API. You may want to use it with internal API function or using CURL. In this case WHMCS documentation is helpful so no more explanations are required.

To use it you have to upload the updatecustomfields.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
customfieldint or stringUse either the id of the customfield or its nameRequired
valuestringThe new value for the custom field, can be emptyOptional

Response Parameters

ParameterTypeDescription
resultstringThe result of the operation: success or error
messagestringThe result message

 

Example request (CURL)

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

Example Request (Local API)

$command = 'UpdateCustomFields';
$postData = array(
    'relid' => 1,
    'customfield' => 12,
    'value' => 'newvalue',
);
$adminUsername = 'ADMIN_USERNAME';

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

Example Response

Array ( 
	[result] => success,
	[message] => Custom field with id # has been updated with the value: newvalue,
	)

Error Responses

Error response codes are:

  • The relid is undefined
  • The type you selected does not exists. Please check
  • The customfield is undefined
  • The customfield could not be found. Please check the ‘customfield’ and ‘type’ parameters
  • A client with id # does not exists
  • A product with id # does not exists
  • This product does not own this custom field
  • A ticket with id # does not exists
  • This support department does not own this custom field

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 *