Blue Prism で REST API を呼ぶ(6.4新機能 Web API)
どうも、日曜プログラマーです。
※ 今日はシラフです。平日ですしね。
Blue Prism で REST API を呼ぶ方法
大きく分けて2つの方式があると思います。
- VBO を使う(Webservices - REST)
- Web API を使う(6.4 新機能)
今回はせっかくなので、6.4 新機能の Web API を使っていきましょう。
Blue Prism の Web API(6.4新機能)を設定する
Blue Prism の Web API の使い方は、簡単です。
具体的には以下のような進め方になります。
- REST API のベースURL やクエリパラメータを定義する
- プロセスやオブジェクトから呼ぶ
試しに、楽天トラベルの施設情報APIを使ってみましょう。
公開されている REST API なので、簡単に呼ぶことができます。
まず、REST API のベースURLを設定します。
システム から Web API にいき、以下のように設定します。
クエリパラメータ(URLの中で?aaa=xxx&bbb=yyy…って入れるやつ)やHTTPヘッダに入れるパラメータは、パラメータという形で外部定義化できます。
今回は、ホテル番号(hotelNo)をパラメータにしました。
リクエストの中に、詳細なURLを入れます。
本当はこの辺りもパラメータ化したほうが良いと思いますが、、
今回はサンプルってことで ^^;
(シラフでも甘えていくスタイル)
ちゃんと hotelNo を変数化しています。
?applicationId=●●●&format=json&hotelNo=[hotelNo]
※ applicationId は楽天のWebサービス(REST API)を呼び出す際に必要なトークンです。詳細は以下を参照ください。
さて、REST API によって、レスポンスのボディに何が入っているか…は異なると思います。
今回は JSON にして、JSON Path で値を拾います。
以下のような JSON Path を使います。
$.hotels..hotel..hotelBasicInfo.hotelName
hotelsとhotelが配列なところに注意します。
レスポンスに対して、こんな風に設定すると、Blue Prism の Text 型のデータアイテムとして出力されます。
Web API をプロセスから呼び出す
Web API をプロセスやオブジェクトから呼び出す方法は簡単です。
オブジェクトのアクションを呼び出すのと、同じような形になります。
入力に先ほど定義したパラメータがあります。
出力には、先ほど、JSON Path で指定した値が返ってきます。
やってみた
プロセスはこんな感じ。
実行結果はこんな感じです。
まず、Response Content の中身はこちら。生のJSONデータが入ってます。
先ほどの JSON Path で指定した出力には、ちゃんとホテル名が入っています。
やったぜ。
まとめ
- Blue Prism で REST API を呼び出す方法は二種類ある
- Web API(6.4新機能)では、ベースURLやクエリパラメータなどを設定して REST API の呼出し口を作る
- 入力および出力を Blue Prism のデータアイテムにマップできる
次回は飲んでやります!