Для разработчиков
Медиа
К сообщениям можно прикреплять изображения, видео, аудио и произвольные файлы. Процесс двухшаговый: сначала загружаете файл и получаете media_id, затем передаёте список id в поле media_ids при отправке сообщения. Все медиа scoped к workspace — скачать файл можно только тем же API-ключом, которым он был загружен.
POST
/api/v1/media/uploadЗагрузить файл
Multipart-запрос с полем file. Лимит по умолчанию — 20 МБ на файл. Для изображений сервер автоматически определяет width и height.
curl
curl -X POST https://api.support.forestsnet.com/api/v1/media/upload \
-H "Authorization: Bearer sk_xxx" \
-F "file=@/путь/к/screenshot.png"201 Created
{
"id": "m1...",
"url": "https://api.support.forestsnet.com/api/v1/media/m1...",
"mime_type": "image/png",
"original_name": "screenshot.png",
"file_type": "image",
"width": 1280,
"height": 720,
"size": 184523
}Python SDK
media = client.media.upload("/путь/к/screenshot.png")
print(media.id, media.url)GET
/api/v1/media/{media_id}Скачать файл
Возвращает бинарное содержимое файла с корректным заголовком Content-Type. Доступно только внутри того же workspace.
curl
curl -o file.png https://api.support.forestsnet.com/api/v1/media/m1... \
-H "Authorization: Bearer sk_xxx"Прикрепление к сообщению
После загрузки передайте полученные id в поле media_idsпри создании сообщения через любой из эндпоинтов POST /api/v1/tickets/{id}/messages или POST /api/v1/messages.
Python
# 1. Загружаем файл
up = requests.post(
f"{API}/media/upload",
headers=HEAD,
files={"file": open("screenshot.png", "rb")},
).json()
# 2. Отправляем сообщение с вложением
requests.post(
f"{API}/tickets/{ticket_id}/messages",
headers=HEAD,
json={"content": "Вот скриншот ошибки", "media_ids": [up["id"]]},
)Ответ сообщения с media
message object
{
"id": "f1...",
"content": "Вот скриншот ошибки",
"sender_type": "operator",
"is_internal": false,
"media": [
{
"id": "m1...",
"url": "https://api.support.forestsnet.com/api/v1/media/m1...",
"mime_type": "image/png",
"original_name": "screenshot.png",
"file_type": "image",
"width": 1280,
"height": 720
}
],
"created_at": "2026-04-07T09:00:00"
}Поле
file_type принимает значения image, video, audio, document — удобно для выбора UI-компонента отображения на вашей стороне.Была ли страница полезной?