この記事は2022年11月リリースでリリースされた機能の1つ、ローマ字出力対応について紹介しています。
郵便番号検索APIで、ローマ字の住所を出力できるようになりました。 海外向けの住所フォームなどに活用できます。
例えば、"https://api.kenall.jp/v1/postalcode/1000001
をリクエストすると、以下のレスポンスが返ってきます。
(一部のみ記載。以下同じ。完全なレスポンスはドキュメントを参照してください)
{ "postal_code": "1000001", "prefecture": "東京都", "prefecture_kana": "トウキョウト", "prefecture_roman": "Tokyo", "city": "千代田区", "city_kana": "チヨダク", "city_roman": "Chiyoda-ku", "town": "千代田", "town_kana": "チヨダ", "town_roman": "Chiyoda" }
郵便番号検索API内のcity
は郡
、市区町村
、政令指定都市の行政区
が連結されたデータでしたが、今回のアップデートに伴い、これらを分割したデータも出力するようになりました。
{ "postal_code": "2310001", "prefecture": "神奈川県", "prefecture_kana": "カナガワケン", "prefecture_roman": "Kanagawa", "city": "横浜市中区", "city_kana": "ヨコハマシナカク", "city_roman": "Naka-ku, Yokohama", "city_without_county_and_ward": "横浜市", "city_without_county_and_ward_kana": "ヨコハマシ", "city_without_county_and_ward_roman": "Yokohama", "city_ward": "中区", "city_ward_kana": "ナカク", "city_ward_roman": "Naka-ku", "town": "新港", "town_kana": "シンコウ", "town_roman": "Shinko" }
このデータは、郵便番号データに含まれるカナ情報を基に、ケンオールが独自に変換して生成したローマ字です。
日本郵便株式会社は「郵便番号データ(ローマ字)」を公開していますが、ケンオールではこのデータを採用しておりません。
一つ目の理由は、更新頻度が低く、更新タイミングが「郵便番号データ」と一致していないためです。 「郵便番号データ(ローマ字)」の説明には以下のように記載されています。
本データファイルは年1回程度の更新予定です。
「郵便番号データ」は月1回更新のため、「郵便番号データ(ローマ字)」を用いても最新の郵便番号に対応することはできません。 ケンオールでは「郵便番号データ」からローマ字データを生成しているため、最新の郵便番号データに対応したローマ字を常に提供しています。
二つ目の理由は、「郵便番号データ(ローマ字)」には文字数制限により欠落しているデータがあることです。 「郵便番号データ(ローマ字)」の説明には以下のように記載されています。
全角となっている町域名および市区町村名部分の文字数が17文字を超える場合、また半角となっているローマ字部分の文字数が35文字を超える場合は、超えた部分の収録は行っておりません。
例えば、郵便番号2890308
は 千葉県 香取市 木内虫幡上小堀入会地大平
の郵便番号で、町名部分のよみがなはキノウチムシハタカミコボリイリアイチオオダイラ
となりますが、「郵便番号データ(ローマ字)」には収録されている町名のローマ字はKINOCHIMUSHIHATAKAMIKOBORIIRIAICHIO
となっており、後半部分が欠落しています。
ケンオールではこうした長い町名も全ての文字を出力します。
{
"postal_code": "2890308",
"prefecture": "千葉県",
"prefecture_kana": "チバケン",
"prefecture_roman": "Chiba",
"city": "香取市",
"city_kana": "カトリシ",
"city_roman": "Katori",
"town": "木内虫幡上小堀入会地大平",
"town_kana": "キノウチムシハタカミコボリイリアイチオオダイラ",
"town_roman": "Kinochimushihatakamikoboriiriaichiodaira"
}
三つ目の理由は、「郵便番号データ」と「郵便番号データ(ローマ字)」でよみが違う場合があることです。
例えば、郵便番号5960102
は大阪府 岸和田市 山直中町
の郵便番号で、「郵便番号データ」での町名のよみがなはヤマダイナカマチ
となりますが、「郵便番号データ(ローマ字)」ではYAMADAINAKACHO
となっています。
ケンオールでは「郵便番号データ」のよみがなからローマ字を生成しているため、よみがなとローマ字で一貫したよみとなっています。
{
"postal_code": "5960102",
"prefecture": "大阪府",
"prefecture_kana": "オオサカフ",
"prefecture_roman": "Osaka",
"city": "岸和田市",
"city_kana": "キシワダシ",
"city_roman": "Kishiwada",
"town": "山直中町",
"town_kana": "ヤマダイナカマチ",
"town_roman": "Yamadainakamachi"
}
利用方法
本内容は、APIバージョンとして 2022-11-01
を指定した際にレスポンスへ含められるようになります。APIレスポンスの内容については、郵便番号APIのドキュメントを、APIバージョンの指定方法についてはAPIバージョニングのドキュメントを参照してください。
APIバージョニングのブログ記事も参照してください。
(Shodoで執筆されました)