Skip to content

新增多条记录

在多维表格数据表中新增多条记录,单次调用最多新增 1,000 条记录。

前提条件

调用此接口前,请确保当前调用身份(tenant_access_token 或 user_access_token)已有多维表格的编辑等文档权限,否则接口将返回 HTTP 403 或 400 状态码。了解更多,参考如何为应用或用户开通文档权限

注意事项

从其它数据源同步的数据表,不支持对记录进行增加、删除、和修改操作。

请求

项目
HTTP URLhttps://open.feishu.cn/open-apis/bitable/v1/apps/:app_token/tables/:table_id/records/batch_create
HTTP MethodPOST
接口频率限制50 次/秒
支持的应用类型custom,isv
权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用 开启任一权限即可base:record:create 新增记录 bitable:app 查看、评论、编辑和管理多维表格
字段权限要求> Tip: 该接口返回体中存在下列敏感字段,仅当开启对应的权限后才会返回;如果无需获取这些字段,则不建议申请 contact:user.base:readonly 获取用户基本信息 contact:user.employee_id:readonly 获取用户 user ID contact:contact:access_as_app 以应用身份访问通讯录 contact:contact:readonly 读取通讯录 contact:contact:readonly_as_app 以应用身份读取通讯录

请求头

名称类型必填描述
Authorizationstringtenant_access_tokenuser_access_token 值格式:"Bearer access_token" 示例值:"Bearer u-7f1bcd13fc57d46bac21793a18e560" 了解更多:如何选择与获取 access token
Content-Typestring固定值:"application/json; charset=utf-8"

路径参数

名称类型描述
app_tokenstring多维表格 App 的唯一标识。不同形态的多维表格,其 app_token 的获取方式不同: - 如果多维表格的 URL 以 ==feishu.cn/base== 开头,该多维表格的 app_token 是下图高亮部分: app_token.png
- 如果多维表格的 URL 以 ==feishu.cn/wiki== 开头,你需调用知识库相关获取知识空间节点信息接口获取多维表格的 app_token。当 obj_type 的值为 bitable 时,obj_token 字段的值才是多维表格的 app_token。
了解更多,参考多维表格 app_token 获取方式
示例值:"appbcbWCzen6D8dezhoCH2RpMAh"
table_idstring多维表格数据表的唯一标识。获取方式: - 你可通过多维表格 URL 获取 table_id,下图高亮部分即为当前数据表的 table_id - 也可通过列出数据表接口获取 table_id

示例值:"tblsRc9GRRXKqhvW"

查询参数

名称类型必填描述
user_id_typestring用户 ID 类型
示例值:open_id
可选值有
- open_id: 标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。了解更多:如何获取 Open ID - union_id: 标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的,在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID,应用开发商可以把同个用户在多个应用中的身份关联起来。了解更多:如何获取 Union ID? - user_id: 标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内,一个用户的 User ID 在所有应用(包括商店应用)中都保持一致。User ID 主要用于在不同的应用间打通用户数据。了解更多:如何获取 User ID?
默认值open_id
当值为 user_id,字段权限要求contact:user.employee_id:readonly 获取用户 user ID
client_tokenstring格式为标准的 uuidv4,操作的唯一标识,用于幂等的进行更新操作。此值为空表示将发起一次新的请求,此值非空表示幂等的进行更新操作。
示例值:fe599b60-450f-46ff-b2ef-9f6675625b97
ignore_consistency_checkboolean是否忽略一致性读写检查,默认为 false,即在进行读写操作时,系统将确保读取到的数据和写入的数据是一致的。可选值: - true:忽略读写一致性检查,提高性能,但可能会导致某些节点的数据不同步,出现暂时不一致 - false:开启读写一致性检查,确保数据在读写过程中一致
示例值:true

请求体

名称类型必填描述
recordsapp.table.record\[\]要新增的记录列表
  └ fieldsmap<string, union>要新增的记录的数据。你需先指定数据表中的字段(即指定列),再传入正确格式的数据作为一条记录。
