はじめに
今回はHULFT SquareのAPIマネジメントの機能を使って、HULFT Square上のファイルをAPIで送信する仕組みを構築します。前回の記事ではAPIでHULFT Square外からHULFT Square上へREST APIでファイルを送りましたが、今回は逆にHULFT Square上のファイルを要求するAPIをコールし、ファイルを受領します。前回と同じく、REST APIのコールに直接ファイルを乗せることはできないため、バイナリ化したファイルをREST APIとして受領します。これによってHULFT Squareと連携している様々なシステムから受領したファイルをRESTでさらに別システムへと連携することが可能になります。
スクリプト作成
早速スクリプトを作成します。今回は下記のようなXMLデータでバイナリファイルを送信します。<body>にバイナリ化されたデータが格納されて送信されるとします。
<list>
<row>
<filename>[適当なファイル名]</filename>
<data>[バイナリ化したファイルデータ]</data>
</row>
</list>
まずは、これをスキーマへ登録します。
次にスクリプトを作成し、スクリプト変数を作成します。今回は「XML」と「変換パス」という名前で下記のスクリプト変数を作成しました。
「必須設定」タブ
名前:XML
変数型:XML型
スクリプト出力変数として使用する:☑
「必須設定」タブ
名前:変換パス
変数型:文字列型
スクリプト入力変数として使用する:☑
次にツールパレットの「ファイル」-「ファイルシステム」から「ファイルシステム読み取り」というアイコンを配置します。こちらのアイコンでは指定されたディレクトリ内のファイルをバイナリデータへ変換することが可能です。また今回はコールしたREST APIのパラメータで対象となるディレクトリを選択するというユースケースで行います。
「必須設定」タブ
ディレクトリ:[作成した「変換パス」を利用してディレクトリを設定します]
データモード:データ
再帰的:false
次に「ファイルシステム読み込み」のアイコンから「End」へプロセスフローとデータフローを引き、mapinngを追加します。「End」アイコンへデータフローを引くことで、「スクリプト出力変数」としている「XML」がmapping内に表示されます。また「Start」から「ファイルシステム読み込み」へのプロセスフローも引きます。下記のようなフローになれば正しいです。
次は作成されたmappingを開き、出力データにある「XML」を右クリック、「リソースからスキーマを読み込む」を選択、先ほど作成したスキーマを読み込みます。下記のようにmappingの線を引いていきます。
・「filesystem_read」の「row」からXMLの「row」
・「filesystem_read」の「name」からXMLの「filename」
・「filesystem_read」の「data」からXMLの「data」
これでスクリプトは完成ですので、スクリプトを保存してください。
APIマネジメントの設定
APIプロジェクト
まずはAPIプロジェクトを作成します。APIプロジェクト画面から「追加」を押下します。
「名前」、「基本パス」に任意の英数字を、適当な「ワークスペース」を設定します。
次に作成したAPIプロジェクトにリソースを追加します。
注意
APIプロジェクトにリソースを追加する前に、先ほど保存したスクリプトがマネジメント画面に反映されるように、一度「Ctrl + F5」でブラウザをリフレッシュしてください。
リソースボタンを押下します。
今回はリソースとして「fileget」を追加します。「fileget」と入力し「+」を押下します。
作成した「/fileget」の三点リーダから「HTTPメソッドの追加」-「get」を押下し、下記設定を実施します。
実行スクリプト
プロジェクト:[先ほど作成したプロジェクト]
バージョン:[最新のバージョン]
スクリプト:[先ほど作成したスクリプト]
リクエスト設定
リクエストヘッダー:pass-変換パス
レスポンス設定
レスポンス本文:変数-XML-XML
APIクライアント
次にAPIクライアントを作成します。APIクライアント画面で「APIクライアントを作成」を押下します。
プロジェクト:[適当な名前を付けてください]
バージョン:[アクセス可能なメンバーを設定してください]
スクリプト:[コール可能なIPアドレス制限を実施する場合は設定ください]
REST APIジョブ
最後にREST APIジョブを作成します。
全般
ワークスペース:[適当なワークスペース]
APIプロジェクト:[先ほど作成したAPIプロジェクト]
APIプロジェクトバージョン:[最新のバージョン]
プロファイル:[適当なプロファイル]
API設定
APIクライアント:[先ほど作成したAPIクライアント]
スクリプト実行のためのサービス
スクリプト実行のためのサービス:[任意のIntegrateサービス]
作成しましたら、作成したREST APIジョブの三点リーダから「情報」を押下した画面下にある、作成したリソースのURLをコピーしておきます。
Postmanからコールしてみる
Postmanへアクセスし、先ほどのURLに対してGETでコールするように設定します。
「ヘッダー」にはHULFT SquareへアクセスするためのBearer認証のアクセストークンを設定します。アクセストークンはHULFT Squareのマネジメント画面右上、「個人設定」-「アクセストークン」の画面で取得することが可能です。
これを下記形式で、「ヘッダー」に追加します。
キー:値 Authorization:Bearer [取得したアクセストークン]
またファイルパスもヘッダーに指定します
キー:値 pass:[ファイルパス]
設定ができましたらPostmanから「送信」します。問題なく「200 OK」が返ってきました。
「レスポンスを保存」を押下し、戻ってきたレスポンスを確認します。
ファイル名とバイナリ化したファイルを取得することができました。
最後に
いかがでしたでしょうか。今回はHULFT SquareのAPIマネジメント機能を使って、HULFT Square上のファイルをAPIで送信する仕組みを構築しました。これによってHULFT Squareと連携している様々なシステムから、受領したファイルをRESTでさらに別システムへと連携することができるようになり、活用の幅を広げていただけるのではないかと考えています。
HULFT Squareについて知りたい方はこちら