micomia株式会社の畑井です。
今回はzipcloudの郵便番号検索APIを使って、郵便番号検索ができるように解説していきます。郵便番号検索はアプリをリリースする上で必須ではありませんが、あるととても便利な機能になりますので、ぜひマスターしてみてください。
目次
1.zipcloudとは

zipcloud(ジップクラウド)は日本郵便のWebサイトで公開されている郵便番号データを再配信するサービスです。その中でも郵便番号検索は無料で利用できるため多くのサービスで利用されています。
2.APIの仕様を確認する
APIの設定をしたことがない方でもわかるようにステップバイステップで解説していきます。
API仕様:http://zipcloud.ibsnet.co.jp/doc/api
2-1.FlutterFlowでAPI Callsにアクセス

FlutterFlowの「API Calls」を開いてください。画面左上にあります「+ Add」を押して、APIを定義していきます。「Create API Call」を押してください。

API Call NameにはこのAPI名前を入力してあげれば大丈夫です。
https://zipcloud.ibsnet.co.jp/api/search
こちらがベースURLとなります。このURLを「API URL」という入力欄に貼り付けてください。
2-2.APIの仕様を確認する

引用:zipcloud
このようにリクエストパラメーターが定義されているのでこの通りに定義していきます。
2-3.APIの仕様通りに実装する

Variableのところからこのように定義し、「Save」を押します。Stringは文字列で、テキストを送ることができます。Integerは整数で数字を送ることができます。数字をStringで送ると数字をテキストと認識し、数字としてみなしてくれないので要注意です。
ここは変数を定義しているだけなので、左隣のQuery Parametersからリクエストパラメーターを定義します。

このように定義してみてください。「Call Back」は今回必須ではないので定義しませんでした。「limit」も必須ではありませんので、定義しなくても大丈夫です。

テストを行ってみますと画像のように表示されると思います。200番が表示されると成功です。

さらにスクロールするとこのように表示されます。
郵便番号を入力すると県と市が表示される機能をつくるために県と市が表示されている行の「+ Add JSON Path」をクリックしてpathを予め登録しておきます。

このように名前をつけてあげるとスムーズです。
保存するために下までスクロールして「Save」を押してください。
2-4.画面を実装する

デザイン性まで考慮できていませんが、必要なUIを作成しました。住所表示というButtonの中に下記の画像のアクションを設定してください。

API Callが失敗した時にダイアログでステータスコードが出るようになっていますが、設けなくてもこの機能自体が動かないなどの影響はありません。

県の入力欄のInitial ValueにAction outputsにあるAPIのリクエスト結果を選択します。

先ほど「+ Add JSON Path」でセットしたものをPredefined Pathから呼び出すことができます。この要領で市の入力欄も実装してみてください。
3.最後に
今回はzipcloudの郵便番号検索APIというサービスを利用して郵便番号検索機能を作成してみました。細かいUIなどはアプリによって異なるため省略していますが、大手のサービスではよくある本機能を実装することができればサービスの付加価値がつくこと間違いなしです。



.webp%3Falt%3Dmedia%26token%3D44d272c7-1e7a-46d7-86de-dc2bec67a3e4&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3Dbc168691-5281-4eab-8c08-ed7fe5624582&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D8f9453ad-d017-4640-8b7b-4c5d55391f46&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D904686c4-e792-4c6a-b5ce-e7648fd53404&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D8db330f1-3fab-48b7-8dcf-dd8c6f47836a&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3Ddef3da75-721c-4e42-8cd8-f06795bb771f&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D8fec979d-a6dc-4d03-960f-330f997108a7&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D6bddee16-071d-41fd-8a4b-f2026bcff617&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D9ba70870-6b39-4eab-b9c2-e126ef08cb09&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D8a795f56-e8a9-4be1-937b-65c1a89922b3&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3Dbe65d589-2f4c-4ad8-82a1-7ddb73af2620&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D0aa104f5-928b-4ddf-a535-d8574b7667a8&w=3840&q=75)

.webp%3Falt%3Dmedia%26token%3D45131e3d-4777-421a-a556-bcc8d462dfe1&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D09daf923-4a62-4c31-af6f-f3d99a9f635b&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D0e63e93b-1558-48a5-8b24-d1ae7cfa487f&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D240fcc34-b7e7-4c86-b294-fdfc2a66db21&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3Db288c602-2902-4f93-8eca-903ec8f86440&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D6040f2d9-1a54-476c-9999-5e0aeb8e8a74&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D3c4b1b17-9fec-405e-9e02-8d34961b6f16&w=3840&q=75)