# @exotel-npm-dev/exotel-ip-calling-crm-websdk 中文文档

规范地址：https://npmcn.com/package/%40exotel-npm-dev/exotel-ip-calling-crm-websdk/

版本：2\.0\.0
npm 元数据更新时间：2026-11-03T10:49:14.384Z
中文译文更新时间：2026-11-14T04:29:38.579Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40exotel-npm-dev/exotel-ip-calling-crm-websdk
原文对照：https://npmcn.com/package/%40exotel-npm-dev/exotel-ip-calling-crm-websdk/?lang=original
项目主页：https://github.com/exotel/exotel-ip-calling-crm-websdk#readme
源码仓库：https://github.com/exotel/exotel-ip-calling-crm-websdk

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：897 kB，34 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：3 个
- 首次发布：2026-01-09T15:07:03.355Z
- 最新版本发布：2026-10-22T13:09:28.744Z
- 近 30 天下载量：3573（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：2（近 12 个月 2 个）

## 中文简介

Exotel 用于 IP 调用集成的 crm websdk

## 安装

```sh
npm install @exotel-npm-dev/exotel-ip-calling-crm-websdk
```

也可以使用：`pnpm add @exotel-npm-dev/exotel-ip-calling-crm-websdk`、`yarn add @exotel-npm-dev/exotel-ip-calling-crm-websdk`、`bun add @exotel-npm-dev/exotel-ip-calling-crm-websdk`

## README

# ExotelCRMWEBSDK(贝塔)

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

# 步骤

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

### 对于 npm 用户 :

参考样本项目 [这里](https://github.com/exotel/exotel-voip-websdk-crm-sample-app) 或读取.

#### 步骤 :

1.  您可以使用 npm 安装软件包 :

```bash
npm install @exotel-npm-dev/exotel-ip-calling-crm-websdk
```

或直接来自 GitHub :

```bash
npm install git+https://github.com/exotel/exotel-ip-calling-crm-websdk.git
```

2.  只需在您的代码中导入 ExotelCRMWBSDK :

```js
import ExotelCRMWebSDK from "@exotel-npm-dev/exotel-ip-calling-crm-websdk";
```

### 类型脚本支持

Npm 软件包发布:

-   编译的 Java 脚本 `output/` (运行时间)
-   类型 `output/*.d.ts` (音译

如果您的构建管道可以从依赖性中编译 TypeScript, TypeScript 源也会被运出到下面 `src/` 可直接导入(先进用法),例如:

```ts
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 命令安装所需的软件包 :
    

```bash
npm install
```

3.  地点 **"网络包装. config.js"** 在项目目录中的文件,您可以在项目根目录中找到此文件.
    
4.  运行以下命令从根目录构建 Webpack :
    

```bash
npm run bundle
```

5.  构建命令应创建名为文件夹的文件夹 **"目标"** 在同一目录中.
    
    #### 目标预览 :
    
    目标/目标
    
    ```
     ├── beep.wav
     ├── dtmf.wav
     ├── ringbacktone.wav
     ├── ringtone.wav
     ├── crmBundle.js
     └── crmBundle.js.LICENSE.txt
    ```
    
6.  简单的复制粘贴( P) **"目标"** 文件夹进入需要 CRMWebSDK 的项目.
    
7.  你现在可以使用 **'CrmBundle.js' (英语)** 将它作为脚本纳入您的项目.
    

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

### 非npm用户( 建议): 从 GitHub Release 下载

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

-   `crm-websdk-target.zip`
-   `target/crmBundle.js` (+ 数) `*.wav` 资产)

从最新的 GitHub 版本中下载拉链, 并将其纳入您的项目 :

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

## 2\. 配置crmWebSDK

您可以像这样配置 crmWebSDK 对象 :

```js
const crmWebSDK = new ExotelCRMWebSDK(accessToken, userId, true);
```

## 3\. ExotelCRMWBSDK

**构造器**

**访问脚本** : 可用 [创建认证托肯 API](https://developer.exotel.com/api/ip-pstn-intermix-webrtc-sdk-integration#create-authentication-token)

**用户编号** : 您可以使用 [应用程序用户管理 API](https://developer.exotel.com/api/ip-pstn-intermix-webrtc-sdk-integration#applications-user-management)

**自动连接tVOIP** :如果真实,则在 `ExotelWebPhoneSDK` 初始化时返回。 (如果你是错的, 那你必须打电话 `DoRegister` 打开 `ExotelWebPhoneSDK`(中文(简体) )

**初始化**

初始化了 CRMWebSDK,设置了电话对象,并注册了各种事件的回调.

参数:

`sofPhoneListenerCallback` (功能):回召来电.

`softPhoneRegisterEventCallBack` (职能,可选): 呼叫回软电话登记事件。 默认无效 .

`softPhoneSessionCallback` (职能,可选): 调用软电话会话活动 。 默认无效 .

回返情况:

承诺 < ExotelWebPhoneSDK > 无效 : 如果成功, 或失败, 则无效 .

## 4\. 初始化方法

使用 `Initialize` 方法 `ExotelCRMWebSDK` 返回对象的承诺 `ExotelWebPhoneSDK` 对象. `ExotelCRMWebSDK` 开展所有工作,以获得所需的必要细节 `ExotelWebPhoneSDK`

```javascript
const crmWebPhone = await crmWebSDK.Initialize(HandleCallEvents, RegisterationEvent);
```

您必须通过调用事件处理器、 注册事件处理器( 可选) 和会话回调处理器( 可选) 到 `Initialize` 方法

## 5\. ExotelWebPhoneSDK

1.  **注册设备**: 以呼叫服务器注册设备.
    
2.  **取消注册**:从调用服务器中取消设备注册.
    
3.  **接受电话**: 接受调用
    
4.  **挂机电话**: 断开呼叫
    
5.  **打电话**: (同步) 调用的方法
    
    **数目**: 要拨打的号码
    
    **拨回拨号**:它是在向服务器发出呼叫请求后呼叫的(从此之后,一个实际的呼叫可能会从一个轻微的一天开始).
    
    **自定义字段**: 字符串; 任何应用程序特定值, 如顺序 id, 将会作为状态回调参数回转 .
    
6.  **切换挂起**:切换状态控/无状态呼叫状态. 这个状态需要由客户端维护
    
7.  **切换Mute** 切换状态变哑/un-mute状态的呼叫状态. 这个状态需要由客户端维护
    

## 许可证

这个项目根据Apache-2.0许可证获得许可证。 见 [自由主义](https://apache.org/licenses/LICENSE-2.0) 详细文件.

## 常见问题

### @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 和提交记录判断。

