nofollow

Начало работы

Авторизация

Для использования API необходимо получить API-ключ в аккаунте пользователя SE Ranking. API-ключ необходимо передавать в параметре token для каждого вызываемого метода или в HTTP-заголовке Authorization.

Если метод API вызван без API-ключа или в запросе передан недействительный API-ключ, сервер возвращает ошибку “no token” или “incorrect token”.

Получение API-ключа

Чтобы начать пользоваться API:

  1. Войдите в аккаунт пользователя;
  2. Перейдите в раздел Настройки -> API;
  3. Нажмите кнопку Получить 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\»:\»http://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 «Request failed!»;
} else {
$result = json_decode($result);
if (201 == $httpStatus) {
echo $result->site_id;
} else {
echo ‘Error’.$result->message;
}
}



$url = ‘API_BASE_URL/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 «Request failed!»;
} else {
$info = curl_getinfo($curl);
$result = json_decode($content);
if (201 == $info[‘http_code’]) {
echo $result->site_id;
} else {
echo ‘Error’.$result->message;
}
}