URL Callback Notifications

How to setup a URL Callback

URL Callback Notifications allow alert processing on your own server. Whenever a monitored domain or IP address gets listed or delisted, Debouncer will submit JSON payload to the callback URL you provide. This URL needs to be verified and approved by us.

To setup a URL Callback, you should create and test callback script, then submit the URL via help desk. Once URL is approved, you can add it to your contact lists.


URL callback fields

Field Description and values
monitor IP address or domain name
monitor_type 1 - IP, 2 - domain
event_type 1 - listed, 2 - delisted, 3 - list removed from database, 4 - list ignored
event_datetime_utc Event date and time, timezone is UTC
severity Reputation list severity. 1 - medium, 2 - high
blacklist_name Reputation list name
blacklist_description Reputation list description
blacklist_url Reputation list URL

URL callback listener example

<?php
// URL callback processing example
$obj = json_decode(file_get_contents('php://input'), true);    
$fp = fopen( 'file.txt', 'a' );
fwrite( $fp,
$obj["monitor"] . ";" .  // ip or domain name
$obj["monitor_type"] . ";" .   // 1 - IP, 2 - domain
$obj["event_type"] . ";" .  // 1 - listed, 2 - delisted, 3 - list removed from database, 4 - list ignored
$obj["event_datetime_utc"] . ";" .  // event date and time , timezone is UTC
$obj["severity"] . ";" . // 1 - medium severity, 2 - high severity
$obj["blacklist_name"] . ";" .  // name
$obj["blacklist_description"] . ";" .  // description
$obj["blacklist_url"] . ";" .  // blacklist_url
"\n" );
?>

URL callback listener test example

<?php
$url = 'http://www.yourwebsite.com/listener.php'; // your callback listener URL
$jsonData = array(
    'monitor' => '1.2.3.4',
    'monitor_type' => '1',
    'event_type' => '1',
    'event_datetime_utc' => '2018-11-22 17:03:23',
    'severity' => '2',
    'blacklist_name' => 'rbl.domain.org',
    'blacklist_description' => 'Some RBL',
    'blacklist_url' => 'http://domain.org/'    
);

$jsonDataEncoded = json_encode($jsonData);

$ch = curl_init( $url );
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$response = curl_exec( $ch );
echo $response;
?>