ケンオールブログ

ケンオールは、オープンデータを活用する際に問題となる様々な課題を解決するソリューションとして、オープンデータの利用者に使いやすい環境を提供するプラットフォーム型サービスです。ケンオールは、株式会社オープンコレクターが開発・運営しています。 https://kenall.jp/

浜松市の行政区変更に対応:ケンオールで柔軟な住所バリデーションを実現

2024年1月、浜松市の行政区が変更されました。これにより、例えば郵便番号と住所のバリデーションがうまくいかなくなるなどの問題が発生する可能性があります。

ケンオール郵便番号APIの過去バージョン機能を使えば、古い住所でもバリデーションすることができます。

住所バリデーションの課題: 古い行政区で登録された住所とは照合できない

ご存じの通り、ケンオールのAPIを使用すれば、新しい浜松市の住所情報を簡単に取得できます。

以下のコマンドは、郵便番号 4300805 の住所 静岡県浜松市中央区相生町 を取得しています。

curl -s -H "Authorization: Token $YOUR_API_KEY" "https://api.kenall.jp/v1/postalcode/4300805" | jq '{version: .version, data: [.data[] | {postal_code: .postal_code, prefecture: .prefecture, city: .city, town: .town}]}'

このコマンドの出力は以下のようになります。

{
  "version": "2024-01-31",
  "data": [
    {
      "postal_code": "4300805",
      "prefecture": "静岡県",
      "city": "浜松市中央区",
      "town": "相生町"
    }
  ]
}

"city" (市区町村)が "浜松市中央区" と新しい住所となっています。

郵便番号から住所を補完するようなケースでは、上記のレスポンスで何も問題はありません。

しかし、「ユーザーが登録した住所が古くなっていないかどうかをバリデーションする」などのユースケースの場合、これではうまくいかなくなります。

ユーザーが以下のように住所を登録していた場合を考えます。

  • 郵便番号: 4300805
  • 住所: 静岡県浜松市中区相生町

このユーザーは、「静岡県浜松市中区」と、古い行政区で登録しています。

このとき、APIの出力結果の「浜松市中央区」と照合してしまうと、この住所は正しくないと判断されてしまいます。

このようにバリデーションされることが望ましくないケースもあるでしょう。

ケンオールAPIで過去の住所データを取得する

ケンオールを使えば、過去の郵便番号データも取得できます。

行政区変更前の住所を使っている場合でも、任意のタイミングでの郵便番号データを取得できます。以下のコマンドは、2023年10月31日時点での郵便番号データを取得しています。

curl -s -H "Authorization: Token $YOUR_API_KEY" "https://api.kenall.jp/v1/postalcode/4300805?version=2023-10-31"| jq '{version: .version, data: [.data[] | {postal_code: .postal_code, prefecture: .prefecture, city: .city, town: .town}]}'

このコマンドの出力は以下のようになります。

{
  "version": "2023-10-31",
  "data": [
    {
      "postal_code": "4300805",
      "prefecture": "静岡県",
      "city": "浜松市中区",
      "town": "相生町"
    }
  ]
}

この機能により、ユーザーが古い郵便番号や住所を使用していても、システムは容易にバリデーションを行えます。これにより、ビジネスや行政機関のデータ管理が大幅に効率化されます。

郵便番号検索APIの詳細については、以下のドキュメントを参照してください。

https://kenall.jp/docs/API/postalcode/forward-lookup/

住所データのバージョンを取得する方法

過去の住所データにアクセスするには、自分が必要とする時期の住所のデータバージョンを取得する必要があります。

以下のコマンドは、直近の5つのデータバージョンを取得します。

curl -s -H "Authorization: Token $YOUR_API_KEY" "https://api.kenall.jp/v1/postalcode/versions/" | jq '.versions[-5:]'

このコマンドの出力は以下のようになります。

[
  "2023-09-29",
  "2023-10-31",
  "2023-11-30",
  "2023-12-28",
  "2024-01-31"
]

浜松市の行政区は "2023-11-30" から変更されているので、 "2023-10-31" 以前のデータバージョンを用いてください。

データバージョン取得APIの詳細については以下のドキュメントを参照してください。

https://kenall.jp/docs/API/postalcode/forward-lookup/#get-v1postalcodeversions

まとめ

浜松市の行政区変更は住所のバリデーションなどに大きな影響を与えますが、ケンオールの郵便番号APIサービスがあれば、これを容易に乗り越えることができます。最新の住所情報の提供と過去のデータへのアクセスを併せ持つケンオールは、住所バリデーションに不可欠なツールです。ケンオールと共に、日々の業務や生活における住所データの正確性を保ちましょう。