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

Запросы

  • Всё API работает по протоколу HTTPS
  • Авторизация осуществляется по значению HTTP-заголовка X-ApiKey
  • Все данные передаются в API GET/POST/PUT-параметрами в формате form-urlencoded
  • Все данные возвращаются только в формате JSON
  • Базовый URL — https://api.jcat.ru/
  • Даты форматируются в соответствии с ISO 8601: YYYY-MM-DDThh:mm:ss±hhmm.

Требования к запросам

В каждом запросе необходимо передавать заголовок X-ApiKey для авторизации пользователя. Если данный заголовок не будет отправлен, то в ответ придёт 403 Forbidden.

X-APiKey: cdef1234-aaaa-ffff-9999-1234567890ab

Подробнее про ошибки сервиса.

Общая структура данных по вакансии

{
  "data": {
    "id": 1282210,
    "externalId": "",
    "archive": 0,
    "createdAt": "2019-09-02T10:40:15+03:00",
    "editedAt": "2019-10-09T12:12:47+03:00",
    "archivedAt": null,
    "siteUrl": "https://jobs.jcat.ru/c834f11a/",
    "reportUrl": null,
    "title": "Автослесарь",
    "text": "",
    "state": {
      "type": "active",
      "title": "Публикуется",
      "activatedAt": "2020-01-10",
      "completedAt": "2020-02-07",
      "autoUpdatedAt": {
        "prev": "2020-01-20",
        "next": "2020-01-20",
        "last": "2020-01-29"
      },
      "left2end": 18,
      "need2prolongate": false,
      "checked": true
    },
    "category": {
      "id": 153,
      "codeName": "post_job",
      "title": "Разместить вакансию",
      "path": "Вакансии/Разместить вакансию",
      "breadcrumbs": "153,16,292"
    },
    "tariff": {
      "id": 2770,
      "title": "Оптимальный с 2х обновлением",
      "days": 28,
      "autoUpdate": true,
      "type": {
        "id": 1,
        "title": "вакансии"
      }
    },
    "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": "Иван Петрович",
      "email": "ip@jcat.ru",
      "companyName": "ИП Иван Петрович",
      "siteUrl": "http://domain.com.net",
      "phones": {
        "main": {
          "number": "+74952985498",
          "additional": ""
        },
        "second": {
          "number": "+74952985499",
          "additional": "2345"
        }
      }
    },
    "address": {
      "fias": {
        "code": "89bbe26b-d335-42fc-af15-a756f060c899"
      },
      "parts": {
        "region": {
          "id": 1,
          "title": "Москва и МО"
        },
        "city": "деревня Мильково",
        "street": "Ленинская улица"
      },
      "text": {
        "value": "Московская область, Ленинский район, деревня Мильково, Ленинская улица"
      },
      "house": "",
      "housing": "",
      "flat": "",
      "coordinates": {
        "lat": "55.609416",
        "lng": "37.785971"
      }
    },
    "specific": {
      "age_kandidat_ot": "20",
      "age_kandidat_to": "45",
      "amount": {
        "id": "39334",
        "title": "на руки"
      },
      "assistance_with_relocation_accommodation": "0",
      "citizenship_1": {
        "id": "40771",
        "title": "только РФ"
      },
      "company_car": "0",
      "coveralls": "1",
      "driving_license": "",
      "education": {
        "id": "21093",
        "title": "не имеет значения"
      },
      "education_training": "1",
      "experience": {
        "id": "21099",
        "title": "не имеет значения"
      },
      "fitness": "0",
      "food": "0",
      "lca": "0",
      "link_to_the_video_on_youtube": "",
      "medical_book": "0",
      "metro": {
        "id": "1529",
        "title": "Красногвардейская"
      },
      "mobile_telephony": "0",
      "more_info": "Наш автосервис выполняет весь перечень ремонтных операций по обслуживанию европейских тягачей и прицепов.",
      "operating_conditions": "-Испытательный срок 2 месяца<br>-Работа в стабильной компании<br>-График работы 5/2<br>-Транспортная доступность<br>-Оформление по ТК",
      "passport": "0",
      "post": "Автослесарь",
      "private_car": "0",
      "qualification_requirements": "-опыт работы в аналогичной должности<br>-знание устройства современного автомобиля<br>-знание методов ремонта",
      "responsibility": "-ремонт грузовых автомобилей<br>-ремонт полуприцепов<br>-ремонт ходовой части, тормозов, пневмосистем",
      "salary_per_month_rub": "45000",
      "salary_per_month_rub_to": "100000",
      "schedule": {
        "id": "21081",
        "title": "полный день"
      },
      "scope": {
        "id": "20461",
        "title": "Услуги, ремонт, сервисное обслуживание"
      },
      "scope_subheading": {
        "id": "21014",
        "title": "Автосервисы"
      },
      "suitable_for_applicants_from_14_years": "0",
      "suitable_for_disabilities": "0",
      "travel_petrol": "0",
      "trip": "0",
      "type_of_employment": {
        "id": "21075",
        "title": "полная"
      },
      "w_m": {
        "id": "40708",
        "title": "мужской"
      },
      "without_registration_under_labor_code": "0",
      "work_permits": ""
    },
    "photo": []
  }
}

Блок data - единый стандарт для всех ответов сервера, содержащих определённый контент. Внутри данного блока уже находятся соответствующие запросу данные.

