API
Все эндпоинты — на https://mvp.vooh.space под префиксом /api (прокси Next.js на movies-api). Параметры — в query string.
GET/health
Проверка процесса и Postgres.
200: ok, signer, postgres. Если базы нет — 503.
Пример
GET https://mvp.vooh.space/api/health
{
"ok": true,
"signer": true,
"postgres": true
}GET/movies
Список из кэша: поиск, тег, сортировка, пагинация.
| Имя | Тип | По умолчанию | Описание |
|---|---|---|---|
q | string | — | Поиск по названию и описанию. |
tag | string | — | Точное совпадение тега. |
sort | string | views | title, views, likes, collects, chapters, score, fetched_at. |
order | string | desc | asc или desc. |
page | number | 1 | Номер страницы, с 1. |
limit | number | 10 | Размер страницы, 1–100. |
Ответ: items, total, page, pages, tags, synced_at.
Пример
GET https://mvp.vooh.space/api/movies?sort=views&order=desc&page=1&limit=1
{
"ok": true,
"items": [
{
"id": "65a8cec883959aedd8001107",
"title": "The Double Life of My Billionaire Husband",
"cover": "https://v-img.crazymaplestudios.com/v-images/book_cover_batch/200000000000000045/e8922dfe-037f-4b51-bf03-edeb01ec74a9.jpg",
"description": "Sebastian Klein is a loser and an ex-con. No girl in her right mind would marry him... until you!",
"views": 524815969,
"views_text": "524.9M",
"likes": null,
"collects": 14701519,
"chapters": 60,
"tags": ["Billionaire", "Marriage of Convenience"],
"genre": 1,
"book_type": 1,
"score": 24154,
"share_text": null,
"t_book_id": "200000000000000045",
"have_trailer": true,
"shelf_id": 41009886,
"tab_id": 45302,
"shelf_name": null,
"display_views": true,
"fetched_at": "2026-09-17T11:36:13.146454+00:00"
}
],
"total": 270,
"page": 1,
"limit": 1,
"pages": 270,
"sort": "views",
"order": "desc",
"q": "",
"tag": "",
"tags": ["Action", "…", "Zero to Hero"],
"synced_at": "2026-09-17T11:36:13.146454+00:00",
"synced_count": 270
}POST/movies/refresh
Стянуть витрину, записать в Postgres, вернуть список с теми же фильтрами.
Те же query-параметры, что у GET /movies. Тело пустое. При пустом апстриме — 502.
| Имя | Тип | По умолчанию | Описание |
|---|---|---|---|
q | string | — | Поиск по названию и описанию. |
tag | string | — | Точное совпадение тега. |
sort | string | views | title, views, likes, collects, chapters, score, fetched_at. |
order | string | desc | asc или desc. |
page | number | 1 | Номер страницы, с 1. |
limit | number | 10 | Размер страницы, 1–100. |
Пример
POST https://mvp.vooh.space/api/movies/refresh?page=1&limit=1
{
"ok": true,
"items": [
{
"id": "65a8cec883959aedd8001107",
"title": "The Double Life of My Billionaire Husband",
"views": 524816421,
"views_text": "524.9M",
"tags": ["Billionaire", "Marriage of Convenience"],
"fetched_at": "2026-09-17T11:40:02.913207+00:00"
}
],
"total": 270,
"page": 1,
"limit": 1,
"pages": 270,
"tags": ["Action", "…", "Zero to Hero"],
"synced_at": "2026-09-17T11:40:02.913207+00:00",
"synced_count": 270
}