如何使用 API 创建新的 xAssist 调用

前提: 工作登录和刷新功能 

1. 收集有效的登录凭据。

2. 使用 /rtc/createCall 端点设置后调用并设置请求正文,如下所述。

带注释的请求正文 JSON:

  { “callTitle”: “测试调用”, \\调用 
名称 “callReason”: “STANDARD”, \\Either Standard or SERVICE_REQUEST
  “callType”: “SFU”, \\ 定义使用的调用技术,例如。用于 1:1 呼叫的 MESH 或用于多重呼叫
 的 SFU “invitedContacts”: [ \\ 多个 CallLogContact 对象
  的列表 {     
“displayName”: “Tester”,  
    “domain”: “ubimax”,     
“email”: “[email protected]”,   
  “phoneNumber”: “”,
      “userDbId”: 8, \\用户的数据库 ID,联系人也链接了该 ID。
      “userId”: “tester” \\用户的用户 ID ID,联系人也链接了该用户 ID。
    
} ],
  “invitedTeams”: [], \\ 留空或添加团队对象以邀请整个团队。
  “joinAnonymousAllowed”: true, \\ 设置为 true 以允许匿名加入 else false
  “informOthersDirectly”: true, \\ 设置为 true 以触发邀请联系人屏幕上
 的呼叫通知弹出窗口 “creatorUser”: 12, \\ 用户的数据库 ID。将它留空或设置为代表某人创建呼叫,充当代理。

带注释的响应正文 JSON(CallLog 对象):

注意: 为简洁起见,省略了某些字段。

{ “id”: 842, \\数据库 
生成的增量 ID “callId”: “e76e1d8a-8267-4bd4-ba5c-00ab76743e74”, \\UUID 由应用程序
 生成 “anonymousJoinAllow”: true, \\是否允许
 匿名加入 “callStatus”: “Ended”, \\可能的值: Planned、Started 或 Ended

  “creatorContact”: { \\ CallLogContact 对象。引用生成调用的用户或创建调用时指定的“creatorUser”。
   ......
 
 } “invitedContacts”: [ \\ 多个 CallLogContact 对象
  的列表 {
...
     
 } ] 
“callEvents”: [ \\ 多个调用事件
  列表 {
   “id”: 234, \\数据库
   生成的增量 id “type”: “Created”, \\可能的值: Created, Join, Leave, between others.
“contact”: { \\ CallLogContact 对象。引用与当前事件相关的用户。
   ......
 
  } }
 ]

3. 服务器通过 WebSocket、邮件或短信(如果在 中 CallLogContactObject设置)通知受邀联系人。

如何使用 API 了解调用的状态

前提: 工作登录和刷新功能 

1. 收集有效的登录凭据。

2. 使用/rtc/getCallLogById?callId=value从上述端点的响应createCall中获取的callId端点设置 get 调用。

带注释的响应正文 JSON:

createCall 终结点的响应相同。例如,对于由 callertest1 发起的对 callertest2 的持续网格调用,事件如下所示:

“callEvents”: [
  {   
“id”: 697,
   “type”: “已创建”,
   “contact”: {    
“id”: 1,    
“userId”: “callertest1”,    
“userDbId”: 8   
}
  },{ “id”: 698,
   “type”: “Join”,
   “contact”: {    
“id”: 1,    
“userId”: “callertest1”,
    “userDbId”: 8
   }
  },
  {   
“id”:
  
    699,
   “type”: “Join”,
   “contact”: {    
“id”: 2,    
“userId”: “callertest2”,    
“userDbId”: 9   
},
  } ],
 

如何从连接器创建网状呼叫

使用 . RtcControllerApi突出 createCallForContacts 的是创建呼叫并 getCallLogById 了解呼叫的状态。

若要创建调用,请使用 creatorUser 前面提到的属性。将其设置为智能眼镜用户, userDbId 并将专家用户和连接器用户添加到阵列中 invitedContacts 。因此,连接器最终表现得像一个代理。请记住,只有在专家用户接听电话后,才会呼叫智能眼镜用户。

时序图

Node.js示例

Node.js示例调用(精简,可能需要通过登录名收集的更多安全标头和 cookie)。

fetch(“https://<serverurl>/rtc/createCall”, {
  “headers”: {   
“authorization”: “持有者<令牌>”,
  },
  “body”: “{\”callType\“:\”SFU\“,\”invitedContacts\“:[{\”userId\“:\”tester\“,\”userDbId\“:8,\”email\“:\”[email protected]\“,\”domain\“:\“ubimax\”,\“displayName\”:\“Tester\”,\“phoneNumber\”:null}],\“invitedTeams\”:[],\“joinAnonymousAllowed\”:false,\“callTitle\”:\“New Call\”,\“plannedDateTime\”:null,\“callReason\”:\“STANDARD\”}“,
  ”method“: ”POST“,
  ”mode“: ”cors“
});