taskId,业务侧拿着 taskId 轮询进度接口直到 progress == 100(或 status != 0 失败)。document / documentPro / spreadsheet / presentation / table) 都有自己支持的导入 / 导出格式表,进去之前先对照表确认。POST /sdk/v2/api/files/v2/import
Header: X-Shimo-Signature, X-Shimo-Token
Content-Type: multipart/form-data
Body fields:
fileId 必填 你的应用文件唯一 ID
type 必填 目标石墨文件类型
fileUrl 必填 源文件下载地址(石墨服务端可访问)
fileName 必填 文件名
importFontType 否 1 = 把"等线"字体转为默认字体{ "status": 0, "message": "", "data": { "taskId": "..." } }status != 0 表示创建失败,按 message 排查。| 石墨文件类型 | 支持导入 |
|---|---|
| document | .docx, .doc, .md, .txt |
| documentPro | .docx, .doc, .wps |
| spreadsheet | .xlsx, .xls, .csv, .xlsm |
| presentation | .pptx, .ppt |
fileUrl 的内容长度。fileUrl 必须公网或同网络可达。石墨服务端要去拉取,不可达就直接失败。fileId 不可复用。同一个 fileId 不能被两次导入覆盖;要重新导入,请用新的 fileId。POST /sdk/v2/api/files/v2/import/progress
Body: { "taskId": "<上一步返回的 taskId>" }| 字段 | 含义 |
|---|---|
status | 任务状态,0 正常,非 0 表示失败(data 此时为 null) |
data.progress | 进度百分比,100 表示完成 |
message | 异常时的提示 |
importing 记录,再调石墨。失败时业务库有明确的中间态可以查、可以补偿。fileId,否则用户会看到空文档。前端应 在 status='ready' 时再开放访问。taskId,间隔不少于 3 秒,配合指数退避;总超时建议 10–15 分钟(不超过石墨 10 分钟硬上限太多)。POST /sdk/v2/api/files/v1/export/{fileId}
Header: X-Shimo-Signature, X-Shimo-Token
Content-Type: application/json
Body:
type 必填 目标导出格式
exportSheetId 否 已废弃,导出 spreadsheet 为 csv 时曾用{
"status": 0,
"message": "",
"data": {
"taskId": "3oo4vnBJgcG5HxMm:1:603:docx"
}
}| 石墨文件类型 | 默认导出 | 支持导出 |
|---|---|---|
| document | docx | docx, md, jpg, pdf |
| documentPro | docx | docx, pdf, wps |
| spreadsheet | xlsx | xlsx |
| presentation | pptx | pptx, pdf |
| table | xlsx | xlsx |
taskId 里包含敏感语义。taskId 由石墨生成,用作幂等键即可。POST /sdk/v2/api/files/v1/export/progress
Body: { "taskId": "<上一步返回的 taskId>" }| 字段 | 含义 |
|---|---|
status | 任务状态,0 正常,非 0 失败 |
data.progress | 进度,100 完成 |
data.downloadUrl | 文件下载地址(完成后才有) |
downloadUrl 有效期 5 分钟。超过后失效,需要再次调用进度接口拿新地址(同一 taskId 仍有效)。downloadUrl 后要在 5 分钟内消费掉。常见做法:后端立即转存到对象存储,再把对象存储链接返回前端,避免把临时下载链接直接暴露给用户。taskId。重复调用 /export/{fileId} 同一 type 会得到不同 taskId,业务侧需要自己去重(例如基于 fileId + type + 触发时间窗)。taskId / fileId / type / 文件大小 / message,便于事后排查。downloadUrl 直接暴露给前端(链接 5 分钟过期且无防盗链能力)。