Agent Flow 添付ファイルAPI
概要: Agent Flow 実行API に
upload_fileで添付した画像を、あとから取得するAPIです。添付画像はチャットログに保存されるため、会話履歴を表示する際に、そのとき送った画像を並べて表示できます。
GET /v1/api/agentflow/message/{message_id}/attachments/{attachment_id}
メッセージに添付された画像を、画像バイナリのまま取得します。
GET /v1/api/agentflow/message/{message_id}/attachments/{attachment_id}
message_id と attachment_id は、Chat Log API の GET /v1/user/chatlog/{chatlog_id} のレスポンスから取得します。data.messages[].id が message_id、data.messages[].attachments[].id が attachment_id です。
Headers
api-key: string(required) - rokadoc APIキー
必須パラメータ
message_id: string(required) - メッセージID(パスパラメータ)attachment_id: string(required) - 添付ファイルID(パスパラメータ)
オプショナルパラメータ
space_id: string(optional) - スペース機能を利用する場合はスペースIDを指定space_admin: boolean(optional) - スペース管理者として他ユーザーのチャットの添付を参照する場合はtrue(管理者権限が必要、デフォルト: false)
Request Example
- Python
- curl
import os
import requests
api_key = os.getenv("ROKADOC_API_KEY")
chatlog_id = os.getenv("CHATLOG_ID")
headers = {"api-key": api_key}
# チャットログから message_id / attachment_id を取り出す
chatlog_response = requests.get(
f"https://api.rokadoc.ntt.com/v1/user/chatlog/{chatlog_id}",
headers=headers,
)
chatlog_response.raise_for_status()
chatlog = chatlog_response.json()
for message in chatlog["data"]["messages"]:
for attachment in message.get("attachments", []):
url = (
"https://api.rokadoc.ntt.com/v1/api/agentflow"
f"/message/{message['id']}/attachments/{attachment['id']}"
)
response = requests.get(url, headers=headers)
# 404などはここで例外にし、エラーレスポンスを画像として保存しない
response.raise_for_status()
# 拡張子はContent-Typeから決める(png / jpeg)
suffix = "png" if response.headers.get("Content-Type") == "image/png" else "jpg"
with open(f"{attachment['id']}.{suffix}", "wb") as f:
f.write(response.content)
curl -X 'GET' \
"https://api.rokadoc.ntt.com/v1/api/agentflow/message/${MESSAGE_ID}/attachments/${ATTACHMENT_ID}" \
-H "api-key: ${ROKADOC_API_KEY}" \
-o "attachment.jpg"
Response
200 OK - 画像バイナリ
Content-Type:image/pngまたはimage/jpegCache-Control:private, max-age=86400ETag: 画像の内容から算出した検証子- ボディ: 画像のバイナリデータ
404 Not Found - 添付ファイルが存在しない、または権限がない
{
"error": {
"code": 404,
"message": "Not Found",
"details": "リソースが見つかりませんでした。"
}
}
注意事項
Content-Typeは保存時のファイル拡張子から決まります。.pngはimage/png、それ以外はimage/jpegを返しますattachment_idは指定したmessage_idの添付に限定されます。別のメッセージの添付IDを指定しても 取得できません- 自分が作成していないチャットログの添付は取得できません(
space_admin=trueでスペース管理権限がある場合を除く) - 添付画像はユーザーごとの非公開データです。共有キャッシュ(CDN・プロキシ)に保存しないでください
- 変換済みドキュメントのページ画像・要素の切り出し画像を取得したい場合は、Conversion Files API の
GET /v1/user/conversions/{conversion_id}/part/jpegを利用してください