====== Abuse Manager Pro API ======
__The API has been introduced in v3.4. Therefore, it is only available & supported on v3.4 and above.__
This page explains the ways to interact with the Abuse Manager Pro API.
===== Generating your API ID For Authentication =====
* Login to your WHMCS installation (WHMCS Admin)
* Go to Setup > Staff Management > Manage API Credentials
* Click on API roles, click on Create API Role button, DO NOT give it any actions, press save
* Click on API credentials, click on Generate New API Credential button, select your admin user, select the API role created previously
* Copy the identifier only - we do not need the secret
* This identifier will be the API_ID that needs to be passed in the header of your call to authenticate with the API
'API_ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
===== API URL / Endpoint =====
The Abuse Manager Pro API can be consumed from:
https://URL-TO-YOUR-WHMCS/modules/addons/abusemanagerpro/includes/api.php
===== Available Actions/Functions =====
^ Action ^ Description ^
| [[amp_api#Create|Create]] | Creates an abuse report automatically |
----
===== Actions Index =====
==== Create ====
^ Action | create |
^ HTTP Method | POST |
^ Authentication Required | Yes |
^ Variables |
| service_id | 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 | "{"status":"success","report_id":92}"
|
^ Error JSON Output | "{"status":"error","error_code":"AMP009","error_description":"Missing required parameters."}"
|
----
===== 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.
'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);
?>