knowledge AI-OCRの自動仕分けで仕分けられた帳票を、帳票定義ごとにCSVをダウンロードする方法

※本記事は、「AutoMate定型OCRオプション with AI inside」をご利用頂いており、かつ「自動仕分機能」のオプションもご利用頂いているお客様向けの記事です。

新バージョン向けの記事は下記URLをご参照ください。
https://automate.sct.co.jp/knowledge/16389/

AutoMate定型OCRオプションのAPI「/Sorter/api/v1/csvDownload」を使用して仕分ユニットからCSVダウンロードを行うと、1本のCSVファイルに全帳票のデータが記載されてダウンロードされます。
(なおかつ、ヘッダー行は1帳票分のみ記載されます)
1本のCSVでダウンロードするのではなく、帳票定義ごとにCSVファイルを別々でダウンロードする場合は、以下の手法を利用します。

【Rest APIを使用してダウンロードする場合】
API「/Sorter/api/v1/status」を利用することで、仕分けられた先の読取ユニットIDを取得することが出来ます。
それを利用し、「/ConsoleWeb/api/v1/reading/units/{id}/export」を使ってダウンロードを行います。
以下、サンプルです。なお、このサンプルでは帳票アップロード~CSVダウンロードを実施するまで、エントリーを行わないことを前提としています。

<!--仕分けユニットを作成し、仕分け処理、OCR送信、CSVエクスポートを実行するサンプル-->
<AMVARIABLE NAME="var_ReadingStatus" VALUE="0" DESCRIPTION="読取ステータス" TYPE="number" />
<!--サービスURLの指定:「ここを変更」の部分をお客様のサービスURLに変更-->
<AMVARIABLE NAME="var_URI" VALUE="https://xxxxxx.dx-suite.com/" DESCRIPTION="APIの共通URI" />
<!--管理画面より生成したAPIキーを指定-->
<AMVARIABLE NAME="var_APIKey" VALUE="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" DESCRIPTION="APIキー" />
<!--読取対象のファイル名を指定-->
<AMVARIABLE NAME="var_FileName" DESCRIPTION="OCR処理対象のファイル名">%GetDesktopDirectory()%\SAMPLE.pdf</AMVARIABLE>
<!--sorterRuleIdを指定-->
<AMVARIABLE NAME="var_SorterRuleId" VALUE="11111" DESCRIPTION="ユニットID 対象の定義を選んだ際のURLから取得可能" />
<AMVARIABLE NAME="var_index" VALUE="0" DESCRIPTION="仕分されたCSVをダウンロードする際のインデックス" TYPE="number" />
<!--仕分ユニット作成 -->
<AMHTTP ACTIVITY="post" CONTENTTYPE="multipart/form-data" URL="%var_URI%Sorter/api/v1/add" TYPE="field" FILEFIELD="file" DATA="%var_FileName%" RESULTDATASET="ds_unit"><HEADER NAME="X-ConsoleWeb-ApiKey" VALUE="%var_APIKey%" /><FIELD NAME="sorterRuleId" VALUE="%var_SorterRuleId%" /></AMHTTP>
<AMJSON JSONSTRING="%ds_Unit.Data%" RESULTSTRUCTURE="js_OCRUnit" />
<AMVARIABLE NAME="var_sortingUnitId">%js_OCRUnit.sortingUnitId%</AMVARIABLE>
<!--仕分け処理の実施(継続してOCRに処理結果を送信する)-->
<AMHTTP ACTIVITY="post" URL="%var_URI%Sorter/api/v1/sorting" TYPE="field" RESULTDATASET="ds_unit"><HEADER NAME="X-ConsoleWeb-ApiKey" VALUE="%var_APIKey%" /><FIELD NAME="sortingUnitId" VALUE="%var_sortingUnitId%" /><FIELD NAME="sendOcrFlag" VALUE="true" /></AMHTTP>
<AMJSON JSONSTRING="%ds_Unit.Data%" RESULTSTRUCTURE="js_OCRUnit" />
<!--仕分けユニット検索-->
<!--ステータスが「OCRベリファイ完了」になるまでループ-->
<AMLOOP ACTIVITY="expression" CONDITION="until" EXPRESSION="(%var_ReadingStatus% &gt;= 100 and %var_ReadingStatus% &lt;= 130) or %var_ReadingStatus% = 990" />
<AMHTTP ACTIVITY="post" URL="%var_URI%Sorter/api/v1/status" TYPE="field" RESULTDATASET="ds_Status"><HEADER NAME="X-ConsoleWeb-ApiKey" VALUE="%var_APIKey%" /><FIELD NAME="sortingUnitId" VALUE="%var_sortingUnitId%" /></AMHTTP>
<AMJSON JSONSTRING="%ds_Status.Data%" RESULTSTRUCTURE="js_Status" />
<AMVARIABLE ACTIVITY="set" VARIABLENAME="var_ReadingStatus">%js_Status.statusCode%</AMVARIABLE>
<AMLOOP ACTIVITY="end" />
<!--仕分け結果 CSV エクスポート-->
<AMIF EXPRESSION="%var_ReadingStatus% &gt;= 100 and %var_ReadingStatus% &lt;= 130" USECOMPLEXUI="YES" />
<!--CSV 個別エクスポート 必要に応じてダウンロード先のファイル名・Pathを変更-->
<AMLOOP FROM="0" TO="%UBound(js_Status.statusList) - 1%" RESULTVARIABLE="var_index" />
<AMHTTP URL="%var_URI%ConsoleWeb/api/v1/reading/units/%js_Status.statusList(var_index).readingUnitId%/export" FILE="%GetDesktopDirectory()%\仕分結果_%var_index%.csv"><HEADER NAME="X-ConsoleWeb-ApiKey" VALUE="%var_APIKey%" /></AMHTTP>
<AMLOOP ACTIVITY="end" />
<AMIF ACTIVITY="end" />

【手動でダウンロードする場合】
仕分けユニットの「詳細」から、各定義の定義名をクリックすると、当該定義に関するIntelligent OCRのページが開きます。
(下図の赤枠部分を参照)

その後、Intelligent OCRの画面からエントリーやCSVダウンロードを実施します。