上傳離線文本質(zhì)檢數(shù)據(jù)(純文本會話):適用于在線坐席場景。 推薦使用UploadDataV4接口。 UploadDataV4與UploadData的差異:1、V4僅支持POST請求。2、V4支持更長的JsonStr。
接口說明
調(diào)用 UploadData.json 上傳文本質(zhì)檢數(shù)據(jù),文本通常來源于在線客服、工單等,接口會返回 taskId,您可以通過 3 種方式獲取結(jié)果:
- 消息通知:詳情請查看消息隊(duì)列,收到消息后再通過 GetResult 接口獲取詳細(xì)結(jié)果。(推薦)
- 回調(diào):通過在請求參數(shù)中指定 callbackUrl,在任務(wù)完成后由系統(tǒng)主動發(fā)起回調(diào);接到回調(diào)后再通過 GetResult 接口獲取詳細(xì)結(jié)果。
- 輪詢:通過此接口返回的任務(wù) ID 輪詢 GetResult 接口異步獲取結(jié)果,判斷返回中的 status 是否完成。(不推薦)。
調(diào)試
您可以在OpenAPI Explorer中直接運(yùn)行該接口,免去您計(jì)算簽名的困擾。運(yùn)行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
授權(quán)信息
下表是API對應(yīng)的授權(quán)信息,可以在RAM權(quán)限策略語句的Action
元素中使用,用來給RAM用戶或RAM角色授予調(diào)用此API的權(quán)限。具體說明如下:
- 操作:是指具體的權(quán)限點(diǎn)。
- 訪問級別:是指每個(gè)操作的訪問級別,取值為寫入(Write)、讀取(Read)或列出(List)。
- 資源類型:是指操作中支持授權(quán)的資源類型。具體說明如下:
- 對于必選的資源類型,用背景高亮的方式表示。
- 對于不支持資源級授權(quán)的操作,用
全部資源
表示。
- 條件關(guān)鍵字:是指云產(chǎn)品自身定義的條件關(guān)鍵字。
- 關(guān)聯(lián)操作:是指成功執(zhí)行操作所需要的其他權(quán)限。操作者必須同時(shí)具備關(guān)聯(lián)操作的權(quán)限,操作才能成功。
操作 | 訪問級別 | 資源類型 | 條件關(guān)鍵字 | 關(guān)聯(lián)操作 |
---|---|---|---|---|
sca:UploadData | create | *全部資源 * |
| 無 |
請求參數(shù)
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
JsonStr | string | 是 | jsonStr 是一個(gè) JSON 字符串,里面是該接口所有的自定義參數(shù),具體內(nèi)容參見下方的 jsonStr 屬性說明。 | xxx |
BaseMeAgentId | long | 否 | 業(yè)務(wù)空間 Id,用于區(qū)分多業(yè)務(wù)空間場景下選擇指定業(yè)務(wù)空間,默認(rèn)為默認(rèn)業(yè)務(wù)空間。 | 123456 |
jsonStr 屬性說明:
屬性 | 值類型 | 是否必須 | 說明 |
---|---|---|---|
isSchemeData | Integer | 否 | 是否將數(shù)據(jù)上傳至新版智能對話分析,取值:0(否);1(是),默認(rèn)值為 0。 |
tickets | List | 是 | 待檢文本數(shù)據(jù)信息,每個(gè)元素是一個(gè)完整對話,詳見下方jsonStr.tickets 屬性說明。 |
ruleIds | List | 否 | 規(guī)則 ID 列表,用于指定錄音文件使用哪些規(guī)則進(jìn)行質(zhì)檢分析,若不指定,則會過所有規(guī)則;注意:單個(gè)文件允許最大規(guī)則數(shù)為 100,如果超過 100,則會截取前 100 個(gè)規(guī)則。(只能使用離線質(zhì)檢規(guī)則,不可使用實(shí)時(shí)質(zhì)檢規(guī)則) (新版不適用,僅舊版智能對話分析適用) |
business | String | 否 | 業(yè)務(wù)線名稱,用于分類統(tǒng)計(jì),此請求中的數(shù)據(jù)應(yīng)該都屬于一個(gè)業(yè)務(wù)線。 |
callbackUrl | String | 否 | 回調(diào)地址,不指定則不回調(diào),請保證回調(diào)地址與 SCA 應(yīng)用的連通性,不支持 IP;質(zhì)檢分析完成后會發(fā)起回調(diào);詳細(xì)說明請查看下方的回調(diào)參數(shù)說明 |
jsonStr.tickets 屬性說明:
屬性 | 值類型 | 是否必須 | 說明 |
---|---|---|---|
dialogue | List | 是 | 待檢文本對話,詳見下方dialogue 屬性說明。 |
tid | String | 否 | 本段對話 ID,注意不要重復(fù);若不提供,則會隨機(jī)生成一個(gè) UUID。 |
fileName | String | 否 | 文本名稱。 |
customerServiceId | Long | 否 | 客服 ID。可從控制臺-基礎(chǔ)設(shè)置-人員管理頁面獲取,正確填入客服 ID,客服登錄控制塔時(shí)可以查看與自己關(guān)聯(lián)的文件。 |
customerServiceName | String | 否 | 客服姓名。 |
skillGroupId | String | 否 | 坐席所在技能組 ID。 |
skillGroupName | String | 否 | 坐席所在技能組名稱。 |
callType | Integer | 否 | 呼叫類型,可選值:1(呼出);3(呼入)。適用于您本地已經(jīng)安裝有錄音轉(zhuǎn)文本服務(wù),直接將文本上傳到 SCA 系統(tǒng)時(shí)的場景,來指定該通話的呼叫類型。 |
sessionGroupId | String | 否 | 會話組 ID,通常把同一個(gè)客服和同一個(gè)客戶的會話稱之為一個(gè)會話組,當(dāng)傳入會話組 ID 后,可在會話組結(jié)果頁查看會話組維度的質(zhì)檢結(jié)果。(僅新版智能對話分析適用) |
customerId | String | 否 | 客戶 ID。(僅新版智能對話分析適用) |
customerName | String | 否 | 客戶姓名。(僅新版智能對話分析適用) |
schemeTaskConfigId | String | 否 | 手動指定的質(zhì)檢任務(wù) ID(手動指定后則會使用指定的質(zhì)檢任務(wù)進(jìn)行質(zhì)檢) 。(僅新版智能對話分析適用) |
remark1 | String | 否 | 自定義數(shù)據(jù) 1,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark2 | String | 否 | 自定義數(shù)據(jù) 2,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark3 | String | 否 | 自定義數(shù)據(jù) 3,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark4 | String | 否 | 自定義數(shù)據(jù) 4,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark5 | Long | 否 | 自定義數(shù)據(jù) 5,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,格式為有符號的 long 型。 |
remark6 | String | 否 | 自定義數(shù)據(jù) 6,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 1024 字符。 |
remark7 | String | 否 | 自定義數(shù)據(jù) 7,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark8 | String | 否 | 自定義數(shù)據(jù) 8,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark9 | String | 否 | 自定義數(shù)據(jù) 9,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark10 | String | 否 | 自定義數(shù)據(jù) 10,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark11 | String | 否 | 自定義數(shù)據(jù) 11,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark12 | String | 否 | 自定義數(shù)據(jù) 12,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark13 | String | 否 | 自定義數(shù)據(jù) 13,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark14 | Long | 否 | 自定義數(shù)據(jù) 14,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,格式為有符號的 long 型。 |
remark15 | Long | 否 | 自定義數(shù)據(jù) 15,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,格式為有符號的 long 型。 |
remark16 | String | 否 | 自定義數(shù)據(jù) 16,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark17 | String | 否 | 自定義數(shù)據(jù) 17,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark18 | String | 否 | 自定義數(shù)據(jù) 18,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark19 | String | 否 | 自定義數(shù)據(jù) 19,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark20 | String | 否 | 自定義數(shù)據(jù) 20,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark21 | String | 否 | 自定義數(shù)據(jù) 21,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark22 | String | 否 | 自定義數(shù)據(jù) 22,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark23 | String | 否 | 自定義數(shù)據(jù) 23,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark24 | String | 否 | 自定義數(shù)據(jù) 24,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
remark25 | String | 否 | 自定義數(shù)據(jù) 25,可以存放與您業(yè)務(wù)相關(guān)的自定義字段,最大長度為 64 字符。 |
jsonParamStr | String | 否 | 更多自定義字段,格式為 JSON 字符串,key 為字段名稱,value 為字段內(nèi)容,示例:{"客戶等級": 3,"渠道":"官網(wǎng)"}。 |
dialogue 屬性說明:
屬性 | 值類型 | 是否必須 | 說明 |
---|---|---|---|
role | String | 是 | 對話內(nèi)容角色,取值:客服、客戶。 |
customerServiceType | Integer | 否 | 區(qū)分角色是人工還是機(jī)器人,取值:0(人工),1(機(jī)器人),默認(rèn)值:0。該字段作用:若為機(jī)器人,則在復(fù)核頁面展示的頭像為機(jī)器人頭像。 |
identity | String | 否 | 對話角色的具體身份標(biāo)識。 |
words | String | 是 | 這個(gè)角色說的一句話,僅支持 UTF-8 編碼,若句子包含表情包,請查看下方表情包顯示說明 |
type | String | 否 | 當(dāng)前句子類型,取值:TEXT(文本);AUDIO(語音);IMAGE(圖片),圖片可在復(fù)核詳情頁顯示,音頻可在復(fù)核詳情頁中播放,默認(rèn)為 TEXT,當(dāng)為 AUDIO 或 IMAGE 時(shí),words 字段中傳入對應(yīng)資源的 URL 地址即可。(僅新版智能對話分析適用) |
begin | Integer | 是 | 本句話的開始時(shí)間,是相對起始點(diǎn)的開始時(shí)間偏移,單位 ms。 |
end | Integer | 是 | 本句話的結(jié)束時(shí)間,是相對起始點(diǎn)的結(jié)束時(shí)間偏移,單位 ms。 |
beginTime | Date | 是 | 這句話的開始時(shí)間,示例值:2019-11-25 15:37:16。 |
表情包顯示說明
在復(fù)核詳情頁查看對話詳情時(shí),僅支持通用 Emoji 表情包的展示,上傳時(shí),需將表情替換為 UTF8 字符集的字符,例如😀;笑臉表情對應(yīng)的字符為😀
,以&#開頭,分號結(jié)尾,相關(guān)文檔說明: Emoji 字符對照表, HTML 頁面展示字符說明
回調(diào)參數(shù)說明
假設(shè)調(diào)用方傳入的回調(diào)地址是:http://aliyun.com/callback
,那么回調(diào)時(shí)的完整 URL 為http://aliyun.com/callback?taskId=xxx×tamp=xxx&signature=xxx&event=xxx
,其中:
- taskId:為任務(wù) id
- timestamp:為調(diào)用時(shí)的時(shí)間戳,單位:毫秒
- aliUid:為調(diào)用方阿里云主賬號 uid
- signature:為簽名,調(diào)用方可用來判斷請求是否來自阿里云;計(jì)算說明:將
taskId=xxx×tamp=xxx&aliUid=xxx
,進(jìn)行 md5+base64 加密,注意順序;調(diào)用方接到回調(diào)后,taskId 和 timestamp 可以從回調(diào) URL 中獲取,aliUid 即為阿里云主賬號 ID。通過計(jì)算來比對自己計(jì)算出的 signature,與 URL 中的 signature 是否一致,詳見下方 Java 代碼示例。 - event:為事件名稱,調(diào)用方可用來判斷是什么事件觸發(fā)的回調(diào),取值為 TaskComplete:任務(wù)完成時(shí)的回調(diào);
public static void signature() {
long timestamp = System.currentTimeMillis();
String taskId = "xxxx";
String aliUid = "xxxxx";
// 將 taskId=xxx×tamp=xxx&aliUid=xxx 進(jìn)行 md5 + base64 加密,放在 signature 字段
String signature;
try {
signature = URLEncoder.encode(md5Base64("taskId=" + taskId + "×tamp=" + timestamp + "&aliUid=" + aliUid), "utf-8");
System.out.println(signature);
} catch (Exception e) {
e.printStackTrace();
}
}
public static String md5Base64(String str) throws NoSuchAlgorithmException {
//string 編碼必須為 utf-8
byte[] utfBytes = str.getBytes(StandardCharsets.UTF_8);
MessageDigest mdTemp = MessageDigest.getInstance("MD5");
mdTemp.update(utfBytes);
byte[] md5Bytes = mdTemp.digest();
return Base64.encodeBase64String(md5Bytes);
}
返回參數(shù)
示例
正常返回示例
JSON
格式
{
"Code": "200",
"Message": "successful",
"Data": "6F5934C7-C223-4F0F-BBF3-5B3594***",
"RequestId": "6F5934C7-C223-4F0F-BBF3-5B3594****",
"Success": true
}
錯(cuò)誤碼
訪問錯(cuò)誤中心查看更多錯(cuò)誤碼。
變更歷史
變更時(shí)間 | 變更內(nèi)容概要 | 操作 |
---|---|---|
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |
2023-08-01 | API 內(nèi)部配置變更,不影響調(diào)用 | 查看變更詳情 |