# 配信要求

配信側ホストにて配信要求を行います。

## Examples

REQUEST EXAMPLE

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

    {
      "file_id": "LOOPBACK_ID",
      "sync_mode": "async",
      "timeout": 300,
      "parameters": {
        "filename": "/tmp/snd_doc",
        "transfer_group_id": "LOOPBACK_GRP"
      },
      "variables": {
        "var0": "sample_variables0",
        "var1": "sample_variables1"
      }
    }

## Request Interface

    https://ControlURL/api/v1/requests/sendings

= 備考 =

WebAPIのControlURLで指定するパスはHULFTの管理画面にアクセスするためのURLと同じURLです。

詳細は以下を参照してください。

スタートアップガイド（EC2）

  : 導入手順

スタートアップガイド（Fargate）

  : 導入手順

REQUEST BODY SCHEMA : application/json

file_id : string

  ファイルID （必須）

  50バイト以内で指定します。

  英大文字数字、および“_”で指定します。

sync_mode : string

  同期転送オプション

  以下のいずれかを指定します。

  sync

    : 同期指定

  async

    : 非同期指定

  省略すると、“async”が設定されます。

timeout : integer

  同期転送時のタイムアウト時間（秒）

  10～259200の値を指定します。

  値を指定しなかった場合は、ソケット通信応答待ち時間が設定されます。

parameters : object

  動的指定パラメーター

  filename : string

    配信ファイル名

    4085バイト以内で指定します。

  transfer_group_id : string

    転送グループID

    50バイト以内で指定します。

    英数字、および“_”で指定します。

  host_id : string

    ホストID

    255バイト以内で指定します。

    英数字、“-”、および“.”で指定します。

variables : object

  転送変数

  property name* additional property: string

## Response Interface

### 200 OK 同期転送

RESPONSE HEADERS

X-Request-ID : string

  WebAPI履歴のリクエストID

RESPONSE SCHEMA : application/json

meta : object

  メタ情報

  total : integer

    実行された転送の総数

  request_user : object

    ロール情報

    systems_role : string

      APIを実行したユーザーの「ユーザーの権限」

    managements_id_role : string

      APIを実行したユーザーの「管理情報の権限」

records : Array of objects

  要求により実行された転送結果の一覧

  以下の構造の情報（Array[]）が複数取得されます。

  Array[

  connection_id : string

    接続ID

  file_id : string

    ファイルID

  hulft : object

    HULFT情報

    id : string

      HULFT ID

    version : object

      HULFTバージョン情報

      release : string

        HULFTリリースバージョン

      build : string

        HULFTのリリースID

  id : object

    識別子

    start_transfer : string

      開始転送識別子

    latest_transfer : string

      最新転送識別子

    start_process : string

      開始処理識別子

    latest_process : string

      最新処理識別子

  display_name : string

    表示名

  comment : string

    コメント

  status : object

    実行結果

    code : integer

      完了コード

    detail : integer

      詳細コード

  file : object

    ファイル

    name : string

      配信ファイル名

    type : string

      転送タイプ

      以下のいずれかが取得されます。

      binary

        : バイナリ

      text

        : テキスト

    transferred : object

      転送済みファイル情報

      rows : integer

        転送済みレコード件数

      size : integer

        転送済みデータサイズ

    total : object

      ファイル全件情報

      rows : integer

        全レコード件数

      size : integer

        全体ファイルサイズ

  code_conversion : object

    コード変換

    side : string

      コード変換側

      以下のいずれかが取得されます。

      none

        : 無変換（変換せずに配信）

      sending

        : 配信側（配信側ホストで変換）

      receiving

        : 集信側（集信側ホストで変換）

    own_code_set : string

      自ホストの転送コードセット

      以下のいずれかが取得されます。

      utf8

        : UTF-8

      sjis

        : Shift-JIS

      euc_jp

        : EUC-JP

      gb18030

        : GB18030

    target_code_set : string

      相手ホストの転送コードセット

      以下のいずれかが取得されます。

      utf8

        : UTF-8

      sjis

        : Shift-JIS

      euc_jp

        : EUC-JP

      ibm_japan

        : IBM漢字

      jef

        : JEF

      keis

        : KEIS

      nec

        : NEC漢字

      gb18030

        : GB18030

      ibm_simplified_chinese

        : IBM簡体字

    ebcdic_set : string

      相手ホストのEBCDICセット

      以下のいずれかが取得されます。

      none

        : なし

      katakana

        : カナ文字

      lowercase

        : 英小文字

      ascii

        : ASCII

      aspen

        : ASPEN

      japan_latin_for_ibm

        : IBM英小文字

      japan_latin_extended_for_ibm

        : IBM英小文字拡張

      nec_katakana

        : NECカナ文字

      japan_katakana_extended_for_ibm

        : IBMカナ文字拡張

      simplified_chinese_extended

        : 中国語簡体字拡張

      user_table_1

        : ユーザーテーブル1

      user_table_2

        : ユーザーテーブル2

      user_table_3

        : ユーザーテーブル3

  communication : object

    通信

    host : object

      接続ホスト情報

      id : string

        ホストID

      name : string

        接続ホスト名

      display_name : string

        ホスト表示名

      type : string

        ホスト種

        以下のいずれかが取得されます。

        unix

          : Container Services、Container Platform、Linux、UNIX、NonStop

        windows

          : Windows

        host

          : 汎用機

        as400

          : IBM i

    ip_address : string

      接続アドレス

    protocol : string

      接続時プロトコル

      以下のいずれかが取得されます。

      wss

        : WebSocket Secureを使用

      hulft

        : HULFT独自のプロトコルを使用

    ip_version : string

      IPバージョン

      以下のいずれかが取得されます。

      v4

        : IPv4

      v6

        : IPv6

    rate : number

      転送レート

    block_length : integer

      転送ブロック長

    block_count : integer

      転送ブロック数

  datetime : object

    日時情報

    accept : string <date-time>

      受付日時

    start : string <date-time>

      開始日時

    end : string <date-time>

      終了日時

  compression : object

    圧縮情報

    type : string

      圧縮方式

      以下のいずれかが取得されます。

      none

        : 圧縮なし

      deflate

        : DEFLATE圧縮

      zstandard

        : Zstandard圧縮

    ratio : number

      圧縮率

  security : object

    セキュリティ

    encryption_scheme : string

      暗号化種別

      以下のいずれかが取得されます。

      none

        : 暗号なし

      aes

        : AES暗号化

  request_user : string

    リクエストユーザー

  ]

