HTTP Request
![](https://cognigy.tdse.jp/wp/wp-content/uploads/2024/02/http-request.png)
説明
HTTP Request Nodeを使用すると、Flow内から特定のリソースに対してHTTPリクエストを実行できます。
Flow実行中にHTTP Request Nodeがトリガーされると、指定されたURLに対して定義されたリクエストが実行されます。
![](https://cognigy.tdse.jp/wp/wp-content/uploads/2024/02/b29e843-http-screenshot-700x392.jpeg)
制限事項
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.
![](https://cognigy.tdse.jp/wp/wp-content/uploads/2024/02/b29e843-http-screenshot-1-700x392.jpeg)
URLエンコード
Cognigy.AIは、ターゲットリソースへのエンコードされていないURLを想定しています。HTTP Requestが正常に実行されるように、エンコードされたURLをデコードしてください。
詳細については、[URLエンコーディング(en:WP)]をご参照ください。
Headers(ヘッダー)
ここでは、HTTPリクエスにヘッダーを追加することができます。すべてのヘッダーは1つのJSONオブジェクトにリストされ、以下の形式である必要があります。
{
"header-name": "header value",
"another-header-name": "another header value"
}
ヘッダーを簡単に追加できるように、文字列を入力できるキーと値のフィールドのリストを作成しました。新しい値を入力すると、すぐに新しいペアが表示されます。
![](https://cognigy.tdse.jp/wp/wp-content/uploads/2024/02/http-request-node-headers1.png)
あるいは、[Use JSON Editor(JSONエディタを使用)]ボタンをクリックして、このリストとJSONエディタを切り替えることもできます。結果として表示されるJSONは常に同じになります。
![](https://cognigy.tdse.jp/wp/wp-content/uploads/2024/02/http-request-node-headers2.png)
また、リクエストボディと一緒にレスポンスヘッダーを指定した保存場所にキャプチャすることもできます。
Authentication(認証)
対応しているタイプは以下のとおりです:
- No Auth
- Basic Auth
- OAuth2
- API キー – “Authorization: ApiKey”
- API キー – “X-API-Key”
認証ではConnectionを使用するため、実際の認証情報は暗号化されます。
![](https://cognigy.tdse.jp/wp/wp-content/uploads/2024/02/32a68b3-authentication-700x202.jpeg)
[Parameters(パラメータ)]フィールドの横にある+ボタンをクリックして新しい認証接続を作成すると、[New Connection(新規接続)]ウィンドウが表示され、認証タイプに応じて詳細の入力が求められます。
例:OAuth2接続は以下のように表示され、カスタマイズされたパラメータを設定することができます。
![](https://cognigy.tdse.jp/wp/wp-content/uploads/2024/02/312b81a-Oauth2_Connection-700x432.png)
No Auth以外の認証タイプを選択した場合、それぞれの認証タイプに関連する追加フィールドが表示されます。
ストレージオプション
ここでは、実行されたHTTPリクエストからのレスポンスを保存するコンテキストキーを定義します。このフィールドは必須で、有効な値を設定する必要があります。
![](https://cognigy.tdse.jp/wp/wp-content/uploads/2024/02/312b81a-Oauth2_Connection-1-700x432.png)
HTTPリクエストが正常に実行された後、以下のCognigyScriptを実行することで、レスポンスペイロードにアクセスすることができます:
{{ context.<yourContextStore> }}
![](https://cognigy.tdse.jp/wp/wp-content/uploads/2024/02/310d590-http-caching-700x202.jpeg)
実行とキャッシング
リクエストの非同期実行
有効にすると、HTTP Request Nodeはリクエストを非同期に実行します。つまり、Flowの実行を続ける前にレスポンスを待ちません。
キャッシュ結果
有効にすると、HTTP Nodeはレスポンスをキャッシュします。
![](https://cognigy.tdse.jp/wp/wp-content/uploads/2024/02/7cd129c-ssl.jpeg)
セキュリティ
安全でないSSLの許可
デフォルトでは、Cognigy.AIは安全でないSSL Endpoint(自己署名証明書のないURLや 自己署名証明書のあるURLなど)に対する接続を拒否します。このオプションを有効にすると、NodeはこれらのURLに対しても接続できるようになります。
![](https://cognigy.tdse.jp/wp/wp-content/uploads/2024/02/c971806-errors.jpeg)
エラー処理
エラーログ
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]でペイロード例をご参照ください。
![](https://cognigy.tdse.jp/wp/wp-content/uploads/2024/02/b364540-http-post-payload-700x269.jpeg)
ペイロードは、テキスト、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ペイロードとして保存できます。
![](https://cognigy.tdse.jp/wp/wp-content/uploads/2024/02/HTTP-request-Node.png)
備考
キーと値のペアはtext型である必要があります。Data(データ)は対応していません。
DELETEリクエスト設定プロンプトはGeneral Configurationフィールド (上記参照)を開示します。