Lotinfo.API v1
Search
K

Генерация ссылки для Iframe

К указанной в приложении ссылке iframe в зависимости от раздела добавляются специальные параметры, добавляются они в виде GET параметров к ссылке.
Общими параметрами для всех разделов являются параметры:
  • lotinfoApp[agencyId] - ID агентства недвижимости в системе лотинфо
  • lotinfoApp[userId] - ID пользователя
  • lotinfoApp[time] - время генерации ссылки для обращения в формате unix timestamp, данный параметр используется для обработки устаревания ссылки, рекомендуем проверять данный параметр и в случае, если он старше чем 60 секунд, считать ссылку не действительной.
  • lotinfoApp[hash] - подпись корректности обращения, данный хеш генерируется на основании всех параметров и значений в ссылке исключая самого себя, подробнее здесь
ID агентства недвижимости и ID пользователя совпадает в случае если пользователь является директором агентства недвижимости
Также, в зависимости от раздела системы могут передаваться дополнительные параметры:
  • lotinfoApp[clientId] - ID карточки клиента
  • lotinfoApp[orderId] - ID карточки заявки поиска
  • lotinfoApp[objectId] - ID карточки объекта
  • И иные параметры.

Генерация HASH подписи к обращению

Hash генерируется на основании конкатенации ключей и значений в передаваемых параметрах в ссылке в том числе и указанных в анкете приложения.
Пример функции проверки подписи:
PHP
$secretKey = "[secret]";
$link = $_SERVER['QUERY_STRING'];
if (appHashCheck($iframeLink, $secretKey) === true){
// hash is OK
};
function appHashCheck($queryString, $secretKey){
parse_str($queryString, $params);
return md5(md5(appHasherToString($params).$params['lotinfoApp']['time']).md5($secretKey)) == $params['lotinfoApp']['hash'] ? true : false;
}
function appHasherToString($params){
unset($params['lotinfoApp']['hash']);
ksort($params);
$data = "";
foreach($params as $key => $value){
if (is_array($value)){ $value = appHasherToString($value); }
$data .= ";{$key}|{$value};";
}
return $data;
}