request

package
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 13, 2021 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

法人番号システム Web-API のリクエスト URL パッケージです。

法人番号システム Web-API(https://www.houjin-bangou.nta.go.jp/webapi/) 対する リクエスト URL オブジェクトを生成します。

関連ドキュメント:

・API 仕様書「Web-API(Ver.4.0)のリクエストの設定方法及び提供データの内容について」 https://www.houjin-bangou.nta.go.jp/documents/k-web-api-kinou-ver4.pdf

・API 仕様書「Web-API(Ver.1.1)のリクエストの設定方法及び提供データの内容について」 https://www.houjin-bangou.nta.go.jp/documents/k-web-api-kinou-gaiyo.pdf

・都道府県コード: https://nlftp.mlit.go.jp/ksj/gml/codelist/PrefCd.html

・都道府県コード+市区町村コード: https://www.soumu.go.jp/denshijiti/code.html

Index

Examples

Constants

View Source
const API_VER = 4

法人番号システム Web-API バージョン

View Source
const RESPONSE_TYPE = "12"

応答形式: XML形式/Unicode(JIS第一水準から第四水準)に固定

Variables

View Source
var (
	// Web-API Scheme
	Scheme = "https"
	// Web-API Host
	Host = "api.houjin-bangou.nta.go.jp"
)

Functions

This section is empty.

Types

type Diff

type Diff struct {
	// 法人番号システム Web-API アプリケーションID
	ID string `validate:"required" url:"id"`
	// 取得期間開始日
	// YYYY-MM-DD 形式の文字列
	From string `validate:"required,date" url:"from"`
	// 取得期間終了日
	// YYYY-MM-DD 形式の文字列
	To string `validate:"required,date,gtedate=From" url:"to"`
	// 所在地
	// 空文字, 都道府県コード(2桁)または都道府県コード+市区町村コード(5桁)
	Address string `validate:"address" url:"address,omitempty"`
	// 法人種別
	// 01:国の機関, 02:地方公共団体, 03:設立法人登記, 04:外国会社等・その他
	Kind []string `validate:"max=4,kind" url:"kind,omitempty" del:","`
	// 分割番号
	// 1〜99999
	Divide int `validate:"min=1,max=99999" url:"devide"`
	// 応答形式
	ResponseType string `validate:"required,eq=12" url:"type"`
}

期間指定検索

Web-API 仕様書の「取得期間を指定して情報を取得する機能について」記載の リクエスト URL 生成を行います。

func NewDiff

func NewDiff(appID string, from string, to string, address string, kind []string, divide int) *Diff

Diff 生成

func (Diff) URL

func (d Diff) URL() (url.URL, error)

URL 生成

バリデーション処理が必要な場合は別途 Validate メソッドを実行してください。

Example
from := "2021-07-19"
to := "2021-07-26"
// 群馬県高崎市
address := "10202"
// 法人に限定
kind := []string{"03"}
diff := NewDiff("your-token", from, to, address, kind, 1)

if err := diff.Validate(); err != nil {
	fmt.Println(err)
	return
}

url, _ := diff.URL()
fmt.Println(url.String())
Output:

https://api.houjin-bangou.nta.go.jp/4/diff?address=10202&devide=1&from=2021-07-19&id=your-token&kind=03&to=2021-07-26&type=12

func (Diff) Validate

func (d Diff) Validate() error

バリデーション

type Name

type Name struct {
	// 法人番号システム Web-API アプリケーションID
	ID string `validate:"required" url:"id"`
	// 商号または名称
	Name string `validate:"required" url:"name"`
	// 検索方式
	// 1:前方一致形式, 2:部分一致形式
	Mode int `validate:"min=1,max=2" url:"mode,omitempty"`
	// 検索対象
	// 1:JIS第一・第二水準(あいまい検索), 2:JIS第一〜第四水準(完全一致検索), 3:英語表記(英語表記登録情報検索)
	Target int `validate:"min=1,max=3" url:"target"`
	// 所在地
	// 空文字, 都道府県コード(2桁)または都道府県コード+市区町村コード(5桁)
	Address string `validate:"address" url:"address,omitempty"`
	// 法人種別
	// 01:国の機関, 02:地方公共団体, 03:設立法人登記, 04:外国会社等・その他
	Kind []string `validate:"max=4,kind" url:"kind,omitempty" del:","`
	// 変更履歴
	Change bool `url:"change,int"`
	// 閉鎖登記取得
	Close bool `url:"close,int"`
	// 法人番号指定年月日開始日
	// 空文字またはYYYY-MM-DD 形式の文字列
	From string `validate:"date" url:"from,omitempty"`
	// 法人番号指定年月日終了日
	// 空文字またはYYYY-MM-DD 形式の文字列
	To string `validate:"date,gtedate=From" url:"to,omitempty"`
	// 分割番号
	// 1〜99999
	Divide int `validate:"min=1,max=99999" url:"divide"`
	// 応答形式
	ResponseType string `validate:"required,eq=12" url:"type"`
}

法人名指定検索

Web-API 仕様書の「法人名を指定して情報を取得する機能について」記載の リクエスト URL 生成を行います。

func NewName

func NewName(appID string, name string, mode int, target int, address string, kind []string, change bool, close bool, from string, to string, divide int) *Name

Name 生成

func (Name) URL

func (n Name) URL() (url.URL, error)

URL 生成

バリデーション処理が必要な場合は別途 Validate メソッドを実行してください。

Example
keyword := "フィルイン"
mode := 1
target := 1
address := "10202"
kind := []string{"03"}
name := NewName("your-token", keyword, mode, target, address, kind, false, false, "", "", 1)

if err := name.Validate(); err != nil {
	fmt.Println(err)
	return
}

url, _ := name.URL()
fmt.Println(url.String())
Output:

https://api.houjin-bangou.nta.go.jp/4/name?address=10202&change=0&close=0&divide=1&id=your-token&kind=03&mode=1&name=%E3%83%95%E3%82%A3%E3%83%AB%E3%82%A4%E3%83%B3&target=1&type=12

func (Name) Validate

func (n Name) Validate() error

バリデーション

type Number

type Number struct {
	// 法人番号システム Web-API アプリケーションID
	ID string `validate:"required" url:"id"`
	// 法人番号
	// 1 〜 10 個の法人番号
	Numbers []uint64 `validate:"min=1,max=10,checkdigits" url:"number" del:","`
	// 応答形式
	ResponseType string `validate:"required,eq=12" url:"type"`
	// 変更履歴要否
	History bool `url:"history,int"`
}

法人番号指定検索

Web-API 仕様書の「法人番号を指定して情報を取得する機能について」記載の リクエスト URL 生成を行います。

func NewNumber

func NewNumber(appID string, numbers []uint64, history bool) *Number

Number 生成

func (Number) URL

func (n Number) URL() (url.URL, error)

URL 生成

バリデーション処理が必要な場合は別途 Validate メソッドを実行してください。

Example
// 株式会社フィルインの法人番号
var corpNum uint64 = 5070001032626
number := NewNumber("your-token", []uint64{corpNum}, false)

if err := number.Validate(); err != nil {
	fmt.Println(err)
	return
}

url, _ := number.URL()
fmt.Println(url.String())
Output:

https://api.houjin-bangou.nta.go.jp/4/num?history=0&id=your-token&number=5070001032626&type=12

func (Number) Validate

func (n Number) Validate() error

バリデーション

type URLBuilder

type URLBuilder interface {
	Validate() error
	URL() (url.URL, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL