Click2CallEndCall¶
POST click2call/call/end
Hangs up a call from the CRM side. The call is addressed by externalId — the provider
call id returned by Click2CallStartCall.
Not every provider exposes a hangup API. When it does not, the call is marked as closed in
the CRM and providerHangupSupported is false: the conversation may still be live on
the provider side, but the CRM no longer waits for it.
Access Control¶
Allowed roles: admin, leader, manager. Only the manager who started the call may end it; admin is not restricted.
Request¶
POST https://{broker_domain}/click2call/call/end
{
"externalId": "prov-77213"
}
{
"command": "Click2CallEndCall",
"extID": "1",
"data": {
"externalId": "prov-77213"
}
}
const res = await platform.Click2CallEndCall({
externalId: "prov-77213"
});
Request Data¶
| Field | Type | Required | Description |
|---|---|---|---|
externalId |
string | int | Yes | Provider call id of the call to hang up |
Behavior¶
closedByis set toCRM, so reports can tell manager hang-ups from provider hang-ups and from timeouts.- The
click2call.call.endedevent is emitted even when the provider reports neither a status nor an end time — the manager UI must not be left waiting.
Response Data¶
{
"message": "Call prov-77213 has been ended.",
"providerHangupSupported": true,
"status": "ANSWERED"
}
Errors¶
| Code | Error | Description |
|---|---|---|
403 |
PERMISSION_DENIED |
Only the manager who started the call can end it |
404 |
NOT_FOUND |
No call with this externalId in the brand |
500 |
INTERNAL_ERROR |
Storage or adapter error |