呼叫转移

在通话中,通过此接口将当前通话转移到第三方。

支持的呼叫转移方式

可通过此 API 接口实现以下类型的呼叫转移:
盲转
根据请求参数设置,直接将通话转接给第三方。
咨询转
在转接通话前,先与第三方进行交谈,咨询是否接受转接的通话。要实现咨询转,你需要调用两次接口。
  1. 向第三方发起咨询转呼叫
  2. 执行咨询转操作

请求 URL

POST {base_url}/{api_path}/call/transfer?access_token={access_token}

请求参数

参数 是否必填 类型 说明
type String 呼叫转移类型。
取值范围
  • blind:盲转
  • attended:咨询转
channel_id String 通话中每个成员的通话通道 ID。
注: 可从 (30011) 通话状态变更 事件报告中获取通话通道 ID。
  • 盲转 时,输入要转接的成员的通道 ID。

    例:A 和 B 在通话中,A 要通过盲转转接到 C。此时,你需要输入 A 的通话通道 ID。

  • 咨询转 时,输入操作咨询转的成员的通道 ID。

    例:A 和 B 在通话中,B 要通过咨询转将 A 转接到 C。此时,你需要输入 B 的通话通道 ID。

number String 转移通话的目标号码。
注: 此参数在执行盲转或发起咨询转呼叫时必填。
dial_permission String

输入操作通话转移的成员分机号码。

注:
  • 在执行盲转或发起咨询转呼叫时,此参数为必填。
  • 需确保此分机号码具有呼叫权限。
    • 如果 number 为分机号码,且你想要此 API 接口遵循 PBX 上 客户端权限 设置的分机可见性权限,则必须在此参数中输入可查看 number 的分机号码。
    • 如果 number 为外部号码,而通话成员不具有外呼权限,你需要在此参数中输入具有外线呼出权限的分机号码。
attended_operate String 咨询转操作。
注: 此参数在执行咨询转操作时必填。
取值范围
  • abort:取消转移通话。
  • complete:确认执行通话转移。
  • threeway:建立三方通话。
  • swap:切换通话方。

    例:A 与 B 通话过程中,B 发起咨询转到 C,此时 A 的通话被保持。B 执行 swap 操作,可以切换回与 A 通话。

响应参数

参数 类型 说明
errcode Integer 返回错误码。
  • 0:请求成功。
  • 非零值:请求失败。
注: 更多错误码和错误信息说明,请参见 错误码 & 错误信息
errmsg String 返回信息。
  • SUCCESS:请求成功。
  • FAILURE:请求失败。
call_id String 通话的唯一 ID。

示例 – 盲转

分机 2000 与分机 2005 在通话中,分机 2000 通过盲转被转接到分机 2008。

请求示例

POST /openapi/v1.0/call/transfer?access_token=X5rj5m5f49u3hyf0aJbqirYJPUeZoI0D HTTP/1.1

Host: yeastardocs.example.yeastarcloud.com
Content-Type: application/json
{
    "type": "blind",
    "channel_id": "PJSIP/2000-000000ae",
    "number": "2008"
  }

响应示例

HTTP/1.1 200 OK
{
    "errcode": 0,
    "errmsg": "SUCCESS",
    "call_id": "1650029138.338"
}

示例 – 咨询转

分机 2000 与分机 2005 在通话中,分机 2005 使用咨询转的方式,将通话转移到外部号码 5503301。

请求示例

步骤一、向外部号码 5503301 发起建立咨询转呼叫。

POST /openapi/v1.0/call/transfer?access_token=X5rj5m5f49u3hyf0aJbqirYJPUeZoI0D HTTP/1.1

Host: yeastardocs.example.yeastarcloud.com
Content-Type: application/json
{
    "type": "attended",
    "channel_id": "PJSIP/2005-000000a6",
    "number": "5503301",
    "dial_permission":"2005"
}

步骤二、确认执行通话转移。

POST /openapi/v1.0/call/transfer?access_token=LqTflGXS6TTTtMQBfaFQo1GybUv2d9wI HTTP/1.1

Host: yeastardocs.example.yeastarcloud.com
Content-Type: application/json
{
    "type": "attended",
    "channel_id": "PJSIP/2005-000000a6",
    "attented_operate":"complete"
}

响应示例

HTTP/1.1 200 OK
{
    "errcode": 0,
    "errmsg": "SUCCESS",
    "call_id": "1650028408.320"
}