ロシアのヨーロッパ侵略をとめてください。ウクライナの抵抗を支援する方法についてはこちらをご覧ください.

事前準備

認証

APIを使用する為には、SE RankingのユーザーアカウントからAPIキーを取得する必要があります。本APIキーは呼び出されるメソッドごとに token パラメータを通して、または認証HTTPヘッダを通して送信されなければなりません。

APIメソッドがAPIキー無しで呼び出された場合や、無効なAPIキーでリクエストが送信された場合は、 “no token” や “incorrect token” エラーがサーバーから返されます。

APIキーの取得

API利用を開始するには、次の手順をご確認ください:

  1. ユーザーアカウントにログインします;
  2. 設定⇒API をクリックします;
  3. APIキー生成 ボタンをクリックします。

メソッド呼び出し

本APIはHTTPSプロトコル経由でアクセスできます。全てのAPIメソッドの呼び出しは次のURLに対してHTTP GET/POST/PUT/DELETE 形式のリクエストで行います:

https://api4.seranking.com/api

全ての送信、受信データのエンコードはUTF-8 です。Data transmitted in the body of the POST/PUT 形式のリクエストのbody内の送信データは、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;
}
}