# 接口说明

token 是用来校验用户身份的凭证,它用来限制文档只能由有权限的用户访问,以提高文档安全性。接入方可以取到头部参数 token 来做身份验证。讯飞文档中台不对 token 进行校验,由接入方自己生成与校验。

请求参数类型分为 path、query、body 三种类型:

  • path: 指该参数为路径参数;
  • query: 指该参数需在请求 URL 传参;
  • body: 指该参数需在请求 JSON 传参(包括 File 格式)。

fid 为文件唯一 ID,需接入方自己生成并管理,需要保证一个 fid 对应一个文件,也对应一个文件的多个版本。

提示

下文接口说明中,我们对「文档」和「文件」进行了区分。「文档」特指可以编辑的 Office 文档,「文件」泛指包含「文档」在内的文件实体。

通用响应结构:

{
  "code": 200,
  "message": "success",
  "data": {}
}

code 为 200 时表示请求成功,否则表示请求失败。请求成功或失败均会在 message、data 中附带相关信息。

# 文档编辑

文档编辑适用于文档可被文档中台服务访问的场景。对于权限为 read 的文件进行预览,权限为 write 的文件可进行编辑。具体的权限由获取文件元数据回调接口返回。

支持的文档格式:

文档格式 文件名后缀
文档 .docx
.wps
电子表格 .xlsx
.et
演示文稿 .pptx
.dps

请求 URL:api/edit

请求方法:GET

请求头:

Header 示例 描述
nonce 413410 6 位随机数
timestamp 1619078626 时间戳(秒)
Authorization dd379d6c:R3SiPyVyQwxJK0nJSQP6AD5McMg= 详见签名算法
token xxxxxxx 校验身份的 token,值根据接入方而定

请求参数:

参数名 参数类型 数据类型 是否必须 备注
fid query string 是 文档 ID

响应示例:

点击查看
{
  "code": 200,
  "message": "success",
  "data": {
    //文件历史
    "fileHistory": [{}],
    "model": {
      "document": {
        //文件权限
        "permissions": {},
        //文件后缀
        "fileType": "docx",
        //文件唯一 key,由讯飞文档中台生成,对应某一文件的唯一版本
        "key": "id1122.docx_v1",
        //文件名称,包括文件后缀
        "title": "example.docx"
      },
      "documentType": "word",
      "editorConfig": {
        //模式,view 预览,edit 编辑
        "mode": "edit"
      }
    },
    //文档中台内部服务 js 路径
    "docserviceApiUrl": "https://example.iflydocs.com/web-apps/apps/api/documents/api.js"
  }
}

# 文档格式转换

文件格式转换适用于将仅可预览的文件格式转换为可编辑的文件格式,例如将仅可预览的 doc 格式文字文件转换为可编辑的 docx 文件。

支持的转换格式:

文档格式 转换前文件后缀 转换后文件后缀
文档 doc, docm, dotx, dotm, dot docx
电子表格 xlsm, xltx, xltm, xlt, xls xlsx
演示文稿 ppt, pptm, ppsx, ppsm, pps, potx, potm, pot pptx

请求 URL :api/convert 请求方法:PUT

请求头:

Header 示例 描述
nonce 413410 6 位随机数
timestamp 1619078626 时间戳(秒)
Authorization dd379d6c:R3SiPyVyQwxJK0nJSQP6AD5McMg= 详见签名算法
token xxxxxxx 校验身份的 token,值根据接入方而定

请求参数:

参数名 参数类型 数据类型 是否必须 备注
fid body string 是 文档 ID

响应示例:

{
  "code": 200,
  "message": "success",
  "data": null
}

# 文档重命名

实现对文档的重新命名。

请求 URL :api/rename

请求方法:POST

请求头:

Header 示例 描述
nonce 413410 6 位随机数
timestamp 1619078626 时间戳(秒)
Authorization dd379d6c:R3SiPyVyQwxJK0nJSQP6AD5McMg= 详见签名算法
token xxxxxxx 校验身份的 token,值根据接入方而定

请求参数:

参数名 参数类型 数据类型 是否必须 备注
docKey body string 是 文档 Key, 文档编辑接口返回
newFileName body string 是 新文档名,需要保留完整后缀

响应示例:

{
  "code": 200,
  "message": "success",
  "data": null
}

# 文档强制保存

触发文件回存机制,进行文件保存。当文档有编辑改动时,将最新的文档回存给接入方。一般在下载或者导出 PDF 时使用,可以保证正在编辑的内容能正确同步。

