HTTPアクション
最終更新
最終更新
HTTP コネクタは任意のエンドポイントに対して HTTP リクエストを送信できるコネクタです。Anyflow Embed がコネクタとして提供していない外部ツールの API を利用します。
HTTP コネクタは、Anyflow Embed のほとんどのコネクタのサポートでサポートされているカスタムアクションを、特定のコネクタに縛られることなく、柔軟に利用できるようにしたものになります。
のドキュメントも必要に応じて参照ください。
HTTP コネクタでは、現在以下のアクションを利用可能です。
リクエストを送信
HTTP リクエストで独自のアクションを構築します。
カスタムアクションの設定入力フィールドの詳細について説明します。
入力フィールド
説明
表示名
作成するアクションに名前をつけます。
HTTPメソッド
呼び出す API エンドポイントの HTTP メソッドです。
リクエストURI
呼び出す API エンドポイントの URI です。
リクエストURLパラメーター
URL パラメーターを渡すことが可能です。
リクエストヘッダー
HTTP リクエストヘッダーを指定。
レスポンスヘッダー定義
API が返すと期待される HTTP レスポンスヘッダーを Anyflow Embed に説明します。これは出力値のデータツリーを生成するために使用します。
レスポンスタイプ
API が返すと期待される出力スキーマを Anyflow Embed に説明します。これは、出力値のデータツリーを生成するために使用します。
レスポンスボディ定義
API が返すレスポンスをソリューション内で利用したいフィールドを定義します。
json:多くの場合はこちらを選択します。レスポンスはAnyflowによりツリー構造として解釈され、ソリューション内で利用できます。
raw:レスポンスとしてファイルが返却されるAPIなどで、レスポンスがツリー構造ではない場合やAnyflowとしての解釈が不要な場合はこちらを選択します。デフォルトでは、rawのレスポンスは文字列型
の変数に格納されます。
📘ヒントrawのレスポンス実態が文字列ではない場合、は変数アクションを使って適切な型の変数を作成し、そこにrawのレスポンスを格納することで、ソリューション内で正しく扱うことができます。
Slack チャンネルに参加しているメンバーの一覧を取得する「リクエストを送信」アクションを構築してみましょう。
選択したアクションに名前を付けます。 今回は「メンバー一覧取得」というカスタムアクション名を入力します。 この名前は、アクション名の下部分に表示されます。
呼び出す API のエンドポイントに基づいて、リクエストの HTTP メソッドを選択します。
Slack API のドキュメントを確認すると、HTTP メソッドが記載されています。
今回の場合、conversations.members
がGET メソッドを使用することを示しています。
HTTP メソッドを選択すると、アクションに関連する入力フィールドが表示されます。
リクエスト URI にはhttps://slack.com/api/conversations.members
と入力します。
送信するリクエストを定義します。
この API エンドポイントでは、token
の他にchannel
をパラメーターとして渡す必要があります。
リクエスト URL パラメーターを設定します。
リクエストヘッダーに Slack Botの認証トークンを設定します。
Slack Bot の認証トークンはSlackBotのOAuth Tokens
の項目から取得できます。
取得したトークンをヘッダーに設定します。
レスポンスタイプを選択します。 選択後、レスポンスボディを定義する入力フィールドが表示されます。
レスポンスボディを定義します。 まず、 Slack API のドキュメントにて、どんなレスポンス構造になっているかを確認します。
次に、Common successful response のJSON をコピーし、Anyflow Embed で「JSONで追加」を選択します。
これでHTTP コネクタの「リクエストを送信」アクションが完成したので、テスト実行をしてみましょう。 トリガーなしでアクションを迅速にテストしたい場合は、Click トリガーを使用してテストします。
上記アクションをテスト実行した際、アクションに渡された入力をテスト履歴から確認可能です。
また、Slack APIから返された詳細な出力値を確認し、APIコールが成功したかがどうか確認可能です。
こちらの呼び出しは成功したようです。
rawのレスポンス実態が文字列ではない場合、はを使って適切な型の変数を作成し、そこにrawのレスポンスを格納することで、ソリューション内で正しく扱うことができます。
この例では独自のSlackBotを作成したうえで、そのBotのTokenを使ってAPIを呼び出します。 独自のSlackBotを用意されていない方はを参照してください。
conversations.members
の URL エンドポイントを追加します