注意
该接口支持的字段类型及其描述如下所示: - 文本:原值展示,不支持 markdown 语法 - 数字:填写数字格式的值 - 单选:填写选项值,对于新的选项值,将会创建一个新的选项 - 多选:填写多个选项值,对于新的选项值,将会创建一个新的选项。如果填写多个相同的新选项值,将会创建多个相同的选项 - 日期:填写毫秒级时间戳 - 复选框:填写 true 或 false - 条码 - 人员:填写用户的open_idunion_iduser_id,类型需要与 user_id_type 指定的类型一致 - 电话号码:填写文本内容 - 超链接:参考以下示例,text 为文本值,link 为 URL 链接 - 附件:填写附件 token,需要先调用上传素材分片上传素材接口将附件上传至该多维表格中 - 单向关联:填写被关联表的记录 ID - 双向关联:填写被关联表的记录 ID - 地理位置:填写经纬度坐标
不同类型字段的数据结构请参考数据结构概述
示例值{"多行文本":"HelloWorld"}
  └ shared_urlstring记录分享链接。本接口不返回该参数,批量获取记录接口将返回该参数
示例值:"https://www.example.com/record/WVoXrzIaqeorcJcHgzAcg8AQnNd"
  └ record_urlstring记录链接。本接口不返回该参数,批量获取记录接口将返回该参数
示例值:"https://www.example.com/record/WVoXrzIaqeorcJcHgzAcg8AQnNd"

请求体示例

json
{
  "records": [
    {
      "fields": {
        "文本": "文本内容",
        "条码": "qawqe",
        "数字": 100,
        "货币": 3,
        "评分": 3,
        "进度": 0.25,
        "单选": "选项1",
        "多选": [
          "选项1",
          "选项2"
        ],
        "日期": 1674206443000,
        "复选框": true,
        "人员": [
          {
            "id": "ou_2910013f1e6456f16a0ce75ede950a0a"
          },
          {
            "id": "ou_e04138c9633dd0d2ea166d79f548ab5d"
          }
        ],
        "群组": [
          {
            "id": "oc_cd07f55f14d6f4a4f1b51504e7e97f48"
          }
        ],
        "电话号码": "13026162666",
        "超链接": {
          "text": "飞书多维表格官网",
          "link": "https://www.feishu.cn/product/base"
        },
        "附件": [
          {
            "file_token": "Vl3FbVkvnowlgpxpqsAbBrtFcrd"
          }
        ],
        "单向关联": [
          "recHTLvO7x",
          "recbS8zb2m"
        ],
        "双向关联": [
          "recHTLvO7x",
          "recbS8zb2m"
        ],
        "地理位置": "116.397755,39.903179"
      }
    },
    {
      "fields": {
        "文本": "文本内容2"
      }
    }
  ]
}

响应

响应体

名称类型描述
codeint错误码,非 0 表示失败
msgstring错误描述
data\--
  └ recordsapp.table.record\[\]新增的记录列表
    └ fieldsmap<string, union>新增的记录的数据
    └ record_idstring新增记录的 ID
    └ created_byperson该记录的创建人信息。本接口不返回该参数
      └ idstring用户id,id类型等于user_id_type所指定的类型。
      └ namestring用户的中文名称
      └ en_namestring用户的英文名称
      └ emailstring用户的邮箱
      └ avatar_urlstring头像链接
字段权限要求(满足任一)contact:user.base:readonly 获取用户基本信息 contact:contact:access_as_app 以应用身份访问通讯录 contact:contact:readonly 读取通讯录 contact:contact:readonly_as_app 以应用身份读取通讯录
    └ created_timeint该记录的创建时间。本接口不返回该参数
    └ last_modified_byperson该记录最近一次更新的修改人。本接口不返回该参数
      └ idstring用户id,id类型等于user_id_type所指定的类型。
      └ namestring用户的中文名称
      └ en_namestring用户的英文名称
      └ emailstring用户的邮箱
      └ avatar_urlstring头像链接
