This package has been deprecated

Author message:

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

tccc-agent-call-wx

1.0.1221 • Public • Published

腾讯云呼叫中心外呼小程序 SDK

本文主要介绍如何快速地将腾讯云呼叫中心 TCCC CALL SDK(小程序) 集成到您的项目中,只要按照如下步骤进行配置,就可以完成 SDK 的集成工作。可在自有小程序中实现呼叫通话功能。

环境要求

  • 请使用企业小程序账号申请相关权限进行开发,因为小程序测试号不具备 <live-pusher><live-player> 的使用权限。
  • 需要在真机上进行运行体验,因为微信开发者工具不支持原生组件 <live-pusher><live-player>
  • 请使用原生小程序开发环境,不支持 uniapp 等开发框架。
  • 微信 App iOS 最低版本要求:7.0.9
  • 微信 App Android 最低版本要求:7.0.8
  • 小程序基础库最低版本要求:2.10.0

前提条件

  1. 已完成注册微信小程序账号

  2. 已完成安装微信开发者工具

  3. 已完成安装Nodejs

  4. 确保小程序符合微信要求,并开通音视频权限。

配置服务器域名

  1. 登录微信公众平台
  2. 选择开发>开发管理>开发设置>服务器域名,根据下表配置
合法域名类型 域名
request合法域名 https://api.tccc.qcloud.com
https://web.sdk.qcloud.com
socket合法域名 wss://api.tccc.qcloud.com

引入 SDK

  1. 使用 npm 下载
npm install tccc-agent-call-wx

!

  • 安装完之后,需要在微信开发者工具中对 npm 进行构建:工具 - 构建 npm。
  1. 导入 TCCC CALL SDK 组件
{
  "usingComponents": {
    "tccc-agent-call-wx": "tccc-agent-call-wx"
  }
}
  1. 在wxml中使用TCCC CALL SDK 组件
<tccc-agent-call-wx id="sdk" bind:accepted="onAccepted" bind:progress="onProgress" bind:ended="onEnded"/>

API 概览

登录相关 API

  1. login - 登录
  2. isLogin - 检查是否已登录
  3. logout - 退出登录

呼叫通话相关

  1. call - 发起外呼
  2. terminate - 挂断
  3. hold - 通话保持
  4. unHold - 取消通话保持
  5. sendDigits - 发送双音多频信号(DTMF

音频相关接口

  1. muteMic - 静音
  2. unMuteMic - 取消静音
  3. setSoundMode - 设置音频模式

事件回调

  1. accepted - 对端接听事件
  2. ended - 挂断事件
  3. progress - 呼叫中事件

API 参数 & 示例

登录状态相关

login - 参数详情

参数 类型 是否必填 说明
sdkAppId String 腾讯云呼叫中心应用SdkAppId
userId String 坐席账号
token String Token 方式登录外呼SDK,[获取Token文档](https://cloud.tencent.com/document/product/679/49227)

登录&退出示例

try {
  // 登录
  await this.selectComponent('#sdk').login({
    sdkAppId: Test_SdkAppId,
    userId: Test_SeatUserId,
    token: token,
  });
  // 登录成功
} catch (error:any) {
  // 登录失败
}
// 退出登录
await this.selectComponent('#sdk').logout();
// 判断是否已登录,true表示已登录,false表示未登录
const isOk = await this.selectComponent('#sdk').isLogin();
    

呼叫通话相关

call - 参数详情

参数 类型 是否必填 说明
calleePhone String 需要呼叫的电话号码
calleeRemark String 该电话的备注文案,可替代号码显示
uui String 自定义参数,传入后将通过 [CDR事件推送](https://cloud.tencent.com/document/product/679/67257) 返回
skillGroupId String 指定技能组内绑定的外呼号码
callerPhoneNumber String 指定外呼号码
servingNumberGroupIds string[] 指定号码 ID 列表
phoneEncodeType 'number' 目前仅支持'number',在开启 号码映射 时强制使用真实号码

发起外呼&结束通话示例

try {
  // 发起呼叫
  await this.selectComponent('#sdk').call({
    calleePhone: this.data.calleePhone,
  });
  // 外呼成功
} catch (error:any) {
  // 外呼失败
}  
// 发送分机号  
await this.selectComponent('#sdk').sendDigits(this.data._DTMFValue);
// 挂断
await this.selectComponent('#sdk').terminate();

音频相关接口示例

音频相关接口示例

// 静音
this.selectComponent('#sdk').muteMic();
// 取消静音
this.selectComponent('#sdk').unMuteMic();
// 切换为耳麦模式,其中speaker表示扬声器,值ear表示耳麦。默认值为扬声器,只对手机有效
this.selectComponent('#sdk').setSoundMode('ear');

回调推送示例

回调推送示例

 <tccc-agent-call-wx id="sdk" bind:accepted="onAccepted" bind:progress="onProgress" bind:ended="onEnded"/>
onProgress() {
  // 外呼过程中
},
onAccepted() {
  // 对端接听
},
onEnded(e:{ detail: { closeBy: string;mainReason?: string }; }) {
  const {closeBy,mainReason} = e.detail;
  this._addCallBackLog(`onEnded ${closeBy}, mainReason:${mainReason}`);
  if (closeBy === 'admin') {
    wx.showToast({
      icon: 'none', // 自选合适的图标
      title: '系统原因挂断'
    })
  } else if(closeBy === 'seat') {
    wx.showToast({
      icon: 'none', // 自选合适的图标
      title: '通话结束,对方已挂断'
    })   
  } else {
    // 挂断成功   
  }
},

其他

  1. 下载小程序外呼Demo

Package Sidebar

Install

npm i tccc-agent-call-wx

Weekly Downloads

15

Version

1.0.1221

License

ISC

Unpacked Size

115 kB

Total Files

6

Last publish

Collaborators

  • gavinwjwang