Начало работы с API
Авторизация
Для использования API необходимо получить API-ключ в аккаунте пользователя SE Ranking. API-ключ необходимо передавать в параметре token для каждого вызываемого метода или в HTTP-заголовке Authorization.
Если метод API вызван без API-ключа или в запросе передан недействительный API-ключ, сервер возвращает ошибку “no token” или “incorrect token”.
Получение API-ключа
Чтобы начать пользоваться API:
- Войдите в аккаунт пользователя;
- Перейдите в раздел Настройки -> API;
- Нажмите кнопку “Получить API-ключ”.
Вызов методов
Взаимодействие с API идёт по протоколу HTTPS. Все вызовы методов API — HTTP-запросы GET/POST/PUT/DELETE к URL:
https://api4.seranking.com/
Все принимаемые и выдаваемые данные передаются в кодировке UTF-8. Данные передаваемые в теле POST/PUT запроса должны быть в формате JSON.
При успешном вызове возвращается HTTP код 2xx.
В случае ошибки возвращается HTTP 4xx или HTTP 5xx и описание ошибки.
curl -X GET “https://api4.seranking.com/account/balance” -H “Authorization: Token be2165b7d065e278e7305c1c7ef791f283f5d14b”
HTTP/1.0 200 OK
Content-Type: application/json
{“currency”:”rur”,”value”:2296380.85}
——
curl -X GET “https://api4.seranking.com/api/sites”
HTTP/1.0 403 Forbidden
Content-Type: application/json
{“message”:”No token”}
——
curl -X POST “https://api4.seranking.com” -H “Authorization: Token be2165b7d065e278e7305c1c7ef791f283f5d14b” -d “{\”url\”:\”https://example.com\”,\”title\”:\”example1\”}”
HTTP/1.0 201 Created
Content-Type: application/json
{“site_id”:147696}
$apiKey = ‘API_KEY’;
$url = ‘https://api4.seranking.com/sites’;
$context = stream_context_create([
‘http’ => [
‘method’ => ‘POST’,
‘ignore_errors’ => true,
‘header’ => [
“Authorization: Token $apiKey”,
“Content-Type: application/json; charset=utf-8”
],
‘content’ => json_encode([
‘url’ => ‘https://example.com’,
‘title’ => ‘my test project’
])
]
]);
$httpStatus = null;
$result = file_get_contents($url, 0, $context);
if (isset($http_response_header)) {
preg_match(‘`HTTP/[0-9\.]+\s+([0-9]+)`’, $http_response_header[0], $matches);
$httpStatus = $matches[1];
}
if (!$result) {
echo “Ошибка выполнения запроса!“;
} else {
$result = json_decode($result);
if (201 == $httpStatus) {
echo $result->site_id;
} else {
echo ‘Ошибка‘.$result->message;
}
}
$url = ‘https://api4.seranking.com/sites’;
$token = ‘API_KEY’;
$curl = curl_init($url);
curl_setopt_array($curl, [
CURLOPT_HTTPHEADER => [‘Authorization: Token ‘.$token],
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_POST =>true,
CURLOPT_POSTFIELDS=>json_encode([
‘url’ => ‘https://example.com’,
‘title’ => ‘my new test project’
])
]);
$content = curl_exec($curl);
if (!$content) {
echo “Ошибка выполнения запроса!“;
} else {
$info = curl_getinfo($curl);
$result = json_decode($content);
if (201 == $info[‘http_code’]) {
echo $result->site_id;
} else {
echo ‘Ошибка‘.$result->message;
}
}