# REST API仕様

HULFT10 Smart Proxy（Web API）にリクエストを送信するためのREST API仕様について説明します。

## 認証

認証は、APIキーを使用したBearer認証で行います。

APIキーは、APIキーツールで入手できます。

APIキーツールでのAPIキーの入手については、「APIクレデンシャル生成」を参照してください。

リクエストの送信時は、以下の形式で指定してください。

    Authorization: Bearer {Base64 エンコードしたAPI キー}

## 認可

REST APIを使用するための認可情報は、APIクレデンシャル情報に紐づく認可マスタテーブルに保存されています。

APIクレデンシャルの生成時に、認可したい認可マスターテーブルのIDを指定することで、APIキーのアクセス権限を制御できます。

指定できる認可マスタテーブルのIDについては、「APIクレデンシャル生成」を参照してください。

## Examples

REQUEST EXAMPLE

サンプルは以下となります。

    {
      "action": "SEND",
      "fileId": "FILEID",
      "hostname": "HOSTNAME",
      "options": {
        "additionalProp1": {}
      },
      "port": 31000
    }

## Request Interface

    https://ControlURL/api/v1/hulft-actions

ControlURLには、ご使用のサーバーのホスト名を指定してください。

REQUEST BODY SCHEMA : application/json

action : string
  配信要求を依頼する場合

    : “SEND”を指定

  送信要求を依頼する場合

    : “RECV”を指定

fileId : string

  ファイルID

  オンプレミスのHULFTの配信管理情報または集信管理情報に指定したファイルIDを指定します。

hostname : string

  ホスト名

  オンプレミスのHULFTのホスト名を指定します。

options : string

  オプション

  オプションのパラメーターを指定します。

  actionに“RECV”が指定された場合、以下のパラメーターが指定できます。

  “remoteHost”

    : アクション実行時、ファイルを送信する側のHULFTのホスト名です。

    省略するとアクションを実行するHULFTの集信管理情報の転送グループIDに登録されているすべてのホストに送信を依頼します。

    使用できる文字は、最大68 文字までの英数字、“_”、“-”、“.”です。

port : integer

  ポート番号

  オンプレミスのHULFTの要求受付ポートNo.を指定します。

## Response Interface

### 202 受付結果

    Example Value  Model
    {
      "action": "string",
      "details": "string",
      "fileId": "string",
      "finishedAt": "string",
      "hostname": "string",
      "port": 0,
      "processingId": "string",
      "processingServerName": "string",
      "requestId": "string",
      "result": "string",
      "startedAt": "string"
    }

### 400 パラメーターに不備

    Example Value  Model

    {
      "details": "string",
      "message": "string"
    }

### 401 認証情報が不正

RESPONSE BODY

    {
      "message": "Unauthorized"
    }

RESPONSE HEADERS

    access-control-allow-credentials: true
    access-control-allow-origin: *
    content-length: 26
    content-security-policy: default-src 'seff' 'unsafe-inline' ; img-src data: http:
    content-type: application/json; charset=utf-8
    date: Fri,02 Aug 2024 05:53:33 GMT
    referrer-policy: strict-origin-when-cross-origin
    strict-transport-security: max-age=63072000; includeSubdomains
    vary: Origin
    x-content-type-options: nosniff
    x-frame-options: SAMEORGIN
    x-xss-protection: 1; mode=block

### 403 APIの実行権限なし

    Example Value  Model

    {
      "details": "string",
      "message": "string"
    }

### 502 HULFTに接続できない

指定したホスト名、ポート番号が間違っている

HULFTが起動していない

    Example Value  Model

    {
      "details": "string",
      "message": "string"
    }

### 504 504 タイムアウトエラー

    Example Value  Model

    {
      "details": "string",
      "message": "string"
    }