モジュールのGET API機能

モジュールIDが出力する変数をAPI(JSON)で取得できる機能です。 Ver.3.0から利用できます。

いままではJSONデータを取得する際に、JSON形式のテンプレートを作成して対応していましたがその手間を省くことができます(※2022年1月19日現在は、Json_2Tplモジュールでは使用できません)。

API機能を使うための初期設定

管理画面 > コンフィグ > API設定 からAPI機能の設定を行います。



API有効化

API有効化にチェックを入れる事で、API機能が有効になります。

X-API-KEY

APIを使用してHTTP通信をする際に必要になります。HTTPリクエストヘッダーに含める必要があります。
API-KEYはコンフィグセット毎に生成されるので、異なるコンフィグセットを設定しているブログが存在する場合は注意しましょう。

Allow-Origin

APIリクエストを許可するドメインを設定します。
同一オリジンでAPIを使用する際には Allow-Origin の設定は不要です。

APIの制限

APIリクエストを制限することが出来ます。何も設定しないと、 外部から想定していない使われ方をすることもあるので、出来るだけ設定しましょう。

HTTP リファラー

リクエスト元のHTTPリファラーで制限します。 ワイルドカード アスタリスク(*)が利用できるようになっています。

IP アドレス

リクエスト元のIPアドレスで制限します。 ブラウザ(JavaScript)からのリクエストはエンドユーザーによってIPアドレスが変わるので、 サーバーサイドから利用する場合に、IPアドレスで制限しましょう。

モジュールID設定

APIはモジュールIDを指定して、動作するようになります。上記の設定でAPIは有効になりましたが、利用するモジュールID側で、APIでの出力を許可するか設定する必要があります。

API出力したいモジュールIDの「条件設定」で、APIにチェックをつけてください。



エンドポイント

エンドポイントとはAPIにアクセスするためのURIのことを言います。a-blog cmsでは URLコンテキストの末尾に /api/:module_id/:module_id は任意のモジュールID)を追加したURIがエンドポイントになります。

例えば、a-blog cmsを https://example.com というURLで使用していて、summary_index というモジュールIDを設定したモジュールの情報を取得する場合のエンドポイントは以下になります。

https://example.com/api/summary_index/

また、a-blog cmsの特徴であるURLコンテキストを利用することができます。
例えば、 summary_index のモジュールIDを設定したモジュールの情報のうち、カスタムフィールド「price」の値を「60000」で登録しているかつ2ページ目の情報だけを取得したい場合は以下のようなエンドポイントになります。

https://example.com/field/price/60000/page/2/api/summary_index/

API機能はモジュールIDを作成することができるすべてのモジュールに対応しています。

ハンズオン記事

以下の記事では、API機能を使って画面遷移なしでエントリーのフィルタリングをする方法を紹介しています。動画もあるので、ぜひご覧ください。