ПолеТипОписание
idintegerУникальный номер вакансии
externalIdintegerУникальный номер вакансии из внешнего источника (при загрузке объявлений из xml)
archiveintegerФлаг: вакансия снято с публикации (1 - да, 0 - нет)
createdAtdatetimeДата и время создания вакансии
editedAtdatetimeДата и время последнего редактирования данных по вакансии
archivedAtdatetimeДата и время последней архивации вакансии
siteUrlstringСсылка на мини-сайт
reportUrlstringСсылка на отчёт по вакансии
titlestringЗаголовок вакансии
textstringТекст вакансии
state
Блок данных по статусу вакансии
state.typestringСтатус вакансии: символьное обозначение
state.titlestringСтатус вакансии: текстовое описание
state.left2endinteger или nullЧисло дней, оставшихся до окончания размещения вакансии на сайтах
state.need2prolongatebooleanФлаг: требуется продление выгрузки
state.checkedbooleanФлаг: модерация пройдена
state.autoUpdatedAt
Блок данных по автообновлению вакансии
state.autoUpdatedAt.prevdate или nullДата предыдущего автообновления
state.autoUpdatedAt.nextdate или nullДата следующего вакансии
state.autoUpdatedAt.lastdate или nullДата последнего вакансии
category
Тематика вакансии
category.idintegerИдентификатор тематики
category.codeNamestringСимвольное обозначение тематики
category.titlestringНазвание тематики
category.pathstringПолное название тематики с учётом иерархического местоположения
tariff
Блок данных по тарифу вакансии
tariff.idinteger или nullИдентификатор тарифа
tariff.titlestring или nullНаименование тарифа
tariff.autoUpdateboolНаличие функции автообновления по тарифу
tariff.type
Блок данных по типу тарифа вакансии
tariff.type.idintegerИдентификатор типа тарифа
tariff.type.titlestringНаименование типа тарифа
packet
Блок данных по пакету (заполняется, если вакансия принадлежит пакету объявлений)
packet.idinteger или nullНомер пакета
packet.numberstringОбозначение пакета в сервисе (Pdddd)
packet.titlestring или nullНазвание пакета
packet.createdAtdate или nullДата создания пакета
packet.activatedAtdate или nullДата активации пакета
packet.completedAtdate или nullДата окончания выгрузки пакета
packet.daysinteger или nullКоличество дней размещения пакета
packet.tariff
Блок данных по тарифу пакета
packet.tariff.idinteger или nullИдентификатор тарифа
packet.tariff.titlestring или nullНаименование тарифа
packet.tariff.daysinteger или nullКоличество дней размещения согласно тарифу
packet.tariff.autoUpdatebool или nullНаличие функции автообновления по тарифу
packet.tariff.type
Блок данных по типу тарифа пакета
packet.tariff.type.idintegerИдентификатор типа тарифа
packet.tariff.type.titlestringНаименование типа тарифа
wholesale
Блок данных об использующейся подписке
wholesale.idintИдентификатор подписки
wholesale.titlestringНаименование подписки
wholesale.availableboolДоступность для повторного использования
wholesale.createdAtdatetimeДата и время оформления
wholesale.startedAtdatetimeДата и время активации
wholesale.endedAtdatetimeДата и время окончания действия
contacts
Блок контактных данных вакансии. Могут быть указаны из контактной информации пакета, если была выставлена соответствующая галочка
contacts.personNamestringИмя
contacts.emailstringEmail
contacts.companyNamestringКомпания
contacts.siteUrlstringАдрес сайта
contacts.phones
Блок контактных телефонов
contacts.phones.main
Основной номер
contacts.phones.main.numberstringНомер телефона в международном формате - +7хххххххххх
contacts.phones.main.additionalstringДобавочный номер
contacts.phones.second
Дополнительный номер
contacts.phones.second.numberstringНомер телефона в международном формате - +7хххххххххх
contacts.phones.second.additionalstringДобавочный номер
address
Блок адресных данных
address.fias
Код местоположения согласно ФИАС ФНС
address.fias.codestringКод, например 19d25137-11bc-487c-8e02-4230c96b5eac
address.parts
Блок адреса, разделённый на части
address.parts.region
Блок справочника регионов РФ
address.parts.region.idintegerИдентификатор справочника
address.parts.region.titlestringОписание значения
address.parts.citystringГород или населённый пункт
address.parts.streetstringУлица, СНТ
address.text
Полное наименование местоположения
address.text.valuestringСтрока с адресом, например Москва, Авиационная улица, д. 72к3
address.housestringНомер дома
address.housingstringКорпус, строение
address.coordinates
Блок координат
address.coordinates.latstringШирота
address.coordinates.lngstringДолгота
specific
Блок полей, специфичных для выбранной тематики. Внутри перечислены символьные обозначения полей и их значения. Если поле содержит справочные данные, то будут указаны параметры id и title - идентификатор и название значения соответственно.
photo
Блок фото
photo.urlstringАдрес файла фото в сети Internet
photo.sizeintegerРазмер файла в байтах
photo.widthintegerШирина изображения в пикселях
photo.heightintegerВысота изображения в пикселях

Получение данных по вакансии

GET /v1/orders/{id}

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

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

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

  • 200 OK - успешное выполнение запроса
  • 404 Not Found - вакансия не найдена
  • 403 Forbidden - страница недоступна данному пользователю

 Пример тела ответа 

Пример тела успешного ответа на запрос указан здесь.