Загрузка файлов

POST/uploads

Возвращает URL для последующей загрузки файла

Поддерживаются два типа загрузки:

Пример получения ссылки для загрузки:

BASH
Скопировать
curl -X POST "https://platform-api.max.ru/uploads?type=file" \ -H "Authorization: {access_token}"

Пример загрузки файла по полученному URL:

BASH
Скопировать
curl -X POST "%UPLOAD_URL%" \ -H "Authorization: {access_token}" \ -F "data=@example.mp4"

Пример использования cURL для загрузки файла (вариант multipart upload):

SHELL
Скопировать
curl -i -X POST \ -H "Content-Type: multipart/form-data" \ -F "data=@movie.pdf" "%UPLOAD_URL%"

Где %UPLOAD_URL% — это URL из результата метода в примере cURL запроса

Для загрузки видео и аудио:

  1. Когда получаем ссылку на загрузку видео или аудио (POST /uploads с type = video или type = audio), вместе с url в ответе приходит token, который нужно использовать в сообщении (когда формируете body с attachments) в POST /messages.

  2. После загрузки видео или аудио (по url из шага выше) сервер возвращает retval

  3. C этого момента можно использовать token, чтобы прикреплять вложение в сообщение бота

Механика отличается от type = image | file, где token возвращается в ответе на загрузку изображения или файла

Прикрепление медиа

Медиафайлы прикрепляются к сообщениям поэтапно:

  1. Получите URL для загрузки медиафайлов
  2. Загрузите файл по полученному URL
  3. После успешной загрузки получите JSON-объект в ответе. Используйте этот объект для создания вложения. Структура вложения:
    • type: тип медиа (например, "video")
    • payload: JSON-объект, который вы получили

Пример для видео:

  1. Получите URL для загрузки:
BASH
Скопировать
curl -X POST "https://platform-api.max.ru/uploads?type=video" \ -H "Authorization: {access_token}"

Ответ:

JSON
Скопировать
{ "url": "https://vu.mycdn.me/upload.do…" }
  1. Загрузите видео по URL:
BASH
Скопировать
curl -X POST \ -H "Content-Type: multipart/form-data" \ -F "data=@movie.mp4" \ "https://vu.mycdn.me/upload.do?sig={signature}&expires={timestamp}"

Ответ:

JSON
Скопировать
{ "token": "_3Rarhcf1PtlMXy8jpgie8Ai_KARnVFYNQTtmIRWNh4" }
  1. Отправьте сообщение с вложением:
JSON
Скопировать
{ "text": "Message with video", "attachments": [ { "type": "video", "payload": { "token": "_3Rarhcf1PtlMXy8jpgie8Ai_KARnVFYNQTtmIRWNh4" } } ] }

Авторизация

access_token
apiKey

Передача токена через query-параметры больше не поддерживается — используйте заголовок Authorization: <token>

Токен для вызова HTTP-запросов присваивается при создании бота — его можно найти в разделе платформы MAX для партнёров Чат-бот и мини-приложениеНастроить

Рекомендуем не разглашать токен посторонним, чтобы они не получили доступ к управлению ботом. Токен может быть отозван за нарушение Правил платформы

Параметры

type
enum UploadType

Enum: "image" "video" "audio" "file"

Тип загружаемого файла

Результат

url
string

URL для загрузки файла

token
string optional

Видео- или аудио-токен для отправки сообщения