功能使用說明
# API 使用前說明
雲想影像電子簽章API提供建立範本、開立簽署文件、以及管理簽署文件等功能,透過此份文件說明API的使用方法與步驟,請複製以下SERVER位址作為各API的根網址(BASE URL):
## 使用雲端服務,請帶入AP Server位址
https://selfiesign03.com/api/public
## 使用地端服務,請將以下URL中的`{{AP_Server_IP}}`替換為實際的AP Server IP地址
https://{{AP_Server_IP}}/api/public
# API使用步驟流程
依照下圖圖示步驟,呼叫所有API前通過身分驗證並取得AP Token,完成後再進行以下操作:
# API功能說明
● 身分驗證、建立與取得AP Token → 在使用所有API前必須執行的第一步
呼叫「建立AP Token API」」通過身分驗證後取得AP Token、獲得進入所有API的權限,並在呼叫所有API時於Header帶入AP Token,才能進行以下簽署文件相關操作。
● 瀏覽範本目錄
- 「取得範本目錄API」: 瀏覽所有範本的資料夾目錄
- 「取得特定範本資料夾檔案清單API」: 瀏覽特定資料夾內的範本檔案
● 選擇範本
- 「取得範本API」: 在開立簽署文件前,必須先取得範本的詳細資訊,例如: 控制項(即 簽名框、日期框、文字框、下拉選單等設定資訊)、範本版本」等,才能進行後續開立簽署文件的動作。
● 開立簽署文件
- 取得範本的詳細資訊後,呼叫「開立簽署文件API」執行開立簽署文件動作,可以於開立時針對已命名的控制項預先帶值。
● 進行文件簽署
- 「取得簽署網頁網址API」: 取得簽署網頁網址,提供簽署者進入簽署文件頁面連結
- 「取得PDF文件下載連結API」: 取得簽署文件PDF檔的下載連結
● 查詢簽署文件
提供三種查詢簽署文件方式:
- 「經由文件編號查詢簽署文件API」: 利用 文件編號 進行單筆搜尋
- 「經由日期區間查詢簽署文件API」: 利用簽署文件的開立時間進行搜尋
- 「使用更多條件查詢簽署文件API」: 使用進階搜尋進行一次多筆的搜尋
● 下載簽署文件
針對簽署文件提供三種不同下載格式:
- 「下載文件SVS檔API」提供下載SVS檔功能,SVS檔為完整簽署文件檔(含錄影簽名檔、簽署歷程等)
- 「下載文件PDF檔API」提供下載簽署文件PDF檔功能,方便其他使用者檢閱或保存簽署文件
- 「下載文件CSV檔API」提供下載簽署文件CSV檔功能,方便進行簽名文件統計分析
● 更新簽署文件
- 「更新簽署文件API」: 提供更換文件索引標籤、取消或作廢簽署文件,或是更改已命名的控制項內容(即 簽名框、日期框、文字框等)等功能。(※注意:已作廢的簽署文件不能透過呼叫此API更改文件狀態)
- 「更換尚未簽名的簽署者API」: 指定更換尚未完成簽名的簽署者
- 「刪除文件API」: 針對未完成簽署文件,提供刪除簽署文件功能
- 「復原已刪除文件API」: 提供復原 已刪除簽署文件 的功能
身分驗證與取得AP Token
# 登入API 說明
在呼叫所有API前必須先登入通過身分驗證並取得權限,透過呼叫「建立AP Token API」完成身分驗證與取得登入權限(即 AP Token)。呼叫「建立AP Token API」步驟流程如下圖(詳細步驟可見於建立AP Token API):
建立 AP Token
建立 AP TokenPOST/Token/create_ap_token
Example URI
操作前準備
- 使用「建立 AP Token API」前,必須先透過以下五個參數製作Hash字串放在Header:
- 將以上五個參數相對應的字串組合「corpno:biztype:userid:logintime:password」進行SHA256加密(SHA256 ⇦ 進入連結執行加密字串),範例如下:
- 將字串”Basic ”加入上列SHA256加密後的結果,並放入此API的Headers,範例如下:
| 參數 | 範例 | 說明 |
|---|---|---|
| corpno | experience | 公司代號(需透過註冊程序取得)。限用大小寫字母、英數字符號 |
| biztype | general | 業務名稱(需透過註冊程序取得)。限用大小寫字母、英數字符號 |
| userid | TestUser | 使用者編號(需透過註冊程序取得)。限用大小寫字母、英數字符號 |
| password | TestPassword2018 | 密碼(需透過註冊程序取得) |
| logintime | 1525492166 | 登入時間(取 UTC 時間,亦即 GMT±0 的時間)。時間單位取”日/月/年 時:分:秒” 並轉換為Unix時間戳 (例如: 05/05/2018 03:49:26(UTC) 轉換成 Unix 時間戳為 “1525492166”) |
SHA256加密前輸入的字串:
experience:general:TestUser:1525492166:TestPassword2018
↓ SHA256加密
經過SHA256加密後的結果:
c8438f7a11fccddf8c6989cd3c05ea72e772f4024b07fbc36184663edb3c6a7a
Authorization: Basic c8438f7a11fccddf8c6989cd3c05ea72e772f4024b07fbc36184663edb3c6a7a
操作示範-建立AP Token
操作示範-POSTMAN設定AP Token
with body
Headers
Content-Type: application/json
Authorization: Basic c8fb955ba484c8fb9b6c64fffc2140dec08ba2812b3924d4d05dc750484515eb
Body
{
"corpno": "experience",
"biztype": "consentform",
"userid": "guest",
"logintime": "1525524153",
"expire": "86400"
}
Schema
| 參數名稱 | 型別 | 長度 | 是否為必要參數 | 說明 |
|---|---|---|---|---|
| corpno | string | 20 | ✓ | 註冊帳號時填入的公司代碼,此欄位填入的內容必須與 進行SHA256加密前使用的 公司代碼 相同 |
| biztype | string | 20 | ✓ | 註冊帳號時填入的業務類別,此欄位填入的內容必須與 進行SHA256加密前使用的 業務類別 相同 |
| userid | string | 20 | ✓ | 註冊帳號時填入的使用者編號,此欄位填入的內容必須與 進行SHA256加密前使用的 使用者編號 相同 |
| logintime | string | N | ✓ | 註冊帳號時的登入時間,此欄位填入的內容必須與 進行SHA256加密前使用的 登入時間 相同 |
| expire | string | N | ✓ | 單位:秒。設定回傳Token的有效期限 |
201
Headers
Content-Type: application/json
Body
{
"result": true,
"message": "create ap Token success",
"desc": "ap Token is valid before 2018-06-04 14:28:47",
"code": 201,
"Token": {
"Access": "eyJ0eXAiOiJKV1......", /* 此 Token 是用來提供其它 API 驗證身分使用的 */
"AccessExpires": "2018-06-04 14:28:47"
}
}
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "login fail",
"desc": "invalid corpno, biztype, userid, password",
"code": 500
}
瀏覽範本目錄
GET TREE STRUCTURE TEMPLATE HIERARCHY
取得範本目錄APIGET/Template/get_tree_structure_template_hierarchy
Example URI
操作示範
with Headers and Parameters
Headers
Content-Type: application/json
Authorization: Bearer c8fb955ba484c8fb9b6c64fffc2140dec08ba2812b3924d4d05dc750484515eb
201
Headers
Content-Type: application/json
Body
{
"result": true,
"message": "get tree structure template hierarchy success.",
"desc": "return tree structure template hierarchy",
"code": 201,
"reporttxt": {
"biztype": {
"name": "consentform",
"node": [
[
{
"node": "LFAKJMLA",
"parentnode": "",
"nodename": "日期框",
"disporder": "3",
"creator": "test",
"updateuser": "test"
},
{
"node": "LFAKJ2J8",
"parentnode": "",
"nodename": "測試",
"disporder": "1",
"creator": "test",
"updateuser": "test"
},
{
"node": "LFAKJE4P",
"parentnode": "",
"nodename": "圖章",
"disporder": "2",
"creator": "test",
"updateuser": "test"
}
]
]
}
}
}
Schema
| 參數名稱 | 型別 | 長度 | 說明 |
|---|---|---|---|
| biztype | string | 20 | 業務類別 |
| name | string | 20 | 業務類別名稱 |
| node | string | 20 | 資料夾目錄的節點,也就是此資料夾的代號 |
| parentnode | string | 20 | 資料夾目錄的父節點,也就是此資料夾上一層的資料夾代號 |
| nodename | string | 255 | 資料夾名稱 |
| disporder | string | 20 | (尚未開通此功能)資料排序的序號 |
| creator | string | 20 | 資料夾的建立者 |
| updateuser | string | 20 | 資料夾的更新者 |
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "檢驗 token",
"desc": "無效的 API token",
"code": 500
}
GET TEMPLATE LIST
取得特定範本資料夾檔案清單APIGET/Template/get_lists_structure_template_info
Example URI
操作示範
- node
string(必填) Example: all資料夾節點代碼,若需查詢全部範本則填入"all"
- unit
string(必填) Example: day(可帶空值)查詢時間單位,"year"/"month"/"day"
- row
number(必填) Example: 3(可帶空值)查詢列數限制,查詢範本後回傳資料的呈現方式
- time
string(必填) Example: 2023-03-15(可帶空值)查詢當下時間
with Headers and Parameters
Headers
Content-Type: application/json
Authorization: Bearer c8fb955ba484c8fb9b6c64fffc2140dec08ba2812b3924d4d05dc750484515eb
201
Headers
Content-Type: application/json
Body
{
"result": true,
"message": "get lists structure template info success.",
"desc": "return tree list template info",
"code": 201,
"reporttxt": [[{
"corpno": null,
"biztype": null,
"node": "all",
"nodename": null,
"tempid": "A001",
"temptype": null,
"tempname": "test",
"effectdate": "2021-07-22 15:47:00",
"TEMP_ATTR1": null,
"TEMP_ATTR2": null,
"TEMP_ATTR3": null,
"TEMP_ATTR4": null,
"TEMP_ATTR5": null,
"TEMP_ATTR6": null,
"TEMP_ATTR7": null,
"TEMP_ATTR8": null,
"TEMP_ATTR9": null,
"TEMP_ATTR10": null,
"tempfiletype": pdf,
"tempfilepath": tgl/insurance,
"tempdesc": null,
"createuser": "test",
"createtime": "2021-07-22 15:47:19",
"updateuser": "test",
"updatetime": "2021-09-14 14:57:27",
}]]
}
Schema
| 參數名稱 | 型別 | 長度 | 說明 |
|---|---|---|---|
| corpno | string | 20 | 公司代號 |
| biztype | string | 20 | 業務類別 |
| node | string | 20 | 資料夾目錄的節點 |
| nodename | string | 255 | 資料夾名稱 |
| tempid | string | 20 | 範本編號 |
| tempver | string | 20 | 範本版本 |
| temptype | string | 20 | 範本類別 |
| tempname | string | 255 | 範本名稱 |
| effectdate | string | N | 生效日期 |
| TEMP_ATTR1~10 | string | 20 | TEMP_ATTR1~TEMP_ATTR10欄位,類似範本的 文件標籤,可在 搜尋 範本時提供搜尋條件。 |
| tempfiletype | string | 20 | 範本的檔案類型 |
| tempfilepath | string | 255 | 範本的檔案路徑 |
| tempdesc | string | 255 | 範本的說明 |
| createuser | string | 20 | 範本的建立者 |
| createtime | string | N | 範本的建立時間 |
| updateuser | string | 20 | 範本的更新者 |
| updatetime | string | N | 範本的更新時間 |
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "get lists structure template info fail",
"desc": "must input time",
"code": 500,
"reporttxt": "time is error"
}
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "get lists structure template info fail",
"desc": "must input unit",
"code": 500,
"reporttxt": "unit is error"
}
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "get lists structure template info fail",
"desc": "must input row",
"code": 500,
"reporttxt": "row is error"
}
選擇範本
Get Create Job Input JSON
取得範本的詳細資訊(JSON格式)GET
/Template/get_template_config?templateid={templateid}&templatever={templatever}&format={format}&allcontrol={allcontrol}
Example URI
操作示範
- templateid
string(必填) Example: A001範本編號
- templatever
string(非必填) Example: 1.0範本版本
- format
string(必填) Example: CreateJobJSON設定回傳的範本資訊格式。
取得範本的文件詳細資訊(jobinfo)→必須設定此參數為"CreateJobJSON"- allcontrol
string(非必填) Example: N範本控制:預設只帶有命名的控制項,加上此參數也會列出未命名的控制項
with Headers and Parameters
Headers
Authorization: Bearer eyJ0eX...GhMi9Q
201
Headers
Content-Type: application/json
Body
{
"jobtype": "normal",
"attr1": "索引標籤欄位1",
"attr2": "索引標籤欄位2",
"attr3": "索引標籤欄位3",
"attr4": "索引標籤欄位4",
"attr5": "索引標籤欄位5",
"attr6": "索引標籤欄位6",
"attr7": "索引標籤欄位7",
"attr8": "索引標籤欄位8",
"attr9": "索引標籤欄位9",
"attr10": "索引標籤欄位10",
"desc": "文件已作廢",
"remark": "病人反悔",
"templateid": "S01",
"templatever": "1.0",
"templatename": "範本名稱",
"signers": {
"醫師代號": "g234",
"醫師姓名": "周玉華",
"立同意書人代號": "0001",
"立同意書人姓名": "王曉明"
},
"controls": {
"醫療機構名稱": "醫療機構名稱",
"病歷號碼": "病歷號碼",
"性別男": false,
"性別女": false,
"立同意書人姓名": "立同意書人姓名",
"床號": "床號",
"出生年": "出生年",
"出生月": "出生月",
"出生日": "出生日",
"疾病名稱": "疾病名稱",
"建議手術名稱": "建議手術名稱",
"局部麻醉": false,
"全身麻醉": false,
"同意手術": false,
"不同意手術": false,
"與立同意書人之關係": "本人"
}
}
Schema
| 參數名稱 | 型別 | 長度 | 說明 |
|---|---|---|---|
| jobtype | string | 20 | 文件類別,預設為"normal" |
| attr1~10 | string | 20 | 可設定attr1~attr10欄位,類似設定文件標籤功能,設定後可在「文件管理頁面」搜尋文件時提供搜尋條件 |
| desc | string | N | 文件說明欄位,用於說明文件作廢原因 |
| templatesourcecorp | string | N | 使用「跨公司公版範本」時才會用到此參數 |
| templatesourcebiztype | string | N | 使用「跨公司公版範本」時才會用到此參數 |
| templateid | string | 20 | 查詢時輸入的範本編號 |
| templatever | string | 20 | 查詢時輸入的範本編號,如果沒有指定系統會查詢最新的版本。 |
| signers | object | N | 取得範本設定中的簽署者資訊相關欄位 |
| controls | object | N | 取得範本控制項的預設值(若命名相同的控制項名稱則自動帶入已設定好的預設值) |
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "Get Template Config fail",
"desc": "corpno:cch biztype:consentform templateid:4-13-22-1-000 templatever:1.0 template not exist",
"code": 500
}
開立簽署文件
Create Job
開立簽署文件並填入同意書預設值POST
/Job/create_job
Example URI
操作示範
with body
Headers
Content-Type: application/json
Authorization: Bearer eyJ0eX...GhMi9Q
Body
{
"jobtype": "normal",
"attr1": "索引標籤欄位1",
"attr2": "索引標籤欄位2",
"attr3": "索引標籤欄位3",
"attr4": "索引標籤欄位4",
"attr5": "索引標籤欄位5",
"attr6": "索引標籤欄位6",
"attr7": "索引標籤欄位7",
"attr8": "索引標籤欄位8",
"attr9": "索引標籤欄位9",
"attr10": "索引標籤欄位10",
"desc": "同意書已刪除",
"templatesourcecorp": "",
"templatesourcebiztype": "",
"templateid": "S01",
"templatever": "1.0",
"signers": {
"醫師代號": "D00001",
"醫師姓名": "郭大夫",
"立同意書人代號": "00001234",
"立同意書人姓名": "黃小蓉"
},
"controls": {
"病歷號碼": "00001234",
"立同意書人姓名": "黃小蓉",
"立同意書人身份證字號": "A123456789",
"立同意書人生日": "1977-09-08",
"立同意書人住址": "台中市西屯區東大路1號",
"立同意書人電話": "0912345678",
"性別女": "1"
}
}
Schema
| 參數名稱 | 型別 | 長度 | 是否為必要參數 | 說明 |
|---|---|---|---|---|
| jobtype | string | 20 | ✕ | 文件類別,預設為"normal" |
| attr1~10 | string | 20 | ✕ | 可設定attr1~attr10欄位,類似設定文件標籤功能,設定後可在搜尋文件時提供搜尋條件。
例: 若此欄位設定 "身分證字號":"A123456789",之後則可利用身分證字號搜尋"A123456789"搜尋此文件 |
| desc | string | N | ✕ | 文件說明欄位,用於說明文件作廢原因 |
| templatesourcecorp | string | N | ✕ | 使用「跨公司公版範本」時才會用到此參數 |
| templatesourcebiztype | string | N | ✕ | 使用「跨公司公版範本」時才會用到此參數 |
| templateid | string | 20 | ✓ | 指定簽署文件使用的範本編號 |
| templatever | string | 20 | ✕ | 指定簽署文件使用的範本版號,如果沒有指定,系統設定為最新的版號。 |
| signers | object | N | ✓ | 更改範本設定中的簽署者資訊 |
| controls | object | N | ✓ | 設定表單控制項之預設值(若命名相同的控制項名稱則自動帶入已設定好的預設值) |
201
Headers
Content-Type: application/json
Body
{
"result": true,
"message": "create job success",
"desc": "",
"code": 201,
"jobid": "S15aeebda16fa32",
"docid": "thinkcloud-consentform-20181120-S15bf41d0bbfed2"
}
500
Headers
Content-Type: application/json
Body
{
/* 指定了錯誤的範本或版號,無法開立簽署文件 */
"result":false,
"message":"create job fail",
"desc":"templateid:S01 templatever:1.0 template file not exist",
"code":500
}
進行文件簽署
Get Sign Doc URL
取得簽署網頁網址GET/Job/get_signdoc_url?jobid={jobid}&expire={expire}&shorturl={shorturl}&urlscheme={urlscheme}&urlredirect={urlredirect}&readonly={readonly}&customurl={customurl}&protect={protect}&lang={lang}
Example URI
操作示範
- jobid
string(必填) Example: 簽署編號- expire
int(必填) Example: 3600單位為秒,若設定 3600 秒表示一小時後此 url 就不能再簽署文件
- shorturl
string(非必填) Example: Y產生 url 時,同時產生較短的 url,短 url 可用來產生 QRCode 或寄送連結時較為簡潔
- urlscheme
string(非必填) Example: Y如果手機上已安裝雲想APP,使用 url scheme 會直接開啟雲想 APP 進行簽署,主要應用在當手機內建瀏覽器不支援錄影功能時,使用 APP 可確保錄影可執行
- urlredirect
string(非必填) Example: Y使用此網址會自動偵測 APP 是否存在,是的話會先呼叫 APP,沒安裝 APP 會呼叫瀏覽器開啟簽署頁面
- readonly
string(非必填) Example: Y如果只是想用網頁開啟文件,但不想提供簽署、編輯功能,可加上 readonly=Y 的參數
- customurl
string(非必填) Example: http://xxxx.xxx/xxx如果有指定此參數,簽名網頁工具列的返回鈕會導向您指定的網址
- protect
string(非必填) Example: password如果有指定此參數,簽名網頁開啟前,都要輸入正確的密碼才能正確開啟
- lang
string(非必填) Example: en-US or zh-TW or ...簽名網頁預設會偵測瀏覽器的語言設定,如果有指定此參數,則以參數裡指定的語系做顯示
with Headers and Parameters
Headers
Authorization: Bearer eyJ0eX...GhMi9Q
201
Headers
Content-Type: application/json
Body
{
"result": true,
"message": "get signdoc url success",
"desc": "",
"code": 201,
"url": "https://selfiesign03.com/sign/signDoc.html?docid=experience-general-20180506-S15aef0063bb534&signerid=00001234&signseq=2&auth=bearer%20eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJleHAiOjE1MjU3ODQ2NTksImlhdCI6MTUyNTY5ODI1OSwibmJmIjoxNTI1Njk4MjU5LCJkYXRhIjp7Imlzc2lnbmVydG9rZW4iOnRydWUsImNvcnBubyI6ImV4cGVyaWVuY2UiLCJiaXp0eXBlIjoiZ2VuZXJhbCIsInVzZXJpZCI6InRoaW5rY2xvdWQiLCJkb2NpZCI6ImV4cGVyaWVuY2UtZ2VuZXJhbC0yMDE4MDUwNi1TMTVhZWYwMDYzYmI1MzQiLCJzaWduZXJpZCI6IjAwMDAxMjM0Iiwic2lnbnNlcSI6IjIiLCJleHBpcmUiOiI4NjQwMCJ9fQ.oqDekJzqz2H8bgBa8t7tR0IGc6QZ3Wm3Zv0WKYQvzRuF7pSzmihGpi4TpCSZHlVUKYIaV3G1QfEYMUuQpk8yZGoIOSK3id0x0tbHikm6eY-l8xa5TN7qVou303by7HZVUu7aWJK2ygWj1vaOqcSMBYa1XDREdEZ9R4lxwXjLeilqLXm-ukgzS1BQh1NOEdaZPtLyD9oKzAxbYtOH05Bmv6bZvbYSHjfHrKzn4faXCaHRjxUNjBjPjBmZKsOG7P76sHb_sUkdO1G6e2Qk22iKWSXbUFZ4LxQnhI3zTJncCMQFFdd7jdds9wB51oofBzgDNKATgPFdYrFpdwXESIreMg",
"shorturl": "https://selfiesign03.com?JoC4kzbJixuAz7i418soKQ==",
"urlscheme": "https://selfiesign03.com?JoC4kzbJixuAz7i418soKQ==",
"urlredirect": "https://selfiesign03.com?JoC4kzbJixuAz7i418soKQ=="
}
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "get signdoc url fail",
"desc": "jobid S15af0033f75fbff not exist",
"code": 500
}
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "get signdoc url fail",
"desc": "this job has completed",
"code": 500
}
Get PDF Download URL
取得 PDF 文件的下載連結GET
/Sign/get_download_url?docid={docid}
Example URI
操作示範
- docid
string(必填) Example: thinkcloud-consentform-20190417-S15cb744a621e96文件編號
with Headers and Parameters
Headers
Authorization: Bearer eyJ0eX...GhMi9Q
201
Headers
Content-Type: application/json
Body
{
"result": true,
"message": "取得下載網址成功",
"desc": "",
"code": 201,
"url": "https://{{AP_Server_IP}}/api/public/download/20190425/S15cb744a621e96.pdf"
}
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "檢驗 Token",
"desc": "無效的簽署人 Token",
"code": 500
}
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "取得下載網址失敗",
"desc": "必須輸入 docid",
"code": 500
}
查詢簽署文件
Query Job by jobid
經由文件編號查詢簽署文件GET/Job/query_job?jobid={jobid}&querycontrolvalues={querycontrolvalues}
Example URI
操作示範
- jobid
string(必填) Example: S15aeec574dfcc6簽署編號
- querycontrolvalues
string(必填) Example: Y給 "Y"值 會連同表單上有命名控制項的內容也回傳
with Headers and Parameters
Headers
Authorization: Bearer eyJ0eX...GhMi9Q
201
Headers
Content-Type: application/json
Body
{
"result": true,
"message": "query job success",
"desc": "return 1 records",
"code": 201,
"jobs": [
{
"jobinfo": {
"CORP_NO": "test",
"BIZ_TYPE": "general",
"JOB_ID": "S15af5ea2a0291e",
"JOB_TYPE": "normal",
"JOB_STATUS": "ONGOING",
"attr1": "索引標籤欄位1",
"attr2": "索引標籤欄位2",
"attr3": "索引標籤欄位3",
"attr4": "索引標籤欄位4",
"attr5": "索引標籤欄位5",
"attr6": "索引標籤欄位6",
"attr7": "索引標籤欄位7",
"attr8": "索引標籤欄位8",
"attr9": "索引標籤欄位9",
"attr10": "索引標籤欄位10",
"JOB_DESC": "文件描述",
"TEMP_ID": "S01",
"TEMP_VER": "1.0",
"TEMP_NAME": "人工植牙手術說明書",
"JOB_DOC_ID": "test-general-20180512-S15af5ea2a0291e",
"REMARK": null,
"CREATE_USER": "D001",
"CREATE_TIME": "2018-05-12 03:08:26",
"UPDATE_USER": "D001",
"UPDATE_TIME": "2018-05-12 03:08:26"
},
"jobsignhists": [
{
"SIGN_SEQ": "1",
"SIGNER_ID": "E0047",
"SIGNER_NAME": "王大明",
"SIGNBLOCK_ID": "1",
"SIGN_OPTION": "1",
"SIGN_STATUS": "Signature Complete",
"UPDATE_TIME": "2018-05-12 03:08:26"
},
{
"SIGN_SEQ": "2",
"SIGNER_ID": "00001234",
"SIGNER_NAME": "陳平",
"SIGNBLOCK_ID": "2",
"SIGN_OPTION": "1",
"SIGN_STATUS": "Current Signer",
"UPDATE_TIME": "2018-05-12 03:08:26"
}
]
}
]
}
Schema
【jobs】| 參數名稱 | 型別 | 長度 | 是否為必要參數 | 說明 |
|---|---|---|---|---|
| jobinfo | object | N | ✓ | 簽署文件資料 |
| jobsignhists | object | N | ✓ | 簽署歷程紀錄 |
| 參數名稱 | 型別 | 長度 | 是否為必要參數 | 說明 |
|---|---|---|---|---|
| JOB_ID | string | 20 | ✓ | 簽署編號(唯一碼) |
| TEMP_ID | string | 20 | ✓ | 範本編號 |
| TEMP_NAME | string | 50 | ✓ | 範本名稱 |
| JOB_DESC | string | N | ✕ | 簽署文件說明 |
| JOB_STATUS | string | N | ✓ | 文件簽署狀態,目前定義以下狀態: "ONGOING": 文件簽署進行中, "COMPLETE": 文件簽署完成, "CANCEL": 取消文件, "EXPIRE": 文件逾期失效, "INVALID": 作廢, "DELETE": 刪除 |
| CREATE_TIME | string | N | ✓ | 文件開立時間 |
| CORP_NO | string | 20 | ✓ | 公司名稱 |
| BIZ_TYPE | string | 20 | ✓ | 業務類別 |
| JOB_TYPE | string | 20 | ✓ | 文件種類 |
| JOB_ATTR1~10 | string | 20 | ✕ | 可設定attr1~attr10欄位,類似設定文件標籤功能,設定後可在「文件管理頁面」搜尋文件時提供搜尋條件 |
| TEMP_VER | string | 20 | ✓ | 範本版本 |
| JOB_DOC_ID | string | 50 | ✓ | 文件編號 |
| REMARK | string | 255 | ✕ | 備註,可用於說明文件狀態 |
| CREATE_USER | string | 20 | ✓ | 創建者 |
| CREATE_TIME | string | N | ✓ | 創建時間 |
| UPDATE_USER | string | 20 | ✓ | 更新者 |
| UPDATE_TIME | string | N | ✓ | 更新時間 |
| 參數名稱 | 型別 | 長度 | 是否為必要參數 | 說明 |
|---|---|---|---|---|
| SIGN_SEQ | string | N | ✓ | 簽名順序 |
| SIGNER_ID | string | 20 | ✓ | 簽署者編號 |
| SIGNER_NAME | string | 20 | ✓ | 簽署者姓名 |
| SIGNBLOCK_ID | string | N | ✓ | 簽署框代號 |
| SIGN_OPTION | string | 1 | ✓ | "1": 必簽;"2": 非必簽 |
| SIGN_STATUS | string | N | ✓ | 簽署狀態,目前定義以下狀態: "Waiting Signer": 尚未輪到簽署者簽, "Current Signer": 輪到簽署者簽, "Next Signer": 下一個輪到簽署者簽, "Signature Complete": 簽署者已簽完 |
| UPDATE_TIME | string | N | ✓ | 更新時間 |
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "query job fail",
"desc": "must input jobid or datefrom and dateto criteria",
"code": 500
}
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "query job fail",
"desc": "no records match the criteria",
"code": 500
}
Query Job by period
經由日期區間查詢簽署文件GET/Job/query_job?datefrom={datefrom}&dateto={dateto}
Example URI
操作示範
- datefrom
string(必填) Example: 2018-05-05起始時間
- dateto
string(必填) Example: 2018-05-06結束時間
with Headers and Parameters
Headers
Authorization: Bearer eyJ0eX...GhMi9Q
201
Headers
Content-Type: application/json
Body
{
"result": true,
"message": "query job success",
"desc": "return 1 records",
"code": 201,
"jobs": [
{
"jobinfo": {
"CORP_NO": "test",
"BIZ_TYPE": "general",
"JOB_ID": "S15af5ea2a0291e",
"JOB_TYPE": "normal",
"JOB_STATUS": "ONGOING",
"JOB_ATTR1~10": "job attribute 1~10",
"JOB_DESC": "文件描述",
"TEMP_ID": "S01",
"TEMP_VER": "1.0",
"TEMP_NAME": "人工植牙手術說明書",
"JOB_DOC_ID": "test-general-20180512-S15af5ea2a0291e",
"REMARK": null,
"CREATE_USER": "D001",
"CREATE_TIME": "2018-05-12 03:08:26",
"UPDATE_USER": "D001",
"UPDATE_TIME": "2018-05-12 03:08:26"
},
"jobsignhists": [
{
"SIGN_SEQ": "1",
"SIGNER_ID": "E0047",
"SIGNER_NAME": "王大明",
"SIGNBLOCK_ID": "1",
"SIGN_OPTION": "1",
"SIGN_STATUS": "Signature Complete",
"UPDATE_TIME": "2018-05-12 03:08:26"
},
{
"SIGN_SEQ": "2",
"SIGNER_ID": "00001234",
"SIGNER_NAME": "陳平",
"SIGNBLOCK_ID": "2",
"SIGN_OPTION": "1",
"SIGN_STATUS": "Current Signer",
"UPDATE_TIME": "2018-05-12 03:08:26"
}
]
}
]
}
Schema
【jobs】| 參數名稱 | 型別 | 長度 | 是否為必要參數 | 說明 |
|---|---|---|---|---|
| jobinfo | object | N | ✓ | 簽署文件資料 |
| jobsignhists | object | N | ✓ | 簽署歷程紀錄 |
| 參數名稱 | 型別 | 長度 | 是否為必要參數 | 說明 |
|---|---|---|---|---|
| JOB_ID | string | 20 | ✓ | 簽署編號(唯一碼) |
| TEMP_ID | string | 20 | ✓ | 範本編號 |
| TEMP_NAME | string | 50 | ✓ | 範本名稱 |
| JOB_DESC | string | N | ✕ | 簽署文件說明 |
| JOB_STATUS | string | N | ✓ | 文件簽署狀態,目前定義以下狀態: "ONGOING": 文件簽署進行中, "COMPLETE": 文件簽署完成, "CANCEL": 取消文件, "EXPIRE": 文件逾期失效, "INVALID": 作廢, "DELETE": 刪除 |
| CREATE_TIME | string | N | ✓ | 文件開立時間 |
| CORP_NO | string | 20 | ✓ | 公司名稱 |
| BIZ_TYPE | string | 20 | ✓ | 業務類別 |
| JOB_TYPE | string | 20 | ✓ | 文件種類 |
| JOB_ATTR1~10 | string | 20 | ✕ | 可設定attr1~attr10欄位,類似設定文件標籤功能,設定後可在「文件管理頁面」搜尋文件時提供搜尋條件 |
| TEMP_VER | string | 20 | ✓ | 範本版本 |
| JOB_DOC_ID | string | 50 | ✓ | 文件編號 |
| REMARK | string | 255 | ✕ | 備註,可用於說明文件狀態 |
| CREATE_USER | string | 20 | ✓ | 創建者 |
| CREATE_TIME | string | N | ✓ | 創建時間 |
| UPDATE_USER | string | 20 | ✓ | 更新者 |
| UPDATE_TIME | string | N | ✓ | 更新時間 |
| 參數名稱 | 型別 | 長度 | 是否為必要參數 | 說明 |
|---|---|---|---|---|
| SIGN_SEQ | string | N | ✓ | 簽名順序 |
| SIGNER_ID | string | 20 | ✓ | 簽署者編號 |
| SIGNER_NAME | string | 20 | ✓ | 簽署者姓名 |
| SIGNBLOCK_ID | string | N | ✓ | 簽署框編號 |
| SIGN_OPTION | string | 1 | ✓ | "1": 必簽;"2": 非必簽 |
| SIGN_STATUS | string | N | ✓ | 簽署狀態,目前定義以下狀態: "Waiting Signer": 尚未輪到簽署者簽, "Current Signer": 輪到簽署者簽, "Next Signer": 下一個輪到簽署者簽, "Signature Complete": 簽署者已簽完 |
| UPDATE_TIME | string | N | ✓ | 更新時間 |
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "query job fail",
"desc": "unable to parse dateto:2018-05-06 10:00:00, Please format dateto as Y-m-d or Y-m-d-h:i:s (PHP syntax)",
"code": 500
}
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "query job fail",
"desc": "no records match the criteria",
"code": 500
}
Query Job by more criteria
使用進階搜尋功能查詢簽署文件POST/Job/query_job
Example URI
操作示範
with Headers and Parameters
Headers
Authorization: Bearer eyJ0eX...GhMi9Q
Body
{
"datefrom": "2018-05-01",
"dateto": "2018-05-13-12:00:00",
"delimiter": ",",
"jobtype": "normal, consentform",
"jobstatus": "ONGOING, COMPLETE",
"jobattr1": "索引標籤欄位1",
"jobattr2": "索引標籤欄位2",
"jobattr3": "索引標籤欄位3",
"jobattr4": "索引標籤欄位4",
"jobattr5": "索引標籤欄位5",
"jobattr6": "索引標籤欄位6",
"jobattr7": "索引標籤欄位7",
"jobattr8": "索引標籤欄位8",
"jobattr9": "索引標籤欄位9",
"jobattr10": "索引標籤欄位10",
"templateid": "S01",
"templatever": "1.0",
"templatename": "人工植牙手術說明書",
"signseq": "1",
"signerid": "E0047",
"signername": "王大明",
"signstatus": "3",
"querycontrolvalues": "N"
}
Schema
| 參數名稱 | 型別 | 長度 | 是否為必要參數 | 說明 |
|---|---|---|---|---|
| datefrom | string | N | ✓ | (不支援進階篩選,一次只能輸入一筆關鍵字)開立文件日期搜尋起日 |
| dateto | string | N | ✓ | (不支援進階篩選,一次只能輸入一筆關鍵字)開立文件日期搜尋起迄日 |
| delimiter | string | N | ✕ | 設定多關鍵字查詢的分隔符號。
進階篩選時,使用者可以針對單一搜尋條件輸入多筆關鍵字,但在搜尋前請先設定關鍵字之間的分隔符號。 例如: 想要一次查詢符合範本編號"S01"、"S02"、"S03"的簽名文件時,設定為「"templateid": "S01, S02, S03"」,其中使用了分隔符號","分隔多項關鍵字。 (※此參數若未設定則預設分隔符號為",") |
| jobtype | string | 20 | ✕ | (支援進階篩選,以 delimiter 指定之符號為分隔符號)文件類別 |
| jobstatus | string | N | ✕ | (支援進階篩選,但 DELETE 只能單獨查詢,以 delimiter 指定之符號為分隔符號)文件簽署狀態。目前定義以下狀態: "ONGOING": 文件簽署進行中, "COMPLETE": 文件簽署完成, "CANCEL": 取消文件, "EXPIRE": 逾期失效, "INVALID": 作廢, "DELETE": 刪除 |
| jobattr1-10 | string | 20 | ✕ | (支援進階篩選,以 delimiter 指定之符號為分隔符號,以 delimiter 指定之符號為分隔符號,單一條件時提供模糊搜尋時比對)文件標籤 |
| templateid | string | 20 | ✕ | (支援進階篩選,以 delimiter 指定之符號為分隔符號)範本編號 |
| templatever | string | 20 | ✕ | (支援進階篩選,以 delimiter 指定之符號為分隔符號)範本版本 |
| templatename | string | 255 | ✕ | (支援進階篩選,以 delimiter 指定之符號為分隔符號)範本名稱 |
| signseq | string | N | ✕ | (支援進階篩選,以 delimiter 指定之符號為分隔符號)簽署順序 |
| signerid | string | 20 | ✕ | (不支援進階篩選,一次只能輸入一項關鍵字)簽署者編號 |
| signername | string | 20 | ✕ | (支援進階篩選,以 delimiter 指定之符號為分隔符號,只輸入單一關鍵字時提供模糊搜尋比對)簽署者姓名 |
| signstatus | string | 1 | ✕ | (支援進階篩選,預設以 "," 作為分隔符號,除非另設定其他符號作為 delimiter 的指定符號)簽署狀態,目前定義以下狀態:"1"="尚未輪到簽署者簽"; "2"="下一個輪到簽署者簽"; "3"="輪到簽署者簽"; "4"="簽署者已簽完" |
| querycontrolvalues | string | 1 | ✓ | 設定 "Y" 值會連同表單上有命名控制項的內容也回傳 |
201
Headers
Content-Type: application/json
Body
{
"result": true,
"message": "query job success",
"desc": "return 1 records",
"code": 201,
"jobs": [
{
"jobinfo": {
"CORP_NO": "test",
"BIZ_TYPE": "general",
"JOB_ID": "S15af5ea2a0291e",
"JOB_TYPE": "normal",
"JOB_STATUS": "ONGOING",
"JOB_ATTR1": "索引標籤欄位1",
"JOB_ATTR2": "索引標籤欄位2",
"JOB_ATTR3": "索引標籤欄位3",
"JOB_ATTR4": "索引標籤欄位4",
"JOB_ATTR5": "索引標籤欄位5",
"JOB_ATTR6": "索引標籤欄位6",
"JOB_ATTR7": "索引標籤欄位7",
"JOB_ATTR8": "索引標籤欄位8",
"JOB_ATTR9": "索引標籤欄位9",
"JOB_ATTR10": "索引標籤欄位10",
"JOB_DESC": "文件描述",
"TEMP_ID": "S01",
"TEMP_VER": "1.0",
"TEMP_NAME": "人工植牙手術說明書",
"JOB_DOC_ID": "test-general-20180512-S15af5ea2a0291e",
"REMARK": null,
"CREATE_USER": "D001",
"CREATE_TIME": "2018-05-12 03:08:26",
"UPDATE_USER": "D001",
"UPDATE_TIME": "2018-05-12 03:08:26"
},
"jobsignhists": [
{
"SIGN_SEQ": "1",
"SIGNER_ID": "E0047",
"SIGNER_NAME": "王大明",
"SIGNBLOCK_ID": "1",
"SIGN_OPTION": "1",
"SIGN_STATUS": "Signature Complete",
"UPDATE_TIME": "2018-05-12 03:08:26"
},
{
"SIGN_SEQ": "2",
"SIGNER_ID": "00001234",
"SIGNER_NAME": "陳平",
"SIGNBLOCK_ID": "2",
"SIGN_OPTION": "1",
"SIGN_STATUS": "Current Signer",
"UPDATE_TIME": "2018-05-12 03:08:26"
}
]
}
]
}
Schema
| 參數名稱 | 型別 | 長度 | 是否為必要參數 | 說明 |
|---|---|---|---|---|
| jobinfo | object | N | ✓ | 簽署文件資料 |
| jobsignhists | object | N | ✓ | 簽署歷程紀錄 |
| 參數名稱 | 型別 | 長度 | 是否為必要參數 | 說明 |
|---|---|---|---|---|
| JOB_ID | string | 20 | ✓ | 簽署編號(唯一碼) |
| TEMP_ID | string | 20 | ✓ | 範本編號 |
| TEMP_NAME | string | 50 | ✓ | 範本名稱 |
| JOB_DESC | string | N | ✕ | 簽署文件說明 |
| JOB_STATUS | string | N | ✓ | 文件簽署狀態,目前定義以下狀態: "ONGOING": 文件簽署進行中, "COMPLETE": 文件簽署完成, "CANCEL": 取消文件, "EXPIRE": 文件逾期失效, "INVALID": 作廢, "DELETE": 刪除 |
| CREATE_TIME | string | N | ✓ | 文件開立時間 |
| CORP_NO | string | 20 | ✓ | 公司名稱 |
| BIZ_TYPE | string | 20 | ✓ | 業務類別 |
| JOB_TYPE | string | 20 | ✓ | 文件種類 |
| JOB_ATTR1~10 | string | 20 | ✕ | 可設定attr1~attr10欄位,類似設定文件標籤功能,設定後可在「文件管理頁面」搜尋文件時提供搜尋條件 |
| TEMP_VER | string | 20 | ✓ | 範本版本 |
| JOB_DOC_ID | string | 50 | ✓ | 文件編號 |
| REMARK | string | 255 | ✕ | 備註,可用於說明文件狀態 |
| CREATE_USER | string | 20 | ✓ | 創建者 |
| CREATE_TIME | string | N | ✓ | 創建時間 |
| UPDATE_USER | string | 20 | ✓ | 更新者 |
| UPDATE_TIME | string | N | ✓ | 更新時間 |
| 參數名稱 | 型別 | 長度 | 是否為必要參數 | 說明 |
|---|---|---|---|---|
| SIGN_SEQ | string | N | ✓ | 簽名順序 |
| SIGNER_ID | string | 20 | ✓ | 簽署者編號 |
| SIGNER_NAME | string | 20 | ✓ | 簽署者姓名 |
| SIGNBLOCK_ID | string | N | ✓ | 簽署框編號 |
| SIGN_OPTION | string | 1 | ✓ | "1": 必簽;"2": 非必簽 |
| SIGN_STATUS | string | N | ✓ | 簽署狀態,目前定義以下狀態: "Waiting Signer": 尚未輪到簽署者簽, "Current Signer": 輪到簽署者簽, "Next Signer": 下一個輪到簽署者簽, "Signature Complete": 簽署者已簽完 |
| UPDATE_TIME | string | N | ✓ | 更新時間 |
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "query job fail",
"desc": "must input jobid or datefrom and dateto criteria",
"code": 500
}
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "query job fail",
"desc": "no records match the criteria",
"code": 500
}
下載簽署文件
下載 SVS 文件
下載 SVS 文件GET/Sign/getSVSFile?docid={docid}&isdownload={isdownload}
Example URI
操作示範
- docid
string(必填) Example: thinkcloud-consentform-20190417-S15cb744a621e96文件編號
- isdownload
string(必填) Example: Y下載檔案參數,設定"Y"值
with Headers and Parameters
Headers
Authorization: Bearer eyJ0eX...GhMi9Q
200
Headers
Content-Type: blob
Body
取得SVS檔案
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "取得 SVS 檔案失敗",
"desc": "必須輸入 docid",
"code": 500,
"error": "thinkcloud-consentform-20190417-S15cb744a621e96 SVS file not exist"
}
下載 PDF 文件
下載 PDF 文件GET/Sign/getPDFFile?docid={docid}&isdownload={isdownload}&password=Y
Example URI
操作示範
- docid
string(必填) Example: thinkcloud-consentform-20190417-S15cb744a621e96文件編號
- isdownload
string(必填) Example: Y下載檔案參數,設定"Y"值
- password
string(非必填) Example: Y加密參數,設定"Y"值 (需與程式碼配合調整密碼規則)
with Headers and Parameters
Headers
Authorization: Bearer eyJ0eX...GhMi9Q
200
Headers
Content-Type: application/pdf
Body
取得pdf檔案
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "取得 PDF 檔案失敗",
"desc": "必須輸入 docid",
"code": 500,
"error": "thinkcloud-consentform-20190417-S15cb744a621e96 PDF file not exist"
}
下載 CSV 文件
下載 CSV 文件GET/Report/downloadCSV?jobid={jobid}&title={title}
Example URI
操作示範
- jobid
string(必填) Example: S15b10abfaa1e60簽署編號
- title
string(非必填) Example: N此API預設下載文件含控制項標題,若不需控制項標題則另外設定此參數="N"值
with Headers and Parameters
Headers
Authorization: Bearer eyJ0eX...GhMi9Q
201
Headers
Content-Type: blob
Body
{
"result": true,
"message": "create csv file success",
"desc": "csv file download URL",
"code": 201
}
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "create csv file fail",
"desc": "",
"code": 500
}
更新簽署文件
Update Job
更新文件標籤以及「未簽名」欄位值POST/Job/update_job
Example URI
操作示範
with body
Headers
Content-Type: application/json
Authorization: Bearer eyJ0eX...GhMi9Q
Body
{
"jobid": "xxx",
"jobtype": "",
"jobstatus": "INVALID",
"attr1": "索引標籤欄位1",
"attr2": "索引標籤欄位2",
"attr3": "索引標籤欄位3",
"attr4": "索引標籤欄位4",
"attr5": "索引標籤欄位5",
"attr6": "索引標籤欄位6",
"attr7": "索引標籤欄位7",
"attr8": "索引標籤欄位8",
"attr9": "索引標籤欄位9",
"attr10": "索引標籤欄位10",
"desc": "",
"remark": "",
"controls": {
"醫療機構名稱": "醫療機構名稱",
"病歷號碼": "病歷號碼",
"性別男": false,
"性別女": false,
"立同意書人姓名": "立同意書人姓名",
"床號": "床號",
"出生年": "出生年",
"出生月": "出生月",
"出生日": "出生日",
"疾病名稱": "疾病名稱",
"建議手術名稱": "建議手術名稱",
"局部麻醉": false,
"全身麻醉": false,
"同意手術": false,
"不同意手術": false,
"與立同意書人之關係": "本人"
}
}
Schema
| 參數名稱 | 型別 | 長度 | 是否為必要參數 | 說明 |
|---|---|---|---|---|
| jobid | string | 20 | ✓ | 簽署編號(唯一碼) |
| jobtype | string | 20 | ✕ | 文件類別,預設為"normal",不需要用到請不要設定此參數 |
| jobstatus | string | ✓ | 文件狀態。不帶此參數表示不變更 JOB_STATUS 欄位值,帶入此參數時僅能將簽署文件狀態改為 取消(CANCEL)或作廢(INVALID)狀態 | |
| attr1~10 | string | 20 | ✕ | attr1~attr10欄位,類似文件標籤功能,在呼叫「開立簽署文件API」時可設定,此文件標籤功能在搜尋文件時可作為搜尋條件 |
| controls | string | ✕ | 控制項(即 簽名框、日期框、文字框、下拉選單...等範本內的設定),於修改範本時帶入預設值的欄位(在對應的簽署順序還未簽名送出前,可透過此 API 修改欄位值) | |
| desc | string | 255 | ✕ | 文件說明欄位,用於說明文件作廢原因,不需要用到請不要設定此參數 |
201
Headers
Content-Type: application/json
Body
{
"result": true,
"message": "update job success",
"desc": "update 1 records",
"code": 201
}
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "update job fail",
"desc": "fail to update corpno:cgmh biztype:consentform jobid:S15b040f705bc57",
"code": 500
}
Update Unsigned Signer
更換未簽名的簽署者POST/Job/update_unsigned_signer
Example URI
操作示範
with body
Headers
Content-Type: application/json
Authorization: Bearer eyJ0eX...GhMi9Q
Body
{
"jobid":"S15ccfd81f6bc4cc",
"signseq":3,
"signerid":"E001234",
"signername":"王大明"
}
Schema
| 參數名稱 | 型別 | 長度 | 是否為必要參數 | 說明 |
|---|---|---|---|---|
| jobid | string | 20 | ✓ | 簽署編號(唯一碼) |
| signseq | int | 3 | ✓ | 簽名者順序 |
| signerid | string | 20 | ✓ | 簽署者編號 |
| signername | string | 20 | ✓ | 簽署者姓名 |
201
Headers
Content-Type: application/json
Body
{
"result": true,
"message": "update unsigned signer success",
"desc": "",
"code": 201
}
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "update unsigned signer fail",
"desc": "can not revise signer who already signed",
"code": 500
}
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "update unsigned signer fail",
"desc": "jobid S15ccfd81f6bc4cc not exists",
"code": 500
}
RESTORE DELETED JOB
復原已刪除的文件GET/Job/restore_job?jobid={jobid}
Example URI
操作示範
- jobid
string(必填) Example: S15b10abfaa1e60簽署編號
with Headers and Parameters
Headers
Content-Type: application/json
Authorization: Bearer eyJ0eX...GhMi9Q
201
Headers
Content-Type: application/json
Body
{
"result": true,
"message": "restore job success",
"desc": "",
"code": 201,
"jobstatus": "ONGOING"
}
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "沒有存取權限",
"desc": "您的帳號無此操作權限",
"code": 500
}
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "檢驗 token",
"desc": "無效的 API token",
"code": 500
}
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "restore job fail",
"desc": "jobid:S1641028c83e7e5 job status can not restore",
"code": 500
}
Delete Job
刪除文件GET/Job/delete_job?jobid={jobid}
Example URI
操作示範
- jobid
string(必填) Example: S15aae8609c30f33簽署編號(唯一碼)
with Headers and Parameters
Headers
Authorization: Bearer eyJ0eX...GhMi9Q
201
Headers
Content-Type: application/json
Body
{
"result": true,
"message": "delete job success",
"desc": "delete 1 records",
"code": 201
}
500
Headers
Content-Type: application/json
Body
{
"result": false,
"message": "delete job fail",
"desc": "no record deleted",
"code": 500
}