required - this is the WHMCS ID of the service that the abuse report will be created for
category
required - this is the category of abuse - can be any value e.g. 'Spam' or 'High I/O' or 'Hacking Attempts' etc.
service_ip
optional - if not passed, the main dedicated IP of the service will be used - if service doesn't have a dedicated IP it will default to (No Dedicated IP)
suspend_method
optional - defaults to nosuspend - available options are 'nosuspend', 'immediate', and 'timelimit'
allow_unsuspend
optional - defaults to false - if you want to give the customer the option to self unsuspend set to true
additional_info
optional - This is the additional information field - this is visible to the customer
admin_notes
optional - This is the admin notes field - this is only visible to the admins
Success JSON Output
Error JSON Output
Error Codes
Code
Description
AMP001
Unauthorized - make sure you are passing a valid API_ID in the header
AMP002
Missing or Invalid Action - make sure you are passing a valid action
AMP003
Missing required parameters - make sure you are passing the required parameters for the action
Example PHP Curl Script
The example below shows how to create an abuse report programmatically using the API service.
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://URL-TO-YOUR-WHMCS/modules/addons/abusemanagerpro/includes/api.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
http_build_query(
array(
'action' => 'create', // required - 'create' is to be used to create an abuse report
'service_id' => '1', // required - this is the WHMCS ID of the service that the abuse report will be created for
'category' => 'Spam', // required - this is the category of abuse - can be any value e.g. 'Spam' or 'High I/O' or 'Hacking Attempts' etc.
'service_ip' => '1.2.3.4', // optional - if not passed, the main dedicated IP of the service will be used - if service doesn't have a dedicated IP it will default to (No Dedicated IP)
'suspend_method' => 'suspend', // optional - defaults to nosuspend - available options are 'nosuspend', 'immediate', and 'timelimit'
'allow_unsuspend' => true, // optional - defaults to false - if you want to give the customer the option to self unsuspend set to true
'additional_info' => 'This is the additional info field', // optional - This is the additional information field - this is visible to the customer
'admin_notes' => 'This is the admin notes field', // optional - This is the admin notes field - this is only visible to the admins
)
)
);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'API_ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', // required - this header is required for authentication
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
?>