Skip to content

回调接口列表

获取文件信息

接口:GET_/v3/3rd/files/:file_id

参数:

字段位置必须类型说明
file_id
Path
string
文档 Id

返回值 (仅定义 data 段返回值,完整返回数据请参考示例部分):

字段必须类型说明
id
string
文档 Id
name
string
文档名称
version
integer
文档版本号,从 1 开始,每次保存后递增
size
integer
文档大小,单位 byte
create_time
integer
文档创建时间戳,单位纪元秒
modify_time
integer
文档最后修改时间戳,单位纪元秒
creator_id
string
文档创建者 Id
modifier_id
string
文档创建者 Id

返回值示例:

{
    "code": 0,
    "msg": "",
    "data": {
        "create_time": 1670218748,
        "creator_id": "404",
        "id": "9",
        "modifier_id": "404",
        "modify_time": 1670328304,
        "name": "统计月报.xlsx",
        "size": 18961,
        "version": 180
    }
}

获取文件下载地址

接口: GET_/v3/3rd/files/:file_id/download

参数:

字段位置必须类型说明
file_id
Path
string
文档 Id

返回值 (仅定义 data 段返回值,完整返回数据请参考示例部分):

字段必须类型说明
url
string
文档下载地址
digest
string
文档校验和 (checksum)
digest_type
string
文档校验和算法 md5 或者 sha1
headers
map<string, string>
请求文档下载地址所需要的额外请求头,例如某些云存储商会要求额外的签名头等

返回值示例:

{
    "code": 0,
    "msg": "",
    "data": {
        "url": "https://foo.bar.com/files/9/180"
    }
}

[可选] 获取扩展信息

接口: GET_/v3/3rd/files/:file_id/extra

参数:

字段位置必须类型说明
file_id
Path
string
文档 Id

返回值 (仅定义 data 段返回值,完整返回数据请参考示例部分):

字段必须类型说明
file_max_size
integer
最大允许打开的文档大小,单位 byte
max_online_users
integer
单个文档内同时协作的用户人数上限
max_online_files
integer
文档并发数,允许同时在线的最大文件数量
readonly
boolean
是否以 只读 的方式打开当前文档

返回值示例:

{
    "code": 0,
    "msg": "",
    "data": {
      "file_max_size": 123123,
      "max_online_users": 10,
      "max_online_files": 1,
      "readonly": false
    }
}

[可选] 获取文档水印

接口: GET_/v3/3rd/files/:file_id/watermark

参数:

字段位置必须类型说明
file_id
Path
string
文档 Id

返回值 (仅定义 data 段返回值,完整返回数据请参考示例部分):

字段必须类型说明
type
integer
水印类型,0-无水印 1-文字水印
value
type = 1时必须
string
水印显示的文字内容
fill_style
string
水印透明度,示例: rgba( 192, 192, 192, 0.6 )
font
string
水印字体设置,示例: bold 20px Serif
rotate
float
水印旋转度,示例: -0.7853982
horizontal
integer
水印水平间距
vertical
integer
水印垂直间距

返回值示例:

{
    "code": 0,
    "msg": "",
    "data": {
        "fill_style": "rgba( 192, 192, 192, 0.6 )",
        "font": "bold 20px Serif",
        "horizontal": 50,
        "rotate": -0.7853982,
        "type": 1,
        "value": "谢绝拷贝\n2022-12-07 13:18:11",
        "vertical": 100
    }
}

文档用户权限

接口: GET_/v3/3rd/files/:file_id/permissions

参数:

字段位置必须类型说明
file_id
Path
string
文档 Id

返回值 (仅定义 data 段返回值,完整返回数据请参考示例部分):

字段必须类型说明
user_id
string
当前用户 Id
read
integer
是否具有预览权限,0-无 1-有
update
integer
是否具有编辑权限,0-无 1-有
download
integer
是否具有下载文档权限,0-无 1-有
rename
integer
是否具有重命名文档权限,0-无 1-有
history
integer
是否具有查看文档历史记录权限,0-无 1-有
copy
integer
是否具有拷贝文档内容权限,0-无 1-有
print
integer
是否具有打印文档权限,0-无 1-有
saveas
integer
是否具有另存当前文档权限,0-无 1-有
comment
integer
是否具有评论文档权限,0-无 1-有

