esmDevelopers
URL API
esm API
JSプラグイン
AIコンシェルジュ
esm linkage
URL API
esm API
JSプラグイン
AIコンシェルジュ
esm linkage
  • AIコンシェルジュ「登録支援」API

AIコンシェルジュ「登録支援」API

AIコンシェルジュ「登録支援」APIはAIが注文書・発注仕様書・RFP(提案依頼書)などのファイルを解析し、指定した項目について最適な値を抽出するAPIです。

ご利用方法

AIコンシェルジュ「登録支援」APIをご利用いただくためには、
以下の3つのステップを実施する必要があります。

  1. 認証
  2. AIコンシェルジュへの解析依頼
  3. AIコンシェルジュの解析結果取得

1. 認証

APIを利用するためには、まず認証を行いアクセストークンを取得する必要があります。

Request

項目値
リクエストメソッドPOST
エンドポイントhttps://gateway-esm.softbrain.com/auth/token
リクエストヘッダContent-Type: application/json
リクエストボディ下記のJSON形式
{
  "grantType": "password",
  "userId": "yourUserId",
  "password": "yourPassword",
  "tenantId": "yourTenantId"
}

正常時 Response (200 OK)

{
  "accessToken": "${JWT}",
  "tokenType": "BEARER",
  "expireIn": "3600",
  "refreshToken": "${refreshToken}"
}

異常時 Response

  • HTTP 400 Bad Request: リクエスト内容が正しくない場合に発生します。
  • HTTP 500 Internal Server Error: 想定外のエラーの場合に発生します。

2. AIコンシェルジュへの解析依頼

エンドポイント

POST https://gateway-ai.softbrain.com/dsas/document/analysis

概要

AIサーバーに対して、解析の依頼をします。

解析対象のファイルと、解析の対象とする項目の情報をリクエストに含めて送信します。

そして、リクエストを送るとAIによる解析が行われ、解析対象のファイルから指定した項目に対する値が抽出されます。

レスポンスではanalysisIdを返します。このanalysisIdは、「3. AIコンシェルジュの解析結果取得 」で使用します。

Request Header

キー値備考
AuthorizationBearer ${accessToken}「1. 認証 」で取得したアクセストークン
X-Service-Namems20

Request Body (form-data)

No.パラメータ必須タイプデフォルト値項目名備考
1file◯fileードキュメント解析するファイル、解析対象のファイル形式は PDF、JPEG、PNG、TEXT、PPTX、DOC、DOCX、XLSX、XLS、XLSM
2needSchedulebooleanースケジュール情報の要否マイルストーンなどでスケジュール情報が必要な場合にtrueにする。不要ならfalse。指定がない場合はfalseとして扱う。
3subject◯Stringー主題文書を解析する際のタイトル、案件なら業務タイプなどを指定する。
4items◯Objectー
5└ baseItems◯Arrayー
6    itemKey◯Stringー項目キー解析対象の項目を一意に識別するためのキー
7    itemType◯Stringー項目型解析結果として返す型(例: STRING, SELECT など)を指定する。 解析対象の型 を参照して型を指定する。
8    labelName◯Stringー項目名例えば、「案件名」「売上金額」などの解析対象の項目名を指定する。
9    optionsSELECT型のみ必須Stringー選択肢SELECT型のみ必須、選択肢の文字列を列挙する。
10    isMultiSelectbooleanー複数選択可能かどうかSELECT型のみ指定する。デフォルトはfalseである。
11└ categorizedItemsArrayーカテゴライズアイテム解析時に前提情報を付与したい項目を列挙する。
12    categoryName◯Stringーカテゴリー名解析時に前提情報となるカテゴリー名を指定する。
13    items◯Arrayー
14      itemKey◯Stringー項目キー解析対象の項目を一意に識別するためのキー
15      itemType◯Stringー項目型例:「STRING」,「SELECT」。 解析対象の型 を参照して指定する。
16      labelName◯Stringー項目名例えば、「案件名」「売上金額」などの解析対象の項目名を指定する。
17└ productItemsArrayー商品情報商品の情報を解析する場合に記載する。
18    itemKey◯Stringー項目キー解析対象の項目を一意に識別するためのキー
19    itemType◯Stringー項目型例:「STRING」,「SELECT」。解析対象の型 を参照して指定する。
20    optionsSELECT型と商品名のみ必須Arrayー選択肢商品名とSELECT型のみ必須、選択肢の文字列を列挙する。
21    labelName◯Stringー項目名「商品名」「個数」などの項目名を指定する。

Request Sample

Content-typeは、form-dataを指定して、以下のようにパラメータを指定してリクエストを送信する。

"needSchedule":  true
"subject":  "入札"
"file":  {解析対象のファイルを指定}
"items": {
  "baseItems": [
    {
      "itemKey": "EXT_2_BRANCH_NAME",
      "labelName": "案件名",
      "itemType": "STRING"
    },
    {
      "itemKey": "type_checkbox1",
      "itemType": "SELECT",
      "labelName": "好きな色",
      "options": [
        "赤",
        "青",
        "黄"
      ],
      "isMultiSelect": true
    }
  ],
  "categorizedItems": [
    {
      "categoryName": "クレーム情報",
      "items": [
        {
          "itemKey": "EXT_2_ANK_VARCHAR_2",
          "labelName": "対象者",
          "itemType": "STRING"
        }
      ]
    }
  ],
  "productItems": [
    {
      "itemKey": "productName",
      "itemType": "STRING",
      "labelName": "商品名",
      "options": [
        "営業データ活用商品",
        "登録支援",
        "知財活用"
      ]
    },
    {
      "itemKey": "productPrice",
      "itemType": "NUMBER",
      "labelName": "価格"
    }
  ]
}

