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

如何在Twilio Flex插件中获取登录座席的关联Queues?

在Twilio Flex插件中获取已登录座席的专属出站队列

核心思路

不能直接调用全量TaskQueues接口,要通过当前Worker(座席)实例关联的队列数据筛选,或者调用TaskRouter API中针对Worker的专属队列查询端点,以此拿到座席被分配的队列。

具体实现步骤

  • 获取当前Worker实例
    Flex插件可通过内置Manager实例直接拿到当前登录座席的Worker对象,无需额外验证:

    const manager = Manager.getInstance();
    const currentWorker = manager.workerClient;
    
  • 提取专属队列数据
    两种可靠获取方式:

    1. 直接读取Worker对象的taskQueues属性(Flex SDK已自动关联数据):
      // 监听Worker加载完成事件,确保数据就绪
      currentWorker.on('ready', () => {
        const assignedQueues = currentWorker.taskQueues;
        // 后续处理队列数据
      });
      
    2. 调用TaskRouter REST API查询(SDK自动关联数据缺失时使用):
      currentWorker.on('ready', async () => {
        const workspaceSid = manager.configuration.taskrouterWorkspaceSid;
        const workerSid = currentWorker.sid;
        // 构造API请求
        const response = await fetch(`https://taskrouter.twilio.com/v1/Workspaces/${workspaceSid}/Workers/${workerSid}/TaskQueues`, {
          headers: {
            'Authorization': `Basic ${btoa(`${manager.configuration.accountSid}:${manager.configuration.authToken}`)}`
          }
        });
        const result = await response.json();
        const assignedQueues = result.tasks; // 队列列表存于tasks字段
      });
      
  • 渲染出站队列选择框
    将队列数据转为选择框选项,插入到Flex界面的对应位置(比如座席桌面侧边栏):

    function renderQueueSelect(queues) {
      const select = document.createElement('select');
      select.className = 'outbound-queue-select';
      queues.forEach(queue => {
        const option = document.createElement('option');
        option.value = queue.sid;
        option.textContent = queue.friendlyName; // 显示队列名称
        select.appendChild(option);
      });
      // 插入到Flex侧边栏示例
      const sidebar = document.querySelector('.Twilio-AgentDesktopView-SidePanel');
      sidebar.appendChild(select);
    }
    
    // Worker就绪后执行渲染
    currentWorker.on('ready', () => {
      const assignedQueues = currentWorker.taskQueues;
      renderQueueSelect(assignedQueues);
    });
    

注意事项

  • 插件配置的AuthToken/API Key需拥有TaskRouterWorker和TaskRouterTaskQueue的访问权限,否则API调用会返回权限错误。
  • 使用SDK的taskQueues属性时,必须等待Worker的ready事件触发后再读取,避免拿到空数据。

内容的提问来源于stack exchange,提问作者Jean Paul Rumeau

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 21:00:09