はじめに
こんにちは、Gakken LEAP のバックエンドエンジニアの mizuno です。
今回、住所検索を実装することになりました。住所検索機能を実装すること自体は難しくありませんが、メンテナンスが大変だなと感じていました。
そんな中、「勝手にメンテしてくれるAPIはないか?」と探していたところ、2025年5月から 郵便番号・デジタルアドレスAPI が提供されていることを知りました。
従来は郵便番号データのCSVを定期的にダウンロードして取り込む、という運用が多かったのですが、データ更新のたびにバッチを流したり、フォーマット変更に追従したりと、地味に手間がかかります。
APIで最新データが取得できるなら、運用コストが大きく下がるのでは?と期待して導入を決めました。
よかった点
ドキュメントがOpenAPI
APIの仕様が Redoc で仕様書が仕様書を出力されており、OpenAPI で書かれた仕様を元にされておりました。
会社でのAPIドキュメントもOpenAPIで管理しており、Redocで出力しているので慣れ親しんだフォーマットで開発がしやすかったです。
APIレスポンスの型安全性を担保できたのが大きな安心材料でした。
はまりそうなポイント
法人でないと使えない(はまりそうなポイント)
実際に申し込み画面を見てみると、法人番号や会社情報の入力が必須でした。
趣味や副業レベルで「ちょっと使ってみたい」という場合は、利用できない点に注意が必要です。
逆に、企業での業務システムやサービス開発では安心して使えるとも言えます。
テスト用APIの制限(はまりそうなポイント)
最初は「テスト用APIがあるなら、いろんなパターンで試せるだろう」と思っていましたが、
実際は東京都千代田区しか返ってこないので、UIの動作確認やバリデーションのテストには十分ですが、他の都道府県や特殊な住所パターンのテストには不向きです。
本プロダクトでは本番用と検証環境用の認証情報をそれぞれ発行し運用する方向で落ち着きました。
また、認証情報を発行する際に利用するシステムのIPアドレスを設定する必要があるので正しく設定できているかの確認においても検証環境用で確認することができたのでこの運用で良かったと思います。
はまったポイント
CORS制限でフロントから直接APIを呼べない
APIのドキュメントには「CORS非対応」とは明記されていませんでしたが、実際にフロントエンドから直接APIを呼ぼうとしたところ、リクエストがブロックされてしまいました。
最終的にはバックエンドでAPIをラップし、サーバーサイド経由でリクエストする構成に変更して解決しました。
また、IP制限があるため、クラウド環境での運用や、複数環境での切り替え時は注意が必要です。
まとめ
今後もAPIの仕様変更や新機能追加があるかもしれませんが、公式ドキュメントやアナウンスを定期的にチェックしつつ、より便利に活用していきたいと思います。
これから導入を検討している方の参考になれば幸いです!
エンジニア募集中
Gakken LEAPは日々、教育のアップデートに取り組んでいます!
興味をお持ちいただいた方は、採用サイトをチェックしてみてください!