返回值示例:

{
    "code": 0,
    "msg": "",
    "data": {
        "comment": 1,
        "copy": 1,
        "download": 1,
        "history": 1,
        "print": 1,
        "read": 1,
        "rename": 1,
        "saveas": 1,
        "update": 1,
        "user_id": "404"
    }
}

用户信息

接口: GET_/v3/3rd/users/:user_id

参数:

字段位置必须类型说明
user_id
Path
string
用户 Id

返回值 (仅定义 data 段返回值,完整返回数据请参考示例部分):

字段必须类型说明
id
string
当前用户 Id
name
string
用户昵称
avatar_url
string
用户头像 URL
logined
boolean
当前用户是否在线

返回值示例:

{
    "code": 0,
    "data": {
        "id": "404",
        "name": "Joe Doe"
    },
    "msg": ""
}

批量用户信息

接口: GET_/v3/3rd/users?user_id=:user_id_1&user_id=:user_id_2&user_id=:user_id_3

参数:

字段位置必须类型说明
user_id
Query
string
用户 Id

返回值 (仅定义 data 段返回值,完整返回数据请参考示例部分):

字段必须类型说明
id
string
当前用户 Id
name
string
用户昵称
avatar_url
string
用户头像 URL
logined
boolean
当前用户是否在线

返回值示例:

{
    "code": 0,
    "data": [
        {
            "id": "404",
            "name": "Joe Doe"
        }
    ],
    "msg": ""
}

[可选] 文档重命名

接口:PUT_/v3/3rd/files/:file_id/name

参数:

字段位置必须类型说明
file_id
Path
string
文档 Id
name
Body
string
新文档名称

返回值 (仅定义 data 段返回值,完整返回数据请参考示例部分):

请求参数示例:

{
    "name": "新文件名.xlxs"
}

返回值示例:

{
    "code": 0,
    "msg": "",
    "data": {}
}

[可选] 获取文档指定历史版本

接口:GET_/v3/3rd/files/:file_id/versions/:version

参数:

字段位置必须类型说明
file_id
Path
string
文档 Id
version
Path
integer
版本

返回值 (仅定义 data 段返回值,完整返回数据请参考示例部分):

字段必须类型说明
id
string
文档 Id
name
string
文档名称
version
integer
文档版本号
size
integer
文档大小,单位 byte
create_time
integer
文档创建时间,单位纪元秒
modify_time
integer
文档最近修改时间,单位纪元秒
creator_id
string
文档创建者 Id
modifier_id
string
文档创建者 Id

返回值示例:

{
  "code": 0,
  "msg": "",
  "data": {
    "create_time": 1670218748,
    "creator_id": "404",
    "id": "9",
    "modifier_id": "404",
    "modify_time": 1670328304,
    "name": "统计月报.xlsx",
    "size": 18961,
    "version": 180
  }
}

[可选] 文档历史版本列表

接口:GET_/v3/3rd/files/:file_id/versions?offset=:offset&limit=:limit

参数:

字段位置必须类型说明
file_id
Path
string
文档 Id
offset
Query
integer
列表偏移量
limit
Query
integer
单页最大长度

返回值 (仅定义 data 段返回值,完整返回数据请参考示例部分):

需返回文件版本列表,按照版本号 倒序 排列。

字段必须类型说明
id
string
文档 Id
name
string
文档名称
version
integer
文档版本号,从 1 开始,每次保存后递增
size
integer
文档大小,单位 byte
create_time
integer
文档创建时间,单位纪元秒
modify_time
integer
文档最近修改时间,单位纪元秒
creator_id
string
文档创建者 Id
modifier_id
string
文档创建者 Id

返回值示例:

{
    "code": 0,
    "data": [
        {
            "create_time": 1670218748,
            "creator_id": "404",
            "id": "27",
            "modifier_id": "404",
            "modify_time": 1670314818,
            "name": "样张.xlsx",
            "size": 14820,
            "version": 2
        },
        {
            "create_time": 1670218748,
            "creator_id": "404",
            "id": "27",
            "modifier_id": "404",
            "modify_time": 1670218748,
            "name": "样张.xlsx",
            "size": 11683,
            "version": 1
        }
    ],
    "msg": ""
}

[可选] 获取历史版本下载信息

接口 GET_/v3/3rd/files/:file_id/versions/:version/download

参数:

字段位置必须类型说明
file_id
Path
string
文档 Id

返回值 (仅定义 data 段返回值,完整返回数据请参考示例部分):

字段必须类型说明
url
string
文档下载地址
digest
string
文档校验和 (checksum)
digest_type
string
文档校验和算法 md5 或者 sha1
headers
map<string, string>
请求文档下载地址所需要的额外请求头,例如某些云存储商会要求额外的签名头等

返回值示例:

{
    "code": 0,
    "msg": "",
    "data": {
        "url": "https://foo.bar.com/files/9/180"
    }
}

保存文档,三阶段上传协议

  1. [可选] 准备上传阶段,主要是获取 checksum 算法

接口: GET_/v3/3rd/files/:file_id/upload/prepare

参数:

字段位置必须类型说明
file_id
Path
string
文档 Id

返回值 (仅定义 data 段返回值,完整返回数据请参考示例部分):

字段必须类型说明
digest_types
string[]
文档校验和算法 md5 sha1 sha256

返回值示例:

{
    "code": 0,
    "data": {
        "digest_types": [
            "sha1"
        ]
    },
    "msg": ""
}
  1. 获取上传地址 接口: POST_/v3/3rd/files/:file_id/upload/address

参数:

字段位置必须类型说明
file_id
Path
string
文档 Id
name
Body
string
文档名称
size
Body
integer
文档大小,单位 byte
digest
Body
map<string, string>
文档校验和,key 为算法,value 为结果值
is_manual
Body
boolean
是否手动保存,即用户手动 ctrl/cmd + s 或点击保存版本触发的保存,区别于定时触发的自动保存
attachment_size
Body
integer
文档内包含的附件的大小,单位 byte
content_type
Body
string
文档的 MIME 类型

返回值 (仅定义 data 段返回值,完整返回数据请参考示例部分):

字段必须类型说明
url
string
上传文档的 URL
method
string
上传文档的 HTTP Method,取值:PUTPOST
headers
map<string, string>
上传文档时需要携带的额外请求头
params
map<string, string>
上传文档时需要携带的额外参数
send_back_params
map<string, string>
上传文档后,请求完成上传接口需要原样带回的额外参数

请求示例:

{
    "file_id": "27",
    "name": "样张.xlsx",
    "size": 11683,
    "digest": { "sha1": "asdjfiedjisdhihsidihishiahi" },
    "is_manual": true
}

返回值示例:

{
    "code": 0,
    "data": {
        "method": "POST",
        "url": "http://foo.bar.com/files/27"
    },
    "msg": ""
}
  1. 上传完成后回调通知 接口: POST_/v3/3rd/files/:file_id/upload/complete 上传结果

参数:

字段位置必须类型说明
file_id
Path
string
文档 Id
+
request
Body
request
获取上传地址时相同的请求
+
response
Body
response
上传文档完成后,存储服务返回的 HTTP Response
send_back_params
map<string, string>
获取上传地址时,要求原样带回的额外参数

返回值 (仅定义 data 段返回值,完整返回数据请参考示例部分):

请求示例:

{
    "request": {
        "file_id": "27",
        "name": "样张.xlsx",
        "size": 11683,
        "digest": { "sha1": "foo" },
        "is_manual": true
    },
    "response": {
        "status_code": 200,
        "headers": { "etag": "bar"}
    },
    "send_back_params": {
        "foo": "bar"
    }
}

返回值示例:

{
    "code": 0,
    "data": {},
    "msg": ""
}