АНО ЦСВМ
Документация API
REST API работает на том же хосте, что и backend. Все пути ниже указаны относительно backend URL. Для запросов с авторизацией браузер должен передавать cookies.
Публичный контент
GET
/api/sectionsОпубликованные разделы страниц. Поддерживает стандартные параметры Payload: where, sort, depth и limit.GET
/api/education-programsОпубликованные и видимые образовательные программы.GET
/api/globals/landing-galleryГалерея главной страницы.curl 'https://back.example.ru/api/sections?where[page][equals]=about&sort=order&depth=2&limit=100'Списки Payload возвращаются в объекте с полем docs и данными пагинации. Неопубликованные и скрытые записи публичному клиенту не выдаются.
Авторизация
POST
/api/auth/registerРегистрация пользователя. Поля: fullName, email, password, passwordConfirmation.POST
/api/users/loginВход по email и password. В ответ устанавливается cookie сессии.GET
/api/users/meТекущий пользователь. Запрос должен передавать cookie сессии.POST
/api/users/logoutЗавершение текущей сессии.curl -X POST 'https://back.example.ru/api/users/login' \
-H 'Content-Type: application/json' \
-c cookies.txt \
-d '{"email":"user@example.ru","password":"password"}'Обратная связь
POST
/api/feedback-submitПубличная отправка обращения. Поля: fullName, phone, email; website — honeypot и должен быть пустым.curl -X POST 'https://back.example.ru/api/feedback-submit' \
-H 'Content-Type: application/json' \
-d '{"fullName":"Иван Иванов","phone":"+79990000000","email":"ivan@example.ru","website":""}'Ограничение: не более пяти попыток с одного IP за 15 минут.
Ошибки
Пользовательские endpoints возвращают JSON с машиночитаемым кодом и русским сообщением. Ошибки валидации обычно имеют статус 422, превышение лимита — 429.
{
"error": {
"code": "INVALID_EMAIL",
"message": "Укажите корректную электронную почту"
}
}