データをメタデータで検索し、検索条件に合致するデータ一覧のID(ticket_id)リストを取得する際に用いるWeb APIです。
取得されたIDはデータダウンロードAPIで利用されます。
正常に処理が完了した場合は検索条件に合致したデータのIDリストがJSON形式で返却されます。
検索条件に応じたデータが存在しない場合はその旨が返却されます。
図2.3 データ検索APIの呼び出し関係
(1) 伝票抽出用メタデータデータベース(FUJITSU Software Enterprise Postgres)に対してSQLを実行します。
項目 | 値 | 備考 | ||
---|---|---|---|---|
APIエンドポイント (相対URI) | /search | |||
クエリパラメーター | data_type | 必須 | データ種別識別子 | 10:出荷予定データ 20:出荷確定データ |
get_status | 任意 | 取得フラグ | 0: 未取得,1: 取得済, 2: 未取得・取得済み両方 注)初期値: 0,データダウンロードAPIで取得された場合: 1,未指定時: 0 | |
src_location_code | 任意 | 発送元拠点コード | 未指定時は全ヒット | |
dst_location_code | 任意 | 発送先拠点コード | 未指定時は全ヒット | |
from_create_datetime | 任意 | 検索範囲の始点日時 | YYYYmmddHHMMSS形式 未指定時は全ヒット | |
to_create_datetime | 任意 | 検索範囲の終点日時 | YYYYmmddHHMMSS形式 未指定時は全ヒット | |
HTTPメソッド | GET | |||
HTTPリクエストヘッダ | Authorization | Bearer {token} | 今版では使用できません |
curl -i -s http://<開発実行環境サーバのIPアドレス>:<ポート番号(注)>/search?data_type=10"&"get_status=0"&"src_location_code=1234567890321"&"dst_location_code=1234567890123"&"from_create_datetime=20210524120130"&"to_create_datetime=20210624120130 -X GET
注)インベントリファイルのapi_tomcat_portに設定した値を指定
項目 | 値 | 備考 | |
---|---|---|---|
HTTPステータス | int(3桁) | 正常時200、異常時は後述 | |
HTTPレスポンスヘッダ | Content-Type | application/json;charset=UTF-8 | |
Transfer-Encoding | 符号化方式 | ||
Date | 日付 | ||
HTTPレスポンスボディ | ticket_id | ticket_id一覧 | JSON配列 (要素はstring) データダウンロードAPIで利用 |
HTTP/1.1 200 Content-Type: application/json;charset=UTF-8 Transfer-Encoding: chunked Date: Thu, 17 Jun 2021 04:25:22 GMT {"ticket_id":["xxxxxxxxxxxxxxxxxxxx","xxxxxxxxxxxxxxxxxxxx","xxxxxxxxxxxxxxxxxxxx"]}
HTTPステータスコード | メッセージ | 利用場面 |
---|---|---|
200 | OK | リクエストの処理に成功した |
400 | Bad Request | リクエスト違反(Content-Typeが空など)や他の400番台が適さない |
401 | Unauthorized | 認証されていない、または認証に失敗した |
403 | Forbidden | 認証以外の理由でリソースへアクセスできない |
404 | Not Found | サーバーがリクエストされたリソースを発見できない |
405 | Method Not Allowed | 指定以外のHTTPメソッドを指定された |
408 | Request Time-out | リクエストがタイムアウトした |
415 | Unsupported Media Type | サポートしていないメディアタイプが指定された |
500 | Internal Server Error | APIで障害が発生した |
503 | Service Unavailable | APIが一時的に処理を行うことができない |
HTTPステータスコード | メッセージボディ |
---|---|
200 | リソース内容を表示 |
400/500番台 | エラーコードと説明文を表示 |
形式
分類 | 内容 |
---|---|
code | エラーの詳細な種類(HTTPステータスコードではない) |
message | エラーメッセージ本文 |
HTTP/1.1 400 Content-Type: application/json;charset=UTF-8 Transfer-Encoding: chunked Date: Tue, 08 Jun 2021 17:56:21 GMT Connection: close {"error_codes":[{"code":"103","message":"Invalid dst location code."}]}
エラーリスト
HTTPステータスコード | エラーコード | 内容 |
---|---|---|
400 | 001 | リクエストボディの形式が誤っている(JSON形式でない) |
400 | 002 | データ種別識別子の値が設定されていない |
400 | 101 | データ種別識別子の値が不正である |
400 | 102 | 発送元拠点コードの値が不正である |
400 | 103 | 発送先拠点コードの値が不正である |
400 | 105 | 取得済みフラグの値が不正である |
400 | 106 | 検索範囲の始点日時の値が不正である |
400 | 107 | 検索範囲の終点日時の値が不正である |
401 | 201 | 認証用トークンによる認証に失敗した |
403 | 202 | アクセスが許可されていないユーザーのアクセスによる認可エラー |
404 | 203 | 存在しないデータにアクセスした |
405 | 206 | 指定以外のHTTPメソッドを指定された |
408 | 204 | データへのアクセスがタイムアウトした |
413 | 205 | リクエストボディのサイズが上限値を超えた |
500 | 301 | 予期せぬエラーが発生した |
503 | 303 | API側の不具合によるエラー |
キャッシュをさせない。(Pragma, Cache-Controlの2種類で指定)
例)Pragma: no-cache, Cache-Control: no-cache
リクエスト送受信時の通信タイムアウトは300秒(注)です。
注)これらのパラメーターはユーザーによる変更はできません。変更を希望する場合はシステム管理者への依頼が必要となります。