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
<?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 トークンを含める必要があります。トークンがない、または無効な場合はエラーとなります。