You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Twilio SDK获取Worker的当前活跃CallSID?

通过Worker SID获取Twilio活跃通话的CallSID

核心逻辑

Twilio TaskRouter中,Worker的活跃通话会关联到assigned状态的任务里,我们需要获取该Worker的已分配任务,从任务属性中提取对应的CallSID。

前置准备

  • 安装对应语言的Twilio SDK
  • 准备你的Twilio Account SID、Auth Token、目标Worker SID以及所属Workspace SID

Python 实现示例

  1. 安装SDK:
pip install twilio
  1. 代码实现:
from twilio.rest import Client

# 替换为你的实际信息
ACCOUNT_SID = "你的Account SID"
AUTH_TOKEN = "你的Auth Token"
WORKER_SID = "目标Worker的SID"
WORKSPACE_SID = "所属Workspace的SID"

client = Client(ACCOUNT_SID, AUTH_TOKEN)

# 获取Worker的所有已分配任务
assigned_tasks = client.taskrouter.workspaces(WORKSPACE_SID)\
    .workers(WORKER_SID)\
    .tasks.list(assignment_status="assigned")

# 遍历任务提取CallSID
for task in assigned_tasks:
    task_attrs = task.attributes
    # 注意:属性键名可能因你的TaskRouter配置不同而变化
    if "call_sid" in task_attrs:
        print(f"活跃通话CallSID: {task_attrs['call_sid']}")

Node.js 实现示例

  1. 安装SDK:
npm install twilio
  1. 代码实现:
const twilio = require('twilio');

// 替换为你的实际信息
const accountSid = "你的Account SID";
const authToken = "你的Auth Token";
const workerSid = "目标Worker的SID";
const workspaceSid = "所属Workspace的SID";

const client = twilio(accountSid, authToken);

// 获取并筛选Worker的已分配任务
client.taskrouter.workspaces(workspaceSid)
  .workers(workerSid)
  .tasks.list({ assignmentStatus: "assigned" })
  .then(tasks => {
    tasks.forEach(task => {
      const attrs = JSON.parse(task.attributes);
      // 属性键名需匹配你的实际配置
      if (attrs.call_sid) {
        console.log(`活跃通话CallSID: ${attrs.call_sid}`);
      }
    });
  })
  .catch(err => console.error("获取任务失败:", err));

注意事项

  • 确保Worker确实有处于assigned状态的通话任务,否则不会返回任何CallSID
  • 任务属性中的call_sid字段名可能根据你的TaskRouter任务模板配置有所不同,需对应调整

内容的提问来源于stack exchange,提问作者mlegui21

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 12:59:54