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フィールド (上記参照)を開示します。