導讀:本文是阿裡雲RPA(機器人流程自動化)幹貨系列之十,前兩篇介紹了采用有人值守機器人和無人值守機器人執行我們開發好的RPA應用,本篇就介紹如何通過服務型機器人開發并執行RPA應用。
一、建立一個服務型機器人應用

- 參數的擷取:
參數的擷取,按照正常的應用寫法擷取參數。 rpa.params["myInput"]
- 結果的傳回:
調用提供的API,把應用的結果傳回。rpa.workbench.task_result(resStr)
完成上述步驟之後,在Studio裡正常釋出此服務型應用至企業服務市場。
三、建立API代理使用者
服務型的應用,是通過API的方式提供給外部系統進行使用。API的調用,需要有一個碼棧的使用者進行授權,每次API的調用,都會記錄在這個使用者名下。
四、訂閱服務型應用
服務型的應用,需要在擷取後,才能使用。有兩種方式可以擷取服務型應用。
1. 如果API代理使用者有 企業應用市場管理 的權限,那麼可以直接在控制台來擷取。
2. 如果API代理使用者不具備 企業應用市場管理 的權限,那麼需要讓使用者先登入有人值守機器人的用戶端,申請應用并由管理者稽核通過。
五、擷取API使用者AK
使用API使用者登入控制台,進入系統設定,擷取使用者的AK(access key和access token)。後續其他應用通過這個AK進行調用,記錄檔會記錄在這個使用者下面。
六、擷取服務型應用的接口位址
管理者登入控制台,在 企業應用市場管理 中,可以看到服務型應用的接口。
七、API清單
- 公共請求
所有的API請求中,都需要在HTTP請求中,增加頭參數:
- 調用服務型接口
1. 使用方通過指定的API位址,AK調用接口,随後觸發服務型機器人工作,執行對應的流程,流程執行結束後,會擷取到資料。 這個資料有兩種傳回形式,一種是在接口調用的時候,注冊一個回調的位址,在流程執行完成後,把資料通過回調接口傳送回去;一種是接口調用的時候,可以擷取到一個資料結果位址,可以過一段時間,擷取到結果。
2. 表單不支援檔案的上傳,如果需要上傳檔案,需要先單獨上傳檔案,然後再把檔案位址,放到參數中。
3. appParams的結構,建議是json格式,但是也可以是任何格式,具體格式的解析,需要在碼棧APP中進行解析。
調用位址:http://rpa-demo.allinbots.com/rpa/api/ak/server/call/${appUuid}
請求方式:
POST
請求參數:
config參數說明:
config是一個一維的 json object 對象。
{
"appParams": "{\"myCheckBox\":\"cserver\",\"myPassword\":\"myServerPwdValue\",\"mySelect\":\"server\",\"myTime\":\"2018-09-19 19:59:59\",\"myColor\":\"3422101\",\"myInput\":\"myServerInputValue\",\"myFile\":\"C:\\\\Users\\\\njwander\\\\Desktop\\\\AliRPA\\\\AliyunRPA Studio.bat\"}",
"robotName": "wfx-fw-0906",
"callbackUrl": "http://30.5.121.152:8887/rpa/received",
"timeout": 0
}
傳回參數:
{
"success": true,
"code": 200,
"msg": "",
"data": {
"resultUrl": "http://rpa-demo.allinbots.com/rpa/api/ak/server/result?uuid=11fdeba2-f7ad-4a74-8ce5-6d8b716ee88f",
"taskId": "fa77b557-3538-4a77-98fc-e80ab6e0b485"
}
}
擷取資料的接口。如果有傳遞 callbackUrl, 那麼通過回調接口傳回。
服務型應用的調用位址,可以在這裡看到:
- 檢視機器人狀态
根據啟動後,得到的taskId,再次調用,擷取任務狀态。
調用位址:
http://rpa-demo.allinbots.com/rpa/api/ak/server/task/status/{taskUuid}請求方式:GET
傳回結果:
{
"success": true,
"code": 200,
"msg": "",
"data": {
"status": "Running",
"remark": "中文描述"
}
}
- 檔案上傳
單獨上傳檔案的接口
http://rpa-demo.allinbots.com/rpa/api/ak/server/uploadFile請求方式:multipart/form-data
- 接口回調資料說明
回調的資料,是在機器人執行的應用中,調用api:rpa.workbench.task_result(string) 寫入的,寫入的string需要是一個标準的json object對象。
callbackUrl 需要滿足如下條件:
1. http 或 https 的 post 請求。
2. 接口免登
3. Content-type:application/x-www-form-urlencoded
4. 資料采用 form 表單方式發送,鍵值為:data
服務型機器人通過API接口的方式可以擷取機器人執行的結果資料、中間狀态等資訊,同時也可以通過API接口遠端調用機器人執行相應的程式。
系列文章:
阿裡雲RPA(機器人流程自動化)幹貨系列之一:認識RPA(上) 阿裡雲RPA(機器人流程自動化)幹貨系列之二:認識RPA(下) 阿裡雲RPA(機器人流程自動化)幹貨系列之三:阿裡雲RPA介紹 阿裡雲RPA(機器人流程自動化)幹貨系列之四:阿裡雲RPA産品技術架構 阿裡雲RPA(機器人流程自動化)幹貨系列之五:業務流程梳理方法 阿裡雲RPA(機器人流程自動化)幹貨系列之六:用戶端安裝及激活 阿裡雲RPA(機器人流程自動化)幹貨系列之七:編寫第一個RPA應用(可視化模式) 阿裡雲RPA(機器人流程自動化)幹貨系列之八:如何使用有人值守機器人 阿裡雲RPA(機器人流程自動化)幹貨系列之九:如何使用無人值守機器人 阿裡雲RPA(機器人流程自動化)幹貨系列之十:如何使用服務型機器人 阿裡雲RPA(機器人流程自動化)幹貨系列之十一:編碼開發子產品初探 阿裡雲RPA(機器人流程自動化)幹貨系列之十二:建立自定義SDK函數