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_to | privateが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_idtokenexpires(有効期限)
がレスポンスとして返されます。
これらは、登録またはログインしたユーザーとして後続の 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