@exotel-npm-dev/exotel-ip-calling-crm-websdk

中文文档
2.0.0发布于 2026/10/22Apache-2.0TypeScriptESM + CJS构建来源已验证近 30 天下载 3573

Exotel 用于 IP 调用集成的 crm websdk

中文使用文档
文档目录12 节
  1. 1. 在一个项目中使用一揽子办法:
  2. 对于 npm 用户 :
  3. 类型脚本支持
  4. 出版(维护者)
  5. 添加中 NPM_TOKEN 用于发布工作流程
  6. 对非npm用户:
  7. 非npm用户( 建议): 从 GitHub Release 下载
  8. 2. 配置crmWebSDK
  9. 3. ExotelCRMWBSDK
  10. 4. 初始化方法
  11. 5. ExotelWebPhoneSDK
  12. 许可证

ExotelCRMWEBSDK(贝塔)

ExotelCRMWebSDK允许您利用Exotel的平台进行IP呼叫,这个功能很容易集成.

步骤

1. 在一个项目中使用一揽子办法:

对于 npm 用户 :

参考样本项目 这里 或读取.

步骤 :

  1. 您可以使用 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
  1. 只需在您的代码中导入 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文件.

步骤 :

  1. 首先,你应该克隆这个寄存器.

  2. 您可以使用以下 npm 命令安装所需的软件包 :

npm install
  1. 地点 "网络包装. config.js" 在项目目录中的文件,您可以在项目根目录中找到此文件.

  2. 运行以下命令从根目录构建 Webpack :

npm run bundle
  1. 构建命令应创建名为文件夹的文件夹 "目标" 在同一目录中.

    目标预览 :

    目标/目标

     ├── beep.wav
     ├── dtmf.wav
     ├── ringbacktone.wav
     ├── ringtone.wav
     ├── crmBundle.js
     └── crmBundle.js.LICENSE.txt
    
  2. 简单的复制粘贴( P) "目标" 文件夹进入需要 CRMWebSDK 的项目.

  3. 你现在可以使用 'CrmBundle.js' (英语) 将它作为脚本纳入您的项目.

<script src="./target/crmBundle.js"></script>

每个标签发布( 标签格式) v*自动上传预建的捆绑为 GitHub Release 资产 :

  • crm-websdk-target.zip
  • target/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

  1. 注册设备: 以呼叫服务器注册设备.

  2. 取消注册:从调用服务器中取消设备注册.

  3. 接受电话: 接受调用

  4. 挂机电话: 断开呼叫

  5. 打电话: (同步) 调用的方法

    数目: 要拨打的号码

    拨回拨号:它是在向服务器发出呼叫请求后呼叫的(从此之后,一个实际的呼叫可能会从一个轻微的一天开始).

    自定义字段: 字符串; 任何应用程序特定值, 如顺序 id, 将会作为状态回调参数回转 .

  6. 切换挂起:切换状态控/无状态呼叫状态. 这个状态需要由客户端维护

  7. 切换Mute 切换状态变哑/un-mute状态的呼叫状态. 这个状态需要由客户端维护

许可证

这个项目根据Apache-2.0许可证获得许可证。 见 自由主义 详细文件.

版本与发布记录

@exotel-npm-dev/exotel-ip-calling-crm-websdk 共发布 2 个版本,首次发布于 2026/01/09;过去 12 个月发布了 2 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.0.0latest2026/10/2222 天前
1.2.22026/01/0910 个月前

关于 @exotel-npm-dev/exotel-ip-calling-crm-websdk 的常见问题

@exotel-npm-dev/exotel-ip-calling-crm-websdk 是什么?

Exotel 用于 IP 调用集成的 crm websdk

如何安装 @exotel-npm-dev/exotel-ip-calling-crm-websdk?

在项目目录运行 npm install @exotel-npm-dev/exotel-ip-calling-crm-websdk,或使用 pnpm add / yarn add / bun add。

@exotel-npm-dev/exotel-ip-calling-crm-websdk 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@exotel-npm-dev/exotel-ip-calling-crm-websdk 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@exotel-npm-dev/exotel-ip-calling-crm-websdk 可以商用吗?

@exotel-npm-dev/exotel-ip-calling-crm-websdk 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@exotel-npm-dev/exotel-ip-calling-crm-websdk 的下载量有多少?

根据 npm 官方下载统计,@exotel-npm-dev/exotel-ip-calling-crm-websdk 在 2026/10/14 – 2026/11/12 这 30 天内被下载 3,573 次,日均约 119 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@exotel-npm-dev/exotel-ip-calling-crm-websdk 还在维护吗?

最新版本 2.0.0 发布于 2026/10/22(22 天前);至今共发布 2 个版本,其中过去 12 个月发布了 2 个;首次发布于 2026/01/09。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。