Для использования методов REST API включите модуль в разделе "Настройки" -> "Управление модулями", а также проверьте чтобы опция "Использование REST API" было доступно пользователю. Активировать или деактивировать использование REST API для пользователя вы можете в панели администратора при редактировании пользователя.
Авторизация.
В качестве авторизации для REST API используется "BASIC" авторизация: логин - email адрес пользователя, пароль - сгенерированный токен пользователя (для каждого пользователя генерируется свой уникальный токен). Все методы API можно использовать только после авторизации.
Если вы используете PHP curl, то "BASIC" авторизацию можно выполнить, используя CURLOPT_USERPWD.
$ch = curl_init();
...
$defaultOptions = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => 1,
CURLOPT_USERPWD => 'adminre@monoray.net:174cc583994a138b2bb204a1e005186d',
);
...
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
if ($response === false) {
throw new \CException(curl_error($ch), curl_errno($ch));
}
$info = curl_getinfo($ch);
$header = substr($response, 0, $info['header_size']);
$body = substr($response, $info['header_size']);
preg_match("/Location: (.*?)\n/", $header, $matches);
$location = isset($matches[1]) ? $matches[1] : null;
return array('body' => $body, 'code' => $info['http_code'], 'location' => $location);
Список объектов.
Для получения списка объектов отправьте GET запрос на url: YOUR_SITE/api/apartments.
$ wget --output-document="D:\listing_index.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/apartments"
Также для поиска и получения списка объектов в какими-либо характеристиками вы можете использовать дополнительные параметры в GET запросе на url YOUR_SITE/api/apartments.
Для получения списка объектов из определённой страны добавьте к запросу "?country=185", где 185 - id страны, в данном случае - Россия.
$ wget --output-document="D:\listing_index.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/apartments?country=185"
Для получения списка объектов из Россия->Москва->Москва отправьте GET запрос на url: YOUR_SITE/api/apartments?country=185®ion=524894&city[]=524901.
$ wget --output-document="D:\listing_index.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/apartments?country=185®ion=524894&city[]=524901"
Если вы используете модуль "Местоположение", то список доступных на сайте стран и их id вы можете получить с помощью GET запроса на url YOUR_SITE/api/options/countryLocationList.
$ wget --output-document="D:\countryLocationList.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/options/countryLocationList"
Если запрос успешно обработан, отправляется код ответа 200. Пример ответа:
{
"object":"list",
"count":14,
"data":{
"185":"Russia",
"74":"France",
"56":"Germany",
"103":"India",
"108":"Italia",
"122":"Kazakhstan",
"36":"Belarus",
"187":"Saudi Arabia",
"67":"Spain",
"217":"Turkey",
"222":"Ukraine",
"4":"United Arab Emirates",
"77":"United Kingdom",
"225":"United States"
}
}
Cписок доступных регионов в стране и их id вы можете получить с помощью GET запроса на url YOUR_SITE/api/options/regionLocationList?country_id=185. Где country_id - id страны.
$ wget --output-document="D:\regionLocationList.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/options/regionLocationList?country_id=185"
Если запрос успешно обработан, отправляется код ответа 200. Пример ответа:
{
"object":"list",
"count":83,
"data":{
"584222":"Adygeya",
"1506272":"Altay",
"1511732":"Altayskiy Kray",
"2027748":"Amurskaya Oblast'",
"581043":"Arkhangel'skaya Oblast'",
"580491":"Astrakhanskaya Oblast'",
"578853":"Bashkortostan",
"578071":"Belgorodskaya Oblast'",
"571473":"Bryanskaya Oblast'",
"2050915":"Buryatiya",
"569665":"Chechnya",
"1508290":"Chelyabinskaya Oblast'",
"2126099":"Chukotskiy Avtonomnyy Okrug",
"567395":"Chuvashia",
"567293":"Dagestan",
"556349":"Ingushetiya",
"2023468":"Irkutskaya Oblast'",
"555235":"Ivanovskaya Oblast'",
"554667":"Kabardino-Balkaria",
"554230":"Kaliningradskaya Oblast'",
"553972":"Kalmykiya",
"553899":"Kaluzhskaya Oblast'",
"2125072":"Kamtchatski Kray",
"552927":"Karachayevo-Cherkesiya",
"552548":"Kareliya",
"1503900":"Kemerovskaya Oblast'",
"2022888":"Khabarovskiy Kray",
"1503834":"Khakasiya",
"1503773":"Khanty-Mansiyskiy Avtonomnyy Okrug - Yugra",
"548389":"Kirovskaya Oblast'",
"545854":"Komi",
"543871":"Kostromskaya Oblast'",
"542415":"Krasnodarskiy Kray",
"1502020":"Krasnoyarskiy Kray",
"1501312":"Kurganskaya Oblast'",
"538555":"Kurskaya Oblast'",
"536199":"Leningradskaya Oblast'",
"535120":"Lipetskaya Oblast'",
"2123627":"Magadanskaya Oblast'",
"529352":"Mariy-El",
"525369":"Mordoviya",
"524925":"Moskovskaya Oblast'",
"524894":"Moskva",
"524304":"Murmanskaya Oblast'",
"522652":"Nenetskiy Avtonomnyy Okrug",
"559838":"Nizhegorodskaya Oblast'",
"519969":"North Ossetia",
"519324":"Novgorodskaya Oblast'",
"1496745":"Novosibirskaya Oblast'",
"1496152":"Omskaya Oblast'",
"515001":"Orenburgskaya Oblast'",
"514801":"Orlovskaya Oblast'",
"511555":"Penzenskaya Oblast'",
"511180":"Perm Krai",
"2017623":"Primorskiy Kray",
"504338":"Pskovskaya Oblast'",
"501165":"Rostovskaya Oblast'",
"500059":"Ryazanskaya Oblast'",
"2013162":"Sakha (Yakutiya)",
"2121529":"Sakhalinskaya Oblast'",
"499068":"Samarskaya Oblast'",
"536203":"Sankt-Peterburg",
"498671":"Saratovskaya Oblast'",
"491684":"Smolenskaya Oblast'",
"487839":"Stavropol'skiy Kray",
"1490542":"Sverdlovskaya Oblast'",
"484638":"Tambovskaya Oblast'",
"484048":"Tatarstan",
"1489421":"Tomskaya Oblast'",
"480508":"Tul'skaya Oblast'",
"480041":"Tverskaya Oblast'",
"1488747":"Tyumenskaya Oblast'",
"1488873":"Tyva",
"479613":"Udmurtia",
"479119":"Ulyanovsk Oblast",
"826294":"Vladimirskaya Oblast'",
"472755":"Volgogradskaya Oblast'",
"472454":"Vologodskaya Oblast'",
"472039":"Voronezhskaya Oblast'",
"1486462":"Yamalo-Nenetskiy Avtonomnyy Okrug",
"468898":"Yaroslavskaya Oblast'",
"2026639":"Yevreyskaya Avtonomnaya Oblast'",
"7779061":"Zabaykal'skiy Kray"
}
}
Cписок доступных городов в регионе страны и их id вы можете получить с помощью GET запроса на url YOUR_SITE/api/options/cityLocationList?country_id=185®ion_id=524894. Где country_id - id страны, region_id - id региона.
$ wget --output-document="D:\cityLocationList.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/options/cityLocationList?country_id=185®ion_id=524894"
Если запрос успешно обработан, отправляется код ответа 200. Пример ответа:
{
"object":"list",
"count":6,
"data":{
"550280":"Khimki",
"524901":"Moscow",
"500591":"Rumyantsevo",
"495260":"Shcherbinka",
"481608":"Troitsk",
"463829":"Zelenograd"
}
}
Если вы не используете модуль "Местоположение", то список доступных городов и их ID вы можете получить с помощью GET запроса на url YOUR_SITE/api/options/cityList.
$ wget --output-document="D:\cityList.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/options/cityList"
Если запрос успешно обработан, отправляется код ответа 200. Пример ответа:
{
"object":"list",
"count":2,
"data":{
"7":"Moscow",
"8":"New-York"
}
}
Для получения списка объектов определённого типа сделки добавьте "?apType=1" к GET запросу на url YOUR_SITE/api/apartments, где 1 - код типа сделки.
$ wget --output-document="D:\listing_index.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/apartments?apType=1"
Список доступных на сайте типов сделки и их ID вы можете получить, выполнив GET запрос на url YOUR_SITE/api/options/typeList.
$ wget --output-document="D:\typeList.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/options/typeList"
Если запрос успешно обработан, отправляется код ответа 200. Пример ответа:
{
"object":"list",
"count":3,
"data":{
"1":"Rent out a property",
"2":"Sell",
"5":"Exchange"
}
}
Для получения списка объектов определённого типа недвижимости добавьте "?objType=1" к GET запросу на url YOUR_SITE/api/apartments, где 1 - код типа недвижимости.
$ wget --output-document="D:\listing_index.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/apartments?objType=1"
Список доступных на сайте типов недвижимости и их ID вы можете получить, выполнив GET запрос на url YOUR_SITE/api/options/objTypeList.
$ wget --output-document="D:\objTypeList.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/options/objTypeList"
Если запрос успешно обработан, отправляется код ответа 200. Пример ответа:
{
"object":"list",
"count":8,
"data":{
"1":"apartment",
"2":"house",
"3":"commercial real estate",
"4":"land plot",
"5":"apartment house",
"6":"hotel",
"7":"hotel room",
"8":"garage"
}
}
Для получения списка объектов с заданным ценовым диапазоном добавьте "?price_min=100&price_max=2000" к GET запросу на url YOUR_SITE/api/apartments, где price_min и price_max - стоимость от 100 до 2000 условных единиц (условная единица - валюта по умолчанию на сайте: USD/RUB/EUR/SAR и т.п.).
$ wget --output-document="D:\listing_index.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/apartments?price_min=100&price_max=2000"
Также вы можете комбинировать указанные выше параметры для более точной фильтрации объектов.
Пример GET запроса, который вернёт список объетов из города Москва, с типом сделки "аренда", с типом недвижимости "квартира" и стоимостью от 100 до 2000 условных единиц:
$ wget --output-document="D:\listing_index.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/apartments?country=185®ion=524894&city[]=524901&?apType=1&objType=1&price_min=100&price_max=2000"
Если запрос успешно обработан, отправляется код ответа 200. Пример ответа:
{
"object":"list",
"count":"1",
"data":{
"0":{
"object":"apartment",
"id":"26",
"type":"1",
"obj_type_id":"1",
"price_type":"5",
"loc_country":"185",
"loc_region":"524894",
"loc_city":"524901",
"city_id":"7",
"is_price_poa":"0",
"price":"1200",
"price_to":"0",
"num_of_rooms":"1",
"floor":"7",
"floor_total":"14",
"square":"35",
"land_square":"0",
"lat":"55.735955",
"lng":"37.6186773",
"rating":"0",
"is_special_offer":"0",
"owner_active":"1",
"active":"1",
"imagesList":{
"imgCount":"3",
"0":{
"file_name_path":"YOUR_SITE/uploads/objects/26/modified/full_cc48b9a67c1e05e242f556105b8fe842.jpg"
},
"1":{
"file_name_path":"YOUR_SITE/uploads/objects/26/modified/full_925abcaf701ddf5e858de3d1029d9ea6.jpg"
},
"2":{
"file_name_path":"YOUR_SITE/uploads/objects/26/modified/full_64d96740d5027df5c3647b43af88eeed.jpg"
}
},
"in_currency":"USD",
"title_en":"Apartment, Bolshaya Polyanka St., 28",
"address_en":"Bolshaya Polyanka St., 28",
"description_en":"<p>This apartment with nice shades of blue and a beautiful bathroom will help you to relax after work.</p>",
"description_near_en":"Metro \"Polyanka\" is within 5 minutes walk.",
"exchange_to_en":"",
"title_ru":"Квартира, ул. Большая Полянка, д. 28",
"address_ru":"ул. Большая Полянка, д. 28",
"description_ru":"<p>Комната с приятными оттенками синего и красивая ванная комната помогут Вам расслабиться после трудового дня</p>",
"description_near_ru":"Метро \"Полянка\" в пятиминутной доступности",
"exchange_to_ru":"",
"title_de":"Wohnung, Bolschaja Poljanka Str., 28",
"address_de":"Bolschaja Poljanka Str., 28",
"description_de":"<p>Ein Zimmer mit feinen Schattierungen von Blau und ein schönes Badezimmer wird Ihnen helfen, sich nach der Arbeit zu entspannen.</p>",
"description_near_de":"Die U-Bahn-Haltestelle Polyanka ist 5 Minuten entfernt",
"exchange_to_de":"",
"title_es":"Apartamento, Bolshaya Polyanka St., 28",
"address_es":"Bolshaya Polyanka St., 28",
"description_es":"<p>This apartment with nice shades of blue and a beautiful bathroom will help you to relax after work.</p>",
"description_near_es":"Metro \"Polyanka\" is within 5 minutes walk.",
"exchange_to_es":"",
"title_ar":"شقة، بولشايا Polyanka شارع، 28",
"address_ar":"Bolshaya Polyanka St., 28",
"description_ar":"<p>وهذه الشقة مع ظلال جميلة من الحمام الأزرق وجميلة تساعدك على الاسترخاء بعد العمل.</p>",
"description_near_ar":"مترو \"Polyanka\" هو على بعد 5 دقائق مشيا على الأقدام.",
"exchange_to_ar":""
}
}
}
Подробное описание полей:
"id":"ID объекта на сайте",
"type":"Тип сделки",
"obj_type_id":"Тип недвижимости",
"price_type":"Тип цены",
"loc_country":"ID страны",
"loc_region":"ID региона",
"loc_city":"ID города",
"city_id":"ID города, если не используется модуль 'Местоположение'",
"is_price_poa":"Цена по требованию. Возможные значения: 0 - нет или 1 - да",
"price":"Цена",
"price_to":"Цена до, если объект с типом сниму|куплю",
"num_of_rooms":"Количество комнат",
"floor":"Этаж",
"floor_total":"Всего этажей. Например, этажность дома",
"square":"Площадь",
"land_square":"Площадь участка",
"lat":"Координаты широты",
"lng":"Координаты долготы",
"rating":"Рейтинг. От 0 до 10",
"is_special_offer":"Специальное предложение. Возможные значения: 0 - нет или 1 - да",
"owner_active":"Пользовательский статус активности. Возможные значения 0 - Неактивно или 1 - Активно",
"active":"Статус активности: Возможные значения: 0 - Неактивно, 1 - Активно или 2 - На модерации",
"imagesList":{
"imgCount":"Общее количество изображений объекта",
"0":{
"file_name_path":"Полный путь к изображению"
},
"1":{
"file_name_path":"Полный путь к изображению"
},
"2":{
"file_name_path":"Полный путь к изображению"
}
},
"in_currency":"Валюта для поля price|price_to",
"title_en":"Название на языке en",
"address_en":"Адрес на языке en",
"description_en":"Описание на языке en",
"description_near_en":"Что рядом на языке en",
"exchange_to_en":"Описание обмена на языке en",
"title_ru":"Название на языке ru",
"address_ru":"Адрес на языке ru",
"description_ru":"Описание на языке ru",
"description_near_ru":"Что рядом на языке ru",
"exchange_to_ru":"Описание обмена на языке ru",
"title_de":"Название на языке de",
"address_de":"Адрес на языке de",
"description_de":"Описание на языке de",
"description_near_de":"Что рядом на языке de",
"exchange_to_de":"Описание обмена на языке de",
"title_es":"Название на языке es",
"address_es":"Адрес на языке es",
"description_es":"Описание на языке es",
"description_near_es":"Что рядом на языке es",
"exchange_to_es":"Описание обмена на языке es",
"title_ar":"Название на языке ar",
"address_ar":"Адрес на языке ar",
"description_ar":"Описание на языке ar",
"description_near_ar":"Что рядом на языке ar",
"exchange_to_ar":"Описание обмена на языке ar"
Список доступных типов цен на сайте и их кодов вы можете получить, выполнив GET запрос на url YOUR_SITE/api/options/priceTypeList.
$ wget --output-document="D:\priceTypeList.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/options/priceTypeList"
Если запрос успешно обработан, отправляется код ответа 200. Пример ответа:
{
"object":"list",
"count":3,
"data":{
"1":{
"typeId":1,
"typeName":"Rent out a property",
"priceTypes":{
"2":"per hour",
"3":"per day",
"4":"per week",
"5":"per month"
}
},
"2":{
"typeId":2,
"typeName":"Sell",
"priceTypes":{
"1":"Sale"
}
},
"5":{
"typeId":5,
"typeName":"Exchange",
"priceTypes":{
"8":""
}
}
}
}
Список доступных на сайте языков и их кодов вы можете получить, выполнив GET запрос на url YOUR_SITE/api/options/langList.
$ wget --output-document="D:\langList.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/options/langList"
Если запрос успешно обработан, отправляется код ответа 200. Пример ответа:
{
"object":"list",
"count":5,
"data":{
"en":"English",
"ru":"Русский",
"de":"Deutsch",
"es":"Español",
"ar":"العربية"
}
}
Список доступных валют на сайте и их кодов вы можете получить, выполнив GET запрос на url YOUR_SITE/api/options/currencyList.
$ wget --output-document="D:\currencyList.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/options/currencyList"
Если запрос успешно обработан, отправляется код ответа 200. Пример ответа:
{
"object":"list",
"count":4,
"data":{
"RUB":"RUB",
"USD":"$",
"EUR":"EUR",
"SAR":"SAR"
}
}
Список доступных статусов активности и их кодов вы можете получить, выполнив GET запрос на url YOUR_SITE/api/options/ownerStatusList.
$ wget --output-document="D:\ownerStatusList.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/options/ownerStatusList"
Если запрос успешно обработан, отправляется код ответа 200. Пример ответа:
{
"object":"list",
"count":2,
"data":{
"0":"Inactive",
"1":"Active"
}
}
Список доступных глобальных статусов активности и их кодов вы можете получить, выполнив GET запрос на url YOUR_SITE/api/options/statusList.
$ wget --output-document="D:\statusList.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/options/statusList"
Если запрос успешно обработан, отправляется код ответа 200. Пример ответа:
{
"object":"list",
"count":3,
"data":{
"0":"Inactive",
"1":"Active",
"2":"Awaiting moderation"
}
}
Информации об объекте.
Отправьте GET запрос на url YOUR_SITE/api/apartments/ID_OBJECT, где ID_OBJECT - id объекта.
$ wget --output-document="D:\listing_view.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/apartments/28"
Если запрос успешно обработан, отправляется код ответа 200. Пример ответа:
{
"object":"apartment",
"id":"28",
"type":"1",
"obj_type_id":"1",
"price_type":"2",
"loc_country":"185",
"loc_region":"524894",
"loc_city":"524901",
"city_id":"7",
"is_price_poa":"0",
"price":"25",
"price_to":"0",
"num_of_rooms":"1",
"floor":"9",
"floor_total":"14",
"square":"36",
"land_square":"0",
"lat":"55.7506831",
"lng":"37.5968604",
"rating":"0",
"is_special_offer":"0",
"owner_active":"1",
"active":"1",
"imagesList":{
"imgCount":"5",
"0":{
"file_name_path":"YOUR_SITE/uploads/objects/28/modified/full_5372cfe2f6db3f4c7de4fa2f54030223.jpg"
},
"1":{
"file_name_path":"YOUR_SITE/uploads/objects/28/modified/full_e3e068e1ef368a8c60666ac7708a5472.jpg"
},
"2":{
"file_name_path":"YOUR_SITE/uploads/objects/28/modified/full_fca9b505abf952af7f2a052da7c27d84.jpg"
},
"3":{
"file_name_path":"YOUR_SITE/uploads/objects/28/modified/full_dcf2bf49b9466dc400a12b4d3855a3ea.jpg"
},
"4":{
"file_name_path":"YOUR_SITE/uploads/objects/28/modified/full_a18e663a61f5d6930bb851b60c62e51d.jpg"
}
},
"in_currency":"USD",
"title_en":"Apartment near Arbatskaya metro station, Bolshoy Afanasyevsky Lane, 10",
"address_en":"Bolshoy Afanasyevsky Lane, 10",
"description_en":"<p>Within 7 minutes walk from Arbatskaya metro station</p>",
"description_near_en":"Underground",
"exchange_to_en":"",
"title_ru":"Квартира, ул. Большая Полянка, д. 28",
"address_ru":"ул. Большая Полянка, д. 28",
"description_ru":"<p>Комната с приятными оттенками синего и красивая ванная комната помогут Вам расслабиться после трудового дня</p>",
"description_near_ru":"Метро \"Полянка\" в пятиминутной доступности",
"exchange_to_ru":"",
"title_de":"1-Zimmer-Wohnung, U-Bahn-Haltestelle Arbatskaya, Bolschoi Afanasjevskij Pereulok, 10",
"address_de":"Bolschoi Afanasjevskij Pereulok, 10",
"description_de":"<p>Die U-Bahn-Haltestelle Arbatskaja ist 7 Minuten entfernt</p>",
"description_near_de":"U-Bahn",
"exchange_to_de":"",
"title_es":"Apartamento cerca de la estación de metro Arbatskaya, Bolshoy Afanasyevsky Lane, 10",
"address_es":"Bolshoy Afanasyevsky Lane, 10",
"description_es":"<p>Within 7 minutes walk from Arbatskaya metro station</p>",
"description_near_es":"Underground",
"exchange_to_es":"",
"title_ar":"شقة، بولشايا Polyanka شارع، 28",
"address_ar":"Bolshaya Polyanka St., 28",
"description_ar":"<p>وهذه الشقة مع ظلال جميلة من الحمام الأزرق وجميلة تساعدك على الاسترخاء بعد العمل.</p>",
"description_near_ar":"مترو \"Polyanka\" هو على بعد 5 دقائق مشيا على الأقدام.",
"exchange_to_ar":""
}
Добавление объекта.
Отправьте POST запрос на url YOUR_SITE/api/apartments.
В массиве POST передайте, как минимум, следующую информацию:
- Apartment[owner_active]. Статус владельца (0|1). Чтобы получить список доступных статусов и их названия отправьте GET запрос на url YOUR_SITE/api/ownerStatusList;
- Apartment[type]. Тип сделки (1|2|3|4|5). Чтобы получить список доступных id и их названия отправьте GET запрос на url YOUR_SITE/api/typeList;
- Apartment[price_type]. Тип цены (1|2|3|4|5|6|7|8). Чтобы получить список доступных id и их названия отправьте GET запрос на url YOUR_SITE/api/priceTypeList;
- Apartment[obj_type_id]. Тип недвижимости (1|2|3|4|5 и т.п). Чтобы получить список доступных id и их названия отправьте GET запрос на url YOUR_SITE/api/objTypeList;
- Apartment[price]. Цена (1000|2000|3000 и т.п.);
- Apartment[in_currency]. Валюта (USD|RUB|EUR|SAR и т.п). Только если используется версия с мультивалютностью. Для получения списка доступных валют отправьте GET запрос на url YOUR_SITE/api/currencyList;
-
Если включен модуль "Местоположение":
Apartment[loc_country]. id страны. Чтобы получить список доступных стран и их названия отправьте GET запрос на url YOUR_SITE/api/options/countryLocationList
Apartment[loc_region]. id региона. Чтобы получить список доступных регионов страны и их названия отправьте GET запрос на url YOUR_SITE/api/options/regionLocationList?country_id=ID_COUNTRY, где ID_COUNTRY - id страны
Apartment[loc_city]. id города. Чтобы получить список доступных городов региона и их названия отправьте GET запрос на url YOUR_SITE/api/options/cityLocationList?country_id=ID_COUNTRY®ion_id=ID_REGION, где ID_COUNTRY - id страны и ID_REGION - id региона
Если модуль "Местоположение" отключен:
Apartment[city_id]. id города. Чтобы получить список доступных городов и их названия отправьте GET запрос на url YOUR_SITE/api/options/cityList
- Apartment[imagesList]. Список ссылок на изображения для добавления их к объекту;
- Apartment[title_en]|Apartment[title_ru]|Apartment[title_de]|Apartment[title_es]|Apartment[title_ar]. Название объекта на всех активных языках сайта. Для получения списка доступных языков отправьте GET запрос на url YOUR_SITE/api/langList
- Apartment[description_en]|Apartment[description_ru]|Apartment[description_de]|Apartment[description_es]|Apartment[description_ar]. Описание объекта на всех активных языках сайта;
- Apartment[address_en]|Apartment[address_ru]|Apartment[address_de]|Apartment[address_es]|Apartment[address_ar]. Адрес объекта (улица, дом) на всех активных языках сайта.
Пример:
$postData = array(
'Apartment[owner_active]' => 1,
'Apartment[type]' => 2,
'Apartment[price_type]' => 2,
'Apartment[obj_type_id]' => 1,
'Apartment[price]' => 400,
'Apartment[in_currency]' => 'USD',
'Apartment[loc_country]' => 185,
'Apartment[loc_region]' => 524894,
'Apartment[loc_city]' => 524901,
'Apartment[city_id]' => 0,
'Apartment[imagesList]' => array(
'https://demo-pro.open-real-estate.info/uploads/objects/18/modified/full_c5d10612afa120b285ccfb817e0a2303.jpg',
'https://demo-pro.open-real-estate.info/uploads/objects/18/modified/full_2eec995ba4a4a51736f9c8b70c4bb206.jpg',
'https://demo-pro.open-real-estate.info/uploads/objects/18/modified/full_32edbdf4361baa92fbe8f9c6ca97f4ef.jpg'
),
Apartment[title_en] => 'My First REST API Listing',
Apartment[title_ru] => 'Моё первое REST API объявление',
Apartment[title_de] => 'My First REST API Listing',
Apartment[title_es] => 'My First REST API Listing',
Apartment[title_ar] => 'My First REST API Listing',
Apartment[description_en] => 'Description',
Apartment[description_ru] => 'Описание',
Apartment[description_de] => 'Description',
Apartment[description_es] => 'Description',
Apartment[description_ar] => 'Description',
Apartment[address_en] => 'Aviamotornaya St., 28',
Apartment[address_ru] => 'Авиамоторная ул., 28',
Apartment[address_de] => 'Aviamotornaya St., 28',
Apartment[address_es] => 'Aviamotornaya St., 28',
Apartment[address_ar] => 'Aviamotornaya St., 28',
);
$ch = curl_init();
$options = array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => 1,
CURLOPT_USERPWD => 'adminre@monoray.net:174cc583994a138b2bb204a1e005186d',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => http_build_query($postData, null, '&'),
);
if (strtolower(substr($url, 0, 5)) == "https") {
$options[CURLOPT_SSL_VERIFYPEER] = false;
$options[CURLOPT_SSL_VERIFYHOST] = false;
}
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
if ($response === false) {
throw new \CException(curl_error($ch), curl_errno($ch));
}
$info = curl_getinfo($ch);
$header = substr($response, 0, $info['header_size']);
$body = substr($response, $info['header_size']);
preg_match("/Location: (.*?)\n/", $header, $matches);
$location = isset($matches[1]) ? $matches[1] : null;
return array('body' => $body, 'code' => $info['http_code'], 'location' => $location);
Если запрос успешно обработан, отправляется код ответа 200. Пример ответа:
{
"object":"list",
"count":1,
"data":{
"id":"38"
}
}
В ответе будет значение id созданного объекта равное 38 ("id":"38"), которое, при необходимости, можно использовать в своих целях.
Обновление информации об объекте.
Отправьте PUT запрос на url YOUR_SITE/api/apartments/ID_OBJECT, где ID_OBJECT - id редактируемого объекта, например, 56.
...
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
...
Все передаваемые поля и значения идентичны методу добавления объекта.
Если запрос успешно обработан, отправляется код ответа 200. Пример ответа:
{
"object":"list",
"count":1,
"data":{
"id":"56"
}
}
Удаление объекта.
Отправьте DELETE запрос на url YOUR_SITE/api/apartments/ID_OBJECT, где ID_OBJECT - id удаляемого объекта, например, 82.
...
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
...
Если запрос успешно обработан, отправляется код ответа 200. Пример ответа:
{
"object":"list",
"count":1,
"data":{
"id":"82"
}
}
Ознакомиться с функциями модуля вы можете, отправляя запросы на url: https://demo-pro.open-real-estate.info вместо YOUR_SITE
Логин и пароль для HTTP авторизации - adminre@monoray.net:174cc583994a138b2bb204a1e005186d
Если вам необходимы какие-либо доработки функций модуля, то мы можем сделать это за дополнительную плату.
Обращайтесь к нам через форму "Контакты".