[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-chats\u002Ffiles\u002Fupload":3,"docs-tabs-chats\u002Ffiles\u002Fupload":6},{"content":4,"lastmod":5},"\n## Загрузить файл в чат\n\n`POST \u002Fv1\u002Fchats\u002F:chatId\u002Ffiles`\n\nЗагружает файл в чат. Содержимое передаётся в base64 и публикуется в чате как сообщение. Возвращает HTTP 201 с идентификатором и метаданными загруженного файла.\n\n## Параметры\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `chatId` (path) | number | да | ID чата. Получить: `POST \u002Fv1\u002Fchats` или `GET \u002Fv1\u002Fchats\u002Frecent` |\n\n## Поля запроса (body)\n\n| Поле | Тип | Обяз. | Описание |\n|------|-----|:-----:|---------|\n| `filename` | string | да | Имя файла с расширением |\n| `content` | string | да | Содержимое файла в кодировке base64 |\n| `message` | string | нет | Текст сообщения, прикреплённый к файлу в том же сообщении |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X POST https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fchats\u002F1001\u002Ffiles \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"filename\": \"report.pdf\",\n    \"content\": \"aGVsbG8=\",\n    \"message\": \"Отчёт за период\"\n  }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X POST https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fchats\u002F1001\u002Ffiles \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"filename\": \"report.pdf\",\n    \"content\": \"aGVsbG8=\",\n    \"message\": \"Отчёт за период\"\n  }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fchats\u002F1001\u002Ffiles', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    filename: 'report.pdf',\n    content: 'aGVsbG8=',\n    message: 'Отчёт за период',\n  }),\n})\n\nconst { success, data } = await res.json()\nconsole.log('File ID:', data.fileId)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fchats\u002F1001\u002Ffiles', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    filename: 'report.pdf',\n    content: 'aGVsbG8=',\n    message: 'Отчёт за период',\n  }),\n})\n\nconst { success, data } = await res.json()\nconsole.log('File ID:', data.fileId)\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data.fileId` | number | ID загруженного файла. Используйте для `GET \u002Fv1\u002Fchats\u002Ffiles\u002F:fileId` |\n| `data.name` | string | Имя файла |\n| `data.size` | string | Размер файла в байтах |\n| `data.downloadUrl` | string | Ссылка для скачивания файла |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"fileId\": 9265,\n    \"name\": \"report.pdf\",\n    \"size\": \"24576\",\n    \"downloadUrl\": \"https:\u002F\u002FYOUR_PORTAL.bitrix24.tech\u002Frest\u002Fdownload\u002F?token=...\"\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n400 — не переданы обязательные поля:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"MISSING_PARAMS\",\n    \"message\": \"Required: filename (string) and content (base64-encoded file content)\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `MISSING_PARAMS` | Не переданы обязательные поля `filename` или `content` |\n| 404 | `FOLDER_NOT_FOUND` | Папка чата на Диске не найдена |\n| 500 | `UPLOAD_FAILED` | Загрузка файла не выполнена |\n| 422 | `BITRIX_ERROR` | Ошибка Битрикс24 при загрузке |\n| 403 | `SCOPE_DENIED` | Ключу не хватает скоупа `im` |\n| 401 | `TOKEN_MISSING` | Ключ не имеет настроенных токенов Битрикс24 |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Три шага за один вызов.** Загрузка выполняется в три шага: получение папки чата, загрузка файла на Диск, публикация в чате. При сбое на любом шаге возвращается соответствующая ошибка.\n\n**Параметр `message`.** Передав `message`, вы прикрепляете текст к тому же сообщению, что и файл. Отдельного вызова для отправки текста не нужно.\n\n**Base64 и размер тела.** Кодировка base64 увеличивает размер тела запроса примерно на 33% по сравнению с исходным файлом.\n\n## Смотрите также\n\n- [Файлы чатов](\u002Fdocs\u002Fchats\u002Ffiles)\n- [Метаданные файла](\u002Fdocs\u002Fchats\u002Ffiles\u002Ffile-get)\n- [Папка чата на Диске](\u002Fdocs\u002Fchats\u002Ffiles\u002Ffolder)\n- [Отправить сообщение](\u002Fdocs\u002Fchats\u002Fmessages\u002Fsend)\n","2026-06-23",{}]