法人番号 企業情報 参照

国税庁 法人番号 Web-API v3 にアクセスし、法人番号(13桁数字)に対応する正式商号・登記住所・フリガナ・最終更新日等の各データを取得します。事前に、国税庁から「アプリケーションID」の発行(無料)を受けておく必要があります

2018 © Questetra, Inc. (MIT License)
https://support.questetra.com/ja/addons/houjinbangou-corpinfo-retrieve/

Configs
  • A: 法人番号 Web-API のアプリケーションID (Access Key) をセットしてください *
  • B: 法人番号が格納されている文字列型or選択肢型データを選択してください *
  • C: 法人の商号または名称が格納される文字列型データを選択してください (更新)
  • D: 法人の郵便番号が格納される文字列型データを選択してください (更新)
  • E: 法人の登記住所が格納される文字列型データを選択してください (更新)
  • F: 法人の商号フリガナが格納される文字列型データを選択してください (更新)
  • G: 法人情報の最終更新日が格納される日付型データを選択してください (更新)
Script
// Rhino engine (engine type: 0) to use E4X

//////// START "main()" ////////
main();
function main(){

//// == Config Retrieving / 工程コンフィグの参照 ==
var appId   = configs.get( "conf_AppId" )   + ""; // required
var dataIdB = configs.get( "conf_DataIdB" ) + ""; // required
var dataIdC = configs.get( "conf_DataIdC" ) + "";
var dataIdD = configs.get( "conf_DataIdD" ) + "";
var dataIdE = configs.get( "conf_DataIdE" ) + "";
var dataIdF = configs.get( "conf_DataIdF" ) + "";
var dataIdG = configs.get( "conf_DataIdG" ) + "";
// 'java.lang.String' (String Obj) to javascript primitive 'string'

//// == Data Retrieving / ワークフローデータの参照 ==
var strCorpNum = "";
  if( engine.findDataDefinitionByNumber( dataIdB ).matchDataType( "SELECT_SINGLE" ) ){
    strCorpNum = engine.findDataByNumber( dataIdB ).get(0).getValue() + "";
  }else{
    strCorpNum = engine.findDataByNumber( dataIdB ) + "";
  }

//// == Calculating / 演算 ==
// prepare API Request
var apiRequest = httpClient.begin(); // HttpRequestWrapper
  // - com.questetra.bpms.core.event.scripttask.HttpClientWrapper
apiRequest     = apiRequest.queryParam( "id", appId );
apiRequest     = apiRequest.queryParam( "number", strCorpNum );
apiRequest     = apiRequest.queryParam( "type", 12 ); // Response Format: XML
apiRequest     = apiRequest.queryParam( "history", 0 );

// access API (with get())
var response    = apiRequest.get( "https://api.houjin-bangou.nta.go.jp/3/num" );
var httpStatus  = response.getStatusCode() + ""; // HttpResponseWrapper
var responseStr = response.getResponseAsString() + "";
engine.log( "GET [Corp Info]: " + httpStatus );
engine.log( " responseStr: \n" + responseStr ); // for debug
if( httpStatus !== "200" ){
  var errorMessage = "\n- HTTP STATUS is not 200, Service Task stopped. -\n";
  errorMessage += responseStr + "\n";
  throw new Error( errorMessage );
}

// parse XML (ECMAScript for XML (E4X))
responseStr = responseStr.replace(/^<\?xml\s+version\s*=\s*(["'])[^\1]+\1[^?]*\?>/, "");
// E4X bug 336551
var xmlObj = new XML( responseStr );
var strCorpName     = xmlObj.corporation[0].name + "";
var strCorpPostCode = xmlObj.corporation[0].postCode + "";
var strCorpAddress  = xmlObj.corporation[0].prefectureName + "";
    strCorpAddress += xmlObj.corporation[0].cityName + "";
    strCorpAddress += xmlObj.corporation[0].streetNumber + "";
var strCorpFurigana = xmlObj.corporation[0].furigana + "";
var strCorpUpdate   = xmlObj.corporation[0].updateDate + "";

//// == Data Updating / ワークフローデータへの代入 ==
if( dataIdC !== "" ){
  engine.setDataByNumber( dataIdC, strCorpName );
}
if( dataIdD !== "" ){
  engine.setDataByNumber( dataIdD, strCorpPostCode );
}
if( dataIdE !== "" ){
  engine.setDataByNumber( dataIdE, strCorpAddress );
}
if( dataIdF !== "" ){
  engine.setDataByNumber( dataIdF, strCorpFurigana );
}
if( dataIdG !== "" ){
  engine.setDataByNumber( dataIdG, java.sql.Date.valueOf(strCorpUpdate) );
}

} //////// END "main()" ////////

Download

Capture

参考情報:XMLレスポンス例

<?xml version="1.0" encoding="UTF-8"?><corporations><lastUpdateDate>2018-10-15</lastUpdateDate><count>1</count><divideNumber>1</divideNumber><divideSize>1</divideSize>
<corporation><sequenceNumber>1</sequenceNumber><corporateNumber>6130001031686</corporateNumber><process>01</process><correct>1</correct><updateDate>2018-07-13</updateDate><changeDate>2015-10-05</changeDate>
<name>株式会社クエステトラ</name><nameImageId/><kind>301</kind><prefectureName>京都府</prefectureName><cityName>京都市中京区</cityName><streetNumber>御池通間之町東入高宮町206</streetNumber>
<addressImageId/><prefectureCode>26</prefectureCode><cityCode>104</cityCode><postCode>6040835</postCode>
<addressOutside/><addressOutsideImageId/><closeDate/><closeCause/><successorCorporateNumber/><changeCause/><assignmentDate>2015-10-05</assignmentDate><latest>1</latest>
<enName/><enPrefectureName/><enCityName/><enAddressOutside/>
<furigana>クエステトラ</furigana></corporation></corporations>

See also

%d人のブロガーが「いいね」をつけました。