SPIRALは、主にエンタープライズ向けのローコードプラットフォームになります。ローコードプラットフォームなので、プログラミング知識がなくともWebアプリケーションを開発できるのが魅力です。
SPIRALでは、自社のシステムや外部システムと連携する場合を想定して、APIが公開されています。今回はAPIアクセスする際の基本となる、ロケータの概念と、その取得方法について解説します。
ロケータとは
ロケータを一言で言えば、APIエンドポイントURLになります。SPIRALでは、アカウントによってAPIのドメインが異なります。そのため、SPIRAL ver.1 API リファレンスにおいても、エンドポイントURLが https://example.com/api/service
のようになっています。
これはアカウントによって固定ではあるので、そのアカウントのみで利用するのであれば $APIURL = https://example.com/api/service
などのように固定値でも問題ありません。しかし、同じプログラムを異なるアカウントで動かす場合(システム開発案件など)では、URLを可変にしておく必要があります。
ロケータの確認方法
ロケータは、SPIRALの操作画面でも確認できます。APIトークンの詳細画面において、 APIリクエスト先
として書かれているのがロケータのドメインになります。
上記の場合、APIエンドポイントURLは https://www.pi-pe.co.jp/api/service
になります。
APIによる確認方法
ここからはAPIを利用した確認方法になります。
準備
APIトークンの取得
SPIRALの管理画面で、APIトークンを作成します。ダッシュボードの開発メニュー内のAPIトークンにて、新しいAPIトークンを作成します。
作成後に入手できるAPIトークンと、APIトークンシークレットをメモしておきます。
APIトークンの保存
今回はPHPで作成しています。ファイル名は locator.php
とします。
APIトークンとシークレット、ログイン用のIDとパスワードは、環境変数に保存します。以下のように .env
ファイルを作成し、トークンを保存します。
API_TOKEN=your_api_token
API_TOKEN_SECRET=your_api_token_secret
.env の読み込みは vlucas/phpdotenv
を使っています。インストールは composer
で行います。
composer require vlucas/phpdotenv
次に、PHPのコード内で .env
を読み込みます。
require_once __DIR__ . "/vendor/autoload.php";
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
ロケータの取得
ロケータのURLは、以下の手順で取得します。
// スパイラルの操作画面で発行したトークンを設定します。
$TOKEN = $_ENV['API_TOKEN'];
$SECRET = $_ENV['API_TOKEN_SECRET'];
// -----------------------------------------------------------------------------
// ロケータ
// -----------------------------------------------------------------------------
// ロケータのURL (変更の必要はありません)
$APIURL = "https://www.pi-pe.co.jp/api/locator";
// API用のHTTPヘッダ
$api_headers = array(
"X-SPIRAL-API: locator/apiserver/request",
"Content-Type: application/json; charset=UTF-8",
);
// リクエストデータを作成
$parameters = array();
$parameters["spiral_api_token"] = $TOKEN; //トークン
// JSON形式にエンコードします。
$json = json_encode($parameters);
// POSTで送信します。
$stream = stream_context_create(
array('http' => array(
'method' => 'POST',
'protocol_version' => '1.0',
'header' => $api_headers,
'content' => $json
))
);
// レスポンスデータ読み込み
$response = file_get_contents($APIURL, false, $stream);
$response_json = json_decode($response, true);
// ロケータのURL
$APIURL = $response_json['location'];
APIレスポンス response_json
は以下のようになっています。詳細はSPIRAL ver.1 API リファレンスにて確認してください。
{
"code": 0,
"message": "OK",
"location": "https://(APIサーバ)/api/service",
"default_version": 2,
"supported_version": [1, 2],
"use_client_crt": "f"
}
location
にロケータのURLが入っています。あとは、他のAPIアクセス(データベース、認証など)を行う際に、今回取得したロケータのURLを指定するようにしてください。
まとめ
今回はSPIRALのAPIを利用して、ロケータのURLを取得する流れを紹介しました。APIアクセスする際の基本になりますので、システム開発する際の参考にしてください。
なお、1分あたりのAPIのリクエスト数は、契約によって上限があります。ご注意ください(詳細はAPIのリクエスト数制限を知りたい SPIRAL ver.1 サポートサイトにて)。