API 参考

通话

查询当前通话beta

当前功能处于内测阶段,可联系技术支持申请开通工作区资格。

当前仅支持 WhatsApp 单聊语音和视频通话。 返回本系统管理的当前通话,没有时 data 为 {}。此接口不能判断账号或对方是否正在 WhatsApp 手机端通话。

GEThttps://api.unifyport.ai/v1/calls/active

支持的渠道

WhatsApp

调用前准备

在服务端使用资源所属工作区的 X-Api-Key。运行示例前替换所有占位符。

确认工作区已开通内测资格。创建通话前完成 WhatsApp 授权,并检查 runtime_status=running。目标使用当前账号下私聊会话的 conversation_id。

参数从哪里取得
account_id
从创建或查询账号的响应取得 data.id。账号标识属于 X-Api-Key 对应的工作区。 获取账号

请求参数

请求头

X-Api-Key
string必填

工作区 API Key,工作区由该请求头解析得到。

查询参数

account_id
string必填

当前工作区内的账号 ID。

pattern: ^acc_[A-Za-z0-9][A-Za-z0-9_-]*$

请求体

该接口无需 JSON 请求体。

如何理解结果

读取 UnifyPort 当前管理的通话及 call_id/state。data={} 表示未找到此类通话,不表示双方在 WhatsApp 手机端忙线或空闲。

响应 200 · active

{
  "request_id": "req_example",
  "data": {
    "call_id": "call_example",
    "state": "active",
    "direction": "inbound",
    "media_type": "voice"
  }
}

响应 200 · idle

{
  "request_id": "req_example",
  "data": {}
}

响应体

call_id
string

通话标识,挂断时也使用此值。

maxLength: 128

state
string

当前通话状态。

enum: preparing, dialing, ringing, connecting, active

direction
string

通话方向。

enum: inbound, outbound

media_type
string

voice 为语音,video 为支持视频的通话。

enum: voice, video

响应

200

200 · active

请求成功,响应体示例如上。

400

请求错误

请求体、路径或参数不合法。

401

未授权

X-Api-Key 请求头缺失或无效。

403

禁止访问

请求已识别,但不允许执行该操作。

404

未找到

未找到请求的资源;请结合 error.code 和当前操作核对。

409

冲突

当前操作与已有的渠道账号或资源冲突。

500

服务端错误

服务端遇到了未预期的错误。

501

渠道未实现

所选渠道尚未实现该操作。

502

上游网关错误

渠道适配器或上游渠道未能完成该操作。

503

服务不可用

所需的后端服务暂时不可用。

失败后怎么处理

检查 HTTP 状态和 error.code/numeric_code,保留 request_id。核对内测资格、账号和 call_id;创建冲突时先查询当前通话。重试创建或挂断前确认当前通话状态。 错误码参考

invalid_request · 10000 · 400
检查必填字段、格式和渠道条件,修正请求后再调用。
missing_api_key · 11000 · 401
检查 X-Api-Key 是否正确、工作区是否有效。
invalid_api_key · 11001 · 401
检查 X-Api-Key 是否正确、工作区是否有效。
account_not_found · 20020 · 404
核对 account_id,并使用账号所属工作区的 X-Api-Key。此工作区下未找到的账号不能用当前 Key 访问。
unsupported_by_provider · 30003 · 501
查看渠道能力指南,选择支持该动作的渠道或操作;重复请求不会增加支持范围。
beta_feature_not_enabled · 41002 · 403
联系技术支持申请工作区内测资格。重复请求或在请求中修改 is_beta 都不会开通权限。