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