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

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

AutoMate定型OCRオプションでは新バージョンv2への移行が開始しています。
AutoMate定型OCRオプションにてRest APIを使用するタスクにおいても修正が必要となります。
以下新バージョンにおけるサンプルの変更点です。
旧バージョンのサンプルについては下記URLをご参照ください。
https://automate.sct.co.jp/knowledge/12205/

■AI-OCR新バージョン移行における注意点
AutoMate11.7以前をご利用のお客様につきまして、AutoMateの「HTTP」アクションを使用してAPI経由でファイルをアップロードする際に
ファイル名等にダブルバイト文字を含むファイルのアップロードができない事象が確認されています。
本事象はver.22.1以上にて修正パッチが用意されていますので、新バージョンをご利用の際にはver.22.1へのバージョンアップもご検討ください。
https://automate.sct.co.jp/news/16372/

■変更点
1) 変数の値について
以下の変数の値を追加、修正します。
・新規の変数「var_SOrterConfigId」

・既存の変数「var_URI」
初期値を「https://{サブドメイン}.dx-suite.com/wf/api/standard/v2」に変更します。

・既存の変数「var_SorterRuleID」
こちらの変数は新バージョンでは使用しないため削除します。

2) 以下の処理を修正します。
・仕分けユニット追加(「HTTP - Post」アクション)
「一般」
URL:%var_URI%wf/api/standard/v2/sorter/add
ファイルフィールド:files
フィールドの要求:sortConfigId
「認証情報」
リクエストヘッダー:名前→apikey (値は変更なし)

変数
var_sortingUnitId→sortUnitIdに変更

・仕分け実施(「HTTP - Post」アクション)
「一般」
URL:%var_URI%wf/api/standard/v2/sorter/sorting
フィールドの要求:
sortingUnitName→sortUnitName
sendOcrFlag→sendOcr
「認証情報」
リクエストヘッダー:名前→apikey (値は変更なし)

・仕分け結果取得(「HTTP - Get」アクション)
「一般」
URL:%var_URI%wf/api/standard/v2/sorter/status
フィールド要求:sortUnitId
「認証情報」
リクエストヘッダー:名前→apikey (値は変更なし)

・CSVファイルダウンロード処理(「HTTP - Get」アクション)
「一般」
URL:%var_URI%wf/api/standard/v2/units/%js_Status.statusList(var_index).readingUnitId%/csv
「認証情報」
リクエストヘッダー:名前→apikey (値は変更なし)

【Rest APIを使用してダウンロードする場合】
API「/wf/api/standard/v2/sorter/status」を利用することで、仕分けられた先の読取ユニットIDを取得することが出来ます。
それを利用し、「wf/api/standard/v2/units/{unitid}/csv」を使ってダウンロードを行います。
以下、新バージョン向けのサンプルです。なお、このサンプルでは帳票アップロード~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_SorterConfigId" 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%wf/api/standard/v2/sorter/add" TYPE="field" FILEFIELD="files" DATA="%var_FileName%" RESULTDATASET="ds_unit"><HEADER NAME="apikey" VALUE="%var_APIKey%" /><FIELD NAME="sortConfigId" VALUE="%var_SorterConfigId%" /><FIELD /></AMHTTP>
<AMJSON ACTIVITY="json_deserialize" JSONSTRING="%ds_Unit.Data%" RESULTSTRUCTURE="js_OCRUnit" />
<AMVARIABLE NAME="var_sortUnitId">%js_OCRUnit.sortUnitId%</AMVARIABLE>
<!--仕分け処理の実施(継続してOCRに処理結果を送信する)-->
<AMHTTP ACTIVITY="post" URL="%var_URI%wf/api/standard/v2/sorter/sorting" TYPE="field" RESULTDATASET="ds_unit"><HEADER NAME="apikey" VALUE="%var_APIKey%" /><FIELD NAME="sortUnitName" VALUE="%var_sortUnitId%" /><FIELD NAME="sendOcr" VALUE="true" /></AMHTTP>
<AMJSON ACTIVITY="json_deserialize" 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%wf/api/standard/v2/sorter/status" TYPE="field" RESULTDATASET="ds_Status"><HEADER NAME="apikey" VALUE="%var_APIKey%" /><FIELD NAME="sortUnitId" VALUE="%var_sortingUnitId%" /></AMHTTP>
<AMJSON ACTIVITY="json_deserialize" 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%wf/api/standard/v2/units/%js_Status.statusList(var_index).readingUnitId%/csv" FILE="%GetDesktopDirectory()%\仕分結果_%var_index%.csv"><HEADER NAME="apikey" VALUE="%var_APIKey%" /></AMHTTP>
<AMLOOP ACTIVITY="end" />
<AMIF ACTIVITY="end" />

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

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