### 202 Accepted 非同期転送

RESPONSE HEADERS

X-Request-ID : string

  WebAPI履歴のリクエストID

RESPONSE SCHEMA : application/json

process_id : string

  処理識別子

meta : object

  メタ情報

  request_user : object

    ロール情報

    systems_role : string

      APIを実行したユーザーの「ユーザーの権限」

    managements_id_role : string

      APIを実行したユーザーの「管理情報の権限」

hulft_id : string

  HULFT ID

file_id : string

  ファイルID

display_name : string

  ファイルID表示名

accept_datetime : string <date-time>

  受付日時

connection_ids : Array of strings

  要求により実行された転送ごとの接続ID

### 400 リクエストパラメーターの指定が不正

RESPONSE HEADERS

X-Request-ID : string

  WebAPI履歴のリクエストID

RESPONSE SCHEMA : application/json

request_id : string

  リクエストID

accept_datetime : string <date-time>

  受付日時

api_path : string

  APIパス

http_method : string

  HTTPリクエストのメソッド形式

  以下のいずれかが取得されます。

  GET

  HEAD

  POST

  OPTIONS

  PUT

  DELETE

  TRACE

  PATCH

  LINK

  UNLINK

errors : Array of objects

  エラー詳細情報

  以下の構造の情報（Array[]）が複数取得されます。

  Array[

  kind : string

    エラー種別

  description : string

    エラーの説明

  measure : string

    対処方法

  detail : string

    詳細エラー情報

  additional : (Error1(object or null)) or (Error2(object or null)) or (Error3(object or null))

    "Error1"、"Error2"、"Error3"のいずれかが取得されます。

    Error1
      message : string

        エラーメッセージ

      tables : Array of strings

        テーブル情報

      query : string

        クエリ情報

    Error2
      hulft_id : string

        HULFT ID

      code : integer

        実行結果

      detail : integer

        詳細コード

      message : string

        エラーメッセージ

    Error3
      message : string

        エラーメッセージ

      fields : string

        クエリ情報

  ]

### 401 認証エラー

RESPONSE HEADERS

X-Request-ID : string

  WebAPI履歴のリクエストID

RESPONSE SCHEMA : application/json

request_id : string

  リクエストID

accept_datetime : string <date-time>

  受付日時

api_path : string

  APIパス

http_method : string

  HTTPリクエストのメソッド形式

  以下のいずれかが取得されます。

  GET

  HEAD

  POST

  OPTIONS

  PUT

  DELETE

  TRACE

  PATCH

  LINK

  UNLINK

### 403 認可エラー

RESPONSE HEADERS

X-Request-ID : string

  WebAPI履歴のリクエストID

RESPONSE SCHEMA : application/json

request_id : string

  リクエストID

accept_datetime : string <date-time>

  受付日時

api_path : string

  APIパス

http_method : string

  HTTPリクエストのメソッド形式

  以下のいずれかが取得されます。

  GET

  HEAD

  POST

  OPTIONS

  PUT

  DELETE

  TRACE

  PATCH

  LINK

  UNLINK

