Twilio TaskRouter JS SDK不起作用

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

v1.13 / taskrouter.min.js不支持twilio,参见文档https://www.twilio.com/docs/taskrouter/js-sdk/worker#reservation-created

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
});

reservation.sid打印任务SID&如果我删除。任务,则返回各自的输出相关的任务,但在这里,我希望保留相关的输出。

以下是我的应用程序中当前使用的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
梅Tom猿2020/03/19 11:50:37

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

首先我删除

  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 
});

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

worker.on("ready", function(worker) {
});

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

  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.activityName替换worker.activity_name

这解决了我所有的问题。