The Bubble API

概要

Data API を使用すると、外部システムが RESTful インターフェイス経由で
アプリケーションのデータベースに対して「検索」「読み取り」「作成」「変更」「削除」を行うことができます。


データの送信

API を呼び出す際、パラメータ(データ)を送信する必要があります。

  • GET:URL に文字列化・URL エンコードされたデータを付与
  • POST:リクエストの Body にデータを含める

Bubble は送信されたデータを検証し、形式が正しいか確認します。

1)住所(Geographic address)

以下のような住所文字列を送信できます:

"33 Nassau Avenue, Brooklyn, NY 11222"

Bubble が Google Maps API を使い、緯度経度を含む住所形式に変換します。

オブジェクト形式でも送信可能:

{
  "address": "String",
  "lat": Number,
  "lng": Number
}

※ address または lat/lng が必須

2)日付(Date)

日付は文字列またはタイムスタンプで送信:

例:

  • "Wed Jan 13 2016"
  • "01/13/2016"
  • "1453398788637"

3)ファイル・画像(Files & Images)

ファイル/画像パラメータは 2 通りで送信可能:

① URL 文字列(既に外部ストレージに保存されている場合)
② Base64 データ(Bubble のストレージにアップロード)

② の場合の JSON 形式:

{
  "filename": "String",
  "contents": "Base64-encoded binary data",
  "private": true/false,
  "attach_to": "String"
}
キー必須説明
filename任意推奨。拡張子 → ファイルタイプ識別に必要
contents必須Base64 化したファイルデータ
private任意true → 保護し、DBのオブジェクトに紐付ける
attach_toprivateがtrueの場合必須紐づくオブジェクトの一意ID

不明な形式の場合 → 400 INVALID_DATA

4)Thing(データベースの項目)

Thing または Thing のリストの場合:Thing の一意 ID を送信

タイプ不一致または該当なし → 400 INVALID_DATA


API レスポンス

  • JSON 形式でリターンされます。
  • Workflow API の「Return data from API」でリターン形式を指定可能です。

ログイントークンの返却

ワークフロー内で Sign up(ユーザー登録) または Log the user in(ログイン) アクションを使用すると、

  • user_id
  • token
  • expires(有効期限)

がレスポンスとして返されます。
これらは、登録またはログインしたユーザーとして後続の API コールを認証するために使用できます。

成功・エラーコード

  • 200(データが含まれる場合あり):リクエスト成功
  • それ以外:失敗時はエラーコードを返す

API バージョン

後方互換性のない変更が行われると、新たな API バージョンが導入されます。
現在の API バージョン 1.1 は、2017年1月19日に導入されました。

Version 1.1 の特徴

APIレスポンスにて 可能な限り JavaScript オブジェクト形式で値を返すよう改善:

  • 日付:タイムスタンプではなく ISO 形式(例:2016-11-11T19:14:46.517Z
  • 地理的住所:JSONオブジェクトで返却

例:

location = {
  "address": "Les Ferreys, 14130, France",
  "lat": 49.19959,
  "lng": 0.19707
}

Version 1.0(最初のバージョン)

  • 導入:2016年1月

住所の値の送信

住所データは、

  • 住所文字列
  • address / lat / lng のオブジェクト

どちらの形式でも送信可能です。
送信時に必須なのは以下のいずれかです。

address

lat/lng