HTTP Request

説明

HTTP Request Nodeを使用すると、Flow内から特定のリソースに対してHTTPリクエストを実行できます。

Flow実行中にHTTP Request Nodeがトリガーされると、指定されたURLに対して定義されたリクエストが実行されます。

制限事項

HTTP Request Nodeのデフォルトのタイムアウトは、共有SaaS環境では8秒です。オンプレミスのインストールでは、HTTP_NODE_TIMEOUT_IN_SECONDS環境変数で変更できます。専用のSaaSインストールについては、Cognigyテクニカルサポートにお問い合わせください。

リクエストメソッド一般的な設定

HTTP Nodeは以下のような典型的なCRUDメソッドを実行できます:

  • GET
  • POST
  • PATCH
  • PUT
  • DELETE

一般的な設定

各リクエストメソッドは他のメソッドと特定のフィールドを共有します:

  • URL
  • Headers(ヘッダー)
  • Authorization Type(認証タイプ)
  • Context Store(コンテキストストア)
  • Async(非同期)
  • Caching(キャッシング)
    • Cache Expiry(キャッシュの有効期限)

URL

ターゲットリソースへのURL: https://api-endpoint.com/resource.

URLエンコード

Cognigy.AIは、ターゲットリソースへのエンコードされていないURLを想定しています。HTTP Requestが正常に実行されるように、エンコードされたURLをデコードしてください。
詳細については、[URLエンコーディング(en:WP)]をご参照ください。

Headers(ヘッダー)

ここでは、HTTPリクエスにヘッダーを追加することができます。すべてのヘッダーは1つのJSONオブジェクトにリストされ、以下の形式である必要があります。

{
  "header-name": "header value",
  "another-header-name": "another header value"
}


ヘッダーを簡単に追加できるように、文字列を入力できるキーと値のフィールドのリストを作成しました。新しい値を入力すると、すぐに新しいペアが表示されます。

あるいは、[Use JSON Editor(JSONエディタを使用)]ボタンをクリックして、このリストとJSONエディタを切り替えることもできます。結果として表示されるJSONは常に同じになります。

また、リクエストボディと一緒にレスポンスヘッダーを指定した保存場所にキャプチャすることもできます。

Authentication(認証)

対応しているタイプは以下のとおりです:

  • No Auth
  • Basic Auth
  • OAuth2
  • API キー – “Authorization: ApiKey”
  • API キー – “X-API-Key”

認証ではConnectionを使用するため、実際の認証情報は暗号化されます。

[Parameters(パラメータ)]フィールドの横にある+ボタンをクリックして新しい認証接続を作成すると、[New Connection(新規接続)]ウィンドウが表示され、認証タイプに応じて詳細の入力が求められます。

例:OAuth2接続は以下のように表示され、カスタマイズされたパラメータを設定することができます。

No Auth以外の認証タイプを選択した場合、それぞれの認証タイプに関連する追加フィールドが表示されます。

ストレージオプション

ここでは、実行されたHTTPリクエストからのレスポンスを保存するコンテキストキーを定義します。このフィールドは必須で、有効な値を設定する必要があります。

HTTPリクエストが正常に実行された後、以下のCognigyScriptを実行することで、レスポンスペイロードにアクセスすることができます:

 {{ context.<yourContextStore> }}

実行とキャッシング

リクエストの非同期実行

有効にすると、HTTP Request Nodeはリクエストを非同期に実行します。つまり、Flowの実行を続ける前にレスポンスを待ちません。

キャッシュ結果

有効にすると、HTTP Nodeはレスポンスをキャッシュします。

セキュリティ

安全でないSSLの許可

デフォルトでは、Cognigy.AIは安全でないSSL Endpoint(自己署名証明書のないURLや 自己署名証明書のあるURLなど)に対する接続を拒否します。このオプションを有効にすると、NodeはこれらのURLに対しても接続できるようになります。

エラー処理

エラー処理

エラーログ

HTTP Requestsがステータスコード> 299を返した場合、そのレスポンスはエラーとみなされます。この設定により、ユーザーは以下のいずれかを行うことができます:

  • エラーを記録しない
  • エラーをサーバーからのレスポンスとURLとともに記録する
  • エラー、レスポンス、URL、およびリクエストのペイロードを記録する(注意: これにより、ログ内の機密データが漏洩する可能性があります)

エラー時のFlow実行の中止

ステータスコード> 299のレスポンスが返された場合、Flowはここで停止します。

GETリクエスト

GETメソッド設定画面には、上記のすべてのフィールドがあります。

GETリクエストの結果はFlowのコンテキストに保存されます。[HTTP Node]設定で定義したキーでコンテキストにアクセスすると、GETリクエストのリクエストデータを呼び出せます。

POST・PUT・PATCHリクエスト

Content-Type ヘッダー

標準のContent-Typeヘッダーはapplication/x-www-form-urlencodedです。他のContent-Typeを送信したい場合は、ヘッダー値を個別に設定するか、以下で説明するようにJSONを使用する必要があります。

ペイロード

ここでは、POST、PUT、PATCHリクエストのペイロードを定義できます。JSON(標準)とテキストから選択できます。

Input、Context、ProfileなどのCognigyオブジェクトにアクセスするためにJSONペイロードを使用する場合は、[CognigyScript]でペイロード例をご参照ください。

ペイロードは、テキスト、JSON、XML、Formdata(下記参照)、またはその他のテキストデータで可能です。

application/x-www-form-urlencoded

特定のヘッダーを設定せず、”To=%2B49555262626&Url=https%3A%2F%2Fhandler.twilio.com%2Ftwiml%2FEHf9b7af093c31b5baa1414be891 “のようなURLエンコードされた非JSONペイロードを送信することで、URLエンコードされたデータを送信できます。

Cognigy.AI 4.10.0で、HTTP Node記述子に “Payload Type “としてForm-Dataが追加されました。

使用法

  • FlowにHTTP Request Nodeを挿入します。
  • POST、PUT、PATCHセクションの “payload “メソッドには、ドロップダウンに追加のペイロードタイプが表示されます: “Form-Data”
  • Form-Dataを選択すると、キーと値のペアをJSONペイロードとして保存できます。

備考

キーと値のペアはtext型である必要があります。Data(データ)は対応していません。

DELETEリクエスト設定プロンプトはGeneral Configurationフィールド (上記参照)を開示します。