img
Easy Integration
With 3CX WebHook

It allows 3CX to integrate more easily with CRM software by generating WebHook events

No matter what language you use

Easy integration with many CRMs

MP3 recording file ready when call ends

Track all steps in the call

Monitor missed calls

Call Events

Track all calls on your 3CX

Events for Missed Calls

Track all missed call events call events

MP3 Format for Recordings

Your recording files in MP3 format
are ready at the end of the call

Easy CRM Integration

Simplifying CRM integration
with all call events

Language-independen

Break free from dependencies with
language-agnostic development

Extension Tracking

Monitor the live events of
all users in the PBX

3CX Webhook Generator Algorithm

How It Works?

The Call Goes to the IVR

{ "Event": "ringing", "Callerid": "05551239988", "User": "800",
"Usertype": "other", "Did": "", "Id": "230307114903_10-0" }

13:23:50

The Call is Placed in the Queue

{ "Event": "ringing", "Callerid": "05551239988", "User": "820",
"Usertype": "queue", "Did": "", "Id": "230307114903_10-0" }

13:24:01

The Phone Rings

{ "Event": "ringing", "Callerid": "05551239988", "User": "202"
, "Usertype": "ext", "Did": "", "Id": "230307114903_10-0" }

13:24:09

Agent Picks Up

{ "Event": "incomingcall_started", "Callerid": 05551239988", "User": "202",
"Trtype": "NotDef", "Did": "", "Id": "230307114903_10-1" }

13:24:13

Call Ends

{ "Event": "incoming", "Callerid": "05551239988", "User": "202",
"Finishtype": "Ok", "Transfer": "False", "Did": "", "Duration": "00:06", "Id": "230307140234_35-1" }

13:27:37

The Recording of the Conversation is Ready

{ "Event": "recording", "FileUrls": [ "https://FQDN:5001/webapi/recording/230307140234_35-1-1.mp3" ],
"Callerid": "05551239988", "User": "202", "Id": "230307140234_35-1" }

13:27:39
3CX MP3 Records
After the complete end of the call (when the external subscriber hangs up), a recording of the conversation appears in 3CX, or several recordings of conversations that correspond to the entire chain of transfers, if any. Recordings of conversations appear with a slight delay: from a few milliseconds to 1-2 seconds after hanging up. As soon as this happens, the “webhooks” module converts the wav-file (s) with the recording (recordings) into mp3-format and places them in a separate folder, from which it is possible to download recordings via an https-link. The link to download the files is sent via the corresponding POST request. Thus, a webhook with information about the end of the call and a webhook with a link to the conversation file are different, separate webhooks.

In a POST request, in the general case, several links can be sent to download a conversation recording. The fact is that in 3CX one conversation can correspond to several sound files. This happens if they spoke through a mobile application, and during the conversation, the connection was lost for a short time. In this case, each short-term disconnection is the beginning of a new record file.

In addition to the link to the conversation record, the POST request contains a call id, by which it can be identified with the call start / end events. Optionally (via an ini file) in the POST request, you can enable the transfer of complete information about the ended call. In this case, the POST request will contain the same information (besides the link to download the record) as the call termination event.

Records of conversations in mp3 format are stored in a separate package for the required number of days (the corresponding parameter is set in the ini-file of the service). At night, records that have expired are automatically deleted by the service.

Example:
{"FILES":["https://3CXFQDN:5001/webapi/recording/211230102738_669-1-1.mp3"]}