After the call fully ends (when the external party hangs up), 3CX creates a recording of the conversation, or several recordings for the whole chain of transfers. Recordings appear with a short delay, from a few milliseconds to 1–2 seconds after hanging up. As soon as this happens, the Webhook module converts the WAV file(s) to MP3 and puts them in a separate folder, from which they can be downloaded via an HTTPS link. The download link is sent in a separate POST request. So the webhook about the end of the call and the webhook with the recording link are two different webhooks.
One POST request can contain several recording links. In 3CX one conversation can have several sound files, for example when the agent talks via the mobile app and the connection drops for a moment: each short disconnection starts a new file.
Besides the recording link, the POST request contains the call ID, so you can match it with the call start and end events. Optionally (RECORDING_FULL_INFO = 1 in the ini file) the request also contains the full details of the finished call, the same as the call end event.
MP3 recordings are kept for the number of days set in the ini file of the service (RECORDS_TIME_LIFE). Expired recordings are deleted automatically at night.
Example:
{"FILES":["https://{3CXFQDN}/webapi/recording/211230102738_669-1-1.mp3"]}