法人番号 API 企業情報の取得

法人番号システムの「商号又は名称」「郵便番号」「国内所在地」をそれぞれデータ項目に格納し、通信ログを文字型データ項目に格納します

    A. 法人番号 Web-API のアプリケーションID (Access Key) をセットしてください単一行記述必須
    B. 法人番号が格納されている文字列型or選択肢型データを選択してくださいデータ項目選択文字列型(単一行)or選択型(ラジオ/セレクト/検索)必須
    C. 法人商号が格納される文字列型データを選択してください (更新)データ項目選択文字列型(単一行)必須
    D. 法人郵便番号が格納される文字列型データを選択してください (更新)データ項目選択文字列型(単一行)
    E. 法人住所が格納される文字列型データを選択してください (更新)データ項目選択文字列型(単一行)
    X. 通信ログが格納される文字列型データを選択してください (更新)データ項目選択文字列型(複数行)
    -設定変数名設定ラベル
    Aconf_AppId法人番号 Web-API のアプリケーションID (Access Key) をセットしてください
    Bconf_DataIdB法人番号が格納されている文字列型or選択肢型データを選択してください
    Cconf_DataIdC法人商号が格納される文字列型データを選択してください (更新)
    Dconf_DataIdD法人郵便番号が格納される文字列型データを選択してください (更新)
    Econf_DataIdE法人住所が格納される文字列型データを選択してください (更新)
    Xconf_DataIdX通信ログが格納される文字列型データを選択してください (更新)
    // Get Info via Corporate Number API v1 (ver. 20161102)
    // (c) 2016, Questetra, Inc. (the MIT License)
    
    //// == 工程コンフィグの参照 / Config Retrieving ==
    var appId   = configs.get( "conf_AppId" );
    var dataIdB = configs.get( "conf_DataIdB" ); // (returns Number)
    var dataIdC = configs.get( "conf_DataIdC" ); // (returns Number)
    var dataIdD = configs.get( "conf_DataIdD" ) + "";
    var dataIdE = configs.get( "conf_DataIdE" ) + "";
    var dataIdX = configs.get( "conf_DataIdX" ) + "";
    
    //// == ワークフローデータの参照 / Data Retrieving ==
    var corporateNumber = "";
    if( data.get( dataIdB ) instanceof java.util.ArrayList ){
      corporateNumber = data.get( dataIdB ).get(0).getValue() + "";
    }else if( data.get( dataIdB ) instanceof java.lang.String ){
      corporateNumber = data.get( dataIdB ) + "";
    }
    
    //// == 演算 / Calculating ==
    var accessLog = "";
    var uri = "https://api.houjin-bangou.nta.go.jp/1/num";
    var response = httpClient.begin()
      .queryParam( "id", appId )
      .queryParam( "number", corporateNumber )
      .queryParam( "type", 12 ) // Response Format: XML
      .queryParam( "history", 0 )
      .get( uri ); 
    accessLog += "---GET request--- " + response.getStatusCode() + "\n";
    accessLog += response.getResponseAsString() + "";
    
    var responseXml = response.getResponseAsString() + "";
    responseXml = responseXml.replace(/^<\?xml\s+version\s*=\s*(["'])[^\1]+\1[^?]*\?>/, ""); 
    // E4X (ECMAScript for XML) bug 336551
    var xmlObj = new XML( responseXml );
    var responseName = xmlObj.corporation[0].name + "";
    var responsePostCode = xmlObj.corporation[0].postCode + "";
    var responseAddress = xmlObj.corporation[0].prefectureName + "";
    responseAddress += xmlObj.corporation[0].cityName + "";
    responseAddress += xmlObj.corporation[0].streetNumber + "";
    
    //// == ワークフローデータへの代入 / Data Updating ==
    retVal.put( dataIdC, responseName );
    if( dataIdD !== "" ){
      retVal.put( dataIdD, responsePostCode );
    }
    if( dataIdE !== "" ){
      retVal.put( dataIdE, responseAddress );
    }
    if( dataIdX !== "" ){
      retVal.put( dataIdX, accessLog );
    }
    

    • B’: Bで選択したデータ項目に格納されている法人番号
    • 法人番号システムの「商号又は名称」「郵便番号」「国内所在地」が、それぞれ、C、D、E で選択したデータ項目に格納されます
    • 通信ログが X で選択したデータ項目に格納されます
    • 予め法人番号システム公式サイトにある「アプリケーションID (Access Key) の発行手続き」を完了させておく必要があります
    • 法人番号13桁についてチェックディジットによる誤り検知計算は行われません