メインコンテンツまでスキップ

APIを呼び出してみる

それでは、実際に API を呼び出してみましょう。ここでは、汎用的なコマンドラインツールであるcURLと、Web 開発で広く使われているPHPを使ったサンプルコードを紹介します。

API のエンドポイント URL は、ご利用の環境によって異なります。基本的には以下の形式になります。

環境ベースURL
通常環境https://krs.bz/{environmentId}/api/v1/{apiName}
カスタムドメインhttps://{customDomainName}/api/v1/{apiName}
APIテスト環境https://apitest.krs.bz/{environmentId}/api/v1/{apiName}
API検証環境https://apibeta.krs.bz/{environmentId}/api/v1/{apiName}
  • {environmentId}: 弊社から発行される環境 ID に置き換えてください。
  • {customDomainName}: カスタムドメインをご利用の場合のドメイン名です。
注意

KREISEL にてカスタムドメインのオプションをご利用の場合や、デモ版をご利用の場合は、接続先 URL が上記と異なる場合があります。

KREISELのバージョンを取得する (cURL)

最初に、認証が不要な API を試してみましょう。POST /api/v1/get_version API は、現在の KREISEL のバージョンを返します。

ENV_ID 変数の部分にご自身の環境 ID を設定し、ターミナルから以下のコマンドを実行してみてください。

curl -X POST -H "Content-Type: application/json" https://krs.bz/$ENV_ID/api/v1/get_version

成功すると、以下のような JSON レスポンスが返ってきます。

{
"version": "202509"
}

環境名を取得する

次に、認証が必要な API を呼び出してみましょう。POST /api/v1/get_environment_name API は、設定されている環境名を返します。

以下のサンプルコードでは、PHP の cURL 拡張機能を利用して API を呼び出します。

<?php

/**
* KREISEL APIを呼び出す関数
*
* @param string $apiName 呼び出すAPI名 (例: get_environment_name)
* @param string $token APIトークン
* @param array $params APIに渡すパラメータ
* @return array APIからのレスポンス(連想配列)
* @throws Exception API呼び出しでエラーが発生した場合
*/
function callKreiselApi(string $apiName, string $token, array $params = []): mixed
{
// {environmentId}をご自身の環境IDに置き換えてください
$environmentId = getenv("ENV_ID");
$endpoint = "https://krs.bz/$environmentId/api/v1/{$apiName}";

$headers = [
'Content-Type: application/json; charset=utf-8',
'Authorization: Bearer ' . $token,
];

$ch = curl_init($endpoint);

// オプション設定
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$responseBody = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch)) {
$error = curl_error($ch);
curl_close($ch);
throw new Exception('cURL Error: ' . $error);
}

curl_close($ch);

$response = json_decode($responseBody, true);

// HTTPステータスコードが400以上はエラーレスポンスとして処理
if ($httpCode >= 400) {
$errorMessage = "KREISEL API Error: (HTTP {$httpCode})";
if (isset($response['error_code'], $response['error_desc'])) {
$errorMessage .= " {$response['error_code']} - {$response['error_desc']}";
} else {
$errorMessage .= " " . $responseBody;
}
throw new Exception($errorMessage);
}

return $response;
}

// --- APIの呼び出し実行 ---

// API_TOKEN 環境変数にご自身のAPIトークンを設定してください
$apiToken = getenv("API_TOKEN");

try {
// 1. バージョン情報を取得 (認証不要API)
$versionInfo = callKreiselApi('get_version', $apiToken);
echo 'KREISEL Version: ', $versionInfo['version'], PHP_EOL;

// 2. 環境名を取得 (認証必要API)
$envname = callKreiselApi('get_environment_name', $apiToken);
echo 'Environment Name: ', $envname, PHP_EOL;

} catch (Exception $e) {
echo 'エラーが発生しました: ', $e->getMessage(), PHP_EOL;
}
備考

POST /api/v1/get_version API は認証が不要ですが、他の多くの API(POST /api/v1/get_environment_nameなど)では、リクエストヘッダーに有効な API トークンを含める必要があります。トークンがない、または無効な場合はエラーとなります。