Webhook - a mechanism for notifying the system and/or third-party systems about telephony events or Ringostat Virtual PBX events at a certain moment.
When an event created earlier in the personal account occurs, the webhook handler sends an HTTP request with a set of parameters to the URL specified for this Webhook.
If the URL to which the Webhook is sent is unavailable (does not respond with HTTP 200 OK), there will be no attempts to resend the Webhook to this URL until the expected 200 OK. The Webhook will be marked "with error", its sending status and error can be viewed on the Webhook Error Check page.
WebHooks are a simplified version of rest events and rest commands that don't require writing a program. But even so, working with REST is not an easy task and requires solid qualifications from the developer.
Event - "Incoming call"
before the call;
after the call;
after the call evaluation menu;
at the moment of picking up the phone;
at the moment of call forwarding.
Event - "Outgoing call"
after the call;
before the call.
Event - "Sending a form from the website"
Event - "Opening/closing a dialogue"
Start of dialogue in the messenger;
End of dialogue in the messenger.
Event - "Deal created or its status updated"
Creating a webhook request
In the personal account, go to the Integration section, then to the Webhooks page. The page contains a table of active and configured integrations of the project. By default, an After Call event with a webhook for Google Analytics is added and configured, which cannot be edited.
Unique event and new webhook request..
To create a new webhook request with a new type of event:
1. Click Add event:
After clicking the button, a menu with settings for the handler will open.
2. Fill in the fields for the new event:
In Name, specify the name of the event
4. Select the event itself from the list
5. Add parameters for the new action (Webhook request):
Direction - the handler address to which the request will be sent. Standard ports: 80 for HTTP and 443 for HTTPS. To set a Webhook on a URL with a specified port, you can pass the URL in the form: http://11.111.111.11:80
Headers - Content-Type headers are automatically set depending on the sending methods. You can edit or delete the header.
Data sending method:
GET - a request with parameters transmitted in the address bar (request URL);
POST - a request with parameters transmitted in the body of the request;
PUT - a request to change an instance with the specified ID
Data sending format - the format of the data transmitted to the request handler.
json - sending parameters in the format of an object (set of key/value pairs) in the request;
raw - allows sending data in the request without any processing or encoding in a specific format, for example, text, binary, or image;
Json-rpc - is a remote procedure call protocol that uses JSON format to transmit requests and responses between client and server, defining the structure of requests and responses as objects with mandatory fields "jsonrpc", "method" and "params";
Form - allows sending data in the request in the form of URL-encoded key/value pairs in the request body, usually used for sending data from forms on web pages.
Date format - by default, Standard date is set.
Parameter types:
Text - text input, you can select the parameter you need from the list;
Array - the field becomes a multiselect, i.e., you can add multiple parameters and pass them in an array;
Object - you can add a set of fields and pass data in an object. Inside objects, it's possible to add objects and arrays if you need to set several levels of nesting for objects.
md5/crc32/sha1/sha256 hash - these are different hashing algorithms used to convert data into a fixed-length sequence of characters (hash) that can be used to verify data integrity and protect against unauthorized access.
A new event with an action (webhook request) is created!
Copying a webhook request
If a webhook has already been created, but you need to create another identical webhook request with minor changes, for example, in such a case:
Click on the three dots next to the existing event and copy it:
Choose the event type and click "Next"
The copied event needs to be saved
The newly created event can be edited and making changes to the fields
Also, you can see a sample webhook to be sent, or test send it. At the bottom, after filling in all the parameters, there will be two options under the “Preview” button: “Show sample” and “Execute and show sample”:
Where all the data and the body of the request will be listed:
Important! The parameter name should be in Latin characters and without spaces, otherwise, there will be no correct data transmission. If you need the parameter name only in Cyrillic and/or with spaces, in this case, it should be written in curly brackets. For example: {{parameter name}}
This completes the creation of the webhook request.