全部产品
云市场

上传文本质检

更新时间:2019-08-07 23:02:51

接口说明

上传文本进行分析(数据通常来在线客服、工单等),此接口需要异步获取结果。

入参UploadDataRequest说明

属性 值类型 是否必须 说明
jsonStr String 完整Json字符串信息,具体内容参见以下详细信息

请求参数中Json字符串信息

属性 值类型 是否必须 说明
tickets List< Ticket> 待检文本数据信息,每个元素是一个完整对话
ruleIds List< String> 规则id列表,用于指定文件过哪些规则,若不指定,则会过所有规则;注意:单个文件允许最大规则数为100,如果超过100,则会截取前100个规则;如果未指定,则会过所有规则,如果所有规则数超过50,则会取最近创建的100个
workplace String 职场名称,用于分类统计,此请求中的数据应该都属于一个职场
business String 业务线名称,用于分类统计,此请求中的数据应该都属于一个业务线
callbackUrl String 回调Url,请保证公网可用,回调时,会在原Url后添加taskId=abc&timestamp=123&signature=def等内容用于鉴权判断;注意,回调功能默认关闭,如要开启请提工单

待检检文本字段tickets描述:

属性 值类型 是否必须 说明
dialogue List< Dialogue> 待检文本对话
tid String 本段对话ID,注意不要重复;若不提供,则会随机生成一个UUID
fileName String 文本名称
customerServiceId Long 坐席ID
customerServiceName String 坐席姓名
skillGroupId String 坐席所在技能组ID
skillGroupName String 坐席所在技能组名称
callType Integer 呼叫类型 1 呼出 3 呼入

文本对话字段dialogue描述:

属性 值类型 是否必须 说明
role String 对话内容角色,取值:客服、客户、系统
identity String 对话角色的具体身份标识
words String 这个角色说的一句话
begin Integer 相对起始点的开始时间偏移,单位ms
end Integer 相对起始点的结束时间偏移,单位ms
beginTime Date 这句话的开始时间

返回参数说明

返回参数JSON字符串:

属性 值类型 是否必须 说明
code String 结果代码,200表示成功,若为别的值则表示失败,调用方可根据此字段判断失败原因
message String 出错时表示出错详情,成功时为successful
requestId String 请求id,提工单时可提供此字段值用于排查问题
success Boolean 请求是否成功,调用方可根据此字段来判断请求是否成功:true表示成功;false/null表示失败
data String 任务ID,在获取任务结果时使用

调用示例

  1. UploadDataRequest request = new UploadDataRequest();
  2. UploadDataObject uploadDataObject = generateUploadDataObject(appKey);
  3. request.setJsonStr(JSON.toJSONString(uploadDataObject));
  4. UploadDataResponse response = client.getAcsResponse(request);
  5. public UploadDataObject generateUploadDataObject(String appKey) {
  6. UploadDataObject uploadDataObject = new UploadDataObject();
  7. uploadDataObject.setAppKey(appKey);
  8. uploadDataObject.setCallbackUrl("");
  9. List<Ticket> tickets = new ArrayList<>(2);
  10. Ticket ticket = generateTicket();
  11. tickets.add(ticket);
  12. uploadDataObject.setTickets(tickets);
  13. return uploadDataObject;
  14. }
  15. public Ticket generateTicket() {
  16. Ticket ticket = new Ticket();
  17. ticket.setTid(UUID.randomUUID().toString());
  18. List<Dialogue> dialogues = new ArrayList<>(2);
  19. Dialogue dialogue = generateDialog(AGENT, "你好");
  20. Dialogue dialogue2 = generateDialog(CUSTOMER, "你也好");
  21. dialogues.add(dialogue);
  22. dialogues.add(dialogue2);
  23. ticket.setDialogue(dialogues);
  24. return ticket;
  25. }
  26. public Dialogue generateDialog(String role, String text) {
  27. Dialogue dialogue = new Dialogue();
  28. dialogue.setRole(role);
  29. dialogue.setBeginTime(new Date());
  30. dialogue.setBegin(0L);
  31. dialogue.setEnd(2090L);
  32. dialogue.setWords(text);
  33. return dialogue;
  34. }

调用参数示例

  1. {
  2. "tickets": [
  3. {
  4. "dialogue": [
  5. {
  6. "begin": 0,
  7. "beginTime": 1552917973475,
  8. "end": 2090,
  9. "role": "客服",
  10. "words": "你好"
  11. },
  12. {
  13. "begin": 3000,
  14. "beginTime": 1552917973475,
  15. "end": 3090,
  16. "role": "客户",
  17. "words": "你也好"
  18. }
  19. ],
  20. "tid": "603e34f5-4f56-419e-a490-12b3c19e8a78"
  21. }
  22. ]
  23. }

返回示例

  1. {
  2. "code": "200",
  3. "data": "76DB5D8C-5BD9-42A7-B527-5AF3A5F83F12",
  4. "message": "successful",
  5. "requestId": "76DB5D8C-5BD9-42A7-B527-5AF3A5F83F12",
  6. "success": true
  7. }