Twilio TaskRouter JS SDK不能正常工作

时间:2018-05-17 07:31:38

标签: vue.js twilio 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
});

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

1 个答案:

答案 0 :(得分:1)

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

  

首先我删除

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

已修复

  
var data = {"457": {"2": {"value": "53.8", "timestamp": 1534257707}, "3": {"value": "21.9", "timestamp": 1534257707}, " 4 ": {" value ":" 255.0 "," timestamp ": 1534257707}," 21 ": {" value ":" 996.0 "," timestamp ": 1534257707}," 1 ": {" value ":" 4.15 "," timestamp ": 1534257707}," 17 ": {" value ":" 156.99062499999997 "," timestamp ": 1534257707}," 5 ": {" value ":" 37.667 "," timestamp ": 1534257707}," 6 ": {" value ":" 28.900000000000002 "," timestamp ": 1534257707}," 8 ": {" value ":" 4.28 "," timestamp ": 1534257707}," 15 ": {" value ":" 0.83 "," timestamp ": 1534257707}," 10 ": {" value ":" 19.31 "," timestamp ": 1534257707}," 22 ": {" value ":" 0.0 "," timestamp ": 1534257707}," 23 ": {" value ":" 0.0 "," timestamp ": 1534257707}," 24 ": {" value ":" 0.0 "," timestamp ": 1534257707}," 26 ": {" value ":" 0.0 "," timestamp ": 1534257707}," 653 ": {" value ":" 0.0 "," timestamp ": 1534257707}," 657 ": {" value ":" - 98.0 "," timestamp ": 1518420299}, "43": {"value": "11.824136243472958", "timestamp": 1534257707}, "42": {"value": "326.54049999999995", "timestamp": 1534257707}}};

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)
     

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

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

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

  4.   
     

第二,我需要根据更新所有密钥   /v1.13/taskrouter.min.js在我的客户端Js中
  例如,根据更新的密钥 worker.activityName 替换 worker.activity_name 。    v1.13

这解决了我所有的问题。