Документация API JCat.Работа

Управление вакансией

Создание вакансии

POST /v1/orders/vacancy/

Принимаемые параметры:

ИмяТипОписаниеОбязательноеВозможно указание нескольких значенийПодробная информация
poststringДолжностьДаНетhttps://api.jcat.ru/v1/props/post
specializations
stringСфера деятельностиСм. пояснения*
Даhttps://api.jcat.ru/v1/props/specializations
specializations_subheading
stringСфера деятельности - подрубрикиСм. пояснения*
Даhttps://api.jcat.ru/v1/props/specializations_subheading 
responsibilitystringОбязанностиДаНетhttps://api.jcat.ru/v1/props/responsibility
employmentобъект
Тип занятостиДаНетhttps://api.jcat.ru/v1/props/employment
scheduleобъект
График работыДаНетhttps://api.jcat.ru/v1/props/schedule
salary_from
integerЗарплата в месяц, ОТНетНетhttps://api.jcat.ru/v1/props/salary_from 
salary_to
integerЗарплата в месяц, ДОНетНетhttps://api.jcat.ru/v1/props/salary_to 
amountstringСуммаНетНетhttps://api.jcat.ru/v1/props/amount
qualification_requirementsstringТребования к квалификацииДаНетhttps://api.jcat.ru/v1/props/qualification_requirements
experiencestringОпыт работыНетНетhttps://api.jcat.ru/v1/props/experience
educationstringОбразованиеНетНетhttps://api.jcat.ru/v1/props/education
operating_conditionsstringУсловия работыДаНетhttps://api.jcat.ru/v1/props/operating_conditions
link_to_the_videostringВидео о вакансииНетНетhttps://api.jcat.ru/v1/props/link_to_the_video
address
string
Адрес офиса компании-работодателя
Да
Нет
Строка адреса офиса компании-работодателя
metrostringМетроДаНетhttps://api.jcat.ru/v1/props/metro
age_kandidat_otintegerВозраст, ОТНетНетhttps://api.jcat.ru/v1/props/age_kandidat_ot
age_kandidat_tointegerВозраст, ДОНетНетhttps://api.jcat.ru/v1/props/age_kandidat_to
work_permitsstringДокументы-разрешения на работуНетДаhttps://api.jcat.ru/v1/props/work_permits
accept_kids
integerВакансия подходит для соискателей от 14 летНетНетhttps://api.jcat.ru/v1/props/accept_kids 
accept_handicapped
integerВакансия подходит для соискателей с инвалидностьюНетНетhttps://api.jcat.ru/v1/props/accept_handicapped 
medical_bookintegerМедицинская книжкаНетНетhttps://api.jcat.ru/v1/props/medical_book
passportintegerЗагранпаспортНетНетhttps://api.jcat.ru/v1/props/passport
private_carintegerЛичный автомобильНетНетhttps://api.jcat.ru/v1/props/private_car
driving_licensestringВодительские праваНетДаhttps://api.jcat.ru/v1/props/driving_license
lcaintegerДМСНетНетhttps://api.jcat.ru/v1/props/lca
mobile_telephonyintegerМобильная связьНетНетhttps://api.jcat.ru/v1/props/mobile_telephony
foodintegerПитаниеНетНетhttps://api.jcat.ru/v1/props/food
travel_petrolintegerПроезд, бензинНетНетhttps://api.jcat.ru/v1/props/travel_petrol
coverallsintegerСпецодеждаНетНетhttps://api.jcat.ru/v1/props/coveralls
company_carintegerСлужебный автомобильНетНетhttps://api.jcat.ru/v1/props/company_car
fitnessintegerФитнесНетНетhttps://api.jcat.ru/v1/props/fitness
education_trainingintegerОбучение, тренингиНетНетhttps://api.jcat.ru/v1/props/education_training
tripintegerКомандировкиНетНетhttps://api.jcat.ru/v1/props/trip
assistance_with_relocation_accommodationintegerПомощь с переездом, проживаниеНетНетhttps://api.jcat.ru/v1/props/assistance_with_relocation_accommodation
without_registration_under_labor_codeintegerБез оформления по ТКНетНетhttps://api.jcat.ru/v1/props/without_registration_under_labor_code
company_id
integer
Компания
Да
Нет
Идентификатор компании-работодателя
person_namestringИмяДаНетhttps://api.jcat.ru/v1/props/person_name
company_namestringКомпанияНет**Нетhttps://api.jcat.ru/v1/props/company_name
logo_url
stringЛоготипНет**Нетhttps://api.jcat.ru/v1/props/logo_url
phonestringТелефонНет**Нетhttps://api.jcat.ru/v1/props/phone
phone_extensionstringТелефон: добавочный номерНет**Нетhttps://api.jcat.ru/v1/props/phone_extension
phone_additionalstringДополнительный телефонНет**Нетhttps://api.jcat.ru/v1/props/phone_additional
phone_additional_extensionstringДополнительный телефон: добавочный номерНет**Нетhttps://api.jcat.ru/v1/props/phone_additional_extension
order_emailstringEmailНет**
Нетhttps://api.jcat.ru/v1/props/order_email
site_urlstringАдрес сайтаНет**Нетhttps://api.jcat.ru/v1/props/site_url
more_infostringОписание компанииНет**Нетhttps://api.jcat.ru/v1/props/more_info

