Я пытаюсь узнать, как настроить соединение с сервером MIBOR IDX с помощью PHRETS, и я столкнулся со стеной. У меня есть очень простой поисковый запрос, я просто пытаюсь получить все результаты, прежде чем начать их фильтровать, но мой поиск возвращает 0 результатов! Я подумал, что, возможно, MIBOR требует, чтобы в поиске были переданы несколько полей, но я не знаю, как узнать, какие это могут быть поля … Любая помощь очень ценится!
Вы можете скачать мои метаданные Вот
Вот мой код:
<?php
date_default_timezone_set('America/New_York');
require_once("vendor/autoload.php");
$rets_login_url = 'http://matrixrets.miborblc.com/rets/Login.ashx';
$rets_username = 'xxxxxxx';
$rets_password = 'xxxxxxx';
// CONNECT TO IDX
$config = new \PHRETS\Configuration;
$config->setLoginUrl($rets_login_url)
->setUsername($rets_username)
->setPassword($rets_password)
->setRetsVersion('1.7.2');
$rets = new \PHRETS\Session($config);
$connect = $rets->Login();
$system = $rets->GetSystemMetadata();
// SEARCH RECORDS
$results = $rets->Search('Property', 'Listing');
var_dump($results);
Взгляните на открытый исходный код http://retsmd.com.
После входа в систему вы можете выбрать тип ресурса и просмотреть все доступные ключи вместе с примерами того, как выглядят их системные метаданные. Приложение также использует библиотеку PHRETS, поэтому, если вам нужно посмотреть пример кода о том, как они получают свои данные, вы можете просмотреть их хранилище.
Немного трудно сказать вам, что не так с вашим набором результатов, потому что нет соглашения об именах или требований к полям, которых должен придерживаться каждый канал (как бы глупо это ни было). И вам определенно не следует передавать эти регистрационные записи. Таким образом, вам может понадобиться использовать комбинацию RETSmd и связаться с соответствующими менеджерами каналов.
Я просто хотел, чтобы все знали, что я решил проблему, и поделился своим решением на случай, если у кого-то возникнет аналогичная проблема. Как объяснил Shultzie, главная проблема заключается в том, что RETS не имеет соглашения об именах. Оказалось, что мне нужно включить запрос в переменную даты, иначе IDX вернет 0 результатов (я думаю, что какое-то соглашение об обработке ошибок также будет хорошим дополнением к RETS IDX). В любом случае, я обновил свой поиск до следующего, и все начало работать:
$results = $rets->Search(
'Property',
'Listing',
"(MatrixModifiedDT=1980-01-01T00:00:00+)",
["Limit"=>1]
);
Добавление даты изменения было, в основном, лишь предположением с моей стороны, но я бы порекомендовал найти системное имя и добавить дату изменения в ваш запрос, если у вас возникла похожая проблема, и вы еще не пробовали ее.