errors : Array of objects

  エラー詳細情報

  以下の構造の情報（Array[]）が複数取得されます。

  Array[

  kind : string

    エラー種別

  description : string

    エラーの説明

  measure : string

    対処方法

  detail : string

    詳細エラー情報

  additional : (Error1(object or null)) or (Error2(object or null)) or (Error3(object or null))

    "Error1"、"Error2"、"Error3"のいずれかが取得されます。

    Error1
      message : string

        エラーメッセージ

      tables : Array of strings

        テーブル情報

      query : string

        クエリ情報

    Error2
      hulft_id : string

        HULFT ID

      code : integer

        実行結果

      detail : integer

        詳細コード

      message : string

        エラーメッセージ

    Error3
      message : string

        エラーメッセージ

      fields : string

        クエリ情報

  ]

### 404 指定したIDまたは参照先のIDが未登録

RESPONSE HEADERS

X-Request-ID : string

  WebAPI履歴のリクエストID

RESPONSE SCHEMA : application/json

request_id : string

  リクエストID

accept_datetime : string <date-time>

  受付日時

api_path : string

  APIパス

http_method : string

  HTTPリクエストのメソッド形式

  以下のいずれかが取得されます。

  GET

  HEAD

  POST

  OPTIONS

  PUT

  DELETE

  TRACE

  PATCH

  LINK

  UNLINK

errors : Array of objects

  エラー詳細情報

  以下の構造の情報（Array[]）が複数取得されます。

  Array[

  kind : string

    エラー種別

  description : string

    エラーの説明

  measure : string

    対処方法

  detail : string

    詳細エラー情報

  additional : (Error1(object or null)) or (Error2(object or null)) or (Error3(object or null))

    "Error1"、"Error2"、"Error3"のいずれかが取得されます。

    Error1
      message : string

        エラーメッセージ

      tables : Array of strings

        テーブル情報

      query : string

        クエリ情報

    Error2
      hulft_id : string

        HULFT ID

      code : integer

        実行結果

      detail : integer

        詳細コード

      message : string

        エラーメッセージ

    Error3
      message : string

        エラーメッセージ

      fields : string

        クエリ情報

  ]

### 502 転送エラー（同期転送時）

RESPONSE HEADERS

X-Request-ID : string

  WebAPI履歴のリクエストID

RESPONSE SCHEMA : application/json

request_id : string

  リクエストID

accept_datetime : string <date-time>

  受付日時

api_path : string

  APIパス

http_method : string

  HTTPリクエストのメソッド形式

  以下のいずれかが取得されます。

  GET

  HEAD

  POST

  OPTIONS

  PUT

  DELETE

  TRACE

  PATCH

  LINK

  UNLINK

errors : Array of objects

  エラー詳細情報

  以下の構造の情報（Array[]）が複数取得されます。

  Array[

  kind : string

    エラー種別

  description : string

    エラーの説明

  measure : string

    対処方法

  detail : string

    詳細エラー情報

  additional : (Error1(object or null)) or (Error2(object or null)) or (Error3(object or null))

    "Error1"、"Error2"、"Error3"のいずれかが取得されます。

    Error1
      message : string

        エラーメッセージ

      tables : Array of strings

        テーブル情報

      query : string

        クエリ情報

    Error2
      hulft_id : string

        HULFT ID

      code : integer

        実行結果

      detail : integer

        詳細コード

      message : string

        エラーメッセージ

    Error3
      message : string

        エラーメッセージ

      fields : string

        クエリ情報

  ]

### 504 タイムアウトエラー（同期転送時）

注意

指定した同期転送時のタイムアウト時間よりも短い時間で、ALBにより通信がタイムアウトになる場合があります。

想定される原因と対処方法については、「アドミニストレーション ガイド」の「運用上の注意点」の「ALBのアイドルタイムアウト時間の変更」を参照してください。

RESPONSE HEADERS

X-Request-ID : string

  WebAPI履歴のリクエストID

RESPONSE SCHEMA : application/json

request_id : string

  リクエストID

accept_datetime : string <date-time>

  受付日時

api_path : string

  APIパス

http_method : string

  HTTPリクエストのメソッド形式

  以下のいずれかが取得されます。

  GET

  HEAD

  POST

  OPTIONS

  PUT

  DELETE

  TRACE

  PATCH

  LINK

  UNLINK

errors : Array of objects

  エラー詳細情報

  以下の構造の情報（Array[]）が複数取得されます。

  Array[

  kind : string

    エラー種別

  description : string

    エラーの説明

  measure : string

    対処方法

  detail : string

    詳細エラー情報

  additional : (Error1(object or null)) or (Error2(object or null)) or (Error3(object or null))

    "Error1"、"Error2"、"Error3"のいずれかが取得されます。

    Error1
      message : string

        エラーメッセージ

      tables : Array of strings

        テーブル情報

      query : string

        クエリ情報

    Error2
      hulft_id : string

        HULFT ID

      code : integer

        実行結果

      detail : integer

        詳細コード

      message : string

        エラーメッセージ

    Error3
      message : string

        エラーメッセージ

      fields : string

        クエリ情報

  ]