Click2CallGetCallRecording¶
GET click2call/call/:id/recording
Returns the recording link of a call. The link is fetched from the provider on the first request and cached in the call record, so reopening a customer card does not call the provider again.
A recording appears at the provider with a delay after the hang-up. If the first request
comes too early, repeat it with refresh=true instead of caching an empty result.
Access Control¶
Allowed roles: admin, leader, manager. A manager may only fetch recordings of their own calls; admin and leader are not restricted.
Request¶
GET request
GET https://{broker_domain}/click2call/call/{id}/recording?refresh=true
Authorization: <JWT_TOKEN>
{
"command": "Click2CallGetCallRecording",
"extID": "1",
"data": {
"refresh": true
}
}
const res = await platform.Click2CallGetCallRecording({
refresh: true
});
Path Parameters¶
| Parameter | Type | Description |
|---|---|---|
id |
int | Call id |
Request Data¶
| Field | Type | Required | Description |
|---|---|---|---|
refresh |
bool | No | Ignore the cached link and ask the provider again |
Behavior¶
- Some providers (Twilio, Plivo) return a link that cannot be opened without their credentials. Such a link is marked with
requiresAuth: true— the CRM must proxy it rather than give it to the browser. - Recording support is a provider capability: a provider without it answers
RECORDINGS_NOT_SUPPORTEDinstead of an empty link.
Response Data¶
{
"callId": 501,
"url": "https://provider.example/rec/501.mp3",
"requiresAuth": false,
"fetchedAt": "2026-08-24 13:36:10",
"cached": true
}
Errors¶
| Code | Error | Description |
|---|---|---|
403 |
PERMISSION_DENIED |
The call belongs to another manager |
404 |
NOT_FOUND |
Call not found in the brand |
409 |
NO_EXTERNAL_ID |
The call has no provider call id, so a recording cannot be resolved |
409 |
RECORDING_NOT_READY |
Provider has not published the recording yet |
501 |
RECORDINGS_NOT_SUPPORTED |
Provider adapter cannot resolve recordings |