API REFERENCE

バンゴーAPI ドキュメント

法人番号APIとインボイスAPIを統合した7エンドポイントの仕様をまとめています。 実行確認は Playground を利用してください。

Playgroundで試す

概要

法人番号APIとインボイスAPIを統合し、法人と個人事業主の両ケースをJSONで返します。

認証

x-api-key ヘッダーにAPIキーを指定します。キーはダッシュボードから発行・失効できます。

レート制限

Freeプランは GET /v1/invoice/{registration_number}/valid のみ(月500件)利用できます。

エラーコード

VALIDATION_ERROR UNAUTHORIZED FORBIDDEN NOT_FOUND BATCH_NOT_COMPLETED BATCH_FAILED を返します。

クイックスタート

最短で疎通確認するための手順です。まずは `/valid` でレスポンス構造と認証ヘッダーを確認します。

  • 1. x-api-key を発行してヘッダーに設定します。

  • 2. GET /v1/invoice/{registration_number}/valid を実行します。

  • 3. 返却された valid registration_date expire_date を実装側の型に反映します。

バッチ名寄せの使い方

大量データは `POST /v1/batch/match` を起点に非同期で処理します。進捗確認とダウンロード導線までを一連で確認できます。

  • 1. companies に企業名を複数行で入力してジョブを作成します。

  • 2. GET /v1/batch/{job_id} を2秒間隔で確認し statuscompleted になるまで待ちます。

  • 3. 完了後に GET /v1/batch/{job_id}/downloadjson / csv を取得します。

個人事業主への対応

個人事業主ケースでは公開方針により企業情報フィールドが `null` になるため、表示・保存ロジックの分岐を事前に設計します。

  • GET /v1/invoice/{registration_number} の返却で corporate_number name address trade_name popular_namenull になることがあります。

  • アプリ側では null 前提で表示をフォールバックし、インボイス有効性 (invoice.*) を中心に業務判定を行ってください。

過去日付での有効性確認

`date=YYYY-MM-DD` を渡すことで、過去時点での登録有効性を判定できます。監査・経費精算用途では必須の確認です。

  • GET /v1/invoice/{registration_number}/valid?date=2024-10-01 のように実行します。

  • date は時刻・タイムゾーンを持たない暦日(YYYY-MM-DD)です。

  • 取消日・失効日は当日から無効として判定されます。

  • 返却される validcancel_date expire_date を使って、対象日での取引妥当性を判断します。

GET

/v1/companies/{corporate_number}

法人番号検索

13桁の法人番号から法人情報とインボイス情報を返します。

パラメータ

nameintyperequireddescription
corporate_numberpathstringYes13桁の法人番号

リクエスト例

curl -H 'x-api-key: YOUR_API_KEY' \
  'https://api.example.com/v1/companies/1234567890123'

レスポンス例

{
  "corporate_number": "1234567890123",
  "name": "株式会社サンプル",
  "kind": "株式会社",
  "invoice": {
    "found": true,
    "registration_number": "T1234567890123",
    "valid": true
  }
}

レスポンス項目

fieldtypenullabledescription
corporate_numberstringNo13桁の法人番号
namestringNo商号または名称
name_kanastringYes商号または名称(カナ表記)
name_enstringYes商号または名称(英語表記)
kindstringNo法人種別(例: 株式会社)
address.fullstringYes本店所在地の完全住所
status.activebooleanNo現時点で活動中かどうか
assignment_datestringYes法人番号指定日(YYYY-MM-DD)
updated_atstringYes最終更新日(YYYY-MM-DD)
invoice.foundbooleanNoインボイス情報が見つかったかどうか
invoice.registration_numberstringYesインボイス登録番号(T + 13桁)
invoice.validbooleanYes現時点で有効な登録番号かどうか
GET

/v1/invoice/{registration_number}

T番号検索

T番号から法人情報または個人事業主情報(個人情報はnull)を返します。

パラメータ

nameintyperequireddescription
registration_numberpathstringYesT + 13桁の登録番号

リクエスト例

curl -H 'x-api-key: YOUR_API_KEY' \
  'https://api.example.com/v1/invoice/T1234567890123'

レスポンス例

{
  "corporate_number": null,
  "kind": "individual",
  "name": null,
  "address": null,
  "invoice": {
    "registration_number": "T9999999999999",
    "registration_date": "2023-10-01",
    "valid": true
  }
}

レスポンス項目