Пояснения:

* - Поля “Сфера деятельности” и “Сфера деятельности - подрубрики“ могут быть не заполнены:

  • сервис API попытается заполнить значения полей из внутреннего справочника соответствий “должность“ - “сферы деятельности“

  • если соответствий должности и сферы деятельности во внутренних справочниках нет, то будет произведён поиск по вакансиям клиента и будет подобрана наиболее подходящая - сферы деятельности будут взяты из неё

  • если не нашли никаких соответствий, то будет возвращена ошибка валидации об обязательности полей “Сфера деятельности” и “Сфера деятельности - подрубрики“

** - поля будут взяты из привязанной сущности “Компания”, если не заполнены

Процесс создания вакансии:

  1. Создать компанию либо использовать идентификатор уже созданной компании

  2. Получить идентификаторы для сфер деятельности вакансии

  3. Заполнить поля и отправить запрос для создания вакансии

 Результат запроса 

  • 201 Created - успешное выполнение
  • 400 Bad Request - в запросе отсутствуют данные или данные невалидные
  • 401 Unauthorized- требуется авторизация

 Пример тела ответа (успешное выполнение) 

{
    "data": {
        "id": 2006267,
        "externalId": "",
        "archive": 0,
        "createdAt": "2020-09-18T19:36:34+03:00",
        "editedAt": "2020-09-18T19:36:34+03:00",
        "archivedAt": null,
        "siteUrl": "https://jobs.jcat.ru/eb8865ba/",
        "reportUrl": null,
        "title": "Должность вакансии",
        "text": "",
        "state": {
            "type": "not_paid",
            "title": "Не оплачено",
            "activatedAt": null,
            "completedAt": null,
            "autoUpdatedAt": {
                "prev": null,
                "next": null,
                "last": null
            },
            "left2end": null,
            "need2prolongate": false,
            "checked": false
        },
        "category": {
            "id": 153,
            "codeName": "post_job",
            "title": "Вакансия на работных сайтах",
            "path": "Вакансии/Вакансия на работных сайтах",
            "breadcrumbs": "153,16,292"
        },
        "tariff": {
            "id": null,
            "title": null,
            "days": null,
            "autoUpdate": null,
            "type": null
        },
        "packet": {
            "id": null,
            "number": null,
            "title": null,
            "createdAt": null,
            "activatedAt": null,
            "completedAt": null,
            "days": null,
            "tariff": {
                "id": null,
                "title": null,
                "days": null,
                "autoUpdate": null,
                "type": null
            }
        },
        "wholesale": null,
        "contacts": {
            "personName": "Тестовый аккаунт 123",
            "email": "mail@jcat.ru",
            "companyName": "Jcat",
            "siteUrl": "https://site.com",
            "phones": {
                "main": {
                    "number": "+79876081174",
                    "additional": ""
                },
                "second": {
                    "number": "+78888888888",
                    "additional": ""
                }
            }
        },
        "address": {
            "fias": {
                "code": "9c89defb-4730-4a62-8d0e-f621d7443949"
            },
            "parts": {
                "region": {
                    "id": 1,
                    "title": "Москва и МО"
                },
                "city": "Троицк",
                "street": "Троицкий бульвар"
            },
            "text": {
                "value": "Москва, Троицк, Троицкий бульвар, д. 1к"
            },
            "house": "1к",
            "housing": "",
            "flat": "",
            "coordinates": {
                "lat": "55.678859",
                "lng": "37.263986"
            }
        },
        "specific": {
            "age_kandidat_ot": "30",
            "age_kandidat_to": "35",
            "amount": {
                "id": "39333",
                "title": "до вычета НДФЛ"
            },
            "assistance_with_relocation_accommodation": "1",
            "company_car": "1",
            "coveralls": "1",
            "driving_license": [
                {
                    "id": "21110,21111",
                    "title": "C"
                }
            ],
            "education": {
                "id": "21096",
                "title": "среднее специальное"
            },
            "education_training": "1",
            "experience": {
                "id": "21101",
                "title": "от 1 до 3 лет"
            },
            "fitness": "1",
            "food": "1",
            "lca": "1",
            "link_to_the_video_on_youtube": "https://www.youtube.com/watch?v=EWddOKrrZf0",
            "medical_book": "1",
            "metro": {
                "id": "40702",
                "title": "Ольховая"
            },
            "mobile_telephony": "1",
            "more_info": "Описание компании",
            "operating_conditions": "Условия работы",
            "passport": "1",
            "post": "Должность вакансии",
            "private_car": "1",
            "qualification_requirements": "Требования <br>",
            "responsibility": "Обязанности",
            "salary_from": "100",
            "salary_to": "1000000",
            "schedule": {
                "id": "21082",
                "title": "сменный график"
            },
            "specializations": [
                {
                    "id": "20451",
                    "title": "Образование, наука"
                }
            ],
            "specializations_subheading": [
                {
                    "id": "20770,25309,20775,20777",
                    "title": "Дошкольное образование и воспитание"
                }
            ],
            "accept_kids": "1",
            "accept_handicapped": "1",
            "travel_petrol": "1",
            "trip": "1",
            "employment": {
                "id": "21075",
                "title": "полная"
            },
            "without_registration_under_labor_code": "0",
            "work_permits": [
                {
                    "id": "40768",
                    "title": "разрешение на работу"
                }
            ]
        },
        "photo": [],
        "vacancyQuestions": []
    }
}

 Пример тела ответа (невалидный запрос) 

