ExotelCRMWEBSDK(贝塔)
ExotelCRMWebSDK允许您利用Exotel的平台进行IP呼叫,这个功能很容易集成.
步骤
1. 在一个项目中使用一揽子办法:
对于 npm 用户 :
参考样本项目 这里 或读取.
步骤 :
- 您可以使用 npm 安装软件包 :
npm install @exotel-npm-dev/exotel-ip-calling-crm-websdk
或直接来自 GitHub :
npm install git+https://github.com/exotel/exotel-ip-calling-crm-websdk.git
- 只需在您的代码中导入 ExotelCRMWBSDK :
import ExotelCRMWebSDK from "@exotel-npm-dev/exotel-ip-calling-crm-websdk";
类型脚本支持
Npm 软件包发布:
- 编译的 Java 脚本
output/(运行时间) - 类型
output/*.d.ts(音译
如果您的构建管道可以从依赖性中编译 TypeScript, TypeScript 源也会被运出到下面 src/ 可直接导入(先进用法),例如:
import ExotelCRMWebSDK from "@exotel-npm-dev/exotel-ip-calling-crm-websdk/src/ExotelCRMWebSDK";
出版(维护者)
此 repo 为 CI 使用 GitHub Actions 并可选地向 npm 发布 .
- 中情局:在公关上运行并推向
master编号 :main。使工作流程成为 需要的状态检查 在 GitHub 分支保护中,如果构建失败,将块合并. - 手动发布到 npm: 运行 GitHub 动作工作流程 "纸到npm(手动)" 设置
publish=true(一组)publish=false仅用于不发布而构建.
添加中 NPM_TOKEN 用于发布工作流程
在 GitHub 中添加符号 :
- 反省 —— 设置 → 机密和变量 → 行动 → 新寄存器密钥
- 名称 :
NPM_TOKEN - 数值: 您的 npm 颗粒访问令牌 有出版许可
@exotel-npm-dev/exotel-ip-calling-crm-websdk(以及任何像2FA/bypass-2FA这样的在npm上配置的政策要求).
对非npm用户:
如果您不使用像NPA这样的软件包管理器,您可以直接包含由webpack生成的捆绑的JavaScript文件.
步骤 :
-
首先,你应该克隆这个寄存器.
-
您可以使用以下 npm 命令安装所需的软件包 :
npm install
-
地点 "网络包装. config.js" 在项目目录中的文件,您可以在项目根目录中找到此文件.
-
运行以下命令从根目录构建 Webpack :
npm run bundle
-
构建命令应创建名为文件夹的文件夹 "目标" 在同一目录中.
目标预览 :
目标/目标
├── beep.wav ├── dtmf.wav ├── ringbacktone.wav ├── ringtone.wav ├── crmBundle.js └── crmBundle.js.LICENSE.txt -
简单的复制粘贴( P) "目标" 文件夹进入需要 CRMWebSDK 的项目.
-
你现在可以使用 'CrmBundle.js' (英语) 将它作为脚本纳入您的项目.
<script src="./target/crmBundle.js"></script>
非npm用户( 建议): 从 GitHub Release 下载
每个标签发布( 标签格式) v*自动上传预建的捆绑为 GitHub Release 资产 :
crm-websdk-target.ziptarget/crmBundle.js(+ 数)*.wav资产)
从最新的 GitHub 版本中下载拉链, 并将其纳入您的项目 :
<script src="./target/crmBundle.js"></script>
2. 配置crmWebSDK
您可以像这样配置 crmWebSDK 对象 :
const crmWebSDK = new ExotelCRMWebSDK(accessToken, userId, true);
3. ExotelCRMWBSDK
构造器
访问脚本 : 可用 创建认证托肯 API
用户编号 : 您可以使用 应用程序用户管理 API
自动连接tVOIP :如果真实,则在 ExotelWebPhoneSDK 初始化时返回。 (如果你是错的, 那你必须打电话 DoRegister 打开 ExotelWebPhoneSDK(中文(简体) )
初始化
初始化了 CRMWebSDK,设置了电话对象,并注册了各种事件的回调.
参数:
sofPhoneListenerCallback (功能):回召来电.
softPhoneRegisterEventCallBack (职能,可选): 呼叫回软电话登记事件。 默认无效 .
softPhoneSessionCallback (职能,可选): 调用软电话会话活动 。 默认无效 .
回返情况:
承诺 < ExotelWebPhoneSDK > 无效 : 如果成功, 或失败, 则无效 .
4. 初始化方法
使用 Initialize 方法 ExotelCRMWebSDK 返回对象的承诺 ExotelWebPhoneSDK 对象.
ExotelCRMWebSDK 开展所有工作,以获得所需的必要细节 ExotelWebPhoneSDK
const crmWebPhone = await crmWebSDK.Initialize(HandleCallEvents, RegisterationEvent);
您必须通过调用事件处理器、 注册事件处理器( 可选) 和会话回调处理器( 可选) 到 Initialize 方法
5. ExotelWebPhoneSDK
-
注册设备: 以呼叫服务器注册设备.
-
取消注册:从调用服务器中取消设备注册.
-
接受电话: 接受调用
-
挂机电话: 断开呼叫
-
打电话: (同步) 调用的方法
数目: 要拨打的号码
拨回拨号:它是在向服务器发出呼叫请求后呼叫的(从此之后,一个实际的呼叫可能会从一个轻微的一天开始).
自定义字段: 字符串; 任何应用程序特定值, 如顺序 id, 将会作为状态回调参数回转 .
-
切换挂起:切换状态控/无状态呼叫状态. 这个状态需要由客户端维护
-
切换Mute 切换状态变哑/un-mute状态的呼叫状态. 这个状态需要由客户端维护
许可证
这个项目根据Apache-2.0许可证获得许可证。 见 自由主义 详细文件.