BubbleのData APIの使い方:ノーコードで外部データ連携を実現

BubbleのData APIの使い方 ノーコードで外部データ連携を実現 Bubble

Bubbleは、プログラミングの知識がなくてもウェブアプリケーションを構築できる人気のノーコードプラットフォームです。その中でも、Data APIは外部システムとのデータ連携を可能にする強力な機能です。

この記事では、BubbleのData APIの基本的な使い方から応用まで詳しく解説していきます。

会社紹介

運営:株式会社Spovisor(スポバイザー)

株式会社Spovisorではノーコード・ローコードツールを使ったシステム開発、アプリ開発を実施しています。
要件定義から伴走して支援し、安価・スピーディー・柔軟な開発を行います。無料でご相談もお受けしております。

Data APIとは

Data APIは、Bubbleアプリケーションのデータベースに外部からアクセスするためのインターフェースです。これにより、他のアプリケーションやサービスとBubbleアプリのデータを連携させることが可能になります。

主な特徴:

  • RESTful API
  • JSON形式でデータをやり取り
  • セキュアな認証機能
  • データの取得、作成、更新、削除(CRUD操作)をサポート

Data APIの有効化

  1. 「Settings」タブをクリック
  2. メニューから「API」を選択
  3. 「Enable Data API」をオンに切り替え

これで、あなたのBubbleアプリケーションでData APIが利用可能になります。

”Use field display instead of ID for key names”にもチェックをつけておいてください。そうすることでData typesに設定したfield名をそのまま利用することが出来ます。

API Token認証

Data APIへのアクセスには、セキュリティのため認証が必要です。ここでは、API Token認証の設定方法と使用方法を説明します。

API Token認証の設定

  1. Bubbleダッシュボードの「Settings」→「API」に移動
  2. 「API Tokens」セクションで「Generate a new API token」をクリック
  3. 生成されたAPI tokenを安全に保管

API Token認証の使用

APIリクエスト時には、HTTPヘッダーに以下のように認証情報を含めます。こうすることで管理者としてAPIを利用することが可能となります。

Authorization: Bearer YOUR_API_TOKEN

Privacy ruleの設定

誰でもData APIでデータの取得、作成、修正、削除を行えるとセキュリティ上のリスクが発生するため、管理者以外はAPIからのデータの操作(作成、修正、削除)を行えないようにすることをおすすめします。

Data APIの対象としたData typesのPrivacy ruleでは以下のように”Modify via API”, “Delete via API”, “Create via API”の設定が追加されます。

管理者以外は不可となるようチェックを外しておくことが良いかと思います。管理者として実行する際はAPI tokenを設定することで問題なく動作が行えます。

データの取得(GET)

Data APIを使用してBubbleアプリケーションから「商品」データを取得する基本的な方法を見ていきましょう。
Data typesはこのようになっています。

データを取得する際のエンドポイント(APIを叩く先)は以下を設定します。

エンドポイント:

GET https://[your-app-name].bubbleapps.io/api/1.1/obj/商品

例えば、「商品」データ型のすべてのレコードを取得するリクエスト:

GET https://your-app.bubbleapps.io/api/1.1/obj/商品

クエリパラメータ

データ取得時には、様々なクエリパラメータを使用できます:

  • constraints: フィルター条件を指定
  • sort_field: ソートするフィールドを指定
  • descending: ソート順を降順にする(true/false)
  • limit: 返すレコード数の上限を設定
  • cursor: ページネーション用のカーソル

例:価格が1000円以上で、価格順にソートされた最大10件の商品を取得

GET https://your-app.bubbleapps.io/api/1.1/obj/商品?
constraints=[{"key":"価格","constraint_type":"greater_than","value":1000}]&
sort_field=価格&
limit=10

データの作成(POST)

新しい商品データをBubbleアプリケーションに追加するには、POSTリクエストを使用します。

エンドポイント:

POST https://[your-app-name].bubbleapps.io/api/1.1/obj/商品

リクエストボディには、作成する商品データのフィールドと値をJSON形式で指定します。

例:新しい商品を作成するリクエスト

POST https://your-app.bubbleapps.io/api/1.1/obj/商品
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN

{
  "名前": "リンゴ",
  "価格": 300
}

成功すると、作成されたレコードのIDを含むレスポンスが返されます。

データの更新(PATCH)

既存の商品データを更新するには、PATCHリクエストを使用します。

エンドポイント:

PATCH https://[your-app-name].bubbleapps.io/api/1.1/obj/商品/[record-id]

例:IDが123の商品の価格を更新するリクエスト

PATCH https://your-app.bubbleapps.io/api/1.1/obj/商品/123
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN

{
  "価格": 350
}

データの削除(DELETE)

商品データを削除するには、DELETEリクエストを使用します。

エンドポイント:

DELETE https://[your-app-name].bubbleapps.io/api/1.1/obj/商品/[record-id]

例:IDが123の商品を削除するリクエスト

DELETE https://your-app.bubbleapps.io/api/1.1/obj/商品/123
Authorization: Bearer YOUR_API_TOKEN

エラーハンドリング

Data APIは、リクエストが成功しなかった場合にエラーレスポンスを返します。一般的なHTTPステータスコードが使用され、エラーの詳細情報がJSON形式で提供されます。

例:

{
  "status": "error",
  "message": "Record not found"
}

適切なエラーハンドリングを実装することで、APIの利用をより堅牢にすることができます。

応用例:外部システムとの連携

BubbleのData APIを活用することで、様々な外部システムと商品データを連携できます。以下に、いくつかの応用例を紹介します。

  1. 在庫管理システムとの連携:
    Bubbleアプリの商品データを外部の在庫管理システムと同期させ、リアルタイムの在庫情報を維持します。
  2. 価格比較サイトとのデータ連携:
    商品データを定期的に価格比較サイトに送信し、競合他社の価格と比較分析を行います。
  3. マーケットプレイスとの統合:
    Bubbleで管理している商品データを、外部のマーケットプレイスやECプラットフォームに自動で出品・更新します。
  4. データ分析ツールとの連携:
    商品の売上データや在庫推移を外部の分析ツールに送信し、詳細な市場分析やトレンド予測を行います。

まとめ

BubbleのData APIは、ノーコードプラットフォームの柔軟性をさらに拡張する強力なツールです。API Token認証を使用することで、セキュアかつ簡単に外部システムと連携できます。

この記事で紹介した基本的な使い方を理解し、実際のプロジェクトに適用することで、Bubbleアプリケーションの可能性を大きく広げることができるでしょう。商品データの管理や外部システムとの連携を通じて、より効率的で柔軟なビジネスソリューションを構築してください。

API統合の実装時には、セキュリティに十分注意を払い、Bubbleの公式ドキュメントを参照しながら進めることをお勧めします。Data APIを活用して、より強力で柔軟なアプリケーションを構築してください。

会社紹介

運営:株式会社Spovisor(スポバイザー)

株式会社Spovisorではノーコード・ローコードツールを使ったシステム開発、アプリ開発を実施しています。
要件定義から伴走して支援し、安価・スピーディー・柔軟な開発を行います。無料でご相談もお受けしております。