解析対象の型

AIコンシェルジュの解析時に、解析が行われる項目の型です。

型備考
DATETIMEyyyy/mm/dd hh:MM形式
STRING文字列型
DATEyyyy/mm/dd 形式
MEMO文章型(上限2,000文字)
NUMBER数値型
TIMEhh:MM形式
SELECT選択式、isMultiSelectで複数可否を制御する

対象外の型は、リクエストに指定しても解析結果に含まれません。

正常時 Response (200 OK)

キー型項目名備考
analysisIdstring解析ID「3. AIコンシェルジュの解析結果取得」で使用するIdが発行される。

※サンプル

{
  "analysisId": ${analysisId}
}

異常時 Response

HTTP 400 Bad Request

解析対象のファイルがリクエストに存在しない、または容量が0 KBの場合に発生します。

キー型エラー概要
codestringFILE_NOT_FOUND
messagestringファイルの存在を確認できませんでした。 or 取込みファイルが空の可能性があります。ファイルの内容をご確認ください。

※サンプル

{																					
  "error": {																					
    "code": "FILE_NOT_FOUND",																					
    "message": "取込みファイルが空の可能性があります。\nファイルの内容をご確認ください。"																					
  }																					
}																					                                         

HTTP 415 Unsupported Media Type

解析対象のファイルの形式が不正な場合に発生します。

キー型エラー概要
codestringUNSUPPORTED_FILE_TYPE
messagestringファイルを取込みできませんでした。取込み可能なファイル形式はPDF、JPEG、PNG、TEXT、PPTX、DOC、DOCX、XLSX、XLS、XLSMです。

※サンプル

{											
  "error": {											
    "code": "UNSUPPORTED_FILE_TYPE",											
      "message": "ファイルを取込みできませんでした。\n取込み可能なファイル形式はPDF、JPEG、PNG、TEXT、PPTX、DOC、DOCX、XLSX、XLS、XLSMです。"										
  }											
}																																                                         

HTTP 403 Forbidden

AIコンシェルジュ「登録支援」の権限がない場合に発生します。

キー型エラー概要
codestringFORBIDDEN
messagestringAIコンシェルジュ「登録支援」の利用権限がありません。

※サンプル

{														
  "error": {
    "code": "FORBIDDEN",
      "message": "AIコンシェルジュ「登録支援」の利用権限がありません。"
  }
}

3. AIコンシェルジュの解析結果取得

エンドポイント

GET https://gateway-ai.softbrain.com/dsas/sse/connect/{analysisId}

概要

「2.AIコンシェルジュの解析依頼」で取得したanalysisIdを使用して、AIが解析した結果をServer Sent Events(SSE)接続で取得します。

Request Header

キー値備考
AuthorizationBearer ${accessToken}「1. 認証 」で取得したアクセストークン
X-Service-Namems20

正常時 Response (200 OK)

HTTPレスポンスコード:200

レスポンスでは、SSE接続によって、接続状況や解析結果がリアルタイムで送信されます。

Content/Typeはtext/event-streamが指定されており、以下の表の順番でイベントが返されます。

順番フィールド名データ説明
1message[CONNECTTING]接続中であることを示すメッセージ
2message解析結果が、JSON形式で返される。解析結果の詳細については、レスポンスボディとレスポンスサンプルを参照
3message[END]接続が終了したことを表すメッセージ

Response Body

イベントで送信される解析結果の各項目の詳細は以下のようになっています。

No.キー型項目名備考
1baseDataarray[object]解析結果の各項目を要素とする配列が返される。
2  itemKeystring項目キー
3  value項目値isMultiSelectがtrueならArrayで返す。それ以外はStringで返す。
4schedulearray[object]マイルストーンで使用、解析依頼のneedSchedule=trueの場合のみ載せる。
5  datestring日付
6  titlestringタイトル
7  managerstring担当者
8productDataarray[array[object]]商品情報商品ごとの解析結果を配列で返却する。外側の配列は「商品単位」、内側の配列は「1商品に対して解析された項目(productItemsで指定した項目)」を表し、解析結果が存在する項目のみが返却される。
9  itemKeystring項目キー
10  value項目値解析依頼時の itemType に応じた型で返却される。isMultiSelect が true の場合は、itemType に応じた型の配列として返却される。

Response Sample

SSE接続によって、[CONNECTTING]のメッセージが返されると、次に以下のように解析結果のイベントが送られます。

{
  "baseData": [
    {
      "itemKey": "EXT_2_BRANCH_NAME",
      "value": "案件名"
    },
    {
      "itemKey": "type_checkbox1",
      "value": ["赤", "黄"]
    }
  ],
  "schedule": [
    {
      "date": "2024/01/11",
      "title": "入札公告",
      "memo": "浦郷米軍(5)係留施設(278)護岸等整備工事の配置予定技術者の専任期間",
      "manager": "森信哉"
    }
  ],
  "productData": [
    [
      {
        "itemKey": "productName",
        "value": "esm"
      },
      {
        "itemKey": "productPrice",
        "value": 3000
      },
    ],
    [
      {
        "itemKey": "productName",
        "value": "AIコンシェルジュ"
      },
      {
        "itemKey": "productPrice",
        "value": 1000
      },
    ]
  ]
}

「2.AIコンシェルジュへ解析依頼」でリクエストに指定した解析対象の項目のうち、AIが抽出することができた項目のみ情報が返されます。

異常時 Response

タイムアウト時などのサーバー側からの接続断の場合は、文字列"[ERROR]"が返されます。