反饋已提交
網絡繁忙
開放平台基礎資料API分組裏面的API使用介紹,這個分組裏面的API和其他API有點不一樣,會涉及到一個配置資料,所以單獨寫個文檔每個API介紹一下使用。
API呼叫的方式,需要怎麼鑑權和其他API呼叫是一樣的,這邊不介紹了,文檔主要介紹每個API實現的功能,配置項含義和傳遞參數的含義。
API地址:http://ip:port/webroot/decision/sp/client/api/ds/data
請求方式:GET
API作用:傳回cpt範本或者frm範本裏面的資料集資料(目前不支援FVS)
透過配置項裏面確認具體的範本和資料集名稱,範例如下圖:
配置中的名稱是固定的,並且值無法透過參數進行傳遞的
report:範本的具體路徑
dsName:資料集名稱
如果資料集計算需要傳遞參數,那麼可以透過存取API時候傳入對應名稱的參數。
範本配置,test.cpt範本中,新增了一個user名稱的資料集,存取finedb中的使用者表,並且資料集計算需要傳入userName參數
API配置,配置範本路徑和資料集名稱
API存取,透過query參數傳遞資料集計算需要的userName參數
傳回成功範例:
{"status": 200,"data": [ {"LANGUAGE": null,"LASTOPERATIONTYPE": 1,"REALNAME": "2","TENANTID": "default","USERALIAS": "2","ENABLE": true,"REALALIAS": "2","EMAIL": "","MALE": true,"CREATIONTYPE": 1,"SALT": "e6618614-05c1-4748-b43d-9c30aa6806fa","PASSWORD": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35","DESCRIPTION": null,"USERNAME": "2","ID": "cb74b33c-d8f3-4b35-97e2-da9b666ece97","BIRTHDAY": null,"MOBILE": "","WORKPHONE": null } ]}
傳回失敗範例:
{"status": 400,"errorCode": "E000016","errorMsg": "[com.tptj.plugin.hg.client.center.api.data.AbstractDataApi.getTableDataSource][讀取範本檔案異常:錯誤程式碼:11300004 沒有找到範本檔案:reportlets/tet.cpt-[tet.cpt]錯誤程式碼:11300004 沒有找到範本檔案:reportlets/tet.cpt]"}
API地址:http://ip:port/webroot/decision/sp/client/api/group/report/data
API作用:傳回cpt範本指定sheet的資料
透過配置項指定範本路徑、sheet名稱、以及是否傳回儲存格顯示值,如下圖:
透過API存取時候傳遞範本計算所需要的參數。
還是以test.cpt為例,範本預覽結果
API呼叫
傳回成功範例
{ "status": 200, "data": { "title": [ "標題" ], "items": { "租戶id": "default", "items": [ { "語言": null, "電話": "", "建立類型": 1, "items": [ { "實際名稱": "4" }, { "實際名稱": "3" }, { "實際名稱": "2" } ] }, { "語言": "zh_CN", "電話": null, "建立類型": 1, "實際名稱": "1" } ] } }}
回傳值邏輯詳解
目前只支援cpt範本,解析標題、表頭、和內容的邏輯:
計算完的第一個有資料的行作為標題行
計算完的第二個有資料的行作為表頭
計算完的第三行起都作為表格資料
隱藏列不匯出,隱藏行不匯出,也不計入前三行的判斷中
回傳值從左往右根據內容進行相同內容合併
此API目前解析適用場景較少,所以此API更多作為一個範例,不建議在業務中使用。
API地址:http://ip:port/webroot/decision/sp/client/api/list/report/data
此API和報表分組資料服務API配置和作用一樣的,只是此API將範本資料作為一個明細表傳回。
所以這邊只提供API呼叫範例,以及回傳值範例,配置項含義參考報表分組服務API
回傳值範例:
{ "status": 200, "data": [ { "語言": null, "租戶id": "default", "電話": "", "建立類型": 1, "實際名稱": "4" }, { "語言": null, "租戶id": "default", "電話": "", "建立類型": 1, "實際名稱": "3" }, { "語言": null, "租戶id": "default", "電話": "", "建立類型": 1, "實際名稱": "2" }, { "語言": "zh_CN", "租戶id": "default", "電話": null, "建立類型": 1, "實際名稱": "1" } ]}
回傳值標題、表頭、表格資料解析邏輯和報表分組資料服務API一樣,只是將表格資料作為明細傳回了。
API地址:http://ip:port/webroot/decision/sp/client/api/sql/data
API作用:指定jdbc資料連結下執行sql,並且傳回執行結果
API配置項:
connection:資料連結名稱
sql:sql語句,支援帆軟資料集的參數寫法,範例:SELECT * FROM `銷量` where 地區 = '${地區}' ,呼叫API的時候可以根據參數名傳入對應的參數值
配置項:
傳入地區參數執行sql
{ "status": 200, "data": [ { "地區": "華東", "銷售員": "孫林", "產品": "蘋果汁", "產品類型": "飲料", "英文簡稱": "sunlin", "銷量": 140 }, { "地區": "華東", "銷售員": "金士鵬", "產品": "蘋果汁", "產品類型": "飲料", "英文簡稱": "jinshipeng", "銷量": 290 } ]}
API地址:http://ip:port/webroot/decision/sp/client/api/write/report/data
請求方式:POST
API作用:指定範本,根據傳入的參數填報方式預覽範本,並且執行對應的填報提交
API配置項
report:指定範本的路徑
範本配置:填報屬性往FRDemo的銷量表中填報資料,引用的儲存格資料,儲存格的值直接引用的參數值。正常預覽範本並且傳入對應的參數值,點選填報就可以將資料填報到對應資料庫表。
API配置:指定剛剛的配置的WorkBook13.cpt
API呼叫:透過query傳入範本計算需要的參數
提交結果
所以API作用就是將指定的範本傳入參數計算一遍,然後填報提交。和直接填報預覽完手動點選填報按鈕的效果是一樣的。
API配置中有個預設參數配置,這個和配置一樣可以設定一些參數的值,這個只是一個預留配置,方便API編輯的時候預設設定一些配置值,不會影響到存取API的時候的參數值。
透過上面資料服務API分組裏面的API都是在API配置項裏面制定對應的資料集和範本,是無法呼叫API動態傳遞的,這樣設計是為了安全考慮,不允許呼叫方去指定範本或者資料集,只能是管理者配置API的時候設定。
這樣就容易出現了一個問題,當有範本或者資料集需要透過API開放的時候只有一個API是無法實現。
這個可以透過API複製功能,然後修改複製後的API存取地址和配置項來完成對應的功能。
以報表資料服務APIAPI為例,複製一個新的同樣功能API出來。
點選是複製按鈕
為複製出來的API設定分組
修改複製出來API的名稱和路徑
為新API授權
修改新API的配置項,範本依然選擇test.cpt,dsName重新設定
範本中新加資料集
使用新地址呼叫API
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