Модули

 / 

Модуль "REST API"

Модуль "REST API"

Для использования методов 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&region=524894&city[]=524901.

$ wget --output-document="D:\listing_index.json" --http-user="adminre@monoray.net" --http-password="174cc583994a138b2bb204a1e005186d" "YOUR_SITE/api/apartments?country=185&region=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&region_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&region_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&region=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


Если вам необходимы какие-либо доработки функций модуля, то мы можем сделать это за дополнительную плату.
Обращайтесь к нам через форму "Контакты".