向数据表中添加或更新记录
向数据表中添加或更新记录
请求
| 项目 | 值 |
|---|---|
| HTTP URL | https://open.feishu.cn/open-apis/apaas/v1/workspaces/:workspace_id/tables/:table_name/records |
| HTTP Method | POST |
| 接口频率限制 | 10 次/秒 |
| 支持的应用类型 | custom |
| 权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用 | app_engine:workspace.table.record:write 修改或删除数据表数据记录 |
请求头
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Authorization | string | 是 | user_access_token 值格式:"Bearer access_token" 示例值:"Bearer u-7f1bcd13fc57d46bac21793a18e560" 了解更多:如何选择与获取 access token |
| Content-Type | string | 是 | 固定值:"application/json; charset=utf-8" |
| Prefer | string | 否 | 为空时表示 INSERT, resolution=merge-duplicates表示 UPSERT,详细参考 https://docs.postgrest.org/en/v13/references/api/tables_views.html#upsert 示例值:"resolution=merge-duplicates" |
请求头可额外传入 Prefer 参数来控制行为。
- 如
Prefer: missing=default代表未传入的字段按默认值处理。 - 如
Prefer: resolution=merge-duplicates代表在 UPSERT 操作中,若存在重复键(如主键或唯一约束),则更新该记录;如果不存在,则插入新记录。 - 如
Prefer: resolution=ignore-conflicts代表在 UPSERT 操作中,若存在重复键(如主键或唯一约束),则忽略该操作,不进行任何更新或插入。
可组合使用,如 Prefer: resolution=merge-duplicates, missing=default。
详细参考 PostgREST 文档 - UPSERT。
路径参数
| 名称 | 类型 | 描述 |
|---|---|---|
workspace_id | string | 工作空间id,可以从数据平台的 URL 中获取,如 https://apaas.feishu.cn/suda/workspace/workspace_aadimx5uzpsls/table-manage/main?tableId=table_1846786627963081&tab=objectManage 中的 workspace_aadimx5uzpsls 就是 workspace_id示例值:"workspace_aadimx5uzpsls" |
table_name | string | 数据表表名,可以从数据平台获取对应的数据表名。 示例值:"table_name_1" |
查询参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
columns | string | 否 | UPSERT 时使用,指定列,多列英文逗号拼接 示例值:name,age |
on_conflict | string | 否 | UPSERT 时使用,指定使用哪一个或多个具有唯一约束的字段作为冲突判断依据,默认为表主键。 假设 user_products 表有一个由 user_id 和 product_id 组成的复合唯一约束。 示例值:user_id,product_id |
请求体
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
records | string | 是 | 要插入的数据记录列表,单次支持最多 500 条 示例值:"[ {\"name\":\"王一一\",\"gender\":\"male\",\"age\":10},{\"name\":\"王二二\",\"gender\":\"female\",\"age\":10}]" |
请求体示例
json
{
"records": "[{\"name\":\"王一一\",\"gender\":\"male\",\"age\":10},{\"name\":\"王二二\",\"gender\":\"female\",\"age\":10}]"
}响应
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
code | int | 错误码,非 0 表示失败 |
msg | string | 错误描述 |
data | \- | - |
└ record_ids | string\[\] | 按照记录顺序创建或更新的记录 ID 列表 |
响应体示例
json
{
"code": 0,
"msg": "success",
"data": {
"record_ids": [
"1cbb280d-fc3d-4dca-9db5-adb14c4c83ec"
]
}
}错误码
| HTTP状态码 | 错误码 | 描述 | 排查建议 |
|---|---|---|---|
| 400 | 2320001 | param is invalid | 请检查请求参数的类型、格式或值是否符合接口要求,具体可参考请求参数说明中的数据校验规则。 |