请求 URL:api/forceSave

调用方法:POST

请求头:

Header 示例 描述
nonce 413410 6 位随机数
timestamp 1619078626 时间戳(秒)
Authorization dd379d6c:R3SiPyVyQwxJK0nJSQP6AD5McMg= 详见签名算法
token xxxxxxx 校验身份的 token,值根据接入方而定

响应示例:

{
  "code": 200,
  "message": "success"
}

# 文件预览

接入方可对指定可预览的文件进行预览,可预览的文件参考支持格式。可以调用文件预览预处理接口加速预览的处理速度。

支持格式

  1. 支持 word, excel, ppt,pdf 等办公文档;
  2. 支持 txt, java, php, py, md, js, css 等所有纯文本;
  3. 支持 zip, rar, jar, tar, gzip 等压缩包;
  4. 支持 jpg, jpeg, png, gif 等图片,支持翻转、缩放、镜像操作;
  5. 支持 mp3, mp4, flv 等多媒体文件预览。

请求 URL :api/preview

调用方法:GET

请求头:

Header 示例 描述
nonce 413410 6 位随机数
timestamp 1619078626 时间戳(秒)
Authorization dd379d6c:R3SiPyVyQwxJK0nJSQP6AD5McMg= 详见签名算法
token xxxxxxx 校验身份的 token,值根据接入方而定

请求参数:

参数名 参数类型 数据类型 是否必须 备注
fid query string 是 文件 ID
progressInfo query string 否 预览进度信息
noCache query string 否 是否禁用缓存,默认 false
pdfDownloadDisable query string 否 是否禁止下载,默认 true
switchDisabled query string 否 是否关闭 office 预览页面上的切换开关,默认 false

响应示例:

{
  "code": 200,
  "message": "success",
  "data": {
    "previewUrl": "https://platform.iflydocs.com/online?url=aHR0cHM6Ly9iamJkbi5vcGVuc3RvcmFnZS5jbi92M..."
  }
}

响应说明:

参数 类型 备注
previewUrl string |预览 URL

# 文件预览预处理

对于较大文件(如 10m 以上)预览前可进行预处理以加快预览速度。上传或更新文件后调用预处理接口,文档中台对文件进行缓存,当请求预览文件时通过缓存直接获取文件从而实现加快预览速度的目的。缓存时间默认为七天。

请求 URL:api/preprocess

调用方法:PUT

请求头:

Header 示例 描述
nonce 413410 6 位随机数
timestamp 1619078626 时间戳(秒)
Authorization dd379d6c:R3SiPyVyQwxJK0nJSQP6AD5McMg= 详见签名算法
token xxxxxxx 校验身份的 token,值根据接入方而定

请求参数:

参数名 参数类型 数据类型 是否必须 备注
fid query string 是 文件 ID

响应示例:

{
  "code": 200,
  "message": "success"
}

# @相关人员或文档

在文档中@提及联系人或文档的功能,结合消息通知系统,被@人员可在消息通知系统内接收消息。

在编辑器中,@提及某篇文档,提及后,自动在文档内添加该片文档超链接,预览和编辑权限的用户,可通过超链直接访问到该篇被提及的文档中。

该接口返回相关人员列表和文档列表。

请求 URL:api/mention

调用方法:GET

请求头:

Header 示例 描述
nonce 413410 6 位随机数
timestamp 1619078626 时间戳(秒)
Authorization dd379d6c:R3SiPyVyQwxJK0nJSQP6AD5McMg= 详见签名算法
token xxxxxxx 校验身份的 token,值根据接入方而定

请求参数:

参数名 参数类型 数据类型 是否必须 备注
fid query string 是 文件 ID

响应示例:

{
  "code": 200,
  "message": "success",
  "data": {
    "userInfoDTOList": [
      {
        "uid": "xf00001",
        "highLightNickname": "xf00001",
        "headPhotoUrl": "",
        "nickname": "xf00001",
        "roleName": "所有者"
      },
      {
        "uid": "xf00002",
        "highLightNickname": "xf00002",
        "headPhotoUrl": "",
        "nickname": "xf00002",
        "roleName": "无权限"
      }
    ],
    "fileInfoDTOList": [
      {
        "fid": "xxx",
        "name": "讯飞文档",
        "docType": "note",
        "permissions": null,
        "creator": 1234,
        "creatorName": "xf1234",
        "owner": 1234,
        "ownerName": "xf1234",
        "createTime": 1688634236107,
        "modifyTime": 1688698474338
      }
    ]
  }
}