fieldtypenullabledescription
corporate_numberstringYes法人の場合は13桁の法人番号、個人事業主はnull
kindstringNo種別(法人または individual)
namestringYes名称。個人事業主ケースではnull
name_kanastringYes名称カナ。個人事業主ケースではnull
trade_namestringYes個人事業主の屋号。存在しない場合はnull
popular_namestringYes個人事業主の通称・旧姓。存在しない場合はnull
addressobjectYes所在地情報。個人事業主ケースではnull
invoice.foundbooleanNoインボイス情報が見つかったかどうか
invoice.registration_numberstringNoインボイス登録番号(T + 13桁)
invoice.registration_datestringYes登録日(YYYY-MM-DD)
invoice.cancel_datestringYes取消日(YYYY-MM-DD)
invoice.expire_datestringYes失効日(YYYY-MM-DD)
invoice.validbooleanNo現時点で有効な登録番号かどうか
注意事項
  • 個人事業主ケースでは name / address / trade_name / popular_name は null です。
GET

/v1/invoice/{registration_number}/valid

過去日付有効性確認

指定日付時点で登録番号が有効かを判定します。

パラメータ

nameintyperequireddescription
registration_numberpathstringYesT + 13桁
datequerystringYes判定対象の暦日(YYYY-MM-DD、時刻・タイムゾーンなし)

リクエスト例

curl -H 'x-api-key: YOUR_API_KEY' \
  'https://api.example.com/v1/invoice/T1234567890123/valid?date=2024-10-01'

レスポンス例

{
  "date": "2024-10-01",
  "valid": true,
  "registration_date": "2023-10-01",
  "expire_date": null,
  "cancel_date": null
}

レスポンス項目

fieldtypenullabledescription
datestringNo判定対象日(YYYY-MM-DD)
validbooleanNo対象日での有効性
registration_datestringYes登録日(YYYY-MM-DD)
expire_datestringYes失効日(YYYY-MM-DD)
cancel_datestringYes取消日(YYYY-MM-DD)
注意事項
  • Freeプランで利用できる唯一のエンドポイントです。
  • date は時刻を持たない暦日として扱います。取消日・失効日は当日から無効です。
POST

/v1/batch/match

バッチ名寄せ受付

企業名リストを投稿して非同期ジョブを作成します。

パラメータ

nameintyperequireddescription
companiesbodystring[]Yes企業名配列(最大1,000件)

リクエスト例

curl -X POST -H 'x-api-key: YOUR_API_KEY' -H 'Content-Type: application/json' \
  -d '{"companies":["株式会社サンプル","合同会社サンプル"]}' \
  'https://api.example.com/v1/batch/match'

レスポンス例

{
  "job_id": "batch_abc123",
  "status": "queued",
  "total": 2
}

レスポンス項目

fieldtypenullabledescription
job_idstringNo作成されたバッチジョブID
statusstringNo初期状態(queued)
totalnumberNo受付件数
GET

/v1/batch/{job_id}

バッチ進捗取得

job_id の進捗と結果を取得します。

パラメータ

nameintyperequireddescription
job_idpathstringYesバッチジョブID

リクエスト例

curl -H 'x-api-key: YOUR_API_KEY' \
  'https://api.example.com/v1/batch/batch_abc123'

レスポンス例

{
  "job_id": "batch_abc123",
  "status": "processing",
  "progress": { "done": 450, "total": 1000 }
}

レスポンス項目

fieldtypenullabledescription
job_idstringNo対象バッチジョブID
statusstringNoジョブ状態(queued / processing / completed / failed)
progress.donenumberYes処理済み件数
progress.totalnumberYes総件数
summary.confidentnumberYesconfident 判定件数(completed時)
summary.reviewnumberYesreview 判定件数(completed時)
summary.unmatchednumberYesunmatched 判定件数(completed時)
resultsarrayYes名寄せ結果配列(completed時)
GET

/v1/batch/{job_id}/download

バッチ結果ダウンロード

完了済みジョブの結果を json または csv で取得します。

パラメータ

nameintyperequireddescription
job_idpathstringYesバッチジョブID
formatquerystringNojson / csv

リクエスト例

curl -H 'x-api-key: YOUR_API_KEY' \
  'https://api.example.com/v1/batch/batch_abc123/download?format=csv'

レスポンス例

{
  "error": {
    "code": "BATCH_NOT_COMPLETED",
    "message": "バッチジョブはまだ完了していません"
  }
}

レスポンス項目

fieldtypenullabledescription
resultsarrayYesformat=json かつ completed 時の名寄せ結果配列
error.codestringYes未完了・失敗時のエラーコード
error.messagestringYes未完了・失敗時の説明メッセージ
raw csvtext/csvYesformat=csv かつ completed 時はCSV文字列を返却
注意事項
  • status=queued/processing では 409 BATCH_NOT_COMPLETED を返します。
  • status=failed では 409 BATCH_FAILED を返します。