{
    "data": {},
    "errors": [
        {
            "type": "system",
            "code": "empty_request",
            "text": "В запросе отсутствуют данные для обработки",
            "field": null,
            "value": null
        }
    ]
}
{
    "data": {},
    "errors": [
        {
            "type": "validation",
            "code": "constraint",
            "text": "Не указано значение для свойства Сфера деятельности",
            "field": "1734",
            "value": ""
        },
        {
            "type": "validation",
            "code": "constraint",
            "text": "Не указано значение для свойства Сфера деятельности - подрубрики",
            "field": "1735",
            "value": ""
        },
        {
            "type": "validation",
            "code": "constraint",
            "text": "Не указано значение для свойства Документы-разрешения на работу",
            "field": "12354",
            "value": ""
        }
    ]
}

Редактирование вакансии

PUT /v1/orders/vacancy/{vacancy_id}

Редактирование происходит по аналогии с созданием вакансии. При этом есть возможность передачи отдельных параметров для частичного редактирования вакансии.

Принимаемые параметры:

ИмяТипОписаниеВозможно указание нескольких значенийПодробная информация
specializations
stringСфера деятельностиДаhttps://api.jcat.ru/v1/props/specializations
specializations_subheading
stringСфера деятельности - подрубрикиДаhttps://api.jcat.ru/v1/props/specializations_subheading 
responsibilitystringОбязанностиНетhttps://api.jcat.ru/v1/props/responsibility
employmentstringТип занятостиНетhttps://api.jcat.ru/v1/props/employment
schedulestringГрафик работыНетhttps://api.jcat.ru/v1/props/schedule
salary_from
integerЗарплата в месяц, ОТНетhttps://api.jcat.ru/v1/props/salary_from 
salary_to
integerЗарплата в месяц, ДОНетhttps://api.jcat.ru/v1/props/salary_to 
amountstringСуммаНетhttps://api.jcat.ru/v1/props/amount
qualification_requirementsstringТребования к квалификацииНетhttps://api.jcat.ru/v1/props/qualification_requirements
experiencestringОпыт работыНетhttps://api.jcat.ru/v1/props/experience
educationstringОбразованиеНетhttps://api.jcat.ru/v1/props/education
operating_conditionsstringУсловия работыНетhttps://api.jcat.ru/v1/props/operating_conditions
link_to_the_video_on_youtubestringВидео о вакансииНетhttps://api.jcat.ru/v1/props/link_to_the_video_on_youtube
address
string
Адрес офиса компании-работодателя
Нет
Строка адреса офиса компании-работодателя
metrostringМетроНетhttps://api.jcat.ru/v1/props/metro
age_kandidat_otintegerВозраст, ОТНетhttps://api.jcat.ru/v1/props/age_kandidat_ot
age_kandidat_tointegerВозраст, ДОНетhttps://api.jcat.ru/v1/props/age_kandidat_to
citizenshipstringГражданствоНетhttps://api.jcat.ru/v1/props/citizenship
work_permitsstringДокументы-разрешения на работуДаhttps://api.jcat.ru/v1/props/work_permits
w_mstringПолНетhttps://api.jcat.ru/v1/props/w_m
accept_kids
integerВакансия подходит для соискателей от 14 летНетhttps://api.jcat.ru/v1/props/accept_kids 
accept_handicapped
integerВакансия подходит для соискателей с инвалидностьюНетhttps://api.jcat.ru/v1/props/accept_handicapped 
medical_bookintegerМедицинская книжкаНетhttps://api.jcat.ru/v1/props/medical_book
passportintegerЗагранпаспортНетhttps://api.jcat.ru/v1/props/passport
private_carintegerЛичный автомобильНетhttps://api.jcat.ru/v1/props/private_car
driving_licensestringВодительские праваДаhttps://api.jcat.ru/v1/props/driving_license
lcaintegerДМСНетhttps://api.jcat.ru/v1/props/lca
mobile_telephonyintegerМобильная связьНетhttps://api.jcat.ru/v1/props/mobile_telephony
foodintegerПитаниеНетhttps://api.jcat.ru/v1/props/food
travel_petrolintegerПроезд, бензинНетhttps://api.jcat.ru/v1/props/travel_petrol
coverallsintegerСпецодеждаНетhttps://api.jcat.ru/v1/props/coveralls
company_carintegerСлужебный автомобильНетhttps://api.jcat.ru/v1/props/company_car
fitnessintegerФитнесНетhttps://api.jcat.ru/v1/props/fitness
education_trainingintegerОбучение, тренингиНетhttps://api.jcat.ru/v1/props/education_training
tripintegerКомандировкиНетhttps://api.jcat.ru/v1/props/trip
assistance_with_relocation_accommodationintegerПомощь с переездом, проживаниеНетhttps://api.jcat.ru/v1/props/assistance_with_relocation_accommodation
without_registration_under_labor_codeintegerБез оформления по ТКНетhttps://api.jcat.ru/v1/props/without_registration_under_labor_code
company_id
integer
Компания
Нет
Идентификатор компании-работодателя
person_namestringИмяНетhttps://api.jcat.ru/v1/props/person_name
company_namestringКомпанияНетhttps://api.jcat.ru/v1/props/company_name
logo_url
stringЛоготипНетhttps://api.jcat.ru/v1/props/logo_url
phonestringТелефонНетhttps://api.jcat.ru/v1/props/phone
phone_extensionstringТелефон: добавочный номерНетhttps://api.jcat.ru/v1/props/phone_extension
phone_additionalstringДополнительный телефонНетhttps://api.jcat.ru/v1/props/phone_additional
phone_additional_extensionstringДополнительный телефон: добавочный номерНетhttps://api.jcat.ru/v1/props/phone_additional_extension
order_emailstringEmailНетhttps://api.jcat.ru/v1/props/order_email
site_urlstringАдрес сайтаНетhttps://api.jcat.ru/v1/props/site_url
more_infostringОписание компанииНетhttps://api.jcat.ru/v1/props/more_info

