HULFT10 API Gateway でHULFTにAPIリクエストを投げてみた

# はじめに
こんにちは。すぎもんです:smiley:
今回は**HULFT10 API Gateway** のWebAPIを利用してみます！先日リリースした**HULFT10**では、HULFTの機能をAPIで利用できるので先行して触ってみたナレッジをまとめてます！

先日、HULFT10 API Gatewayの環境構築についてもまとめたので併せてどうぞ！
https://qiita.com/sugimon/items/f48fc75d0c81071116b3


HULFT10 について紹介している公式サイトと記事もあわせてご覧ください。

https://www.hulft.com/software/hulft-10

https://qiita.com/sugimon/items/f48fc75d0c81071116b3

:::note warn
本資料は2024年10月開発中時点のリリース前モジュールでの環境構築ナレッジです。設定内容等の細かい部分は、正式版と変更になる可能性がある点、ご留意ください。
:::

# 今回やること
HULFT10 API Gatewayで提供されているHULFT管理・操作のためのWeb API「詳細ホスト情報の一覧取得」を実施します。

# 実施手順
<dl>
  <dt>① HULFT10 API Gateway の設定</dt>
  <dd>まずはユーザーを新規作成し、認証のためのアクセストークンを発行します。</dd>
  <dd>1. ユーザーの作成</dd>
  <dd>2. アクセストークンの発行</dd>
  <dt>② curl コマンドの実行</dt>
  <dd>①で発行したアクセストークンを使ってcurl コマンドで詳細ホスト情報の取得を行い、結果の確認までを行います。</dd>
  <dd>1. 詳細ホスト情報の一覧の取得</dd>
  <dd>2. 実行結果の確認</dd>
</dl>
それでは早速やってみましょう！

## ① HULFT10 API Gateway の設定

### 1. ユーザーの作成
まずはユーザーの作成から行っていきます。
**[Settings] - [個人設定] - [ユーザー管理]** の **[新規作成]** ボタンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/b2b1822e-5ff3-05a2-5bee-79a9bfd16667.png)

**[ユーザーID]** と **[初期パスワード]** を入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/77606113-29b2-c731-7477-7be6079fe06f.png)

**[ユーザーの権限]** を指定し、 **[保存]** を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/1971fba3-c487-fb8c-292c-21238dec725f.png)


作成したユーザーでログインしなおします。


### 2. アクセストークンの発行

**HULFT10 API Gateway > [Settings] > [個人設定] > [アカウント情報]** をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/750db83a-28c1-d6cc-5c2d-f8193168bba0.png)


**[アクセストークンを発行]** ボタンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/c8f6f20d-9c73-589c-6c6f-5cafc9c56e78.png)


表示された <font color="Red">**アクセストークン**</font> をコピーします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/bca7e6f3-8805-6b35-eef4-e501db74dceb.png)

:::note warn
**Point**
アクセストークンは②で使用しますのでメモ帳などに控えておきます。
:::


## ② curl コマンドの実行
curl コマンドの実行は、下記の手順で行います。

1. 詳細ホスト情報の一覧の取得
1. 実行結果の確認


### 1. 詳細ホスト情報の一覧の取得
まずはコマンドプロンプトを起動します。
次に「**登録済みの詳細ホスト情報の一覧**」を取得するための、下記のコマンドを実行します。

```ruby:入力例
curl -k -i -X GET -c /tmp/cookie.txt -H "Authorization: Bearer [AccessToken]" http://ControlURL/api/v1/hulft/{hulft-host-id}/managements/hosts/list
```


+ **[AccessToken]** には <font color="blue">**2. アクセストークンの発行**</font> で取得したアクセストークンを指定します。
+ **[ControlURL]** には HULFT10 API Gateway の管理画面にアクセスするためのURLを指定します。
+ **[hulft-host-id]** には接続するHULFTのホストIDを指定します。


:::note
**ControlURL とは**
`http://API-Gatewayを起動しているホスト名:API-Gatewayのポート番号`
:::



### 2. 実行結果の確認
実行結果を確認してみましょう。
レスポンスコードの値が <font color="Red">**“200 (OK)”**</font> であることから、正常に実行されたことがわかります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/aec5d54c-2f85-288f-242e-57487c545caf.png)

以下が、取得した詳細ホスト情報の一覧になります。

| 項目 | 内容 | 備考 |
|:-|:-|:-|
| total | 1 | 取得したレコードの総数 |
| os_type | windows | 接続先ホスト機種 |
| request_user_role | admin | API実行ユーザーの権限 |
| strong_key_mode | disable | 高強度暗号強制モードの設定値 |
| product_version | V10L02R00P00 | 製品バージョン |
| id | localhost | ホスト名と同じ値 |
| hostname  | localhost | ホスト名 |
| comment  | 2024/10/09 | コメント |



# 最後に
いかがでしたでしょうか。

今回はコマンドプロンプトから curl コマンドで詳細ホスト情報の一覧を取得してみましたが、HULFT10 API Gatewayでは、他にも配信要求などのHULFTの機能が利用できるWeb APIを提供しています。他サービスなどからの連携などでもぜひ試してみてください。

このブログでは、今後も様々なTopics記事や接続検証等、皆さんの参考になるような記事を投稿していきたいと思います！
ここまで読んでいただきありがとうございました。それでは、また！:raised_hand: