Skip to content

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

  • closedBy is set to CRM, so reports can tell manager hang-ups from provider hang-ups and from timeouts.
  • The click2call.call.ended event 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