## 產品概述
#### 簡介
圖靈機器人API是在人工智能的核心能力(包括語義理解、智能問答、場景交互、知識管理等)的基礎上,為廣大開發者、合作伙伴和企業提供的一系列基于云計算和大數據平臺的在線服務和開發接口。
開發者可以利用圖靈機器人的API創建各種在線服務,靈活定義機器人的屬性、編輯機器人的智能問答內容,打造個人專屬智能交互機器人,也支持多渠道(微信公眾平臺、QQ聊天)的快速接入。
#### 產品特色
圖靈機器人平臺是國內第一家個性化智能機器人開放平臺,為廣大開發者提供智能機器人API端口。圖靈機器人基于DeepQA深度問答技術,對中文的識別準確率高達90%,是目前中文語境下智能度最高的機器人。圖靈機器人具有高智能、一鍵接入、個性化、跨平臺四大特點,通過圖靈機器人開放平臺,任何人都可以方便快捷的為微信公眾號、微博、QQ群、WEB網站、智能客服系統以及智能家居系統、智能車載系統等軟硬件領域接入一位聰明的圖靈機器人。
#### 功能介紹
智能對話、知識庫、技能服務是圖靈機器人三大核心功能。智能對話是指,圖靈機器人可賦予軟硬件產品中文自然語言交互的能力;知識庫是指圖靈機器人用戶可為機器人導入獨家內容以滿足個性化及商業化需要;技能服務是指,圖靈機器人打包提供超500種實用生活服務技能,涵蓋生活、出行、學習、金融、購物等多個領域,一站式滿足用戶需求。
#### 應用場景
圖靈機器人應用廣泛,目前已應用于實體機器人,如家用服務機器人、兒童陪伴機器人等,虛擬機器人,如智能客服系統、微信公眾號、QQ機器人、APP應用等,智能家居控制系統、智能車載等領域。已為超30萬合作方提供技術支持。
## 使用說明
#### 使用流程
###### 注冊申請圖靈賬號
登入圖靈機器人官方網站http://www.tuling123.com/ 點擊右上角“注冊”按鈕進行注冊并激活賬號,如下圖所示:

###### 獲取APIKEY
每一個激活用戶都可以通過圖靈機器人開放平臺獲取多個APIKEY(當前每個用戶可最多獲取5個APIKEY),用戶可以根據自己的需要獲取不同的圖靈APIKEY來應用于多種場景,獲取成功后就等于拿到了開啟圖靈服務的鑰匙。
登入圖靈賬號,進入個人中心,在“我的機器人》機器人詳情》接入”頁面即可看到每一個機器人的API KEY,如下圖所示:

