Twilio TaskRouter JS SDK不能正常工作

Sam*_*Dev 16 twilio vue.js twilio-api twilio-programmable-voice

根据Twilio Docs,我正在尝试开发一个呼叫中心应用程序,但是TaskRouter JS

v1.13/taskrouter.min.js不支持文件https://www.twilio.com/docs/taskrouter/js-sdk/worker#reservation-created中的 twilio解释

worker.on("reservation.created", function(reservation) {
    console.log(reservation.task.attributes)      // NOT FOUND
    console.log(reservation.task.priority)        // NOT FOUND
    console.log(reservation.task.age)             // NOT FOUND
    console.log(reservation.task.sid)             // NOT FOUND
    console.log(reservation.sid)                  // RETURNS task sid
});
Run Code Online (Sandbox Code Playgroud)

reservation.sid打印任务sid&如果我删除.task它返回与任务相关的相应输出但是在这里我期待预订相关的输出.

以下是twilio客户端SDK目前在我的应用程序中使用.

  1. https://media.twiliocdn.com/sdk/js/sync/releases/0.5.10/twilio-sync.js
  2. https://media.twiliocdn.com/sdk/js/client/releases/1.4.31/twilio.min.js
  3. https://media.twiliocdn.com/taskrouter/js/v1.13/taskrouter.min.js
  4. https://media.twiliocdn.com/taskrouter/js/v1.0/taskrouter.worker.min.js

Sam*_*Dev 1

有两个不同的问题,但它们彼此相关。

首先我删除

  1. https://media.twiliocdn.com/taskrouter/js/v1.0/taskrouter.worker.min.js

它固定了

worker.on("reservation.created", function(reservation) {
         console.log(reservation.task.attributes)      // FOUND
         console.log(reservation.task.priority)        // FOUND
         console.log(reservation.task.age)             // FOUND
         console.log(reservation.task.sid)             // FOUND
         console.log(reservation.sid)                  // RETURNS reservation sid 
});
Run Code Online (Sandbox Code Playgroud)

BUT After I remove taskrouter.worker.min.js , I faced another issue (i.e worker event stopped working)

worker.on("ready", function(worker) {
});
Run Code Online (Sandbox Code Playgroud)

因为两个版本使用不同的键来获取事件值

  1. /v1.13/taskrouter.min.js 例如worker.activityName

  2. /v1.0/taskrouter.worker.min.js 例如 worker.activity_name

其次,我需要根据客户端 Js 中的 /v1.13/taskrouter.min.js 更新所有密钥,
例如,根据 v1.13将worker.activity_name替换为更新后的密钥worker.activityName

这解决了我所有的问题。