★アクションの説明、概要
JobAutoからREST APIを実行し、 外部システムやWebサービスと データを送受信する方法について説明します。
「REST API」アクションでは、 APIのURLへリクエストを送り、 APIから返された実行結果を JobAutoの変数へ格納できます。
リクエスト先のURLやheader、parameterには JobAutoの変数を使用できるため、 ロボットの処理内容に応じて 送信先や送信する値を変更できます。
APIから返された結果は、 「戻り値」に指定した変数へ格納できます。 また、HTTP StatusやHTTP Reasonも それぞれJobAutoの変数へ格納できます。
Proxyを経由した通信、 Basic認証、 証明書の検証、 APIの実行が終了するまでのタイムアウト時間も設定できます。
このページでは、 REST APIアクションの設定方法、 URL、header、parameter、戻り値の指定、 HTTPステータスの取得、 認証やProxyの設定、 REST APIを実行できない場合の確認ポイントについて説明します。
★アクションの作成方法
★アクションの設定画面について
アクション設定画面の設定項目についての説明は以下の通りです。
1.基本設定
1-1.URL
APIのリクエスト先のURLを設定します。変数参照可能です。
1-2.リクエストタイプ
リクエストのタイプを設定します。
1-3.header
+で設定を追加、-で設定を削除できます。変数参照可能です。
変数参照したときの書き方は以下の通りです。書き方に即していない場合は、左側の表示が{}のままとなります。
{“変数名”:”値”}
1-3-1.headerで+をクリック、パラメーターの追加
・変数名
APIの変数名を指定します。
・値
設定した変数名へセットする値です。変数参照可能です。
1-4.parameter
+で設定を追加、-で設定を削除できます。変数参照可能です。
変数参照したときの書き方は以下の通りです。書き方に即していない場合は、左側の表示が{}のままとなります。
{“変数名”:”値”}
1-4-1.parameterで+をクリック、パラメーターの追加
・変数名
APIの変数名を指定します。
・値
設定した変数名へセットする値です。変数参照可能です。
1-5.parameterの値の中の改行を\nに置換する
parameterに設定した値に含まれる改行を「\n」に置換する場合は、チェックを入れます。
1-6.Proxy
インターネット接続を行うときにProxyサーバを使用するか選択します。Proxyサーバの設定方法はこちらから
・Proxyを使用する
使用する場合は、こちらを選択します。
・Proxyを使用しない
使用しない場合は、こちらを選択します。
1-7.戻り値
REST APIの実行結果を格納する変数を設定します。
2.高度な設定
2-1.タイムアウト(秒)
REST APIの実行が終わるまで、ロボットが待機する時間を設定します。
2-2.HTTP Status
REST APIを実行した結果のステータスを格納する変数を設定します。
2-3.HTTP Reason
REST APIを実行した結果の理由文を格納する変数を設定します。
2-4.Basic認証 ユーザー
ユーザー名を入力します。変数参照できます。
2-5.Basic認証 パスワード
パスワードを入力します。変数参照できます。
2-6.証明書の検証
証明書の妥当性を検証する、しないを設定します。
・検証する
証明書の妥当性を検証する場合は、こちらを選択します。
・検証しない
証明書の妥当性を検証しない場合は、こちらを選択します。
2-7.アクション有効
このアクションを無効にする場合は、チェックを外します。
3.エラー発生時の対応
3-1. エラー時の処理
エラーが発生したときの設定を行います。詳細はこちらをご確認ください。
3-2.基点となる条件分岐
エラー時の処理で条件分岐の次のフローに移動を選択したときに、設定することができます。アクションでエラーが発生した場合、移動先の条件分岐を選択します。
3-3. エラー時にログ出力
エラーが発生したときにログに出力するか設定します。スケジュール実行したときのログへ出力されます。エラーとして扱わない場合は、チェックを外します。詳細はこちらをご確認ください。
★サンプル
以下サンプルです。
・URL
http://zipcloud.ibsnet.co.jp/api/search
・リクエストタイプ
POST
・ parameter
変数名をzipcode
値を1030001
・戻り値
戻り値に以下のように格納されます。
{
"message": null,
"results": [
{
"address1": "東京都",
"address2": "中央区",
"address3": "日本橋小伝馬町",
"kana1": "トウキョウト",
"kana2": "チュウオウク",
"kana3": "ニホンバシコデンマチョウ",
"prefcode": "13",
"zipcode": "1030001"
}
],
"status": 200
}
JobAutoからREST APIを実行する場合
外部システムやWebサービスが提供しているREST APIを JobAutoから実行する場合は、 「REST API」アクションを使用します。
基本設定の「URL」にAPIのリクエスト先を指定し、 「リクエストタイプ」で 実行するリクエストのタイプを設定します。
APIから返された結果は、 JobAutoの変数へ格納して 後続のロボット処理で利用できます。
REST APIのURLを変数で変更する場合
基本設定の「URL」には、 JobAutoの変数を使用できます。
ロボットの処理内容によって アクセスするAPIのURLを変更する場合は、 リクエスト先を変数へ格納し、 その変数を「URL」で参照してください。
REST APIへheaderを設定する場合
APIへheaderを送信する場合は、 基本設定の「header」を使用します。
「+」でheaderを追加し、 APIへ送信する変数名と値を設定します。 headerの値にはJobAutoの変数も使用できます。
header全体をJobAutoの変数で指定する場合は、 公式マニュアルで案内されている形式に合わせて設定します。
形式が正しくない場合は、 設定画面左側の表示が「{}」のままとなるため、 変数に格納している内容を確認してください。
REST APIへparameterを設定する場合
APIへparameterを送信する場合は、 基本設定の「parameter」を使用します。
「+」でparameterを追加し、 APIへ渡す変数名と値を設定します。 parameterの値にはJobAutoの変数を使用できます。
parameter全体を変数で指定する場合も、 公式マニュアルで案内されている形式に合わせて設定してください。
parameter内の改行を「\n」に置換する場合
parameterへ設定する値の中に 改行が含まれている場合は、 「parameterの値の中の改行を\nに置換する」 を使用できます。
この設定を有効にすると、 parameterに含まれている改行を 「\n」に置換してリクエストします。
REST APIの実行結果を変数へ取得する場合
APIから返された実行結果を JobAutoの後続処理で使用する場合は、 基本設定の「戻り値」を使用します。
「戻り値」に、 REST APIの実行結果を格納する JobAutoの変数を指定してください。
取得した結果は、 後続の条件分岐や変数処理などで利用できます。
REST APIから返されたJSONを処理する場合
REST APIから返された結果がJSON形式の場合は、 「戻り値」に格納した内容を JobAutoの変数処理で加工できます。
JobAutoの「JSON操作」では、 JSON形式の文字列から必要な値を取得できます。
変数処理について詳しく確認したい場合は、 JobAutoの変数操作・JSON操作 も確認してください。
HTTP Statusを取得する場合
REST APIを実行した結果のHTTPステータスを取得する場合は、 高度な設定の「HTTP Status」を使用します。
「HTTP Status」に 結果を格納するJobAutoの変数を指定してください。
APIへのリクエストが どのようなステータスで返されたかを 後続処理で確認する場合に利用できます。
HTTP Reasonを取得する場合
REST APIを実行した結果の理由文を取得する場合は、 高度な設定の「HTTP Reason」を使用します。
HTTP Reasonを格納する JobAutoの変数を指定してください。
「戻り値」「HTTP Status」「HTTP Reason」を それぞれ変数へ格納しておくことで、 APIの実行結果を後続処理で確認できます。
REST APIの応答に時間がかかる場合
高度な設定の「タイムアウト(秒)」では、 REST APIの実行が終了するまで JobAutoが待機する時間を設定します。
APIからの応答に時間がかかり、 REST APIアクションがエラーになる場合は、 タイムアウト時間を確認してください。
Proxyを経由してREST APIを実行する場合
インターネットへの接続に Proxyサーバを使用する環境では、 基本設定の「Proxy」を確認してください。
Proxyサーバを経由する場合は 「Proxyを使用する」、 経由しない場合は 「Proxyを使用しない」を選択します。
JobAutoのProxyサーバ設定については、 JobAutoでProxyサーバを設定する方法 も確認してください。
Basic認証が必要なREST APIを実行する場合
REST APIへの接続にBasic認証が必要な場合は、 高度な設定の 「Basic認証 ユーザー」と 「Basic認証 パスワード」を設定します。
ユーザー名とパスワードには、 JobAutoの変数を使用できます。
API接続時の証明書を検証する場合
高度な設定の「証明書の検証」では、 REST APIへ接続するときに 証明書の妥当性を検証するか設定します。
証明書を検証する場合は「検証する」、 検証しない場合は「検証しない」を選択します。
接続先APIのセキュリティ要件を確認したうえで 設定してください。
REST APIとJavaScript実行の違い
| やりたいこと | 使用するアクション |
|---|---|
| 外部システムやWebサービスのAPIへリクエストを送信する | REST API |
| ブラウザで表示しているWebページ上でJavaScriptを実行する | JavaScript実行 |
Webページ上で任意のJavaScriptを実行する場合は、 JobAutoでJavaScriptを実行する方法 を確認してください。
REST APIの結果が取得できない場合
REST APIを実行しても 想定した結果を取得できない場合は、 まず「URL」と「リクエストタイプ」を確認してください。
次に、 headerやparameterへ設定している 変数名と値を確認します。
JobAutoの変数を使用している場合は、 実行時に変数へ想定した値が 格納されているかも確認してください。
REST APIがタイムアウトする場合
REST APIの実行が完了する前にエラーになる場合は、 高度な設定の「タイムアウト(秒)」を確認してください。
Proxyを使用している環境ではProxy設定、 Basic認証が必要なAPIでは ユーザー名とパスワードも確認してください。
REST APIがうまく実行できない場合の確認順序
- 「URL」に正しいAPIのリクエスト先が設定されているか確認する
- 「リクエストタイプ」がAPIの仕様に合っているか確認する
- headerを使用する場合は、変数名と値を確認する
- parameterを使用する場合は、変数名と値を確認する
- headerやparameterを変数参照している場合は、実行時の変数の内容を確認する
- 改行を含むparameterでは「改行を\nに置換する」の設定を確認する
- APIの応答に時間がかかる場合は「タイムアウト(秒)」を確認する
- Proxyを使用する場合はProxy設定を確認する
- Basic認証が必要な場合はユーザー名とパスワードを確認する
- 証明書に関係する接続では「証明書の検証」を確認する
- 実行後は「戻り値」「HTTP Status」「HTTP Reason」の内容を確認する