#### 編碼方式
UTF-8(調用圖靈API的各個環節的編碼方式均為UTF-8)
#### 接口地址
http://openapi.tuling123.com/openapi/api/v2
#### 請求方式
HTTP POST
#### 請求參數
請求參數格式為 json
請求示例:
~~~
{
"reqType":0,
"perception": {
"inputText": {
"text": "附近的酒店"
},
"inputImage": {
"url": "imageUrl"
},
"selfInfo": {
"location": {
"city": "北京",
"province": "北京",
"street": "信息路"
}
}
},
"userInfo": {
"apiKey": "",
"userId": ""
}
}
~~~
>參數說明
| 參數 | 類型 | 是否必須 | 取值范圍 | 說明 |
| --- | --- | --- | --- | --- |
| reqType | ?int | N | ?- | 輸入類型:0-文本(默認)、1-圖片、2-音頻 |
| perception | ?- | Y | ?- | 輸入信息 |
| userInfo | ?- | Y | ?- | 用戶參數 |
**perception**
| 參數 | 類型 | 是否必須 | 取值范圍 | 說明 |
| --- | --- | --- | --- | --- |
| inputText | ?- | N | ?- | 文本信息 |
| inputImage | ?- | N | ?- | 圖片信息 |
| inputMedia | ?- | N | ?- | 音頻信息 |
| selfInfo | ?- | N| ?- | 客戶端屬性 |
注意:輸入參數必須包含inputText或inputImage或inputMedia!
***inputText***
| 參數 | 類型 | 是否必須 | 取值范圍 | 說明 |
| --- | --- | --- | --- | --- |
| text | String | Y | 1-128字符 | 直接輸入文本 |
***inputImage***
| 參數 | 類型 | 是否必須 | 取值范圍 | 說明 |
| --- | --- | --- | --- | --- |
| url | String | Y | | 圖片地址 |
***inputMedia***
| 參數 | 類型 | 是否必須 | 取值范圍 | 說明 |
| --- | --- | --- | --- | --- |
| url | String | Y | | 音頻地址 |
***selfInfo***
| 參數 | 類型 | 是否必須 | 取值范圍 | 說明 |
| --- | --- | --- | --- | --- |
| location | ?- | N | ?- | 地理位置信息 |
*****location*****
| 參數 | 類型 | 是否必須 | 取值范圍 | 說明 |
| --- | --- | --- | --- | --- |
| city | String | Y | ?- | 所在城市 |
| province | String | N | ?- | 省份 |
| street | String | N | ?- | 街道 |
**userInfo**
| 參數 | 類型 | 是否必須 | 取值范圍 | 說明 |
| --- | --- | --- | --- | --- |
| apiKey | String | Y | 32位 | 機器人標識 |
| userId | String | Y | 長度小于等于32位 | 用戶唯一標識? |
| groupId | String | N| 長度小于等于64位 | 群聊唯一標識? |
| userIdName | String | N | 長度小于等于64位 | 群內用戶昵稱 |
#### 輸出參數
輸出示例:
~~~
{
"intent": {
"code": 10005,
"intentName": "",
"actionName": "",
"parameters": {
"nearby_place": "酒店"
}
},
"results": [
{
"groupType": 1,
"resultType": "url",
"values": {
"url": "http://m.elong.com/hotel/0101/nlist/#indate=2016-12-10&outdate=2016-12-11&keywords=%E4%BF%A1%E6%81%AF%E8%B7%AF"
}
},
{
"groupType": 1,
"resultType": "text",
"values": {
"text": "親,已幫你找到相關酒店信息"
}
}
]
}
~~~
>參數說明
| 參數 | 類型 | 是否必須 | 取值范圍 | 說明 |
| --- | --- | --- | --- | --- |
| intent | - | Y | ?- | 請求意圖 |
| results | - | N | ?- | 輸出結果集 |
**intent**
| 參數 | 類型 | 是否包含 | 取值范圍 | 說明 |
| --- | --- | --- | --- | --- |
| code | int | Y | ?- | 輸出功能code |
| intentName | String | N | ?- | 意圖名稱 |
| actionName | String | N | ?- | 意圖動作名稱 |
| parameters | Map | N | ?- | 功能相關參數 |
**results**
| 參數 | 類型 | 是否包含 | 取值范圍 | 說明 |
| --- | --- | --- | --- | --- |
| resultType | String | Y | ?文本(text);連接(url);音頻(voice);視頻(video);圖片(image);圖文(news)| 輸出類型 |
| values | ?- | Y | ?- | 輸出值 |
| groupType | ?int | Y | ?- | ‘組’編號:0為獨立輸出,大于0時可能包含同組相關內容 (如:音頻與文本為一組時說明內容一致)|
#### 異常返回碼
###### 異常返回格式
~~~
{
'intent':
{
'code':5000
}
}
~~~
###### 異常返回說明
| 異常碼 | 說明 |
| --- | --- |
| 5000 | 無解析結果 |
| 6000 | 暫不支持該功能 |
| 4000 | 請求參數格式錯誤 |
| 4001 | 加密方式錯誤 |
| 4002 | 無功能權限 |
| 4003 | 該apikey沒有可用請求次數 |
| 4005 | 無功能權限 |
| 4007 | apikey不合法 |
| 4100 | userid獲取失敗 |
| 4200 | 上傳格式錯誤 |
| 4300 | 批量操作超過限制 |
| 4400 | 沒有上傳合法userid |
| 4500 | userid申請個數超過限制 |
| 4600 | 輸入內容為空 |
| 4602 | 輸入文本內容超長(上限150)|
| 7002 | 上傳信息失敗 |
| 8008 | 服務器錯誤 |
| 0 | 上傳成功 |
## 常見問題
Q:圖靈APIKEY怎么獲取?
A:注冊登入圖靈官網www.tuling123.com后,在個人中心的“我的機器人》機器人詳情》接入”頁面,就能獲取到圖靈機器人給每個用戶分配的APIKEY,獲取APIKEY后就等于找到了開啟圖靈服務的鑰匙,用戶可以根據自己的需要自行選擇使用場景。
Q:為什么機器人總是會學我說話?
A:當您的機器人找不到答案的時候,它就會進入到“無答案”的功能設置中。此時免費版和標準版有不同的使用權限。免費版中返回結果只能是學用戶說話,標準版除了可以在“無答案”時使用學用戶說話模式,也可以自定義”無答案“時的內容。例如:您未在能力商城中獲取并開啟“天氣查詢”功能,當您查詢天氣時,此時就會處于“無答案”的狀態,機器人則會根據用戶的等級和設置進行相應的回答。
Q:為什么官網后臺頁面有時點擊按鈕沒有反應?
A:可能是因為瀏覽器版本過低導致的,建議您使用主流的瀏覽器或將瀏覽器進行升級,目前圖靈機器人對IE8及以下瀏覽器不進行兼容支持。
Q:使用WEB API調用接口后,為什么返回的結果會是類似“不明白您說的意思”?
A:出現這類情況,有可能是編碼格式不統一導致的,圖靈機器人的接口編碼統一采用UTF-8格式。建議您將所有的編碼格式換成UTF-8。