テーマを変更中で、表示が崩れているところがあります…!

【bubble】郵便番号を入力して住所を自動入力させる※API利用

.bubble
.bubble

ちょっと時間が空いてしましました。

質問シリーズも書こうとしてるんですが、途中になっていまして。たまたま郵便番号から住所入力ができるかの確認をする機会があったので、試したことを書いていきます。

利用したもの

  • BubbleのAPI Connector
  • 郵便番号検索API(zip cloud様)

プラグインの準備

プラグインのインストール

最初に、API Connectorをインストールしましょう。

Plugins タブから+Add pluginsをクリックして、API Connectorを検索し、インストールします。

API Connectorをインストール

プラグインの設定

PluginsタブからAPI Connectorを選択し、設定をしていきます。

expandをクリックすると設定できるフォームが表示されます。

API Connectorの設定1

zip cloudさんのサイトを見ながら、設定していきます。

API NameにはPostCodeという名前をつけました。わかりやすい名前にしておくと良いでしょう。

以下は私の設定です。

API Connectorの設定2
名前設定した値概要
NameGetPostCode利用するAPIの名前
Uses asAction何で利用するか
アクションで利用したかったので、Actionにしました。
Data typeJSONレスポンス型の指定
本件ではJSONになります。
GETGETAPIのタイプ
値の取得なので、GETになります。
URLhttps://zipcloud.ibsnet.co.jp/api/searchAPIのエンドポイント
基本の設定

次に、送信するパラメータの指定をします。基本的にはリファレンスに従ってください。

名前設定した値概要
Keyzipcodezipcodeは必須です。
Value079-1143入れておくと、ワークフローのアクションで
デフォルトで入力されます。空でも良いです。
パラメータんお設定

zip cloudさんではzipcodeのみ必須で、ここではテストなのでzipcodeのみ指定しました。最大件数も設定できるようなので、代表的な1件を取得したければlimit=1で指定しても良いかと思います。

レスポンスを設定

レスポンスの値を取得するために、Initialize callをクリックしてください。(画像ではReinitialize callとなっています。設定を変更したらReinitialize callをクリックしましょう!)

initialize call

レスポンスの形式に合わせて、JSONのプロパティの値タイプを設定します。

今回はStatus以外は全てtext、Statusのみnumberとしています。

SAVEをクリックして保存します。

要素を配置

今回、ボタンを押して取得ではなく、値を変更して住所文字列を取得しています。

要素は3つのみ配置しています。

要素を配置する

まず、郵便番号を入力するInput PostCode。こちらはハイフンを入れられるようにContent formatをtextにしています。それ以外は何も設定していません。

次に、住所を表示するInput Addressですが、ワークフローでInputに値を設定することができないため、Group内に配置しました。

住所表示のInputをGroup内に入れる

GroupのType of Contentをクリックすると候補が表示されますが、API Connectorを設定していると、APIを呼んだ結果を取得できますので、先ほど設定したGetPostCodeのresultを選択します。Data sourceは空でOKです。

内部のInput Addressはちょっと面倒ですが、レスポンスが都道府県、市区町村、町名と分かれているので、全てappendで繋ぎました。親要素のGroupにはレスポンスの結果が入るので、必要なプロパティを全て結合しています。

Input AddressのInitial content

上記のようにすると、Groupの値が変更になったときに、Inputの値が自動的に変更されます

ワークフローを設定

では、Input PostCodeの値が変更された時に、GroupにAPIの取得結果を設定するようにワークフローを設定していきます。

トリガーは An input’s value is changed を選択し、ElementにInput Postcodeを設定します。

ワークフローの設定1

最初のアクションは、Plugins から PostCode – GetPostCode を選択します。設定したAPIを選択できます。

ワークフローの設定2

(param.)zipcodeには実際にAPIを呼ぶときのパラメータを指定します。今回はInput Postcode’s valueになります。

ワークフローの設定3

次のアクションで、Input Addressを配置したGroupのリセットをします。これを入れないと、 Input Addressの値を変更した後、Input PostCodeを変更しても新しい値に書き変わりません!

ワークフローの設定4

最後のアクションで、Input Addressを配置したGroupに、Dataを設定します。

ワークフローの設定5

レスポンスはリストなので、:first itemとしました。同じ郵便番号で町名が異なることもあるので、本当はリスト表示をして選択する方がUIとしては良いのでしょうが、とりあえずテストなので最初のレスポンスを指定しました。

試してみる

ここまで設定したら、Previewをクリックして動きを確認しましょう。

郵便番号を入力して住所を表示

郵便番号を入力したら住所が自動入力されることが確認できました!

Thanks

API Connectorの設定方法を調べる時に下記サイトを参考にさせていただきました。

ノーコードラボさんでは同じzip cloudを使った説明がされていますので、よくわからなかった方はこちらをチェック!(他人任せ)

タイトルとURLをコピーしました