はじめに
akaBot Vision APIを使用すると、企業のデータとアカウント情報にプログラムでアクセスして管理できます。
この記事では、開発者の観点からAPIの使用法を紹介し、すべてのAPIオブジェクトとメソッドのリファレンスを示します。
akaBot Vision APIの機能方法
a.ドキュメントのインポート
まず、akaBot Visionにログインして、ユーザの「Profile」セクションの下にある「Account」セクションの「API Keys」のトークンを取得する必要があります。
ドキュメントインポート用API を呼び出し、リクエスト情報(トークンとアップロードするファイル)をIDPに送信することで、IDPサーバーにドキュメントを手動でアップロードできます。 IDPサーバーがdocumentIdと「Importing」のドキュメントステータスをユーザーに応答します。ドキュメントのサイズによってはIDPサーバーがドキュメントを処理するのに2~3分かかる場合があります。
b.ドキュメントステータスの取得
ドキュメント処理の完了後、ドキュメントインポート用APIによって応答されたdocumentIdをリクエスト情報として使用してドキュメントステータス取得用APIを呼び出することで、ドキュメントのステータスを再確認します。
- ドキュメントのステータスが「Confirmed」の場合、このドキュメントは正常に処理されたと意味します。入力パラメータ(Id およびexportType)を使用して%%)ドキュメントエクスポート用APIを呼び出することで、データをエクスポートできます。
- If the document has the status "Rejected", it means that IDP detected this document not to be an invoice and then rejected it.
- ドキュメントのステータスが「Splitted」で、splittedDocsが空でない場合、このドキュメントには複数のページがあり、IDPが自動的に子ドキュメントに分割したことを意味します。親ドキュメントのid を使用して分割されたドキュメントをマッピングできます。
- ユーザは、SplittedDocsで返されたドキュメントIDに対してドキュメントステータス取得用APIを呼び出すことにより、子ドキュメントのステータスを確認できます。 これで、ドキュメントエクスポート 用APIを呼び出して、ステータスが「Confirmed」の子ドキュメントをエクスポートできるます。
- ドキュメントのステータスが「To-review」の場合、ユーザはデータをエクスポートする前、ドキュメントを確認してドキュメントステータス更新用APIで「Confirmed」ステータスに変更する必要があることを意味します。
c.ドキュメント取得
ドキュメント取得用APIを呼び出すことで、特定のステータスを持つすべてのドキュメントのリストを取得できます。
d.ドキュメントのエクスポート
ユーザは、入力パラメータ(トークン、抽出するdocumentId、エクスポートしたいファイル形式)を指定してIDPサーバー上のドキュメントエクスポート用API を呼び出して、抽出されたデータ情報を取得する前に、ドキュメントのステータスが「Confirmed」に変更されるまで待つ必要があります。呼び出し後、ドキュメントエクスポート用APIは、選択した形式で抽出されたデータをユーザに応答します。
API詳細
1.ドキュメントのインポート
- 用途:REST APIを使用してドキュメントをakaBot Visionにインポートできます。サポートされているファイル形式はPDF、PNG、JPEGです。
- URL: {serverEndpoint}/api/uploadFile/{pipelineId}
- Content-Type: multipart/form-data
- メソッド:POST
- リクエストヘッダー:Authorization: Bearer {apiKey}
- 入力本文:
属性 | 形式 | 説明 | 必須 |
pipelineId | string | パイプラインのID | はい |
files | Form-data | アップロードするドキュメントのリスト | はい |
- レスポンス:
成功する場合は、コード200が返されます。応答はドキュメントモデル配列になります。
失敗した場合は、以下のエラーコードとメッセージコードが返されます。
応答コード | 説明 |
200 | OK |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not found |
応答例:
2.ドキュメントのエクスポート
- 用途:エクスポートドキュメント用APIを使用して確認済ドキュメントをcsv、json、xlxs、xmlファイルにエクスポートできます。
- URL: {serverEndpoint}/api/export-documents/{id}?exportType={exportType}
- Content-Type: application/json
- メソッド:GET
- リクエストヘッダー:Authorization: Bearer {apiKey}
- 入力パラメータ:
属性 | 形式 | 説明 | 必須 |
id | string | データをエクスポートする必要があるドキュメントのID | はい |
exportType | string | ユーザがエクスポートしたいファイル形式
| はい |
- アウトプット
- 成功する場合は、コード200と入力タイプに対応するファイルが返されます。
- 失敗した場合は、以下のエラーコードとメッセージコードが返されます。
応答コード | 説明 |
200 | OK |
401 | Unauthorized |
403 | Forbidden |
404 | Not found |
応答例:
3.ドキュメント取得
- 用途:特定のステータス(IMPORTING、TOREVIEW、CONFIRMED、EXPORTED、DELETED、REJECTED)を持つ特定のパイプラインのドキュメントリストを取得できます。ユーザがステータスを特定しない場合、APIはすべてのステータスのドキュメントリストを応答します。
- URL: {serverEndpoint}/api/documents?page={page}&size={size}&status={status}&pipelineId={pipelineId}&documentName={documentName}&dateFrom={dateFrom}&dateTo={dateTo}&sort=createdDate,desc
- Content-Type: application/json
- メソッド:GET
- リクエストヘッダー:Authorization: Bearer {apiKey}
- 入力パラメータ:
属性 | 形式 | 説明 | 必須 | |
page | integer | リクエストされたページのページ番号 | いいえ | |
size | integer | ページのサイズ | いいえ | |
sort | string | プロパティ(,asc | desc)形式でのソート基準。)デフォルトのソート順序は昇順 | いいえ |
status | string | ドキュメントのステータス(IMPORTING、TOREVIEW、CONFIRMED、EXPORTED、DELETED、REJECTED) | いいえ | |
pipelineId | string | パイプラインのID | はい | |
documentName | string | 入力値を含むドキュメント名の検索 | いいえ | |
dateFrom | integer | ドキュメントの検索開始日 | いいえ | |
dateTo | integer | ドキュメントの検索終了日 | いいえ |
- アウトプット
成功する場合は、コード200が返されます。応答はドキュメントモデル配列になります。
失敗した場合は、以下のエラーコードとメッセージコードが返されます。
応答コード | 説明 |
200 | OK |
401 | Unauthorized |
403 | Forbidden |
404 | Not found |
応答例:
4.ドキュメントステータスの更新
- 用途:ドキュメントステータス変更用APIを使用してドキュメントのステータスを更新できます。
- URL: {serverEndpoint}/api/change-docs-status
- Content-Type: application/json
- メソッド:POST
- リクエストヘッダー:Authorization: Bearer {apiKey}
- 入力本文:
属性 | 形式 | 説明 | 必須 |
docIds | String array | ステータスを更新する必要があるドキュメントリストのID | はい |
statusChange | string | 変更するドキュメントステータス | はい |
- アウトプット
- 成功する場合は、コード200が返されます。
- 失敗した場合は、以下のエラーコードとメッセージコードが返されます。
応答コード | 説明 |
200 | OK |
401 | Unauthorized |
403 | Forbidden |
404 | Not found |
応答例:
5.ドキュメントステータスの取得
- 用途:ドキュメントのステータスを取得します。
- URL: {serverEndpoint}/api/documents/{id}
- Content-Type: application/json
- メソッド:GET
- リクエストヘッダー:Authorization: Bearer {apiKey}
- 入力パラメータ:
属性 | 形式 | 説明 | 必須 |
id | string | 情報を取得するドキュメントのID | はい |
- アウトプット:
成功する場合は、コード200が返されます。応答はドキュメントモデルになります。
失敗した場合は、以下のエラーコードとメッセージコードが返されます。
応答コード | 説明 |
200 | OK |
401 | Unauthorized |
403 | Forbidden |
404 | Not found |
応答例:
付録
- サーバー エンドポイント: https://idp.akabot.com/ or http://idp.akabot.io
- APIキーの取得
ステップ1:{serverEndpoint} /account/api-keysに移動します。
Step 2: Copy key - サポートされるステータス:akaBot Docs
- ドキュメントモデルタイプ:
属性 | 形式 | 説明 |
aiResponse | string | AIから取得される結果 |
checkSum | string | アップロードするドキュメントのリスト |
contentType | string | アップロードされたドキュメントの形式 |
createBy | string | ドキュメントをアップロードする人 |
createDate | string | ドキュメントのアップロード日 |
dataMappings | array | |
dataMerge | string | キャプチャするフィールドとAIの結果のマッピング |
documentKey | string | ドキュメントのID |
duplicateDocs | array | 最近アップロードされたドキュメントの複製であるドキュメントのリスト Id::重複したドキュメントのID Name:重複したドキュメントの名称 Status:重複したドキュメントのステータス
|
id | ドキュメントのID | |
lastModifiedBy | string | ドキュメントを最後に変更した人 |
lastModifiedDate | Datetime | ドキュメントが最後に変更された日付 |
name | string | ドキュメント名 |
pathUrl | string | ドキュメントのURL |
pipelineId | string | パイプラインのID |
reason | string | ドキュメントを拒否した理由 |
reviewerEmail | string | ドキュメントを確認する人のメールアドレス |
splittedDocs | array | 分割後のドキュメントのリスト |
splitedPages | number | 分割後のドキュメントのページ数 |
status | string | ドキュメントのステータス |
tenantId | string | テナントのID |
totalPages | string | ドキュメントの総ページ数 |