# hxcccsdk

> 云呼叫中心

Latest version **1.0.0** (published 2019-11-04) · ISC license · 0 weekly downloads

## Install

```sh
npm install hxcccsdk
pnpm add hxcccsdk
yarn add hxcccsdk
bun add hxcccsdk
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2019-11-04 |
| First published | 2019-11-04 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 42.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | snowcheng |

## Links

- npm: https://www.npmjs.com/package/hxcccsdk
- npm.io page: https://npm.io/package/hxcccsdk

## Recent versions

- 1.0.0 (latest) — 2019-11-04

## README

## 云呼叫中心

# 1，引入文件

npm install HxCccSdk项目 或者 script标签引入js文件

# 2，初始化
初始化前必要的准备工作:
1.必须使用chrome浏览器，版本号为58以上。原因是云呼叫中心的通话是通过webRTC技术实现的，目前chrome浏览器对于webRTC技术的支持是最好的。为了保证您的通话质量及安全性，所以我们做出了这样的要求。
2.软电话SDK所嵌入的自有业务系统必须使用https协议。原因是chrome在47版本之后，禁止http协议获取系统麦克风权限，会造成无法正常通话。
3.如果您是在iframe标签内使用软电话SDK，那么需要为iframe标签增加 allow="microphone" 属性，来允许iframe标签获取系统麦克风权限。

初始化SDK:

HxCccSdk.callcenterInit({
	name: "名字",
	password: "密码"
});

# sdk方法

# 注册；HxCccSdk.register()
首次签入，包含了sip服务注册+签入+置空闲

# 签入：HxCccSdk.logIn()
签入（处于签出状态可调用），调用该方法实现上线操作

# 签出：HxCccSdk.logOut()
签出，调用该方法实现下线操作

# 拨打：HxCccSdk.onCall("被叫号码")
打电话

# 接听：HxCccSdk.answer()
接听电话，通过该方法可接听来电，建立通话连接。

# 挂机：HxCccSdk.hangUp()
挂断，通过该方法可结束通话

# 通话保持：HxCccSdk.callHold()
通话保持，通过该方法可使通话进行保持，客户端听到的是一段音乐，坐席端说话客户端无法听到。

# 通话取回：HxCccSdk.callRetrieve()
通话取回，通过该方法结束通话保持的状态，重新建立客户端和坐席端的通话

# 开始接听，恢复空闲状态：HxCccSdk.ready()
置空闲、通过该方法可变为空闲状态，空闲状态后可接听、拨打电话。

# 监听当前工具条状态
window.addEventListener("message", function(msg){
	if(msg.data.easemob){
		var message = msg.data.easemob.kefu;
		for(var key in message){
			var value = message[key];
			console.log(value)
		}
	}
})

## 操作逻辑错误
以下参数格式为：errorCode：errorMsg/errorMsgTip
当出现as错误码和event签出时，都建议重新刷新页面登录。
{
// as返回的错误码
    6001: '管理员不存在',
    6002: '管理员未登录',
    6003: '技能ID不存在',
    6004: '管理员ID不存在',
    6005: '当前状态忙碌，请求失败，请刷新页面后重试',
    6006: '当前状态忙碌，请求失败，请刷新页面后重试',
    6007: '当前状态忙碌，请求失败，请刷新页面后重试',
    6008: '当前状态不对',
    7001: '后端服务任务请求不对',
    7002: '您请求对应的电话已经不存在',
    8020: '该账号有人正在使用且在通话中',
    8021: '您的账号已在别处登录，如需登录请刷新页面', // 界面提醒，按钮不可点
    8022: '需重新加载配置', // 这个配置如何展示
    8001: '请检查声卡权限', // 提示设备异常的界面
    8002: '请检查声卡权限', // 提示设备异常的界面
    systemErrorNotInAnySkillGroup: '您尚未被加入到技能组中，暂时无法使用，请联系呼叫中心管理员添加',
    WSConnectSlowly: '当前WebScoket连接缓慢，请等待或刷新后重新上线',
    `以下为迁出的event事件:`
    AB_normal: '软电话正常签出',
    ASM_Private: '坐席管理服务连接超时，请检测网络连接情况', // '私协超时',
    ASM_SIP: '语音服务连接超时，请检测网络连接情况', // 'SIP 30秒超时',
    'ASM_Private&SIP': '坐席管理服务和语音服务连接超时，请检测网络连接情况', // '私协和SIP都超时',
    ka_unregister: '您的账号已在别处登录，如需登录请刷新页面', // ka发送的unregister签出
    KA_register: '您的账号已在别处登录，如需登录请刷新页面' // 'KA发送的register',
    // WS连接缓慢
    WSConnectSlowly: '当前WebScoket连接缓慢，请等待或刷新后重新上线',
    // 坐席没有配置技能组
    systemErrorNotInAnySkillGroup: '您尚未被加入到技能组中，暂时无法使用，请联系呼叫中心管理员添加',
    // 调用sdk提供的方法出现浏览器或网络报错
    'network error': '网络连接出现错误',
    'browser error': ${浏览器的相关描述},
    // 调用方法进行呼叫参数设置及校验
    'caller outof range': '没有配置坐席个人外呼号码或外呼号码未被添加到该客服所在的技能组中',
    'no callee': '请输入被叫号码',

---
_Source: https://npm.io/package/hxcccsdk · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
