Перейти к содержимому

API для разработчиков

Интегрируйте Vrooki в ваши приложения с помощью нашего REST API

Обзор

API Vrooki предоставляет программный доступ к основным функциям платформы: управление объявлениями, поиск, работа с пользователями и категориями. API построен на принципах REST и возвращает данные в формате JSON.

Base URL
https://api.vrooki.ru
Формат
JSON (UTF-8)
Протокол
HTTPS only
Версия
v1 (текущая)

Аутентификация

API использует JWT-токены для аутентификации. Получите пару токенов (access + refresh) через эндпоинт авторизации и передавайте access-токен в заголовке каждого запроса.

# Получение токеновPOST /api/v1/auth/loginContent-Type: application/json{ "email": "user@example.com", "password": "secret" }
# Использование токенаGET /api/v1/users/meAuthorization: Bearer <access_token>
Access-токен действует 15 минут. Используйте /api/v1/auth/refresh с refresh-токеном для обновления.

Эндпоинты

МетодПутьОписание
GET/api/v1/listingsСписок объявлений с пагинацией и фильтрами
GET/api/v1/listings/{id}Получение объявления по ID
POST/api/v1/listingsСоздание нового объявления
PATCH/api/v1/listings/{id}Обновление объявления
GET/api/v1/categoriesСписок всех категорий

Примеры кода

Python
import requests

BASE = "https://api.vrooki.ru"

# Авторизация
resp = requests.post(f"{BASE}/api/v1/auth/login", json={
    "email": "user@example.com",
    "password": "secret"
})
token = resp.json()["access_token"]
headers = {"Authorization": f"Bearer {token}"}

# Поиск объявлений
results = requests.post(
    f"{BASE}/api/v1/search",
    json={"q": "велосипед", "limit": 10},
    headers=headers
)
print(results.json())
JavaScript
const BASE = "https://api.vrooki.ru";

// Авторизация
const auth = await fetch(`${BASE}/api/v1/auth/login`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    email: "user@example.com",
    password: "secret"
  })
});
const { access_token } = await auth.json();

// Поиск объявлений
const res = await fetch(`${BASE}/api/v1/search`, {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    Authorization: `Bearer ${access_token}`
  },
  body: JSON.stringify({ q: "велосипед", limit: 10 })
});
console.log(await res.json());

Лимиты запросов

ТарифЗапросов / минЗапросов / деньПараллельных
Бесплатный601 0005
Базовый30010 00020
Бизнес1 000100 00050
КорпоративныйПо запросуПо запросуПо запросу
При превышении лимита API вернёт 429 Too Many Requests. Используйте заголовки X-RateLimit-* для отслеживания лимитов.

Поддержка разработчиков

Нужна помощь с интеграцией? Наша команда готова помочь.