本文为您介绍服务端的操作步骤及说明。
调用 CreateAgent创建移动坐席账号。
请求参数
参数名称
参数类型
是否必选
示例值
描述
InstanceId
String
是
agent_12345
AICCS实例ID。可在智能联络中心控制台上获取。
AccountName
String
是
1501234****
账号名称,实例内唯一(可使用坐席手机号、邮箱)。
DisplayName
String
是
测试账号
账号显示名称。
SkillGroupLists
List<Long>
否
123456,145678
坐席所属的技能组列表。
返回数据
参数名称
出参类型
示例值
描述
RequestId
String
"563075BA-4E7A-4546-A8B4-14326822F39C"
请求ID,用于跟踪错误原因。
Success
Boolean
true
接口调用是否成功。
Data
Long
54325
坐席ID。
Code
String
xxxx
错误编码。
Message
String
xxxx
错误描述。
示例程序
// 阿里云账号获取AccessKey ID,AccessKey Secret DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", AK, SK); IAcsClient client = new DefaultAcsClient(profile); CreateAgentRequest request = new CreateAgentRequest(); request.setInstanceId("agent_88888"); request.setAccountName("150293453****"); request.setDisplayName("测试账号"); try { CreateAgentResponse response = client.getAcsResponse(request); System.out.println(JSON.toJSONString(response)); } catch (Exception e) { // TODO }
调用GetRtcToken获取token。
请求参数
参数名称
参数类型
是否必选
示例值
描述
InstanceId
String
是
agent_12345
AICCS实例ID。可在智能联络中心控制台上获取。
AccountName
String
是
1501234****
账号名称,实例内唯一(可使用坐席手机号、邮箱)。
返回数据
参数名称
出参类型
示例值
描述
RequestId
String
563075BA-4E7A-4546-A8B4-14326822F39C
请求ID,用于跟踪错误原因。
Success
Boolean
true
接口调用是否成功。
Data
Object
54325
坐席ID。
Data.Token
String
{“cleansession”:true,”clientId”:”GID_VOIP@@@ClientId_2000000000000009_100648480015”,”conferenceTopic”:”cs_alicom_voip_conference”,”host”:”mqtt-cn-4590mdhb901.mqtt.aliyuncs.com”,”meetingEventKeepAliveInterval”:0,”phoneTopic”:”alicom_voip_phone”,”port”:0,”reconnectTimeout”:2000,”registerTime”:0,”sdkClientPort”:8883,”serverId”:”GID_VOIP@@@MTEuMTMuMTM2LjExOA==”,”sgwServerTopic”:”alicom_voip_server_pre”,”tlsport”:443,”tokenData”:”abcdef”,”useTLS”:false}
token对象,整个JSON都需要反馈给客户端并且传给SDK。
Data.RtcId
String
2000000000000009
移动端坐席号。
Data.AccountName
String
1501234****
坐席账号。
Code
String
xxxx
错误编码。
Message
String
xxxx
错误描述。
示例程序
// 阿里云账号获取AccessKey ID,AccessKey Secret DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", AK, SK); IAcsClient client = new DefaultAcsClient(profile); CommonRequest request = new CommonRequest(); request.setSysDomain("aiccs.aliyuncs.com"); request.setSysVersion("2019-10-15"); request.setSysAction("GetRtcToken"); request.setSysMethod(MethodType.GET); request.putQueryParameter("InstanceId", "agent_123234"); request.putQueryParameter("AccountName", "1501912****"); try { CommonResponse response = getClient().getCommonResponse(request); if (response != null && response.getHttpStatus() == 200 && StringUtils.isNotBlank(response.getData())) { JSONObject data = JSONObject.parseObject(response.getData()); if (data.getBoolean("Success")) { Object result = data.get("Data"); System.out.println(result); } } } catch (ServerException e) { log.error(e.getErrCode()); } catch (Exception e) { log.error(""); }
调用MakeDoubleCall发起呼叫。
请求参数
参数名称
参数类型
是否必选
示例值
描述
InstanceId
String
是
agent_12345
AICCS实例ID。可在智能联络中心控制台上获取。
AccountName
String
是
1501234****
账号名称,实例内唯一(可使用坐席手机号、邮箱)。
ServicerPhone
String
否
150****1234
坐席手机号(若填此参数,则呼叫时发起的是pstn的双呼)。
MemberPhone
String
是
150****1234
用户手机号。
OutboundCallNumber
String
是
0571****1234
外呼主叫号码。
BizData
String
否
{"bizData": "2323"}
扩展字段。
返回数据
参数名称
出参类型
示例值
描述
RequestId
String
563075BA-4E7A-4546-A8B4-14326822F39C
请求ID,用于跟踪错误原因。
Success
Boolean
true
接口调用是否成功。
Data
JSONObject
{"Acid": 68255155365620598}
会话ID。
Code
String
xxxx
错误编码。
Message
String
xxxx
错误描述。
示例程序
// 阿里云账号获取AccessKey ID,AccessKey Secret DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", AK, SK); IAcsClient client = new DefaultAcsClient(profile); CommonRequest request = new CommonRequest(); request.setSysDomain("aiccs.aliyuncs.com"); request.setSysVersion("2019-10-15"); request.setSysAction("MakeDoubleCall"); request.setSysMethod(MethodType.POST); request.putBodyParameter("InstanceId", INSTANCE_ID); request.putBodyParameter("AccountName", "150****7032"); request.putBodyParameter("ServicerPhone", ""); request.putBodyParameter("MemberPhone", "10086"); request.putBodyParameter("OutboundCallNumber", "0571****5980"); try { CommonResponse response = getClient().getCommonResponse(request); if (response != null && response.getHttpStatus() == 200 && StringUtils.isNotBlank(response.getData())) { JSONObject data = JSONObject.parseObject(response.getData()); if (data.getBoolean("Success")) { Object result = data.get("Data"); System.out.println(result); } } } catch (ServerException e) { log.error(e.getErrCode()); } catch (Exception e) { log.error(""); }