API

ファイル

file_id を取得するためにアップロードし、その後 send* と共に使用します。

認証: Authorization: Bearer sbot_…

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

upload-credentialsS3 アップロード認証情報を申請する

S3の事前署名されたアップロード資格情報を発行します—メディアのための最初のステップ。コンテンツ再利用のスキップアップロードをサポートします。

  • 必須: fileName, fileSize (バイト), checksum (フルファイル64文字SHA-256ヘックス)
  • オプション: fileType (MIME), metadata, reuseRequestId (推奨される安定した冪等性キー), reuseExisting (レガシー互換, オプション), isPublic, writeOnce
  • 再利用: 有効な checksum + 安定した reuseRequestId と信頼できるコンテンツヒットがある場合、応答は uploadRequired: false と新しい論理 file/file_id (物理ブロブ再利用)—PUTをスキップして完了
  • ミス: uploadRequired: true, uploadUrl, key, headers, expiresAt; 資格情報、リトライ、完了の間で同じ reuseRequestId を保持してください。
  • 所有権: ブロブが存在するがこのボットが所有権を証明していない場合、応答には possessionRequired: truepossessionChallenge が含まれることがあります。
POST/api/v1/bots/files/complete
Bot Token

completeS3アップロード完了登録

クライアントのPUTが完了した後、オブジェクトを登録し、`sendPhoto` / `sendDocument`用の`file_id`を取得します。資格情報がすでに`uploadRequired: false`を返している場合、この呼び出しをスキップします。

  • 必須: key, fileName, fileSize, checksum (64文字SHA-256ヘックス)
  • オプション: fileTypecategory (デフォルト bot)、isPublicwriteOncereuseRequestId (資格情報と一致する必要があります)
  • 返却: file_idurlthumbnail_url?、… (各登録ごとに新しい論理ファイル)
GET/api/v1/bots/getFile
Bot Token

getFileファイルの取得

`file_id` でプラットフォーム ファイルのメタデータ (一時ダウンロード URL を含む) を取得します。

  • 必須クエリ:file_id
  • リターン:{ file_id, file_name, mime_type, file_size, url, thumbnail_url? }