Справочник: медиа
Ручки сайта: $API/site/$SITE/media…. Работу с файлами выполняет исполнитель на домене сайта. Удаления в API v2 нет — см. медиа.
POST /media
| Поле | Смысл |
|---|---|
url | адрес источника (http/https, не внутренний) |
data | base64 или data:-URI; вместе с url нельзя |
filename | обязателен с data |
alt, title, lang | применяются только при создании |
curl -s -X POST "$API/site/$SITE/media" \
-H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
-d '{"url": "https://onpress.pro/wp-content/uploads/2026/05/ccae29ae_1778004215.png", "alt": "Схема сборки страницы", "title": "schema", "lang": "en"}'
{
"success": true,
"site_id": "x9HTLHECq",
"id": 6449,
"url": "https://test.onpress.pro/wp-content/uploads/sites/233/2026/09/ccae29ae_1778004215.png",
"path": "/wp-content/uploads/sites/233/2026/09/ccae29ae_1778004215.png",
"mime": "image/png",
"width": 1400,
"height": 1207,
"filesize": "…",
"webp": "/wp-content/uploads/sites/233/2026/09/ccae29ae_1778004215.webp",
"sizes": {
"medium": { "path": "/wp-content/uploads/sites/233/2026/09/ccae29ae_1778004215-300x259.png", "width": 300, "height": 259, "mime": "image/png", "webp": "/wp-content/uploads/sites/233/2026/09/ccae29ae_1778004215-300x259.webp" },
"onpress_sm": { "path": "…-768x662.png", "width": 768, "height": 662, "mime": "image/png", "webp": "…-768x662.webp" }
},
"alt": "Схема сборки страницы",
"title": "schema",
"lang": "en",
"source_urls": ["https://onpress.pro/wp-content/uploads/2026/05/ccae29ae_1778004215.png"],
"sha256": "…",
"deduped": false
}
Повтор — то же вложение с deduped: true и deduped_by (source_url или sha256). Отказы: 400 source_required, 400 source_ambiguous, 400 filename_required, 400 bad_url, 400 bad_data, 400 bad_field, 400 unknown_language, 400/422 empty_file, 413 file_too_large, 415 unsupported_type, 422 unsafe_svg, 422 source_not_found, 422 download_failed, 422 sideload_failed, 502 media_failed, 502/503 media_unavailable.
GET /media
Без source_url и sha256 — список медиатеки.
| Параметр | По умолчанию | Смысл |
|---|---|---|
page | 1 | страница выдачи |
per_page | 50 | до 100 |
search | — | имя файла, заголовок, подпись, описание; до 200 символов |
type | — | image, video, audio, document, other или точный mime |
orderby | date | date, name, id |
order | desc | desc, asc |
curl -s -H "Authorization: Bearer $OP_TOKEN" "$API/site/$SITE/media?per_page=1"
{
"success": true,
"site_id": "x9HTLHECq",
"page": 1,
"per_page": 1,
"total": 39,
"pages": 39,
"mime_groups": { "image": 39, "video": 0, "audio": 0, "document": 0, "other": 0 },
"items": [
{ "id": 5829, "url": "https://test.onpress.pro/wp-content/uploads/sites/233/2025/12/12lskdmc.jpg", "path": "/wp-content/uploads/sites/233/2025/12/12lskdmc.jpg", "filename": "12lskdmc.jpg", "title": "12lskdmc", "mime": "image/jpeg", "width": 822, "height": 616, "filesize": 95166, "date": "2025-12-16 16:12:31", "modified": "2025-12-16 16:12:31", "alt": "", "lang": "en", "thumb": "https://test.onpress.pro/wp-content/uploads/sites/233/2025/12/12lskdmc-300x225.jpg", "webp": null }
]
}
date и modified — GMT. Отказы: 400 bad_page, 400 bad_per_page, 400 bad_search, 400 bad_type, 400 bad_orderby, 400 bad_order.
Поиск по источнику или содержимому: GET /media?source_url=<адрес> или GET /media?sha256=<64 hex> — ответ формы POST /media с deduped: false; не найдено — 404 media_not_found; кривые параметры — 400 bad_source_url, 400 bad_sha256.
GET /media/{id}
Любое вложение сайта, со всеми размерами. У загруженных не через API source_urls пуст, sha256 — null. Отказы: 400 bad_id, 404 media_not_found.