Пояснения:

* - Поля “Сфера деятельности” и “Сфера деятельности - подрубрики“ могут быть не заполнены:

  • сервис API попытается заполнить значения полей из внутреннего справочника соответствий “должность“ - “сферы деятельности“

  • если соответствий должности и сферы деятельности во внутренних справочниках нет, то будет произведён поиск по вакансиям клиента и будет подобрана наиболее подходящая - сферы деятельности будут взяты из неё

  • если не нашли никаких соответствий, то будет возвращена ошибка валидации об обязательности полей “Сфера деятельности” и “Сфера деятельности - подрубрики“

** - Поле "Должность" и "Компания" нельзя изменять после начала публикации вакансии 

 Результат запроса 

  • 204 No Content - успешное выполнение
  • 400 Bad Request - в запросе отсутствуют данные или данные невалидные
  • 401 Unauthorized- требуется авторизация

 Пример тела ответа (успешное выполнение) 

При успешном обновлении вакансии вернется 204 No Content

 Пример тела ответа (невалидный запрос) 

{
    "data": {},
    "errors": [
        {
            "type": "system",
            "code": "empty_request",
            "text": "В запросе отсутствуют данные для обработки",
            "field": null,
            "value": null
        }
    ]
}
{
    "data": {},
    "errors": [
        {
            "type": "validation",
            "code": "constraint",
            "text": "Не указано значение для свойства Сфера деятельности",
            "field": "1734",
            "value": ""
        },
        {
            "type": "validation",
            "code": "constraint",
            "text": "Не указано значение для свойства Сфера деятельности - подрубрики",
            "field": "1735",
            "value": ""
        },
        {
            "type": "validation",
            "code": "constraint",
            "text": "Не указано значение для свойства Документы-разрешения на работу",
            "field": "12354",
            "value": ""
        }
    ]
}

Снятие вакансии с публикации (архивирование)

POST /v1/orders/{id}/unpublish

Обязательные параметры:

ИмяТипОписание
 id integerИдентификатор вакансии

 Результат запроса 

  • 200 OK - успешное снятие с публикации
  • 404 Not Found - вакансия не найдена
  • 403 Forbidden - страница недоступна данному пользователю
  • 400 Bad Request - ошибка при снятии вакансии с публикации
{
  "data": {
    "result": true
  }
}

Удаление вакансии

DELETE /v1/orders/{id}

Обязательные параметры:

ИмяТипОписание
 id integerИдентификатор вакансии

Пояснения:

Возможно удаление только снятых с публикации вакансий

Результат запроса 

  • 200 OK - успешное удаление
  • 404 Not Found - вакансия не найдена
  • 403 Forbidden - страница недоступна данному пользователю
  • 400 Bad Request - ошибка при удалении вакансии
{
  "data": {
    "result": true
  }
}