浏览文档目录

API

文件上传

先 upload 拿 file_id,再用于 send*。

鉴权: Authorization: Bearer sbot_…

POST/api/v1/bots/files/upload-credentials
Bot Token

upload-credentials申请 S3 直传凭证

为即将上传的多媒体文件获取 S3 预签名凭证;多媒体消息第一步。可开启内容去重秒传。

  • 必填:fileName、fileSize (字节)、checksum(完整文件 64 位 SHA-256 hex)
  • 可选:fileType (MIME)、metadata、reuseRequestId(建议始终传稳定幂等键)、reuseExisting(可省略)、isPublic、writeOnce
  • 秒传:提供有效 checksum + 稳定 reuseRequestId,并返回 uploadRequired: false + 可用的 file/file_id 时,应跳过 PUT 与 complete
  • 未命中:返回 uploadRequired: true、uploadUrl、key、headers、expiresAt;同一次逻辑上传在凭证/重试/complete 间须保持同一 reuseRequestId
  • 持有证明:若平台已有同 checksum 对象但当前 Bot 未证明持有,响应可含 possessionRequired: true 与 possessionChallenge(按挑战完成后再请求)
POST/api/v1/bots/files/complete
Bot Token

completeS3 直传完成登记

客户端完成 PUT 上传后回调登记,获取后续 `sendPhoto / sendDocument` 需要的 `file_id`。若凭证阶段已秒传(`uploadRequired: false`)则无需调用本接口。

  • 必填:key、fileName、fileSize、checksum(64 位 SHA-256 hex)
  • 可选:fileType、category (默认 bot)、isPublic、writeOnce、reuseRequestId(与凭证阶段一致)
  • 返回:file_id、url、thumbnail_url? 等文件信息
GET/api/v1/bots/getFile
Bot Token

getFile获取文件信息

根据 `file_id` 拿到平台文件元数据(含临时下载 URL)。

  • 必填 query:file_id
  • 返回:{ file_id, file_name, mime_type, file_size, url, thumbnail_url? }