Медиафайлы

Обзор медиафайлов

Загрузка фото и видео для объявлений через API

Медиафайлы — обязательная часть объявлений. Для публикации нужно минимум 3 фотографии. API поддерживает два способа загрузки и автоматически оптимизирует все файлы.

Вам не нужно оптимизировать фото перед загрузкой — загружайте оригиналы.

Способы загрузки

СпособКогда использоватьОписание
URL в объявленииВсегда, когда возможноСамый простой — передайте URL прямо при создании объявления
Импорт по URLЗагрузка заранееЗагрузите фото отдельно, потом привяжите к объявлению
Signed URLЗагрузка с локального дискаДля файлов без публичного URL

Рекомендация: Передавайте URL фотографий прямо при создании объявления — система загрузит их автоматически. Это самый простой способ.

Поддерживаемые форматы

Изображения

JPEG, PNG, WebP, HEIC и другие популярные форматы.

Видео

MP4, AVI, MOV — до 3 минут.

Ограничения

ПараметрЗначение
Минимум фото для публикации3
Максимум фото на объявление20
Файлов в одном запроседо 100
Срок действия signed URL30 минут

Типичный сценарий

Рекомендуемый подход — в одном запросе:

PUT /listings
→ передаём files: [{ url: "https://..." }] и announcementStatus: "active"
→ система автоматически загрузит и оптимизирует фото

Альтернативный подход — раздельная загрузка:

1. Загрузить фото → POST /media/bulk
   → с операцией upload-from-url

2. Привязать к объявлению → PUT /listings
   → передаём files: [{ id: 123 }] или [{ externalFileId: "..." }]

Структура медиафайла

После загрузки и оптимизации файл содержит:

{
  "id": 123,
  "externalId": "photo-001",
  "size": 245000,
  "contentType": "image/jpeg",
  "optimization": "success",
  "blurhash": "L7HuX^zY1z-6ADx?0z2@1Io#{yV_",
  "originalUrl": "https://storage.../original.jpg",
  "variants": [
    { "url": "https://storage.../128.webp", "variantSize": "128", "size": 4074 },
    { "url": "https://storage.../512.webp", "variantSize": "512", "size": 32850 },
    { "url": "https://storage.../1024.webp", "variantSize": "1024", "size": 98500 }
  ]
}
ПолеОписание
idВнутренний ID файла
externalIdВаш ID из CRM
optimizationСтатус оптимизации
blurhashСтрока для генерации плейсхолдера
originalUrlСсылка на оригинал
variantsОптимизированные версии разных размеров

API Endpoints

МетодПутьОписание
POST/media/upload-from-urlИмпорт по URL
POST/media/bulkBulk операции (upload-from-url, confirm-upload, и др.)
POST/media/request-upload-urlSigned URL
GET/media/:idПолучить файл
GET/media/external/:externalIdПолучить по external ID
DELETE/media/:idУдалить файл
DELETE/media/external/:externalIdУдалить по external ID
POST/media/:id/linkПривязать external ID
DELETE/media/:id/linkОтвязать external ID

Следующие шаги

Copyright © 2026