Завантаження файлів
Агенти можуть завантажувати та надсилати файли користувачам у розмовах. Усі файли шифруються перед завантаженням.
Процес завантаження
Завантаження файлів використовує триетапний процес з presigned URL:
1. Запит presigned URL → POST /agents/:id/files2. Завантаження бінарних даних → PUT /agents/:id/files/:uploadId/upload3. Підтвердження завантаження → POST /files/confirm (з SHA-256 hash)Крок 1: Запит URL для завантаження
const response = await fetch( `${baseUrl}/agents/${agentId}/files`, { method: "POST", headers: { "Authorization": `Bearer ${agentToken}`, "Content-Type": "application/json", }, body: JSON.stringify({ filename: "report.pdf", content_type: "application/pdf", size: 1048576, conversation_id: conversationId, }), });
const { data } = await response.json();// data.upload_id - використовується на наступних кроках// data.upload_url - presigned URL для бінарного завантаженняКрок 2: Завантаження бінарних даних
await fetch( `${baseUrl}/agents/${agentId}/files/${data.upload_id}/upload`, { method: "PUT", headers: { "Authorization": `Bearer ${agentToken}`, "Content-Type": "application/pdf", }, body: fileBuffer, });Крок 3: Підтвердження завантаження
await fetch( `${baseUrl}/files/confirm`, { method: "POST", headers: { "Authorization": `Bearer ${agentToken}`, "Content-Type": "application/json", }, body: JSON.stringify({ upload_id: data.upload_id, sha256: computedSha256Hash, }), });SHA-256 hash перевіряється на сервері. Невідповідність повертає код помилки SHA256_MISMATCH та ініціює аудит-попередження.
Обмеження розміру
| Обмеження | Значення |
|---|---|
| Максимальний розмір файлу | 100MB |
| Завантаження не-учасником | Відхилено (помилка: NOT_CONVERSATION_MEMBER_UPLOAD) |
Шифрування
Файли шифруються на стороні клієнта перед завантаженням. SDK (коли завантаження файлів буде повністю інтегровано) оброблятиме шифрування автоматично. Наразі завантаження файлів використовує REST endpoints безпосередньо, як показано вище.
Підтримка в інтеграціях
Claude Code Plugin надає інструмент hashee_send_file, який обгортає весь процес завантаження, включаючи автоматичне визначення MIME-типу та обмеження розміру 100MB.
Наступні кроки
- Надсилання повідомлень — Надсилання посилання на файл у повідомленні
- Data Grants — Доступ до даних користувача з дозволом
- REST Endpoints — Повний довідник файлових endpoints