-
Notifications
You must be signed in to change notification settings - Fork 10
API Documentation
Москвин edited this page Jul 26, 2024
·
4 revisions
В данном разделе описано API для управления вакансиями. Модуль 'jobs/backend/api/routes.py'
- POST "/jobs/" - создать новую вакансию
- GET "/jobs/" - получить список вакансий
- GET "/jobs/{vacancy_id}" - получить одну конкретную вакансию
- GET "/locations/" - получить список местоположений
POST /jobs/
-
Reques body:
{ "external_id": 0, "company": "string", "title": "string", "salary": "string", "address": "string", "requirements": "string", "responsibilities": "string", "description": "string" } -
external_id(integer): Внешний идентификатор вакансии -
company(string): Название компании -
title(string): Название вакансии -
salary(string): Зарплата -
address(string): Адрес места работы -
requirements(string): Требования к кандидату -
responsibilities(string): Обязанности кандидата -
description(string): Описание вакансии
-
200 OK:
{ "external_id": 0, "company": "string", "title": "string", "salary": "string", "address": "string", "requirements": "string", "responsibilities": "string", "description": "string" } -
422 Validation Error:
{ "detail": [ { "loc": [ "string" ], "msg": "string", "type": "string" } ] } -
500 Internal Server Error:
{ "detail": "Internal Server Error" }
curl -X POST "http://127.0.0.1:8000/api/jobs/" -H "accept: application/json" -H "Content-Type: application/json" -d '{"external_id":0,"company":"string","title":"string","salary":"string","address":"string","requirements":"string","responsibilities":"string","description":"string"}'GET /jobs/
-
skip(integer): Смещение для пагинации. По умолчанию 0. -
limit(integer): Лимит для пагинации. По умолчанию 10. -
specialities(list[string]): Список специальностей для фильтрации. -
internship(boolean): Фильтр по доступности стажировок. -
remote(boolean): Фильтр по возможности удаленной работы. -
location(list[string]): Список местоположений для фильтрации.
- 200 OK:
-
Response body
{ "total_count": 3741, "data": [ { "id": 1, "active": true, "company_name": "БОТ", "salary": "Не указана", "location": "Удалённо", "remote": true, "url": "https://t.me/valentinalvl", "description": "Удалённо (РФ). Компания разработчик программных продуктов и заказных решений.. Подробнее: https://telegra.ph/QA-Engineer--BFT-03-07", "external_id": "129700", "title": "Стажёр QA Engineer", "speciality": "qa", "internship": false }, { "id": 2, "active": true, "company_name": "Груша", "salary": "Не указана", "location": "Удалённо", "remote": true, "url": "https://t.me/HR04dev", "description": "Привет! Мы – Груша, небольшой финтех-стартап, связанный с процессингом платежей за рубежом. мы делаем криптопроекты и криптопродукты. Нам важен каждый член нашей команды.", "external_id": "1", "title": "Frontend Developer", "speciality": "frontend", "internship": false } ] } ... -
Response headers
content-length: 30803 content-type: application/json date: Fri,26 Jul 2024 08:45:54 GMT server: uvicorn
-
200 OK:
"string" -
422 Validation Error:
{ "detail": [ { "loc": [ "string" ], "msg": "string", "type": "string" } ] }
-
200 OK:
GET /jobs/{vacancy_id}
-
vacancy_id(integer): ID вакансии
-
200 OK:
{ "external_id": 0, "company": "string", "title": "string", "salary": "string", "address": "string", "requirements": "string", "responsibilities": "string", "description": "string" }- 404 Not Found:
{ "detail": "Job not found" }
curl -X GET "http://127.0.0.1:8000/api/jobs/1" -H "accept: application/json"GET /locations/
-
200 OK:
{ "total_count": 100, "data": [ "Уфа, улица Генерала Горбатова, 2", "г. Краснодар, ул. им. Орджоникидзе/ул. Красноармейская, 46/32", "Томск, проспект Кирова, 51Ас15", "город Новосибирск, Окружная улица, 29в", "Оренбург, улица Марины Расковой, 10А", "Санкт-Петербург, Кушелевская дорога, 13к2", "Баку", "Курск, Хуторская улица, 2", "Москва, Кутузовский проспект, 36с23", "Москва, Микояновский проезд, 4Ас2", ... ] }
curl -X GET "http://127.0.0.1:8000/api/locations/" -H "accept: application/json"- 200 OK: Запрос выполнен успешно.
- 404 Not Found: Ресурс не найден.
- 422 Validation Error: Ошибка валидации данных.
- 400 Bad Request: Неверный запрос.