Semonto allows you to use webhooks to notify your application when an incident happens on your websites, so it can trigger a response within your current workflow.
Each webhook will be a POST request with a JSON body containing information about the status of your websites. You can use webhooks when monitoring reachability, broken links, mixed content, or the execution of cron jobs.
You can start receiving webhook notifications using the steps in this section:
You can expect the webhook to return data in the following format.
This is an example of what that could look like:
{
"id": 2858,
"type": "reachability",
"status_str": "critic",
"status": 2,
"name": "semonto website",
"test_date": 1678874679,
"url": "https://semonto.com",
"tests": [
{
"key": "ping",
"status": "1",
"info": "31.474849",
"friendly_name": "HTTP Ping",
"status_str": "Warning"
}, {
"key": "reachability",
"status": "1",
"info": "14.898855000000001",
"friendly_name": "Reachability",
"status_str": "Warning",
}, {
"key": "prtc:8080",
"status": "1",
"info": "15000.715171 - execution expired",
"friendly_name": "Check port 8080",
"status_str": "Warning"
}
]
}
The webhook data for TLS/SSL certificate notifications contain the following data:
This is an example of what that could look like:
{
"id": 2858,
"type": "tls_ssl_certificate",
"status": 4,
"status_str": "error",
"name": "semonto website",
"test_date": 1678874679,
"url": "https://semonto.com",
"expiry_date": 1678874679,
"days_valid": 0,
"expired": true,
"expiring": false,
"validation_error": NULL
}
These are the webhook data you can expect to receive for broken links and mixed content notifications:
Here is an example set of data:
{
"id": 2858,
"type": "broken_links",
"status": 1,
"status_str": "warning",
"name": "semonto website",
"test_date": "1678874679",
"url": "https://semonto.com",
"number_of_broken_links": "30",
"previous_number_of_broken_links": "50",
}
PulseChecks is our internal name for Cron Job Monitoring. The data for PulseCheck notifications contains:
This is an example of what the returned data could look like:
{
"id": 2858,
"type": "pulsecheck",
"status": 0,
"status_str": "ok",
"name": "semonto DB backup",
"interval": "60",
"pulsecheck_url": "https://PulseCheck1.semonto.com/pulsecheck/?upid=51OCK09CEX",
"time_expired": 70,
"last_pulse": 1678874679,
"ip_address": "81.204.186.6",
"ip_hostname": "81-204-186-6.fixed.kpn.net"
}
Don’t hesitate to reach out to our team if you need any help setting up your webhooks. We are happy to help!