При добавлении параметров к базовому URL необходимо учитывать, что параметры должны следовать строго в алфавитном порядке. Исключением является параметр signature, который обязательно должен быть последним параметром.
Ниже приводится PHP-код, который сортирует и подписывает параметры. На вход функции передаются следующие параметры:
- $params – ассоциативный массив «параметр» => «значение»
- $password – пароль для доступа к сайту.
- Код: Выделить всё
function BuildUrlParamsWithSignature($params, $password)
{
ksort($params);
$url = '';
if (!is_array($params))
return $url;
foreach($params as $key => $value)
{
$url .= $key . "=" . urlencode($value) . "&";
}
$signature = md5($url . "&password=".urlencode($password));
$url .= "signature=" . $signature;
return $url;
}
Функция возвращает строку, которую необходимо добавить к базовому URL. Обратите внимание, что в параметрах и в подписи учитывается регистр.