Introduction
Документация Solr search API платформы RS Edu / RKI.
Авторизация не требуется. Маршруты без префикса /api.
Формат ответа
Успех и ошибка валидации оба приходят с HTTP 200. Смотрите поле success.
{
"success": true,
"message": "Текст сообщения",
"data": {}
}
{
"success": false,
"message": "Текст ошибки",
"errors": {}
}
Поиск возвращает data.{resource}.total (число найденных) и data.{resource}.data (страница документов).
Поиск
Параметры — query string (GET /books/get?search=грамматика&limit=20).
| Параметр | Описание |
|---|---|
search |
Строка eDisMax, оператор AND, mm из SOLR_MM (по умолчанию 75%) |
search_by[] |
Поля поиска (у каждого ядра свой набор по умолчанию) |
start |
Смещение (с нуля) |
limit |
Размер страницы, 1–1000, по умолчанию 20 |
fields[] |
Solr-поля выборки |
sort_by |
Поле сортировки; без него — релевантность |
levels_ids[] |
Уровни (OR; только книги) |
start_level / end_level |
Диапазон ID уровней (включительно; нет у книг) |
collections_ids[] |
Коллекции (OR) |
authors_ids[] |
Авторы (OR; нет у лексического минимума) |
Доступ организации: нужны оба параметра available и organization_id.
true — документ в organization_ids, false — нет. У лексического минимума фильтра нет.
Подсветка: если заданы search и fields[] с полями вроде title, name, word, description, совпадения оборачиваются в <b>.
Экспорт
GET /{resource}/export — .xlsx с теми же фильтрами.
Ядра Solr
books, worksheets, tests, interactives, materials, methodologies, dictionary_words
Authenticating requests
This API is not authenticated.
Общее
Сводные счётчики по Solr-ядрам.
Количество материалов по ядрам
Возвращает numFound по каждому ядру с теми же search / search_by, что у поиска.
Параметр exclude убирает одно ядро из ответа.
Example request:
curl --request GET \
--get "http://rsedu-srch-v1-api/total?search=%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0&search_by[]=title&exclude=dictionary_words" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://rsedu-srch-v1-api/total"
);
const params = {
"search": "грамматика",
"search_by[0]": "title",
"exclude": "dictionary_words",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Успех):
{
"success": true,
"message": "Получено количество материалов",
"data": {
"books": 120,
"worksheets": 84,
"tests": 41,
"interactives": 30,
"materials": 55,
"methodologies": 12,
"dictionary_words": 2000
}
}
Example response (200, Ошибка валидации):
{
"success": false,
"message": "The selected exclude is invalid."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Книги
Поиск и экспорт книг из Solr-ядра books.
Поиск книг
eDisMax по ядру books. По умолчанию ищет в title, description, authors;
keywords всегда добавляется. Дополнительно бустятся точные фразы и год издания.
Example request:
curl --request GET \
--get "http://rsedu-srch-v1-api/books/get?search=%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0&search_by[]=title&start=0&limit=20&fields[]=title&sort_by=year&category_id=3&categories_ids[]=3&levels_ids[]=1&collections_ids[]=10&authors_ids[]=1&publishers_ids[]=7&start_year=2020&end_year=2026&has_audios=1&has_videos=&available=1&organization_id=5" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://rsedu-srch-v1-api/books/get"
);
const params = {
"search": "грамматика",
"search_by[0]": "title",
"start": "0",
"limit": "20",
"fields[0]": "title",
"sort_by": "year",
"category_id": "3",
"categories_ids[0]": "3",
"levels_ids[0]": "1",
"collections_ids[0]": "10",
"authors_ids[0]": "1",
"publishers_ids[0]": "7",
"start_year": "2020",
"end_year": "2026",
"has_audios": "1",
"has_videos": "0",
"available": "1",
"organization_id": "5",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Успех):
{
"success": true,
"message": "Книги были успешно получены",
"data": {
"books": {
"total": 1,
"data": [
{
"id": "12",
"title": "Практическая грамматика",
"title_additional": null,
"description": "Учебник по грамматике русского языка",
"authors": "Иванов И. И.",
"publishers": "Русский язык",
"publication_type": "Учебник",
"year": 2024,
"cover": "https://rsedu.local/images/covers/12.jpg",
"categories": [
"Грамматика"
],
"levels": [
"B1"
],
"has_audios": true,
"has_videos": false
}
]
}
}
}
Example response (200, Ошибка валидации):
{
"success": false,
"message": "Параметр limit не должен превышать 1000."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Экспорт книг в Excel
Те же фильтры, что у поиска. Файл Экспорт книг.xlsx, выгрузка пачками по 700 документов.
Example request:
curl --request GET \
--get "http://rsedu-srch-v1-api/books/export?search=%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0&search_by[]=title&start=0&limit=20&fields[]=title&sort_by=year&category_id=3&categories_ids[]=3&levels_ids[]=1&collections_ids[]=10&authors_ids[]=1&publishers_ids[]=7&start_year=2020&end_year=2026&has_audios=1&has_videos=&available=1&organization_id=5" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://rsedu-srch-v1-api/books/export"
);
const params = {
"search": "грамматика",
"search_by[0]": "title",
"start": "0",
"limit": "20",
"fields[0]": "title",
"sort_by": "year",
"category_id": "3",
"categories_ids[0]": "3",
"levels_ids[0]": "1",
"collections_ids[0]": "10",
"authors_ids[0]": "1",
"publishers_ids[0]": "7",
"start_year": "2020",
"end_year": "2026",
"has_audios": "1",
"has_videos": "0",
"available": "1",
"organization_id": "5",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Excel-файл):
{}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Рабочие листы
Поиск и экспорт рабочих листов из Solr-ядра worksheets.
Поиск рабочих листов
По умолчанию ищет в name, description, authors.
categories_ids[] фильтрует Solr-поле category_id.
durations[] фильтрует Solr-поле duration (OR).
Example request:
curl --request GET \
--get "http://rsedu-srch-v1-api/worksheets/get?search=%D0%BF%D0%B0%D0%B4%D0%B5%D0%B6%D0%B8&search_by[]=name&start=0&limit=20&fields[]=title&sort_by=name&category_id=3&categories_ids[]=3&start_level=1&end_level=3&collections_ids[]=10&authors_ids[]=1&collection_id=10&available=1&organization_id=5&has_audios=1&has_videos=&durations[]=45" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://rsedu-srch-v1-api/worksheets/get"
);
const params = {
"search": "падежи",
"search_by[0]": "name",
"start": "0",
"limit": "20",
"fields[0]": "title",
"sort_by": "name",
"category_id": "3",
"categories_ids[0]": "3",
"start_level": "1",
"end_level": "3",
"collections_ids[0]": "10",
"authors_ids[0]": "1",
"collection_id": "10",
"available": "1",
"organization_id": "5",
"has_audios": "1",
"has_videos": "0",
"durations[0]": "45",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Успех):
{
"success": true,
"message": "Рабочие листы успешно получены",
"data": {
"worksheets": {
"total": 1,
"data": [
{
"id": "8",
"name": "Падежи: дательный",
"description": "Рабочий лист",
"authors": "Петрова А. А.",
"cover": "https://rsedu.local/images/covers/8.jpg",
"category_id": 3,
"categories": [
"Грамматика"
],
"levels": [
"A2"
],
"duration": 45,
"has_audios": false,
"has_videos": false
}
]
}
}
}
Example response (200, Ошибка валидации):
{
"success": false,
"message": "Параметр start должен быть целым числом."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Экспорт рабочих листов в Excel
Те же фильтры, что у поиска. Файл Экспорт рабочих листов.xlsx.
Example request:
curl --request GET \
--get "http://rsedu-srch-v1-api/worksheets/export?search=%D0%BF%D0%B0%D0%B4%D0%B5%D0%B6%D0%B8&search_by[]=name&start=0&limit=20&fields[]=title&sort_by=name&category_id=3&categories_ids[]=3&start_level=1&end_level=3&collections_ids[]=10&authors_ids[]=1&collection_id=10&available=1&organization_id=5&has_audios=1&has_videos=&durations[]=45" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://rsedu-srch-v1-api/worksheets/export"
);
const params = {
"search": "падежи",
"search_by[0]": "name",
"start": "0",
"limit": "20",
"fields[0]": "title",
"sort_by": "name",
"category_id": "3",
"categories_ids[0]": "3",
"start_level": "1",
"end_level": "3",
"collections_ids[0]": "10",
"authors_ids[0]": "1",
"collection_id": "10",
"available": "1",
"organization_id": "5",
"has_audios": "1",
"has_videos": "0",
"durations[0]": "45",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Excel-файл):
{}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Тесты
Поиск и экспорт тестов из Solr-ядра tests.
Поиск тестов
По умолчанию ищет в name, description, authors.
categories_ids[] фильтрует Solr-поле category_id.
Example request:
curl --request GET \
--get "http://rsedu-srch-v1-api/tests/get?search=%D0%B0%D1%83%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&search_by[]=name&start=0&limit=20&fields[]=title&sort_by=name&category_id=3&categories_ids[]=3&start_level=1&end_level=3&collections_ids[]=10&authors_ids[]=1&collection_id=10&available=1&organization_id=5&has_audios=1&has_videos=&duration=60" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://rsedu-srch-v1-api/tests/get"
);
const params = {
"search": "аудирование",
"search_by[0]": "name",
"start": "0",
"limit": "20",
"fields[0]": "title",
"sort_by": "name",
"category_id": "3",
"categories_ids[0]": "3",
"start_level": "1",
"end_level": "3",
"collections_ids[0]": "10",
"authors_ids[0]": "1",
"collection_id": "10",
"available": "1",
"organization_id": "5",
"has_audios": "1",
"has_videos": "0",
"duration": "60",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Успех):
{
"success": true,
"message": "Тесты успешно получены",
"data": {
"tests": {
"total": 1,
"data": [
{
"id": "4",
"name": "Тест по аудированию",
"description": "Проверка понимания на слух",
"authors": "Сидоров С. С.",
"category_id": 5,
"categories": [
"Аудирование"
],
"levels": [
"B1"
],
"duration": 60,
"has_audios": true,
"has_videos": false
}
]
}
}
}
Example response (200, Ошибка валидации):
{
"success": false,
"message": "Параметр start должен быть целым числом."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Экспорт тестов в Excel
Те же фильтры, что у поиска. Файл Экспорт тестов.xlsx.
Example request:
curl --request GET \
--get "http://rsedu-srch-v1-api/tests/export?search=%D0%B0%D1%83%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&search_by[]=name&start=0&limit=20&fields[]=title&sort_by=name&category_id=3&categories_ids[]=3&start_level=1&end_level=3&collections_ids[]=10&authors_ids[]=1&collection_id=10&available=1&organization_id=5&has_audios=1&has_videos=&duration=60" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://rsedu-srch-v1-api/tests/export"
);
const params = {
"search": "аудирование",
"search_by[0]": "name",
"start": "0",
"limit": "20",
"fields[0]": "title",
"sort_by": "name",
"category_id": "3",
"categories_ids[0]": "3",
"start_level": "1",
"end_level": "3",
"collections_ids[0]": "10",
"authors_ids[0]": "1",
"collection_id": "10",
"available": "1",
"organization_id": "5",
"has_audios": "1",
"has_videos": "0",
"duration": "60",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Excel-файл):
{}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Интерактивы
Поиск и экспорт интерактивов из Solr-ядра interactives. Фильтра по категории нет — в ответе только подписи.
Поиск интерактивов
По умолчанию ищет в name, description, authors, content.
Example request:
curl --request GET \
--get "http://rsedu-srch-v1-api/interactives/get?search=%D0%B3%D0%BB%D0%B0%D0%B3%D0%BE%D0%BB%D1%8B&search_by[]=name&start=0&limit=20&fields[]=title&sort_by=name&start_level=1&end_level=3&collections_ids[]=10&authors_ids[]=1&collection_id=10&available=1&organization_id=5&has_audios=1&has_videos=" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://rsedu-srch-v1-api/interactives/get"
);
const params = {
"search": "глаголы",
"search_by[0]": "name",
"start": "0",
"limit": "20",
"fields[0]": "title",
"sort_by": "name",
"start_level": "1",
"end_level": "3",
"collections_ids[0]": "10",
"authors_ids[0]": "1",
"collection_id": "10",
"available": "1",
"organization_id": "5",
"has_audios": "1",
"has_videos": "0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Успех):
{
"success": true,
"message": "Интерактивы успешно получены",
"data": {
"interactives": {
"total": 1,
"data": [
{
"id": "21",
"name": "Глаголы движения",
"description": "Интерактивное упражнение",
"authors": "Козлова К. К.",
"cover": "https://rsedu.local/images/covers/21.jpg",
"categories": [
"Лексика"
],
"levels": [
"A2"
],
"has_audios": true,
"has_videos": true
}
]
}
}
}
Example response (200, Ошибка валидации):
{
"success": false,
"message": "Параметр start должен быть целым числом."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Экспорт интерактивов в Excel
Те же фильтры, что у поиска. Файл Экспорт интерактивов.xlsx.
Example request:
curl --request GET \
--get "http://rsedu-srch-v1-api/interactives/export?search=%D0%B3%D0%BB%D0%B0%D0%B3%D0%BE%D0%BB%D1%8B&search_by[]=name&start=0&limit=20&fields[]=title&sort_by=name&start_level=1&end_level=3&collections_ids[]=10&authors_ids[]=1&collection_id=10&available=1&organization_id=5&has_audios=1&has_videos=" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://rsedu-srch-v1-api/interactives/export"
);
const params = {
"search": "глаголы",
"search_by[0]": "name",
"start": "0",
"limit": "20",
"fields[0]": "title",
"sort_by": "name",
"start_level": "1",
"end_level": "3",
"collections_ids[0]": "10",
"authors_ids[0]": "1",
"collection_id": "10",
"available": "1",
"organization_id": "5",
"has_audios": "1",
"has_videos": "0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Excel-файл):
{}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Банк материалов
Поиск и экспорт банка материалов из Solr-ядра materials. Фильтра по категории нет — в ответе только подписи.
Поиск материалов банка
По умолчанию ищет в name, description, authors.
Example request:
curl --request GET \
--get "http://rsedu-srch-v1-api/materials/get?search=%D0%BB%D0%B5%D0%BA%D1%81%D0%B8%D0%BA%D0%B0&search_by[]=name&start=0&limit=20&fields[]=title&sort_by=name&start_level=1&end_level=3&collections_ids[]=10&authors_ids[]=1&collection_id=10&available=1&organization_id=5&has_audios=1&has_videos=" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://rsedu-srch-v1-api/materials/get"
);
const params = {
"search": "лексика",
"search_by[0]": "name",
"start": "0",
"limit": "20",
"fields[0]": "title",
"sort_by": "name",
"start_level": "1",
"end_level": "3",
"collections_ids[0]": "10",
"authors_ids[0]": "1",
"collection_id": "10",
"available": "1",
"organization_id": "5",
"has_audios": "1",
"has_videos": "0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Успех):
{
"success": true,
"message": "Материалы банка успешно получены",
"data": {
"materials": {
"total": 1,
"data": [
{
"id": "15",
"name": "Карточки: лексика",
"description": "Раздаточный материал",
"authors": "Морозова М. М.",
"cover": "https://rsedu.local/images/covers/15.jpg",
"categories": [
"Лексика"
],
"levels": [
"A1"
],
"has_audios": false,
"has_videos": false
}
]
}
}
}
Example response (200, Ошибка валидации):
{
"success": false,
"message": "Параметр start должен быть целым числом."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Экспорт материалов банка в Excel
Те же фильтры, что у поиска. Файл Экспорт материалов.xlsx.
Example request:
curl --request GET \
--get "http://rsedu-srch-v1-api/materials/export?search=%D0%BB%D0%B5%D0%BA%D1%81%D0%B8%D0%BA%D0%B0&search_by[]=name&start=0&limit=20&fields[]=title&sort_by=name&start_level=1&end_level=3&collections_ids[]=10&authors_ids[]=1&collection_id=10&available=1&organization_id=5&has_audios=1&has_videos=" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://rsedu-srch-v1-api/materials/export"
);
const params = {
"search": "лексика",
"search_by[0]": "name",
"start": "0",
"limit": "20",
"fields[0]": "title",
"sort_by": "name",
"start_level": "1",
"end_level": "3",
"collections_ids[0]": "10",
"authors_ids[0]": "1",
"collection_id": "10",
"available": "1",
"organization_id": "5",
"has_audios": "1",
"has_videos": "0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Excel-файл):
{}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Методики
Поиск и экспорт методик из Solr-ядра methodologies.
Поиск методик
По умолчанию ищет в name, description, authors.
categories_ids[] фильтрует Solr-поле category_id.
theme_id / themes_ids[] фильтрует Solr-поле theme_id (справочник methodology_themes).
Example request:
curl --request GET \
--get "http://rsedu-srch-v1-api/methodologies/get?search=%D0%BA%D0%BE%D0%BC%D0%BC%D1%83%D0%BD%D0%B8%D0%BA%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9+%D0%BF%D0%BE%D0%B4%D1%85%D0%BE%D0%B4&search_by[]=name&start=0&limit=20&fields[]=title&sort_by=name&category_id=3&categories_ids[]=3&start_level=1&end_level=3&collections_ids[]=10&authors_ids[]=1&collection_id=10&available=1&organization_id=5&has_audios=1&has_videos=&theme_id=477&themes_ids[]=477&start_year=2020&end_year=2026" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://rsedu-srch-v1-api/methodologies/get"
);
const params = {
"search": "коммуникативный подход",
"search_by[0]": "name",
"start": "0",
"limit": "20",
"fields[0]": "title",
"sort_by": "name",
"category_id": "3",
"categories_ids[0]": "3",
"start_level": "1",
"end_level": "3",
"collections_ids[0]": "10",
"authors_ids[0]": "1",
"collection_id": "10",
"available": "1",
"organization_id": "5",
"has_audios": "1",
"has_videos": "0",
"theme_id": "477",
"themes_ids[0]": "477",
"start_year": "2020",
"end_year": "2026",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Успех):
{
"success": true,
"message": "Методика успешно получены",
"data": {
"methodologies": {
"total": 1,
"data": [
{
"id": "2",
"name": "Коммуникативный подход",
"description": "Методические рекомендации",
"authors": "Орлова О. О.",
"cover": "https://rsedu.local/images/covers/2.jpg",
"category_id": 1,
"theme_id": 477,
"themes": [
"Чтение"
],
"levels": [
"B2"
],
"has_audios": false,
"has_videos": false
}
]
}
}
}
Example response (200, Ошибка валидации):
{
"success": false,
"message": "Параметр start должен быть целым числом."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Экспорт методик в Excel
Те же фильтры, что у поиска. Файл Экспорт методик.xlsx.
Example request:
curl --request GET \
--get "http://rsedu-srch-v1-api/methodologies/export?search=%D0%BA%D0%BE%D0%BC%D0%BC%D1%83%D0%BD%D0%B8%D0%BA%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9+%D0%BF%D0%BE%D0%B4%D1%85%D0%BE%D0%B4&search_by[]=name&start=0&limit=20&fields[]=title&sort_by=name&category_id=3&categories_ids[]=3&start_level=1&end_level=3&collections_ids[]=10&authors_ids[]=1&collection_id=10&available=1&organization_id=5&has_audios=1&has_videos=&theme_id=477&themes_ids[]=477&start_year=2020&end_year=2026" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://rsedu-srch-v1-api/methodologies/export"
);
const params = {
"search": "коммуникативный подход",
"search_by[0]": "name",
"start": "0",
"limit": "20",
"fields[0]": "title",
"sort_by": "name",
"category_id": "3",
"categories_ids[0]": "3",
"start_level": "1",
"end_level": "3",
"collections_ids[0]": "10",
"authors_ids[0]": "1",
"collection_id": "10",
"available": "1",
"organization_id": "5",
"has_audios": "1",
"has_videos": "0",
"theme_id": "477",
"themes_ids[0]": "477",
"start_year": "2020",
"end_year": "2026",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Excel-файл):
{}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Лексический минимум
Поиск и экспорт лексического минимума из Solr-ядра dictionary_words.
Фильтров доступа организации нет.
Поиск лексического минимума
По умолчанию ищет в word, word_rus, word_addition, word_eng.
Example request:
curl --request GET \
--get "http://rsedu-srch-v1-api/dictionary_words/get?search=%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82&search_by[]=word&start=0&limit=20&fields[]=title&sort_by=word&start_level=1&end_level=3&collections_ids[]=10&collection_id=10" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://rsedu-srch-v1-api/dictionary_words/get"
);
const params = {
"search": "привет",
"search_by[0]": "word",
"start": "0",
"limit": "20",
"fields[0]": "title",
"sort_by": "word",
"start_level": "1",
"end_level": "3",
"collections_ids[0]": "10",
"collection_id": "10",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Успех):
{
"success": true,
"message": "Лексический минимум успешно получены",
"data": {
"dictionary_words": {
"total": 1,
"data": [
{
"id": "101",
"word": "привет",
"word_rus": "приветствие",
"word_addition": "разг.",
"word_eng": "hello",
"categories": [
"Общение"
],
"levels": [
"A1"
]
}
]
}
}
}
Example response (200, Ошибка валидации):
{
"success": false,
"message": "Параметр start должен быть целым числом."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Экспорт лексического минимума в Excel
Те же фильтры, что у поиска. Файл Экспорт лексического минимума.xlsx.
Example request:
curl --request GET \
--get "http://rsedu-srch-v1-api/dictionary_words/export?search=%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82&search_by[]=word&start=0&limit=20&fields[]=title&sort_by=word&start_level=1&end_level=3&collections_ids[]=10&collection_id=10" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://rsedu-srch-v1-api/dictionary_words/export"
);
const params = {
"search": "привет",
"search_by[0]": "word",
"start": "0",
"limit": "20",
"fields[0]": "title",
"sort_by": "word",
"start_level": "1",
"end_level": "3",
"collections_ids[0]": "10",
"collection_id": "10",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Excel-файл):
{}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.