Нас попросили предоставить правильную подачу данных в режиме реального времени для веб-сайта местного агента eastate
У нас есть спецификации и примеры от Rightmove для этого, и, посмотрев на них, у нас есть пара вопросов
1) Rightmoves требует взаимной аутентификации SSL — возможно ли это с php / javascript? Если да, то любые указатели будут с благодарностью приняты
2) Кто-нибудь знает некоторые примеры PHP-скриптов, на которые мы могли бы взглянуть, чтобы начать?
Thanx
1) Да, связь SSL с сервисом Rightmove может быть достигнута с помощью PHP CURL библиотека. контакт Rightmove ADFT Team и запросите необходимые учетные данные для аутентификации клиента. Извлеките ключ и сертификат .pem из файла .p12.
В Linux:
openssl pkcs12 -in file.p12 -out file.key.pem -nocerts -nodes
openssl pkcs12 -in file.p12 -out file.crt.pem -clcerts -nokeys
Выполните следующий запрос к сервису Rightmove вместе с вашими данными, подробнее см. Rightmove Спецификации подачи данных в реальном времени.
$url = 'https://adfapi.adftest.rightmove.com/v1/YOUR METHOD';
$curl = curl_init();
$headers = ["Content-type: application/json;charset=\"utf-8\""];curl_setopt_array($curl,
[
CURLOPT_URL => $url,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($data, JSON_UNESCAPED_SLASHES),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => true,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_VERBOSE => true,
CURLOPT_SSLVERSION => 6,CURLOPT_SSLCERT => 'RIGHTMOVE SECRETE',
CURLOPT_SSLKEY => 'RIGHTMOVE SSL KEY',
CURLOPT_SSLCERTPASSWD => 'RIGHTMOVE PASS',
CURLOPT_SSLKEYPASSWD => 'RIGHTMOVE SSL PASS',
);$request = curl_exec($curl);
if (empty($request)) {
throw new \RuntimeException('cURL request returned following error: '.curl_error($curl) );
}
curl_close($curl);
return $request;
2) Вот пример PHP-скрипта RightmoveADF на GitHub.
В качестве альтернативы используйте другие сервисы, которые предлагают интеграцию каналов данных в реальном времени с Rightmove, есть много других доступных, вот некоторые результаты поиска Google:
Других решений пока нет …