Аутентификация
Для работы с большинством API-методов системы требуется двойная аутентификация: передача cookie и JWT-токена.
Прежде всего, понадобится API-токен,который можно получить в разделе Паспорта
Аутентификационная cookie называется AUTH_TICKET
. Для её получения требуется вызвать API-метод User.login
:
curl --location 'https://api-links.sape.ru/login' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data-raw '{
"login": "example@example.com",
"apiToken": "example"
}'
Та же операция на языке PHP:
<?php
$login = "example@example.com";
$apiToken = "example";
$data = json_encode([
"login" => $login,
"apiToken" => $apiToken
]);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api-links.sape.ru/login");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$headers = [
"Content-Type: application/json",
"Accept: application/json"
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);
var_export($response);
?>
В ответ получим AUTH_TICKET
.
Получив AUTH_TICKET
, далее получаем JSON Web Token (JWT)
.
Делается это обращением к API-методу User.auth
:
curl --location 'https://api-links.sape.ru/auth'
--header 'Accept: application/json'
--header 'Cookie: AUTH_TICKET= XXXXXXXXXXXX'
В ответ получаем JWT.
Авторизация пройдена. Для того, чтобы убедиться, что все прошло успешно, можно сделать запрос на API-метод «Сведение о текущем пользователе» (User.getInfo
):
curl --location 'https://api-links.sape.ru/rest/User/info'
--header 'Accept: application/json'
--header 'Authorization: Bearer XXXXXXXXXXXX'
--header 'Cookie: AUTH_TICKET= XXXXXXXXXXXX'