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.
'API_ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
The Abuse Manager Pro API can be consumed from:
https://URL-TO-YOUR-WHMCS/modules/addons/abusemanagerpro/includes/api.php
Action | Description |
---|---|
Create | Creates an abuse report automatically |
Action | create | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
HTTP Method | POST | ||||||||||||||
Authentication Required | Yes | ||||||||||||||
Variables |
|
||||||||||||||
Success JSON Output | "{"status":"success","report_id":92}" |
||||||||||||||
Error JSON Output | "{"status":"error","error_code":"AMP009","error_description":"Missing required parameters."}" |
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 |
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); ?>