[1.2] APIリファレンス

adminが2023/10/30 14:09に最終更新

はじめに

akaBot Vision APIを使用すると、企業のデータとアカウント情報にプログラムでアクセスして管理できます。

この記事では、開発者の観点からAPIの使用法を紹介し、すべてのAPIオブジェクトとメソッドのリファレンスを示します。

akaBot Vision APIの機能方法

IDP Sequence (1)-Page-1.drawio.png

a.ドキュメントのインポート

まず、akaBot Visionにログインして、ユーザの「Profile」セクションの下にある「Account」セクションの「API Keys」のトークンを取得する必要があります。            image-20230221102727-1.png

ドキュメントインポート用API を呼び出し、リクエスト情報(トークンとアップロードするファイル)をIDPに送信することで、IDPサーバーにドキュメントを手動でアップロードできます。 IDPサーバーがdocumentIdと「Importing」のドキュメントステータスをユーザーに応答します。ドキュメントのサイズによってはIDPサーバーがドキュメントを処理するのに2~3分かかる場合があります。 

b.ドキュメントステータスの取得          

ドキュメント処理の完了後、ドキュメントインポート用APIによって応答されたdocumentIdをリクエスト情報として使用してドキュメントステータス取得用APIを呼び出することで、ドキュメントのステータスを再確認します。

  • ドキュメントのステータスが「Confirmed」の場合、このドキュメントは正常に処理されたと意味します。入力パラメータ(Id およびexportType)Confirmed.pngを使用して%%)ドキュメントエクスポート用APIを呼び出することで、データをエクスポートできます。 
  • If the document has the status "Rejected", it means that IDP detected this document not to be an invoice and then rejected it.            Rejected.png
  • ドキュメントのステータスが「Splitted」で、splittedDocsが空でない場合、このドキュメントには複数のページがあり、IDPが自動的に子ドキュメントに分割したことを意味します。親ドキュメントのid              Split.pngを使用して分割されたドキュメントをマッピングできます。
    • ユーザは、SplittedDocsで返されたドキュメントIDに対してドキュメントステータス取得用APIを呼び出すことにより、子ドキュメントのステータスを確認できます。 これで、ドキュメントエクスポート 用APIを呼び出して、ステータスが「Confirmed」の子ドキュメントをエクスポートできるます。Split docs.png
  • ドキュメントのステータスが「To-review」の場合、ユーザはデータをエクスポートする前、ドキュメントを確認してドキュメントステータス更新用APIで「Confirmed」ステータスに変更する必要があることを意味します。           To-review.png

c.ドキュメント取得

ドキュメント取得用APIを呼び出すことで、特定のステータスを持つすべてのドキュメントのリストを取得できます。

d.ドキュメントのエクスポート

ユーザは、入力パラメータ(トークン、抽出するdocumentId、エクスポートしたいファイル形式)を指定してIDPサーバー上のドキュメントエクスポート用API を呼び出して、抽出されたデータ情報を取得する前に、ドキュメントのステータスが「Confirmed」に変更されるまで待つ必要があります。呼び出し後、ドキュメントエクスポート用APIは、選択した形式で抽出されたデータをユーザに応答します。

APIサンプルは、以下のAPI詳細に表示されます。

API詳細

1.ドキュメントのインポート

  • 用途:REST APIを使用してドキュメントをakaBot Visionにインポートできます。サポートされているファイル形式はPDF、PNG、JPEGです。
  • URL: {serverEndpoint}/api/uploadFile/{pipelineId}
  • Content-Type: multipart/form-data
  • メソッド:POST
  • リクエストヘッダー:Authorization: Bearer {apiKey}
  • 入力本文:
属性形式説明必須
pipelineIdstringパイプラインのIDはい
filesForm-dataアップロードするドキュメントのリストはい
  • レスポンス:

成功する場合は、コード200が返されます。応答はドキュメントモデル配列になります。

失敗した場合は、以下のエラーコードとメッセージコードが返されます。

応答コード説明
200OK
201Created
401Unauthorized
403Forbidden
404Not found

応答例:

image-20221128175926-2.png

2.ドキュメントのエクスポート

  • 用途:エクスポートドキュメント用APIを使用して確認済ドキュメントをcsv、json、xlxs、xmlファイルにエクスポートできます。
  • URL: {serverEndpoint}/api/export-documents/{id}?exportType={exportType}
  • Content-Type: application/json
  • メソッド:GET
  • リクエストヘッダー:Authorization: Bearer {apiKey}
  • 入力パラメータ:
