File: /var/www/limestate-api/Models/BitrixApi.php
<?php
class BitrixApi {
const apiUrl = 'https://bitrix.limestate.ru/api/v2/';
//const apiUrl = 'http://95.216.223.77/api/v2/';
const domainUrl = 'https://bitrix.limestate.ru';
public static function getComplex($id) {
$url = self::apiUrl . 'complex/' . $id;
return self::request($url);
}
public static function getComplexes() {
$url = self::domainUrl . '/buy2/simple.php';
return self::request($url);
}
public static function getBuildings($complexId, $sectionId = 17) {
$url = self::domainUrl . '/buy2/simple.php?action=buildings&id=' . $complexId . '§ion_id=' . $sectionId;
return self::request($url);
}
public static function getBuilding($buildingId) {
$url = self::apiUrl . 'objects/search?id=' . $buildingId;
return self::request($url);
}
public static function getUsedBuildings() {
return self::getBuildings(0, 12);
}
public static function getFlats($buildingId) {
$url = self::domainUrl . '/buy2/simple.php?action=flats&id='.$buildingId;
return self::request($url);
}
public static function getFlat($id) {
$url = self::apiUrl . 'objects/getOffer/' . $id;
return self::request($url);
}
public static function request($url) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response);
if (!is_null($result)) {
return $result;
} else {
throw new Exception('Ошибка выполнения запроса: ' . $url);
}
}
}