字段权限要求(满足任一)contact:user.base:readonly 获取用户基本信息 contact:contact:access_as_app 以应用身份访问通讯录 contact:contact:readonly 读取通讯录 contact:contact:readonly_as_app 以应用身份读取通讯录
    └ last_modified_timeint该记录最近一次的更新时间。本接口不返回该参数
    └ shared_urlstring记录分享链接(批量获取记录接口将返回该字段)
    └ record_urlstring记录链接,本接口不返回该参数,查询记录接口将返回该参数

响应体示例

json
{
  "code": 0,
  "data": {
    "records": [
      {
        "fields": {
          "任务名称": "维护客户关系",
          "创建日期": 1674206443000,
          "截止日期": 1674206443000
        },
        "id": "recusyQbB0fVL5",
        "record_id": "recusyQbB0fVL5"
      },
      {
        "fields": {
          "任务名称": "跟进与谈判",
          "创建日期": 1674206443000,
          "截止日期": 1674206443000
        },
        "id": "recusyQbB0CJjX",
        "record_id": "recusyQbB0CJjX"
      }
    ]
  },
  "msg": "success"
}

错误码

HTTP状态码错误码描述排查建议
2001254000WrongRequestJson请求体错误
2001254001WrongRequestBody请求体错误
2001254002Fail导致报 1254002 错误码的场景较多,请参考以下建议排查: - 如果单次操作的内容变更较大,请尝试在单次操作中减少数据量 - 如果你并发调用了接口,请尝试控制请求间隔,稍后重试 - 如果在知识库(wiki)中创建多维表格,请检查你是否使用了知识库创建知识空间节点接口创建多维表格。在此场景下不能使用创建多维表格接口 - 请检查接口参数是否有误。例如,在分页查询多维表格时,传递了无效的 page_token,或传递了错误的数据表的 table_id - 如果该报错偶尔发生,可能是服务器超时或不稳定,请重试解决
2001254003WrongBaseTokenapp_token 错误。app_token 是多维表格 App 的唯一标识。不同形态的多维表格,其 app_token 的获取方式不同: - 如果多维表格的 URL 以 ==feishu.cn/base== 开头,该多维表格的 app_token 是下图高亮部分: app_token.png - 如果多维表格的 URL 以 ==feishu.cn/wiki== 开头,你需调用知识库相关获取知识空间节点信息接口获取多维表格的 app_token。当 obj_type 的值为 bitable 时,obj_token 字段的值才是多维表格的 app_token。 了解更多,参考多维表格 app_token 获取方式
2001254004WrongTableIdtable_id 错误。table_id 是多维表格数据表的唯一标识。获取方式: - 你可通过多维表格 URL 获取 table_id,下图高亮部分即为当前数据表的 table_id - 也可通过列出数据表接口获取 table_id
2001254005WrongViewIdview_id 错误。view_id 是多维表格中视图的唯一标识。获取方式: - 在多维表格的 URL 地址栏中,view_id 是下图中高亮部分: view_id.png - 通过列出视图接口获取。暂时无法获取到嵌入到云文档中的多维表格的 view_id注意: 当 filter 参数 或 sort 参数不为空时,请求视为对数据表中的全部数据做条件过滤,指定的 view_id 会被忽略。
2001254006WrongRecordIdrecord_id 错误。record_id 是数据表中一条记录的唯一标识。通过查询记录接口获取
2001254007EmptyValue空值
2001254008EmptyView空视图
2001254009WrongFieldIdfield_id 错误。field_id 是数据表中一个字段的唯一标识。通过列出字段接口获取
2001254010ReqConvError请求错误
4001254015Field types do not match.字段类型不匹配,请检查传入的记录内容是否符合对应字段类型的格式要求
4031254027UploadAttachNotAllowed附件未挂载, 禁止上传
2001254030TooLargeResponse响应体过大
4001254036Base is copying, please try again later.复制多维表格为异步操作,该错误码表示当前多维表格仍在复制中,在复制期间无法操作当前多维表格。需要等待复制完成后再操作
4001254037Invalid client token, make sure that it complies with the specification.幂等键格式错误,需要传入 uuidv4 格式
2001254040BaseTokenNotFoundapp_token 不存在。不同形态的多维表格,其 app_token 的获取方式不同: - 如果多维表格的 URL 以 ==feishu.cn/base== 开头,该多维表格的 app_token 是下图高亮部分: app_token.png - 如果多维表格的 URL 以 ==feishu.cn/wiki== 开头,你需调用知识库相关获取知识空间节点信息接口获取多维表格的 app_token。当 obj_type 的值为 bitable 时,obj_token 字段的值才是多维表格的 app_token。 了解更多,参考多维表格 app_token 获取方式
2001254041TableIdNotFoundtable_id 不存在。获取方式: - 你可通过多维表格 URL 获取 table_id,下图高亮部分即为当前数据表的 table_id - 也可通过列出数据表接口获取 table_id
2001254042ViewIdNotFoundview_id 不存在。获取方式: - 在多维表格的 URL 地址栏中,view_id 是下图中高亮部分: view_id.png - 通过列出视图接口获取。暂时无法获取到嵌入到云文档中的多维表格的 view_id注意: 当 filter 参数 或 sort 参数不为空时,请求视为对数据表中的全部数据做条件过滤,指定的 view_id 会被忽略。
2001254043RecordIdNotFoundrecord_id 不存在。record_id 是数据表中一条记录的唯一标识。请通过查询记录接口获取
2001254044FieldIdNotFoundfield_id 不存在。field_id 是数据表中一个字段的唯一标识。通过列出字段接口获取
2001254045FieldNameNotFound字段名称不存在。请检查: - 接口中字段名称和多维表格中的字段名称是否完全匹配。如果难以排查,建议你调用列出字段接口获取字段名称,因为根据表格页面的 UI 名称可能会忽略空格、换行或特殊符号等差异。 - 表格是否开启了高级权限但调用身份缺少对应字段的权限。你需要为调用身份授予高级权限: - 对用户授予高级权限,你需要在多维表格页面右上方 分享 入口为当前用户添加可管理权限。image.png - 对应用授予高级权限,你需通过多维表格页面右上方 「...」 -> 「...更多」 ->「添加文档应用」 入口为应用添加可管理权限。 image.png 注意: 在 添加文档应用 前,你需确保目标应用至少开通了一个多维表格的 API 权限。否则你将无法在文档应用窗口搜索到目标应用。 - 你也可以在 多维表格高级权限设置 中添加用户或一个包含应用的群组, 给予这个群自定义的读写等权限。
2001254060TextFieldConvFail多行文本字段错误
2001254061NumberFieldConvFail数字字段错误
2001254062SingleSelectFieldConvFail单选字段错误
2001254063MultiSelectFieldConvFail多选字段错误
2001254064DatetimeFieldConvFail日期字段错误
2001254065CheckboxFieldConvFail复选框字段错误
2001254066UserFieldConvFail人员字段有误。原因可能是: - user_id_type 参数指定的 ID 类型与传入的 ID 类型不匹配 - 传入了不识别的类型或结构,目前只支持填写 id 参数,且需要传入数组 - 跨应用传入了 open_id。如果跨应用传入 ID,建议使用 user_id。不同应用获取的 open_id 不能交叉使用 - 若想对人员字段传空,可传 null
2001254067LinkFieldConvFail关联字段错误
2001254068URLFieldConvFail超链接字段错误
2001254069AttachFieldConvFail附件字段错误
2001254072Failed to convert phone field, please make sure it is correct.电话字段错误
4001254074DuplexLinkFieldConvFail参数无效,需要使用字符串数组
2001254100TableExceedLimit数据表或仪表盘数量超限。每个多维表格中,数据表加仪表盘的数量最多为 100 个
2001254101ViewExceedLimit视图数量超限, 限制200个
2001254102FileExceedLimit超限
2001254103RecordExceedLimit记录数量超限, 限制20,000条
2001254104RecordAddOnceExceedLimit单次添加记录数量超限, 单次调用最多更新 1,000 条记录
2001254105ColumnExceedLimit字段数量超限
2001254106AttachExceedLimit附件过多
2001254130TooLargeCell格子内容过大
2001254290TooManyRequest请求过快,稍后重试
2001254291Write conflict在同一个数据表中,并发调用了读写接口或请求过快,出现冲突。请参考以下建议解决: - 确保没有并发调用多维表格读写相关接口 - 若操作量较大,建议在接口与接口之间增加 0.5 或 1 秒的延迟,也可在报错中增加重试逻辑,确保业务的稳定性 - 对于写接口,可以将接口中的查询参数 ignore_consistency_check 设置为 true,表示在读写操作时,暂时忽略一致性检查,以提高性能
2001254301OperationTypeError多维表格未开启高级权限或不支持开启高级权限
2001254303AttachPermNotAllow没有写入附件至多维表格的权限。要在多维表格中写入附件,你需先调用上传素材接口,将附件上传到当前多维表格中,再新增记录
2001255001InternalError内部错误,请联系技术支持
2001255002RpcError内部错误,请联系技术支持
2001255003MarshalError序列化错误,请联系技术支持
2001255004UmMarshalError反序列化错误
2001255005ConvError内部错误,请联系技术支持
4001255006Client token conflict, please generate a new client token and try again.幂等键冲突,需要重新随机生成一个幂等键
5041255040请求超时进行重试
4001254607Data not ready, please try again later该报错一般是由于前置操作未执行完成,或本次操作数据太大,服务器计算超时导致。遇到该错误码时,建议等待一段时间后重试。通常有以下几种原因: - 编辑操作频繁:开发者对多维表格的编辑操作非常频繁。可能会导致由于等待前置操作处理完成耗时过长而超时的情况。多维表格底层对数据表的处理基于版本维度的串行方式,不支持并发。因此,并发请求时容易出现此类错误,不建议开发者对单个数据表进行并发请求。 - 批量操作负载重:开发者在多维表格中进行批量新增、删除等操作时,如果数据表的数据量非常大,可能会导致单次请求耗时过长,最终导致请求超时。建议开发者适当降低批量请求的 page_size 以减少请求耗时。 - 资源分配与计算开销:资源分配是基于单文档维度的,如果读接口涉及公式计算、排序等计算逻辑,会占用较多资源。例如,并发读取一个文档下的多个数据表也可能导致该文档阻塞。
4031254302Permission denied.调用身份缺少多维表格的高级权限。你需给予调用身份数据表的 可管理 权限或多维表格的 可管理 等权限,再重新调用。具体步骤如下所示: - 对用户授予高级权限,你可在 多维表格高级权限设置 中添加用户,为用户开通足够权限;或在多维表格页面右上方 分享 入口为当前用户添加可管理权限。详情参考飞书帮助中心文档使用多维表格高级权限 - 对应用授予高级权限,你需通过多维表格页面右上方 「...」 -> 「...更多」 ->「添加文档应用」 入口为应用添加可管理权限。 image.png 注意: 在 添加文档应用 前,你需确保目标应用至少开通了一个多维表格的 API 权限。否则你将无法在文档应用窗口搜索到目标应用。 - 你也可以在 多维表格高级权限设置 中添加用户或一个包含应用的群组,给予这个群自定义的读写等权限。
4031254304Permission denied.权限不足。请检查多维表格是否开启了高级权限,如果开启高级权限,调用身份需要有多维表格的可管理权限
4031254306The tenant or base owner is subject to base plan limits.联系租户管理员申请权益
4031254608Same API requests are submitted repeatedly.基于同一个多维表格版本重复提交了更新请求(传入了相同的 client_token),常见于并发或时间间隔极短的请求,例如并发将一个视图的信息更新为相同的内容。建议稍后重试

内容来源:飞书开放平台 · 自动爬取整理