К содержимому

REST API

Медиа и загрузки

Правила загрузки вложений, URL файлов и доступ, скачивание видео на сервере.

Отдельного метода загрузки нет: файлы отправляются как attachments[] (multipart) в POST /api/conversations/{id}/messages, до 10 на сообщение.

bash
curl -X POST https://minchatapp.com/api/conversations/12/messages \
  -H "Authorization: Bearer $TOKEN" -H 'Accept: application/json' \
  -F 'content=Forecast map' \
  -F 'attachments[]=@map.png' \
  -F 'attachments[]=@notes.pdf' 
ТипПравила
Изображенияjpeg/png/gif/webp/bmp/tiff, ужимаются до 1280 px по большей стороне
Видеоmp4/mov/avi/webm/mkv/… ≤ 500 МБ; перекодируются в H.264/AAC MP4 с постером
Аудио / голосmp3/m4a/wav/ogg/webm/aac/flac; is_voice=1 + необязательный waveform_data; длительность и волна извлекаются
Файлы≤ 50 МБ; исполняемые файлы, скрипты, HTML/SVG/XML отклоняются

Объект вложения: id (UUID), type (image, video, audio, file), url, name, size, mime_type, опционально width/height, duration, poster, is_voice, waveform. URL стабильные (/storage/media/…) и требуют Bearer (или cookie веб-сессии); участники чата — или все, для публичного канала — получают файл, остальные — 403.

Методы#

GET /storage/{path} #

Скачать вложение

Токен необязателен

Стабильный URL вложения из attachments[].url (/storage/media/xx/yy/<sha256>.<ext>). Передавайте Authorization: Bearer (веб — сессия / cookie mc_media). Доступно участникам чата (или всем для публичного канала), иначе 403.

Параметры

Имя Тип Описание
path
обязательный путь
string
Путь к файлу.

Запрос

curl
curl 'https://minchatapp.com/storage/media/32/fd/32fd…a1.jpg' \
  -H 'Accept: application/json'

Ответ

Отвечает HTTP 200.

GET /api/files/{path} #

Скачать вложение (старый URL)

Токен необязателен

То же, что /storage/{path}; оставлено для URL из кешей старых клиентов.

Параметры

Имя Тип Описание
path
обязательный путь
string
Путь к файлу.

Запрос

curl
curl 'https://minchatapp.com/api/files/media/32/fd/32fd…a1.jpg' \
  -H 'Accept: application/json'

Ответ

Отвечает HTTP 200.

POST /api/video-downloads #

Скачать видео по ссылке

Bearer-токен Лимит: 20/min

Скачивание на сервере (YouTube и др. через yt-dlp). Возвращает 202 со статусом; следите за VideoDownloadUpdated или опрашивайте. Внутренние адреса отклоняются (422).

Параметры

Имя Тип Описание
url
обязательный тело
string
URL страницы видео.
URLmax 2048 chars
provider
необязательный тело
string
Провайдер (по умолчанию generic).
max 50 chars

Запрос

curl
curl -X POST 'https://minchatapp.com/api/video-downloads' \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"}'

Ответ

HTTP 422 · bad
{
  "success": false,
  "code": "video.invalid_url",
  "error": "Invalid link",
  "message": "Invalid link"
}
GET /api/video-downloads/{videoDownload} #

Статус скачивания видео

Bearer-токен

status: pending, downloading, completed, failed.

Параметры

Имя Тип Описание
videoDownload
обязательный путь
integer
id скачивания.

Запрос

curl
curl 'https://minchatapp.com/api/video-downloads/7' \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Accept: application/json'

Ответ

Отвечает HTTP 200.

GET /api/video-downloads/{videoDownload}/stream #

Скачать файл видео

Bearer-токен

MP4 вложением, только при completed.

Параметры

Имя Тип Описание
videoDownload
обязательный путь
integer
id скачивания.

Запрос

curl
curl 'https://minchatapp.com/api/video-downloads/7/stream' \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Accept: application/json'

Ответ

Отвечает HTTP 200.

DELETE /api/video-downloads/{videoDownload} #

Удалить скачанное видео

Bearer-токен

Параметры

Имя Тип Описание
videoDownload
обязательный путь
integer
id скачивания.

Запрос

curl
curl -X DELETE 'https://minchatapp.com/api/video-downloads/7' \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Accept: application/json'

Ответ

Отвечает HTTP 200.

GET /api/videos/{token} #

Стрим скачанного видео

Без авторизации Лимит: 120/min

Публично по 48-символьному токену, поддерживает HTTP Range. ?dl=1 — скачать.

Параметры

Имя Тип Описание
token
обязательный путь
string
Токен из ссылки.
dl
необязательный query
boolean
Скачать файлом.

Запрос

curl
curl 'https://minchatapp.com/api/videos/KRNaDjeuvS2A' \
  -H 'Accept: application/json'

Ответ

Отвечает HTTP 200.