みなさん、こんにちは。いかがお過ごしでしょうか。各地の緊急事態宣言も延長が決まるなど、まだまだCOVIDの影響下におられる方が多いかと思います。ぜひ有効時間を活用してbubbleを使いこなせるようになっていただければ幸いです。この記事ではノーコードツールbubbleでのAPIの定義付けについて解説しますが、APIに関する記事は以前にも投稿しておりますので、ぜひそちらも一緒にご確認していたければと思います。それではLet’s Go!
この記事の目次
APIを定義つける
APIをアクティベートする
BubbleAPIは現在、パーソナルプラン以上のユーザーが利用できます。APIを有効にするには、設定タブのAPIセクションに移動し、関連するチェックボックスにチェックを入れます。
1, POST/ワークフロー API を使用すると、アプリ内の新しいページにアクセスして、他のサービスによってトリガーされるワークフローを編集したり、スケジューリング目的で使用したりすること ができます。アプリで将来的にいくつかのワークフローをスケジュールする必要がある場合や、週単位または月単位でワークフローを実行する必要がある場合、ワークフロー API はこのような場合に最適なツールです。
2, GET/Data APIは、データを外部に公開する方法です。
GET/Data APIをセットアップする
API を介して公開するタイプを選択することで、アプリケーションのデータを外部に公開します。設定タブのAPIセクションで関連するチェックボックスをチェックすることで、これらのフィールドを選択することができます。
重要: データタイプを公開するとすぐに、外部サービスや開発者はアプリケーションを訪問しなくてもデータにアクセスできるようになります。 権限のある開発者 (例えば、あなたから API キーを取得した開発者) だけが正しいデータにアクセスできるように 、プライバシールールを慎重に設定する必要があります。
APIワークフローをセットアップする
アプリケーションメニューの下部にあるアプリのAPI部分 – “Backend Workflows “にアクセスできます。これにより、特定のページに属さない数種類のワークフローがある特別な「ページ」が表示されます。デザインタブにはアクセスできず、すべての作業はワークフロータブで行われます。
以下のセクションでは、アプリにエンドポイントを追加する際の主な、ポイントについて説明します。
エンドポイントを作成する
API ワークフロー(または「エンドポイント」)の作成は、ページ内での通常のワークフローの作成とよく似ていますが、いくつかの違いがあります。各エンドポイントには一意の名前を付ける必要があります。名前は小文字でスペースを入れないでください。
認証とエンドポイントの外部への公開については、いくつかのオプションを選ぶことができます。
1, 公開エンドポイントとして公開: 他のサービス(Stripeなど)からエンドポイントを使用する場合、または他の開発者にエンドポイントを使用させる場合は、このボックスにチェックを入れます。アプリ内でスケジュールされた操作のためのワークフローを設定している場合は、このボックスにチェックを入れるべきではありません。
2, 認証なしで実行できるエンドポイントもあります。API ワークフローは、外部サービスによってトリガーされると、通常はAPI キーを使用して実行されます。APIキーを持つリクエストを必要としない場合は、このボックスをオンにします。これは、 ユーザーがアプリにサインアップまたはログインできるようにする場合に特に便利 です。
3, ワークフロー実行時のプライバシールールの無視:API ワークフローは、送信されたトークン/キーに基づいて実行されます。すべてのプライバシールールが適用されます。しかし、ワークフローを認証なしで実行した場合でも、これらのルールをバイパスして、データに対する全権限を持つ管理者ユーザーとして実行したい場合があります。その場合は、このボックスにチェックを入れます。セキュリティとプライバシーのオプションと同様に、この機能は注意して使用してください。
パラメーターを定義つける
API ワークフローでは、いくつかのパラメータを取ることができます。これはリクエスト(または将来のワークフローのスケジューリング)を行う際に、ワークフローに送信するデータを定義する方法です。パラメータを定義するには、2 つの方法があります。自分で構造を定義する方法と、受信したデータの構造を自動的に検出する方法です。最初のオプションは、エンドポイントを定義してリクエストを制御する場合(例えば、スケジュールされたワークフローを使用したり、カスタムクライアントを構築したりする場合)に適しており、2 番目のオプションは、エンドポイントを webhook への応答として使用する場合に便利です。
エンドポイント定義でパラメータを定義すると、その後のアクションでこのデータにアクセスできるようになります。定義したパラメータは、Expression Composer の最初のメニューの上部に表示されます。定義したデータのタイプは、次のドロップダウン・メニューで表示されるさまざまなオプションに影響を与えます。
マニュアルの定義
パラメータを追加するときは、パラメータに名前を付け、データの種類を選択し、パラメータがオプションかどうかを指定する必要があります。データの種類は非常に重要です。リクエストが行われると bubble はデータを検証し、パラメータが無効な場合はエラーを返します。リクエストの方法については、以下を参照してください。
自動検出機能
また、外部サービス(webhook)から送信されるデータの構造を自動的に検出するオプションもあります。これを行うには、[データの検出] ボタンをクリックして、エンドポイントへのリクエストをトリガーすることができます。
https://appname.bubbleapps.io/version-test/api/1.1/wf/endpoint/initialize
もしくは
https://yourdomain.com/version-test/api/1.1/wf/endpoint/initialize
上記いずれかのようになります。
リクエストは、あなたが修正しているバージョンのアプリのテストバージョンに行う必要があります。データが検出されると、必要なフィールドを選択し、その後のアクションでパラメータを使用するためにこのデータのタイプを選択できるようになります。
APIワークフローからデータを返す
ほとんどのAPIワークフローはいくつかのアクションを実行しますが、状況によっては、いくつかのデータをバックさせたい場合があります。例えば、エンドポイントが何かを作成した場合、結果を表示したり保存したりできるように、データをとって送り返したいと思うかもしれません。データを返すには、‘Return data from API’ アクションを使用することができます。 このアクションはAPIワークフローに特化したもので、一般的なワークフローにはありません。
OAuth(オーオース)認証情報
アプリケーションにOAuth認証情報を追加するには、設定タブに移動します。
そこから2つの鍵を取得します。1つはクライアントID用、もう1つはクライアントシークレット用です。これらの鍵は秘密にしておきましょう!
その後、名前とRedirect_uriを追加する必要があります。名前は、あなたのアプリへのアクセスを許可しているアプリのことです。Redirect_uriは、ユーザーがこのアプリに正常に接続した後にあなたがユーザー対して送信するURLです。
スワッガー仕様
Swagger Specificationは、APIを記述するための標準的な方法です。ドキュメントを作成したり、他のツールがAPIと統合できるようにするために使用できます。bubbleは、アプリケーションのAPIを有効にすると、Swagger Specificationを提供します。
それを得るためには、
https://appname.bubbleapps.io/api/1.1/meta/swagger.json
もしくは
https://yourdomain.com/api/1.1/meta/swagger.json
というエンドポイントを打つ必要があります。
まとめ
いかがだったでしょうか。今回の記事ではノーコードツールbubbleのAPIの定義付けについて解説しました。冒頭でも申し上げましたが、APIに関する記事は他にも投稿していますので併せてチェックしてみてください。それではまた別の記事でお会いしましょう。See You!