Abuse Manager Pro
  • Abuse Manager Pro
  • Requirements
  • Quick Setup Guide
  • Configurable Options
  • Upgrade Guide
  • Common Issues
  • Roadmap & Changelog
    • Roadmap
    • Changelog
  • Features & Screenshots
    • Screenshots
    • Admin Features
    • Customer Features
    • Public User Features
  • Optional & Advanced
    • Reply To Emails (SMTP)
    • Pay To Unsuspend
    • Admin Widget
    • Auto Assign Reports & Suspensions
    • Time Limit Suspension Settings
    • IMAP Import
    • Discard Duplicate Reports
    • Attachments
    • Client Area Lockdown
    • Additional Client Area Header
    • PDF Reports
    • Admin Quick Replies
    • FraudRecord Integration
    • Override Staff Notifications
    • Multilang
    • API
    • Module Troubleshooting
Powered by GitBook
On this page
  • Generating your API ID For Authentication
  • API URL / Endpoint
  • Available Actions/Functions
  • Actions Index
  • Create
  • Error Codes
  • Example PHP Curl Script
  1. Optional & Advanced

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

Creates an abuse report automatically

Actions Index

Create

POST https://URL-TO-YOUR-WHMCS/modules/addons/abusemanagerpro/includes/api.phpCreate

Creates an abuse report automatically

Headers

Name
Type
Description

API_ID*

Request Body

Name
Type
Description

String

{
    // Response
}
{
    // Response
}

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

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);
 
?>
PreviousMultilangNextModule Troubleshooting

Last updated 3 years ago

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

"{"status":"success","report_id":92}"
"{"status":"error","error_code":"AMP009","error_description":"Missing required parameters."}"
Create
2KB
example-php-curl.php
Downloadable example php script