作成する関数
| 関数 | 説明 |
|---|---|
| CreateNewBatch | 新しい バッチ を作成し、その識別子を返します。 |
| AddDocumentToBatch | 既存の バッチ にドキュメントを追加します。 |
| RunBatchProcessing | バッチ の処理を開始します。 |
| WaitFirstVerificationOrProcessedForMultiFileInvoice | 検証 URL を返します。検証が不要な場合は空の文字列を返します。 |
| FetchingCapturedData | 1 つの Document Definition の 出力フィールド を JSON 形式で返します。 |
| MultiDocumentBatchIsProcessed | バッチ が処理済みかどうかを返します。 |
CreateNewBatch
CreateNewBatch 関数は新しいバッチを作成し、その識別子を返します。
パラメーター
戻り値
int、バッチ識別子。
例外
Exception
Java ソース
// FlexiCapture Web Services APIクライアントを作成します。
// FlexiCapture Application Serverのアドレス、テナント名、ユーザー名、パスワードを指定してください。
try (TenantClient tenantClient = new TenantClient(new URI(baseUri), tenantName, userName, password)) {
// FlexiCaptureプロジェクトAPIを取得します。プロジェクト名を指定してください。
try(ProjectApi projApi = tenantClient.getProjects().getProjectApi(multiFileProjectName)) {
// FlexiCaptureのバッチとドキュメントを作成します。
Batch batch = new Batch();
Document doc = new Document();
// FlexiCaptureプロジェクトにバッチを追加します。
return projApi.getBatches().add(batch);
}
} catch(Exception ex){
// エラーメッセージを連結します。
Throwable cause = ex.getCause();
String message = ex.getMessage();
while (cause != null) {
message += " " + cause.getMessage();
cause = cause.getCause();
}
// 連結したメッセージをスローします。
throw new Exception(message);
}
AddDocumentToBatch
AddDocumentToBatch 関数は、ドキュメントをバッチに追加します。
パラメーター
| 名前 | Java 型 | 説明 |
|---|---|---|
batchId | int | バッチ識別子 |
fileName | String | ファイル名 |
base64Content | String | Base64 形式のファイルの内容 |
戻り値
例外
Exception
Java ソース
// FlexiCapture Web Services APIクライアントを作成します。
// FlexiCapture Application Serverのアドレス、テナント名、ユーザー名、パスワードを指定してください。
try (TenantClient tenantClient = new TenantClient(new URI(baseUri), tenantName, userName, password)) {
// FlexiCaptureプロジェクトAPIを取得します。プロジェクト名を指定してください。
try(ProjectApi projApi = tenantClient.getProjects().getProjectApi(multiFileProjectName)) {
// FlexiCaptureドキュメントを作成します。
Document doc = new Document();
// FlexiCapture Batch APIを取得します。バッチ識別子を指定してください。
BatchApi batchApi = projApi.getBatches().getBatchApi(batchId);
// ファイルのインスタンスを作成します。
File file = new File(fileName, Base64.getDecoder().decode(base64Content.replace("\n", "").replace("\r", "")));
// FlexiCapture BatchにDocumentを追加します。
// ファイルはDocumentのコンテンツです。
batchApi.getDocuments().add(doc, file);
}
} catch(Exception ex){
// エラーメッセージを連結します。
Throwable cause = ex.getCause();
String message = ex.getMessage();
while (cause != null) {
message += " " + cause.getMessage();
cause = cause.getCause();
}
// 連結したメッセージをスローします。
throw new Exception(message);
}
RunBatchProcessing
RunBatchProcessing 関数は、バッチ処理を開始します。
パラメーター
| 名前 | Java 型 | 説明 |
|---|---|---|
batchId | int | バッチ識別子 |
戻り値
例外
Exception
Java ソース
// FlexiCapture Web Services APIクライアントを作成します。
// FlexiCapture Application Serverのアドレス、テナント名、ユーザー名、パスワードを指定してください。
try (TenantClient tenantClient = new TenantClient(new URI(baseUri), tenantName, userName, password)) {
// FlexiCaptureプロジェクトAPIを取得します。プロジェクト名を指定してください。
try(ProjectApi projApi = tenantClient.getProjects().getProjectApi(multiFileProjectName)) {
// FlexiCapture Batch APIを取得します。バッチ識別子を指定してください。
BatchApi batchApi = projApi.getBatches().getBatchApi(batchId);
// FlexiCapture バッチを実行して処理を開始します。
batchApi.start();
}
} catch(Exception ex){
// エラーメッセージを連結します。
Throwable cause = ex.getCause();
String message = ex.getMessage();
while (cause != null) {
message += " " + cause.getMessage();
cause = cause.getCause();
}
// 連結したメッセージをスローします。
throw new Exception(message);
}
WaitFirstVerificationOrProcessedForMultiFileInvoice
WaitFirstVerificationOrProcessedForMultiFileInvoice 関数は、検証 URL を返します。ドキュメントが検証ステージに達していない場合は、空の文字列が返されます。
パラメーター
| 名前 | Java 型 | 説明 |
|---|---|---|
batchId | int | バッチ識別子 |
戻り値
String、検証 URL。
例外
Exception
Java ソース
// FlexiCapture Web Services APIクライアントを作成します。
// FlexiCapture Application Serverのアドレスとテナント名、ユーザー名、パスワードを指定してください。
try (TenantClient tenantClient = new TenantClient(new URI(baseUri), tenantName, userName, password)) {
// FlexiCaptureプロジェクトAPIを取得します。プロジェクト名を指定してください。
try(ProjectApi projApi = tenantClient.getProjects().getProjectApi(multiFileProjectName)) {
// FlexiCapture Batch APIを取得します。バッチ識別子を指定してください。
BatchApi batchApi = projApi.getBatches().getBatchApi(batchId);
// バッチが検証ステージで停止するまで待機し、FlexiCaptureドキュメントを取得します。
Document doc = batchApi.getDocuments().waitFirstVerificationOrProcessed();
// バッチのステージが検証かどうかを確認します。
if (doc.getStageType() == ProcessingStageType.Verification) {
// FlexiCaptureバッチの最初の検証URL文字列を返します。
return batchApi.getVerificationUrls(WebPageMode.Mini).get(0).toString();
}
//検証ステージなしでバッチが処理された場合は空の文字列を返します。
return "";
}
}catch(Exception ex){
// エラーメッセージを連結します。
Throwable cause = ex.getCause();
String message = ex.getMessage();
while (cause != null) {
message += " " + cause.getMessage();
cause = cause.getCause();
}
// 連結したメッセージをスローします。
throw new Exception(message);
}
FetchingCapturedData
FetchingCapturedData 関数は、JSON 形式の出力フィールドのリストを返します。
パラメーター
| 名前 | Java 型 | 説明 |
|---|---|---|
batchId | int | バッチ識別子 |
templateName | String | Document Definition の名前 |
戻り値
String、JSON 形式のドキュメントfields。
例外
Exception
Java ソース
// FlexiCapture Web Services APIクライアントを作成します。
// FlexiCapture Application Serverのアドレスとテナント名、ユーザー名、パスワードを指定してください。
try (TenantClient tenantClient = new TenantClient(new URI(baseUri), tenantName, userName, password)) {
// FlexiCapture プロジェクトAPIを取得します。プロジェクト名を指定してください。
try(ProjectApi projApi = tenantClient.getProjects().getProjectApi(multiFileProjectName)) {
// FlexiCapture Batch APIを取得します。バッチ識別子を指定してください。
BatchApi batchApi = projApi.getBatches().getBatchApi(batchId);
// FlexiCapture Batchからすべてのドキュメントを取得します。
List<Document> documents = batchApi.getDocuments().getAll();
for(Document document:
documents){
// ドキュメントのテンプレート名を確認します。
if(document.getTemplateName().equals(templateName)){
// FlexiCapture Document APIを取得します。ドキュメント識別子を指定してください。
DocumentApi docApi = batchApi.getDocuments().getDocumentApi(document.getId());
// 抽出されたfieldsをJSON文字列として返します。
return docApi.getExportedFields();
}
}
//ドキュメントのテンプレート名が見つからない場合、空のJSON文字列を返します。
return "{}";
}
}catch(Exception ex){
// エラーメッセージを連結します。
Throwable cause = ex.getCause();
String message = ex.getMessage();
while (cause != null) {
message += " " + cause.getMessage();
cause = cause.getCause();
}
// 連結したメッセージをスローします。
throw new Exception(message);
}
MultiDocumentBatchIsProcessed
MultiDocumentBatchIsProcessed 関数は、バッチが処理済みかどうかを報告します。
パラメーター
| 名前 | Java 型 | 説明 |
|---|---|---|
batchId | int | バッチ識別子 |
戻り値
boolean。ドキュメントが Processed ステージにある場合は true、それ以外の場合は false です。
例外
Exception
Java ソース
// FlexiCapture Web Services APIクライアントを作成します。
// FlexiCapture Application Serverのアドレスとテナント名、ユーザー名、パスワードを指定してください。
try (TenantClient tenantClient = new TenantClient(new URI(baseUri), tenantName, userName, password)) {
// FlexiCaptureプロジェクトAPIを取得します。プロジェクト名を指定してください。
try(ProjectApi projApi = tenantClient.getProjects().getProjectApi(multiFileProjectName)) {
// FlexiCapture Batch APIを取得します。バッチ識別子を指定してください。
BatchApi batchApi = projApi.getBatches().getBatchApi(batchId);
// バッチが検証ステージまたは処理完了ステージで停止するまで待機し、FlexiCaptureドキュメントを取得します。
Document doc = batchApi.getDocuments().waitFirstVerificationOrProcessed();
// バッチのステージが処理完了かどうかを確認します。
return doc.getStageType() == ProcessingStageType.Processed;
}
}catch(Exception ex){
// エラーメッセージを連結します。
Throwable cause = ex.getCause();
String message = ex.getMessage();
while (cause != null) {
message += " " + cause.getMessage();
cause = cause.getCause();
}
// 連結したメッセージをスローします。
throw new Exception(message);
}
