Я использую этот скрипт php, чтобы получить результат от простого задокументированного поискового запроса Вот
И я скачал этот файл Excel метаданных собственности Вот
$rets_login_url = "http://sef.rets.interealty.com/Login.asmx/Login";
$rets_username = "xxxxxxxx";
$rets_password = "xxxxxxxx";
$rets_user_agent = "PHRETS/1.0";
$rets_user_agent_password = "xxxxxxx";
//////////////////////////////
// start rets connection
$rets = new phRETS;
// Uncomment and change the following if you're connecting
// to a server that supports a version other than RETS 1.5
$rets->AddHeader("RETS-Version", "RETS/1.5");
$rets->AddHeader("User-Agent", $rets_user_agent);
echo "+ Connecting to {$rets_login_url} as {$rets_username}<br>\n";
$connect = $rets->Connect($rets_login_url, $rets_username, $rets_password, $rets_user_agent_password);
// check for errors
if ($connect) {
echo " + Connected<br>\n";
}
else {
echo " + Not connected:<br>\n";
print_r($rets->Error());
exit;
}
$search = $rets->SearchQuery("Property","ResidentialProperty","(ListDate=1990-01-01+)");
while ($listing = $rets->FetchRow($search)) {
echo "Address: {$listing['StreetNumber']} {$listing['StreetName']}, ";
echo "{$listing['City']}, ";
echo "{$listing['State']} {$listing['ZipCode']} listed for ";
echo "\$".number_format($listing['ListPrice'])."\n";
}$rets->FreeResult($search);
echo "+ Disconnecting<br>\n";
$rets->Disconnect();
когда я запускаю этот скрипт, он показывает результат, связанный и затем отключенный. Но результат не найден. Я перепробовал много предложений по некоторым вопросам, результаты которых не показывали, но у меня ничего не получалось. Где я не прав?
Информация о моем сервере RETS находится здесь:
RETS Сервер: Система SEF RETS
RETS ID системы: SEFRETS
URL входа: http://sef.rets.interealty.com:80/Login.asmx/Login
RETS версия: 1.5
Серверное программное обеспечение: Microsoft-IIS / 6.0
Я также не мог понять, что это $rets_modtimestamp_field = "LIST_87";
Помогите мне, пожалуйста. Мне нужно несколько предложений о том, как получить данные с RETS.
Проблема с параметрами в вашем SearchQuery.
Одним из полей в вашем поисковом запросе является ListDate. Глядя на прикрепленный файл Excel, содержащий метаданные, «ListDate» находится в столбце B в StandardNames. RETS спецификация по умолчанию использует имена систем (см. ниже). Вам необходимо указать ‘»StandardNames» => 1 «в параметре параметров в функции SearchQuery:
$ search = $ rets-> SearchQuery («Свойство», «ResidentialProperty», «(ListDate = 1990-01-01 +)», массив («StandardNames» => 1));
Кроме того, убедитесь, что второй аргумент, класс, вашего SearchQuery является правильным. Для этого вы можете использовать GetMetadataClasses функция во фретах.
Вы также можете использовать retsmd.com войдя в систему с помощью URL-адреса, имени пользователя и пароля вашего сервера RETS.
Поле $ rets_modtimestamp_field представляет собой поле, представляющее собой значение даты и времени, указывающее дату и время последнего изменения списка.
В разделе 7.4.7 документа спецификации RETS 1.7.2 http://www.reso.org/assets/RETS/Specifications/rets_1_7_2.pdf,
«Запросы могут использовать либо стандартные имена, либо системные имена в запросе (раздел 7.7).
клиент выбирает использовать стандартные имена, он ДОЛЖЕН указывать это с помощью StandardNames
аргумент … Если эта запись установлена в («0») или отсутствует, имена полей, переданные в поиске, являются
SystemNames, как определено в метаданных. «
Чтобы ответить на ваш последний комментарий, вам также нужно указать ListingStatus, так как это также обязательное поле при выполнении запроса. Значения поиска для ListingStatus:
Так что попробуйте что-то вроде этого:
$query ="(922=MIAMI),(246=A)";
Или, если вы используете стандартные имена:
$query ="(City=MIAMI),(ListingStatus=A)";
И наконец:
$search = $rets->SearchQuery("Property", $class, $query, array("StandardNames" => 1, 'Limit' => 10, ));
Это должно позволить вам получить хотя бы некоторые результаты обратно. Кроме того, вы можете просто настроить свой запрос, пока не получите желаемый результат.