属性形式説明必須
idstringデータをエクスポートする必要があるドキュメントのIDはい
exportTypestring

ユーザがエクスポートしたいファイル形式

  • csv
  • xlxs
  • xml
  • json
はい
  • アウトプット
    • 成功する場合は、コード200と入力タイプに対応するファイルが返されます。
    • 失敗した場合は、以下のエラーコードとメッセージコードが返されます。
応答コード説明
200OK
401Unauthorized
403Forbidden
404Not found

応答例:

image-20221128175926-4.png

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}
  • 入力パラメータ:
属性形式説明必須
pageintegerリクエストされたページのページ番号いいえ
sizeintegerページのサイズいいえ
sortstringプロパティ(,ascdesc)形式でのソート基準。)デフォルトのソート順序は昇順いいえ
statusstringドキュメントのステータス(IMPORTING、TOREVIEW、CONFIRMED、EXPORTED、DELETED、REJECTED)いいえ
pipelineIdstringパイプラインのIDはい
documentNamestring入力値を含むドキュメント名の検索いいえ
dateFromintegerドキュメントの検索開始日いいえ
dateTointegerドキュメントの検索終了日いいえ
  • アウトプット

成功する場合は、コード200が返されます。応答はドキュメントモデル配列になります。

失敗した場合は、以下のエラーコードとメッセージコードが返されます。

応答コード説明
200OK
401Unauthorized
403Forbidden
404Not found

応答例:

image-20221128175926-6.png

4.ドキュメントステータスの更新

  • 用途:ドキュメントステータス変更用APIを使用してドキュメントのステータスを更新できます。
  • URL: {serverEndpoint}/api/change-docs-status
  • Content-Type: application/json
  • メソッド:POST
  • リクエストヘッダー:Authorization: Bearer {apiKey}
  • 入力本文:
属性形式説明必須
docIdsString arrayステータスを更新する必要があるドキュメントリストのIDはい
statusChangestring変更するドキュメントステータスはい
  • アウトプット
    • 成功する場合は、コード200が返されます。
    • 失敗した場合は、以下のエラーコードとメッセージコードが返されます。
応答コード説明
200OK
401Unauthorized
403Forbidden
404Not found

応答例:

image-20221128175926-8.png

5.ドキュメントステータスの取得

  • 用途:ドキュメントのステータスを取得します。
  • URL: {serverEndpoint}/api/documents/{id}    
  • Content-Type: application/json
  • メソッド:GET
  • リクエストヘッダー:Authorization: Bearer {apiKey}
  • 入力パラメータ:
属性形式説明必須
idstring情報を取得するドキュメントのIDはい
  • アウトプット:

成功する場合は、コード200が返されます。応答はドキュメントモデルになります。

失敗した場合は、以下のエラーコードとメッセージコードが返されます。

応答コード説明
200OK
401Unauthorized
403Forbidden
404Not found

応答例:

image-20221128175926-10.png

付録

  1. サーバー エンドポイント: https://idp.akabot.com/ or http://idp.akabot.io
  2. APIキーの取得
    ステップ1:{serverEndpoint} /account/api-keysに移動します。
    Step 2: Copy key image-20221128175926-11.png
  3. サポートされるステータス:akaBot Docs
  4. ドキュメントモデルタイプ:
属性形式説明
aiResponsestringAIから取得される結果
checkSumstringアップロードするドキュメントのリスト
contentTypestringアップロードされたドキュメントの形式
createBystringドキュメントをアップロードする人
createDatestringドキュメントのアップロード日
dataMappingsarray 
dataMergestringキャプチャするフィールドとAIの結果のマッピング
documentKeystringドキュメントのID
duplicateDocsarray

最近アップロードされたドキュメントの複製であるドキュメントのリスト

Id::重複したドキュメントのID

Name:重複したドキュメントの名称

Status:重複したドキュメントのステータス

 

id ドキュメントのID
lastModifiedBystringドキュメントを最後に変更した人
lastModifiedDateDatetimeドキュメントが最後に変更された日付
namestringドキュメント名
pathUrlstringドキュメントのURL
pipelineIdstringパイプラインのID
reasonstringドキュメントを拒否した理由
reviewerEmailstringドキュメントを確認する人のメールアドレス
splittedDocsarray分割後のドキュメントのリスト
splitedPagesnumber分割後のドキュメントのページ数
statusstringドキュメントのステータス
tenantIdstringテナントのID
totalPagesstringドキュメントの総ページ数
  
Navigation