設計情報

投稿者: SPIRERS ナレッジ向上チーム 2025年2月27日 (木)

動画で学ぶ SPIRAL ver.2 基本機能 ~【サイト管理】カスタムAPI ~

動画

カスタムAPIとは

動画を見る
※カスタムAPIについて説明している部分(0:06~)へジャンプします。
カスタムAPIは、ユーザがJSON形式で通信できる独自のAPIを作成できる機能です。
API毎にそれぞれ一意のURLを発行してリクエストを行うため、ユーザ自身がPHPでカスタマイズした処理を実行することができます。

この機能を使用することで、外部サービスとのWebhook連携が可能になるため、実装工数の短縮にも役立ちます。

カスタムAPIの仕様

仕様上の制限をご理解いただいたうえでご活用ください。
URLフォーマット

以下のフォーマットで指定ください。

https://{アカウント識別名}-{サイト識別名}.spiral-site.com/_program/{custom_api_name}

サイト管理から作成したページなど、内部からアクセスする場合は、相対パスを利用することができます。

/_program/{custom_api_name}
利用可能なメソッド

以下のメソッドをご利用いただけます。
・GET
・POST
 ※ヘッダーの「Content-Type」に「application/json」を指定する必要があります。
・OPTIONS

設定上限

サイト毎に5つまで設定可能です。

使用可能なプログラミング言語

PHPが使用できます。
PHPは300,000文字まで設定可能です。

独自関数

カスタムAPIで使用できる独自関数を用意しています。

getCustomApiRequestBody() リクエスト本文の連想配列を返します
getCustomApiQueryParameters() クエリパラメータの連想配列を返します
setCustomApiResponse($param) 設定した内容に基づいて使用するJsonオブジェクトとして応答します

実行時間の制限

実行開始から30秒以内に処理が完了しない場合、以下のエラーを返します。

Execution timeout expired.
その他の制限

カスタムAPIでレコード登録/更新/削除を実行した場合は、実行先DBの非同期アクション(PHP実行アクション)は発動しません。

セキュリティに関する仕様

カスタムAPIに対して、IPアドレス制限や認証エリアによるアクセス制限をかけることができます。
またCROS設定によりアクセスを許可するオリジンなどの設定もできます。

これらの仕様に関する詳細は、サポートサイトをご参照ください。

操作手順

動画を見る
※カスタムAPIの操作手順について説明している部分(2:31~)へジャンプします。
 1.「サイト管理」に進み、カスタムAPIの設定を行いたいサイト名を選択します。
 2.カスタムAPIに進みます。
 3.「+」ボタンを押下します。
 4.「表示名」「識別名」を入力し、設置する認証エリアを指定する場合は、対象の認証エリアを選択します。
  ※認証エリアの設定は、後から変更することができませんのでご注意ください。
 5.PHP欄に入力して、「作成」ボタンを押下します。

作成の完了後、セキュリティに関する設定を変更することができます。
 6.作成したカスタムAPI名を押下します。
 7.「セキュリティ」タブに進み、IPアドレス制限、CORS設定など、要件に合わせてご変更ください。
設定の完了後や変更・削除後に、本番環境に反映する場合は適宜リリースを行ってください。
リリースの詳細はサポートサイトをご参照ください。

参考リンク

最後に

カスタムAPIを使用することで、参考リンクにあるような設定も可能です。
一度ご参照いただき、是非ご活用ください。
解決しない場合はこちら コンテンツに関しての
要望はこちら