Skip to content

Аплоад файлов

Endpoint

POST /bot/files/upload

Это отдельный bot-only upload endpoint.

Auth

http
Authorization: Bearer <token>

Request format

multipart/form-data, поле формы: files

Пример upload файла через curl

bash
curl -X POST \
  -H "Authorization: Bearer <token>" \
  -F "files=@invoice.pdf" \
  https://public-api.hcapp.ee/bot/files/upload

Можно передать несколько файлов:

bash
curl -X POST \
  -H "Authorization: Bearer <token>" \
  -F "files=@invoice.pdf" \
  -F "files=@photo.jpg" \
  https://public-api.hcapp.ee/bot/files/upload

Файл не обязан быть привязан к задаче в момент upload.
Позже file_id можно передать в POST /bot/forms/{form_id}/tasks.

Response body

Каждый объект файла содержит:

json
{
  "file_id": 9001,
  "filename": "invoice.pdf",
  "url": "https://public-api.hcapp.ee/uploads/9001",
  "temp_url": "https://public-api.hcapp.ee/uploads/temp/9001",
  "expired_at": "2026-03-29T10:00:00+00:00"
}
json
{
  "success": true,
  "error_message": null,
  "data": [
    {
      "file_id": 9001,
      "filename": "invoice.pdf",
      "url": "https://public-api.hcapp.ee/uploads/9001",
      "temp_url": "https://public-api.hcapp.ee/uploads/temp/9001",
      "expired_at": "2026-03-29T10:00:00+00:00"
    }
  ]
}

Ограничения

  • До 20 MB на файл
  • Rate limit: 10/min

Разрешенные расширения:

  • .pdf
  • .png
  • .jpg
  • .jpeg
  • .gif
  • .webp
  • .txt
  • .csv
  • .doc
  • .docx
  • .xls
  • .xlsx
  • .html
  • .mp3
  • .wav
  • .m4a
  • .ogg
  • .mp4
  • .mov
  • .webm

Проверяются и extension, и content_type.

Ошибки

  • 400 No files provided
  • 400 File extension is not allowed: ...
  • 400 File too large. Up to 20MB allowed
  • 400 Invalid file content type for .ext: ...
  • 429 Rate limit exceeded. Retry after {seconds} seconds