2021-03-31接口变动说明

1. 接口变动简介

  • Webhook
    • 2021-03-31 00:00:00 后创建的 Webhook 在推送数据时,数据结构中新增子表单数据 ID;
    • 2021-03-31 00:00:00 前创建的 Webhook 推送的数据不发生变化(不过后续也有计划对这部分 Webhook 进行改造,请各位用户尽早调整)
  • API
    • API 查询单条数据接口新增 v2 版本,v2 版本返回数据新增子表单数据 ID
    • API 查询多条数据接口新增 v2 版本,v2 版本返回数据新增子表单数据 ID
    • API 新建单条数据接口新增 v3 版本,v3 版本返回数据新增子表单数据 ID
    • API 修改单条数据接口新增 v3 版本,v3 版本请求数据新增子表单数据 ID,返回数据也新增子表单数据 ID

2. Webhook变动详细说明

本次更新后,每个子表单数据将添加“唯一性 ID”,届时,2021-03-31 00:00:00 后创建的 Webhook 在推送数据时,数据结构中新增子表单数据 ID,结构如下:

{
    "_id": "605b5f68255d4845a73d3c0a",  // <= 数据 ID
    "_widget_1616600963783": "单行文本",
    "_widget_1616600980550": [{
        "_id": "605b5fa6255d4845a73d3c0b", // <= 新增加的子表单数据 ID
        "_widget_1616601008197": "子表单内的单行文本字段值1"
    }, {
        "_id": "605b5fdc255d4845a73d3c0c", // <= 新增加的子表单数据 ID
        "_widget_1616601008197": "子表单内的单行文本字段值2"
    }]
}

2021-03-31 00:00:00 前创建的 Webhook 推送的数据暂时不发生变化,不过后续也有计划对这部分 Webhook 进行改造,请各位用户尽早调整!

3. API变动详细说明

API 接口的变动涉及到如下接口,未提及的接口不发生变动。

3.1 查询单条数据接口(/api/v2/app/{app_id}/entry/{entry_id}/data_retrieve)

  • 新增 v2 接口
    • v2 接口的请求参数不发生变化,即不支持仅查询子表单数据。
    • v2 接口的返回数据新增子表单数据 ID,返回的子表单数据结构与前述 Webhook 子表单数据结构相同。
  • v1 接口不发生变化

3.2 查询多条数据接口(/api/v2/app/{app_id}/entry/{entry_id}/data)

  • 新增 v2 接口
    • v2 接口的请求参数不发生变化。
    • v2 接口的返回数据新增子表单数据 ID,返回的子表单数据结构与前述 Webhook 子表单数据结构相同。
  • v1 接口不发生变化

3.3 新建单条数据接口(/api/v3/app/{app_id}/entry/{entry_id}/data_create)

  • 新增 v3 接口:
    • v3 接口的请求参数不发生变化,无需传入子表单行 ID,系统自动生成。
    • v3 接口的返回数据新增子表单数据 ID,返回的子表单数据结构与前述 Webhook 子表单数据结构相同。
  • v1、v2 接口不发生变化

3.4 修改单条数据(/api/v3/app/{app_id}/entry/{entry_id}/data_update)

  • 新增 v3 接口:
    • v3 接口的返回数据新增子表单数据 ID,返回的子表单数据结构与前述 Webhook 子表单数据结构相同。
    • v3 接口的请求参数新增子表单数据 ID,新增后请求参数如下所示:
{
    "data_id": "605b5f68255d4845a73d3c0a", // <= 数据 ID
    "data": {
        "_widget_1616600963783": {
            "value": "单行文本修改"
        },
        "_widget_1616600980550": {
            "value": [{
                "_id": {
                    "value": "605b5fa6255d4845a73d3c0b" // <= 新增加需要传递的子表单数据 ID,
                },
                "_widget_1616601008197": {
                    "value": "子表单内的单行文本字段值1修改"
                }
            }, {
                "_id": {
                    "value": "605b5fdc255d4845a73d3c0c" // <= 新增加需要传递的子表单数据 ID
                },
                "_widget_1616601008197": {
                    "value": "子表单内的单行文本字段值2修改"
                }
            }]
        },
     //... 其余参数
    }
}

注意事项:

(1)如果调用修改单条数据 v3 接口时未传递“子表单数据 ID”或者传递了错误的“子表单数据 ID”,每次调用会清空请求的那条数据中原本的子表单数据,填入新请求的子表单数据,并给未传递“子表单数据 ID”或传递“子表单数据 ID”错误的子表单数据生成新的子表单数据 ID,传递正确的则维持原本的“子表单数据ID”不变(即重置未传递或传递错误的“子表单数据 ID”,调用一次重置一次),同时,还会导致在数据管理的数据日志中记录“子表单变更”,即使子表单内容没有发生过任何变化。

(2)修改单条数据 v3 接口仍然不支持按照“子表单数据 ID”只修改子表单对应行的数据,必须整体请求和修改,这一点与原本修改单条数据接口的逻辑一致(如子表单中原本有 3 条数据,请求参数中只写了 2 条数据,即使这2条的“子表单行 ID”传递正确,修改后的子表单数据也只有 2 条)

如果不能理解第(1)条注意事项,可以参考下方示例

原本的子表单中有 3 行数据,结构如下:

{
    "_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"
    }]
}

假设在调用修改单条数据 v3 接口的过程中有一个子表单数据 ID 传递错误,有一个未传递,有一个传递正确,请求参数如下:

{
    "data_id": "605b5f68255d4845a73d3c0a", // <= 数据 ID
    "data": {
        "_widget_1616600963783": {
            "value": "单行文本修改"
        },
        "_widget_1616600980550": {
            "value": [{
                                                            // <= 未传递子表单数据ID
                "_widget_1616601008197": {
                    "value": "子表单内的单行文本字段值1修改"
                }
            }, {
                "_id": {
                    "value": "jiandaoyun" // <= 传递了错误的子表单数据ID
                },
                "_widget_1616601008197": {
                    "value": "子表单内的单行文本字段值2修改"
                }
            }, {
                "_id": {
                    "value": "605b5fdc255d4845a73d3c0d" // <= 传递了正确的子表单数据ID
                },
                "_widget_1616601008197": {
                    "value": "子表单内的单行文本字段值3修改"
                }
            }]
        },
    //... 其余参数
    }    
}

那么修改之后的数据结构如下,子表单中原本的第 1、2 行的数据 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修改"
    }]
}
  • v1、v2 接口不发生变化

文档内容是否对您有帮助?
有帮助
没帮助没帮助
如需获取即时帮助,请联系技术支持
咨询
扫码领取100+零代码资料简道云官方微信号400-111-0890
图标在线咨询
立即体验