簡介
API 簡介
透過修改單筆資料 API,可以對指定的單筆資料進行修改。
附註:
使用 API 新增資料時,會觸發的事件有新資料送出通知、彙總表計算&校驗、資料操作日誌、資料量統計。也可以透過請求參數來控制是否發起流程。但是不會觸發重複值校驗、必填校驗。
另外,系統欄位和以下所列舉的欄位不支援新增和修改資料:
分割線
手寫簽名
選擇資料、查詢
流水號(送出後系統生成)
API 調用
按照指定資料 ID 修改表單中的資料。
請求頻率:20 次/秒
請求方式:POST
請求參數:
參數 | 類型 | 必需 | 說明 | 預設 |
app_id | String | 是 | 應用 ID | / |
entry_id | String | 是 | 表單 ID | / |
data_id | String | 是 | 資料 ID | / |
data | JSON | 是 | 資料內容,其他同新建單筆資料 API,子表單需要註明子表單資料 ID | / |
is_start_trigger | Bool | 否 | 是否觸發智慧助手 | false |
transaction_id | String | 否 | 事務 ID;transaction_id 用於綁定一批上傳的文件,若資料中包含附件或圖片控件,則 transaction_id 必須與“取得文件上傳憑證和上傳地址API”中的 transaction_id 參數相同。 | / |
請求範例:
{ "app_id": "604eb6eea71d720006e1336e", "entry_id": "604ecfca8e2ade077c72453a", "transaction_id": "87cd7d71-c6df-4281-9927-469094395677", //事務ID "data_id": "6052e8072315c0075001d65e", "data": { "_widget_1615777739654": { "value": "張三" }, "_widget_1615777739673": { "value": [ { "_widget_1615777739744": { // 未傳子表單資料ID "value": "張三" } }, { "_id": { "value": "606290aba392ca00076da000" // 錯誤的子表單資料ID }, "_widget_1615777739744": { "value": "李四" } }, { "_id": { "value": "606290aba392ca00076da0a9" // 正確的子表單shujuID }, "_widget_1615777739744": { "value": "王五" } } ] } }, "is_start_trigger": true }
回應內容:
參數 | 類型 | 說明 |
data | JSON | 返回修改後的新資料,內容同查詢單筆資料 API |
回應範例:
{ "data": { "creator": { "name": "Jodoo", "username": "Jodoo", "status": 1, "type": 0, "departments": [1, 3], }, "updater": { "name": "小簡", "username": "xiaojian", "status": 1, "type": 0, "departments": [1, 3], }, "deleter": null, "createTime": "2021-03-18T05:41:27.760Z", "updateTime": "2021-03-30T02:46:21.563Z", "deleteTime": null, "_widget_1615777739654": "張三", "_widget_1616052516346": "", "_widget_1615777739673": [ { "_id": "606290fd0094210006e97551", // 未傳子表單資料ID則新建 "_widget_1615777739744": "張三" }, { "_id": "606290fd0094210006e97552", // 傳入錯誤的子表單資料ID則新建 "_widget_1615777739744": "李四" }, { "_id": "606290aba392ca00076da0a9", // 傳入正確的子表單資料ID則保持 "_widget_1615777739744": "王五" } ], "_id": "6052e8072315c0075001d65e", "appId": "604eb6eea71d720006e1336e", "entryId": "604ecfca8e2ade077c72453a", } }
注意事項
1. 如果調用修改單筆資料 API 時未傳遞“子表單資料 ID”或者傳遞了錯誤的“子表單資料 ID”,每次調用會清空請求的那筆資料中原本的子表單資料,填入新請求的子表單資料,並給未傳遞“子表單資料 ID”或傳遞“子表單資料 ID”錯誤的子表單資料生成新的子表單資料 ID,傳遞正確的則維持原本的“子表單資料ID”不變(即重置未傳遞或傳遞錯誤的“子表單資料 ID”,調用一次重置一次),同時,還會導致在資料管理的資料日誌中記錄“子表單變更”,即使子表單內容沒有發生過任何變化。
2. 修改單筆資料 API 仍然不支援按照“子表單資料 ID”只修改子表單對應行的資料,必須整體請求和修改(如子表單中原本有三筆資料,請求參數中只寫了兩筆資料,即使這兩筆的“子表單行 ID”傳遞正確,修改後的子表單資料也只有兩筆)
如果不能理解第一條注意事項,可以參考下方範例:
原本的子表單中有三行資料,結構如下:
{ "_id": "605b5f68255d4845a73d3c0a", // <= 資料 ID "_widget_1616600963783": "單行文字", "_widget_1616600980550": [{ "_id": "605b5fa6255d4845a73d3c0b", // <= 子表單資料ID "_widget_1616601008197": "子表單內的單行文字欄位值1" }, { "_id": "605b5fdc255d4845a73d3c0c", // <= 子表單資料ID "_widget_1616601008197": "子表單內的單行文字欄位值2" }, { "_id": "605b5fdc255d4845a73d3c0d", // <= 子表單資料ID "_widget_1616601008197": "子表單內的單行文字欄位值3" }] }
假設在調用修改單筆資料 API 的過程中有一個子表單資料 ID 傳遞錯誤,有一個未傳遞,有一個傳遞正確,請求參數如下:
{ "data_id": "605b5f68255d4845a73d3c0a", // <= 資料 ID "data": { "_widget_1616600963783": { "value": "單行文字修改" }, "_widget_1616600980550": { "value": [{ // <= 未傳遞子表單資料ID "_widget_1616601008197": { "value": "子表單內的單行文字欄位值1修改" } }, { "_id": { "value": "jodoo" // <= 傳遞了錯誤的子表單資料ID }, "_widget_1616601008197": { "value": "子表單內的單行文字欄位值2修改" } }, { "_id": { "value": "605b5fdc255d4845a73d3c0d" // <= 傳遞了正確的子表單資料ID }, "_widget_1616601008197": { "value": "子表單內的單行文字欄位值3修改" } }] }, //... 其餘參數 } }
那麼修改之後的資料結構如下,子表單中原本的第一、二行的資料 ID 發生變化:
{ "_id": "605b5f68255d4845a73d3c0a", // <= 資料 ID "_widget_1616600963783": "單行文字", "_widget_1616600980550": [{ "_id": "605b5fa6255d4845a73d3c0e", // <= 新的子表單資料ID "_widget_1616601008197": "子表單內的單行文字欄位值1修改" }, { "_id": "605b5fdc255d4845a73d3c0f", // <= 新的子表單資料ID "_widget_1616601008197": "子表單內的單行文字欄位值2修改" }, { "_id": "605b5fdc255d4845a73d3c0d", // <= 子表單資料ID不變 "_widget_1616601008197": "子表單內的單行文字欄位值3修改" }] }