Postal Code API
Switch branches/tags
Nothing to show
Clone or download
Latest commit 2aceec7 Mar 14, 2017
Permalink
Failed to load latest commit information.
bin add .nojekyll Nov 25, 2016
example some fix Apr 30, 2016
lib fixed #3 Mar 14, 2017
tests remove unused var Mar 14, 2017
.editorconfig first commit Apr 22, 2016
.gitignore some fix Apr 22, 2016
.nojekyll add .nojekyll Nov 25, 2016
.travis.yml fixed #3 Mar 14, 2017
LICENSE.txt Update LICENSE.txt Apr 30, 2016
README.md some fix Sep 26, 2016
gulpfile.js fixed #3 Mar 14, 2017
package.json fixed #3 Mar 14, 2017

README.md

郵便番号 API

Build Status

この郵便番号APIはGitHubページを使用して静的なファイルで配信しているため信頼性が高く、さらにオープンソースなのでクライアントワークでも安心して使用できます。

また、郵便番号から英語の住所を取得することも可能です。(大口事業所個別番号は英語には対応していません。)

なお、このAPIはAWSのLambdaを使用して毎日更新しています。

デモ

https://madefor.github.io/postal-code-api/

エンドポイント

https://madefor.github.io/postal-code-api/api/v1/

使い方

郵便番号が100-0014(東京都千代田区永田町)の住所を取得したい場合。

https://madefor.github.io/postal-code-api/api/v1/100/0014.json

{
  "code": "1000014",
  "data": [
    {
      "prefcode": "13",
      "ja": {
        "prefecture": "東京都",
        "address1": "千代田区",
        "address2": "永田町",
        "address3": "",
        "address4": ""
      },
      "en": {
        "prefecture": "Tokyo",
        "address1": "Chiyoda-ku",
        "address2": "Nagatacho",
        "address3": "",
        "address4": ""
      }
    }
  ]
}

1つの郵便番号に複数の住所がある場合は以下のような感じです。

https://madefor.github.io/postal-code-api/api/v1/618/0000.json

{
  "code": "6180000",
  "data": [
    {
      "prefcode": "26",
      "ja": {
        "prefecture": "京都府",
        "address1": "乙訓郡大山崎町",
        "address2": "",
        "address3": "",
        "address4": ""
      },
      "en": {
        "prefecture": "Kyoto",
        "address1": "Oyamazaki-cho, Otokuni-gun",
        "address2": "",
        "address3": "",
        "address4": ""
      }
    },
    {
      "prefcode": "27",
      "ja": {
        "prefecture": "大阪府",
        "address1": "三島郡島本町",
        "address2": "",
        "address3": "",
        "address4": ""
      },
      "en": {
        "prefecture": "Osaka",
        "address1": "Shimamoto-cho, Mishima-gun",
        "address2": "",
        "address3": "",
        "address4": ""
      }
    }
  ]
}

大口事業所個別番号では英語の住所は空になっています。

https://madefor.github.io/postal-code-api/api/v1/100/8798.json

{
  "code": "1008798",
  "data": [
    {
      "prefcode": "13",
      "ja": {
        "prefecture": "東京都",
        "address1": "千代田区",
        "address2": "霞が関",
        "address3": "1丁目3-2",
        "address4": "株式会社 ゆうちょ銀行"
      },
      "en": {
        "prefecture": "",
        "address1": "",
        "address2": "",
        "address3": "",
        "address4": ""
      }
    },
    {
      "prefcode": "13",
      "ja": {
        "prefecture": "東京都",
        "address1": "千代田区",
        "address2": "霞が関",
        "address3": "1丁目3-2",
        "address4": "株式会社 かんぽ生命"
      },
      "en": {
        "prefecture": "",
        "address1": "",
        "address2": "",
        "address3": "",
        "address4": ""
      }
    },
    {
      "prefcode": "13",
      "ja": {
        "prefecture": "東京都",
        "address1": "千代田区",
        "address2": "霞が関",
        "address3": "1丁目3-2",
        "address4": "日本郵政 株式会社"
      },
      "en": {
        "prefecture": "",
        "address1": "",
        "address2": "",
        "address3": "",
        "address4": ""
      }
    },
    {
      "prefcode": "13",
      "ja": {
        "prefecture": "東京都",
        "address1": "千代田区",
        "address2": "霞が関",
        "address3": "1丁目3-2",
        "address4": "日本郵便 株式会社 本社"
      },
      "en": {
        "prefecture": "",
        "address1": "",
        "address2": "",
        "address3": "",
        "address4": ""
      }
    }
  ]
}

仕様

  • 大口事業所個別番号データは英語には対応していません。
  • Gulpタスクで以下の処理を行っています。
    1. 日本郵便のウェブサイトから郵便番号データをダウンロード。
    2. ダウンロードしたファイルを解凍して、取り出したCSVをパース。
    3. 郵便番号の上3桁の名前を持つディレクトリを作り、その中に下4桁の名前を持つJSONを作成。
  • 上述の処理をTravis CIで実行し、その結果をgh-pagesにpushしています。
    • 郵便番号データの最後の行にある沖縄県八重山郡与那国町のJSONがあるかどうかをチェックし、すべてのJSONが生成されたものとしています。いいテスト方法があればぜひプルリクエストをお願いします。
  • AWSのLambdaを使用して毎日更新しています。(参考

ローカルでJSONデータを作成する

このリポジトリをcloneしてください。

$ git@github.com:madefor/postal-code-api.git

必要なモジュールをインストールしてください。

$ cd postal-code-api
$ npm install

以下のコマンドでAPIを生成してください。

$ npm run build

ローカルでAPIを動かしたい場合には以下のコマンドを実行してください。

$ npm start

貢献

  • バグレポートはIssueにお願いします。
  • プルリクエストは大歓迎です。
  • Starをつけてもらうと開発者たちのモチベーションが上がります。

ライセンス

MIT