Документация 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": 855709,
    "archive": 1,
    "createdAt": "2018-07-21T11:28:46+03:00",
    "siteUrl": "https:\/\/realty.jcat.ru\/1a627afd\/",
    "reportUrl": "https:\/\/www.jcat.ru\/report\/4340095d\/1180089\/",
    "title": "Сдам бокс, 890 кв. м, деревня Новое Сельцо",
    "text": "Аренда: 89-этажн. бокс 890 кв.м. , прямая аренда. Краткосрочная аренда. \nПредоплата 4 месяца.",
    "state": {
      "type": "not_published",
      "title": "Снято с публикации",
      "left2end": null,
      "need2prolongate": false,
      "checked": false
    },
    "category": {
      "id": 278,
      "codeName": "rent_garage",
      "title": "Аренда гаража или бокса",
      "path": "Недвижимость\/Аренда\/Гаражи и стоянки\/Гаражи и боксы"
    },
    "tariff": {
      "id": null,
      "title": null
    },
    "packet": {
      "id": 12951,
      "title": "Недвижимость - 50",
      "days": 30,
      "tariff": {
        "id": 132,
        "title": "Базовый пакет",
        "days": 30
      }
    },
    "contacts": {
      "personName": "Иван Петрович",
      "email": "ip@jcat.ru",
      "companyName": "",
      "siteUrl": "",
      "phones": {
        "main": {
          "number": "+74952985498"
        }
      }
    },
    "address": {
      "fias": {
        "code": "19d25137-11bc-487c-8e02-4230c96b5eac"
      },
      "parts": {
        "region": {
          "id": 1,
          "title": "Москва + МО"
        },
        "city": "Москва",
        "street": "Авиационная улица"
      },
      "text": {
        "value": "Москва, Авиационная улица, д. 72к3"
      },
      "house": "72к3",
      "housing": "",
      "coordinates": {
        "lat": "55.809707",
        "lng": "37.450297"
      }
    },
    "specific": {
      "apartments": "0",
      "area_of_each_room": "",
      "as_to_the_subway": {
        "id": "467",
        "title": "транспортом"
      },
      "balcon": "0",
      "bargain": "0",
      "bathroom_toilet": "0",
      "bonus_amount": "",
      "cadastral_number": "",
      "ceiling_height_m": "",
      "chute": "0",
      "developer": "ДОНСТРОЙ",
      "district_of_moscow_region": "0",
      "floor": "6",
      "floor_area_sqm": "80",
      "floor_covering": "0",
      "floors": "12",
      "freight_elevators": "0",
      "furniture": "0",
      "gas_house": "0",
      "guest_parking_spaces": "0",
      "hot_water": "0",
      "house_series": "0",
      "internet": "0",
      "kitchen_area_sqm": "",
      "link_to_the_video_on_youtube": "",
      "living_complex": {
        "id": "2430",
        "title": "Алые Паруса"
      },
      "living_complex_building": {
        "id": "2437",
        "title": "72К3"
      },
      "loggia": "0",
      "mebel_on_kitchen": "0",
      "metro": {
        "id": "1638",
        "title": "Щукинская"
      },
      "metro_min": "3",
      "microdistrict": "0",
      "number_guest_parking_spaces": "",
      "open_space": "0",
      "parking": "0",
      "passenger_lifts": "0",
      "penthouse": "0",
      "percentage_of_transaction": "",
      "phone_available": "0",
      "possible_mortgage": "0",
      "price_total_rub": "7000000",
      "repair": "0",
      "security_parking": "0",
      "separate_bathroom": "0",
      "studio": "0",
      "total_area_sqm": "100",
      "total_number_of_parking_spaces": "",
      "total_rooms_in_apartment": "3",
      "type_of_bonus": "0",
      "type_of_home": {
        "id": "658",
        "title": "монолитный"
      },
      "type_of_rooms": "0",
      "type_of_sale": {
        "id": "25816",
        "title": "свободная продажа"
      },
      "view_from_the_windows": "0",
      "view_from_windows": "0",
      "yard": "0",
      "year_built": "2016",
      "year_of_major_repairs": ""
    },
    "photo": [
      {
        "url": "https://stat.jcat.ru/images/orders/bb226a55bce672b2b620728ad573806d.jpg",
        "size": 60958,
        "width": 800,
        "height": 528
      }
    ]
  }
}

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

ПолеТипОписание
idintegerУникальный номер объявления
archiveintegerФлаг: объявление снято с публикации (1 - да, 0 - нет)
createdAtdatetimeДата и время создания объявления
siteUrlstringСсылка на мини-сайт
reportUrlstringСсылка на отчёт по объявлению
titlestringЗаголовок объявления
textstringТекст объявления
state
Блок данных по статусу объявления
state.typestringСтатус объявления: символьное обозначение
state.titlestringСтатус объявления: текстовое описание
state.left2endinteger или nullЧисло дней, оставшихся до окончания размещения объявления на сайтах
state.need2prolongatebooleanФлаг: требуется продление выгрузки
state.checkedbooleanФлаг: модерация пройдена
category
Тематика объявления
category.idintegerИдентификатор тематики
category.codeNamestringСимвольное обозначение тематики
category.titlestringНазвание тематики
category.pathstringПолное название тематики с учётом иерархического местоположения
tariff
Блок данных по тарифу объявления
tariff.idinteger или nullИдентификатор тарифа
tariff.titlestring или nullНаименование тарифа
packet
Блок данных по пакету (заполняется, если объявление принадлежит пакету объявлений)
packet.idinteger или nullНомер пакета
packet.titlestring или nullНазвание пакета
packet.daysinteger или nullКоличество дней размещения пакета
packet.tariff
Блок данных по тарифу пакета
packet.tariff.idinteger или nullИдентификатор тарифа
packet.tariff.titlestring или nullНаименование тарифа
packet.tariff.daysinteger или nullКоличество дней размещения согласно тарифу
contacts
Блок контактных данных объявления. Могут быть указаны из контактной информации пакета, если была выставлена соответствующая галочка
contacts.personNamestringИмя
contacts.emailstringEmail
contacts.companyNamestringКомпания
contacts.siteUrlstringАдрес сайта
contacts.phones
Блок контактных телефонов
contacts.phones.main
Основной номер
contacts.phones.main.numberstringНомер телефона в международном формате - +7хххххххххх
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 - редактирование недоступно данному пользователю

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

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