カスタムチャット統合のスクリプト化された REST API を作成および構成する
スクリプト化済み REST API を作成し、スクリプト化済み REST リソースを追加し、セキュリティとコンテンツネゴシエーションを設定し、REST API のレート制限を設定します。
始める前に
カスタムチャット統合のチャネルにリッチコントロールをマップする。
必要なロール:admin
手順
-
REST API を作成します。
- 移動先 すべて > システム Web サービス > スクリプト Web サービス > スクリプト済み REST API.
- [新規] をクリックします。
-
フォームのフィールドに入力します。
フィールド 説明 名前 API の名前。例:ACME Mobile App Chat Adapter。 API ID API 識別子。例:acme_chat。 保護ポリシー スクリプトの保護ポリシー。 - 読み取り専用:スクリプトは表示専用です。
- 保護:パスワード権限を持つユーザーはスクリプトを編集できます。
アプリケーション スクリプトレコードが含まれるアプリケーション。デフォルトでグローバルが選択されています。 API 名空間 API が属する名前空間。この値は、現在のアプリケーションスコープによって異なります。 - [送信] をクリックします。
- オプション:
新しいレコードを開いて [関連リンク] に移動し、[バージョニングの有効化 ] をクリックしてから [OK] をクリックします。
[更新] をクリックして変更を保存します。
-
スクリプト化済み REST リソースを新しい REST API に追加します。
スクリプト化済み REST リソースにより、作成したスクリプト化済み REST API が定義されます。
- 作成した REST API レコードを開き、[関連リンク] の下の [リソース] タブに移動します。
-
[新規] をクリックします。
要求からペイロードを取得してから、ハイブリッドキューに書き込みます。
-
フォームのフィールドに入力します。
フィールド 説明 API 定義 親 API の名前。 アプリケーション スクリプトレコードが含まれるアプリケーション。 名前 API REST リソースの名前。例:ACME チャット。 API バージョン API バージョン。例:v1。 このフィールドは、REST API のバージョニングを有効にした場合にのみ表示されます。
アクティブ REST リソースを有効にするオプション。 HTTP メソッド POST、GET などの HTTP メソッド。 相対パス リソースの相対パス。 スクリプト REST リソースのスクリプト。 保護ポリシー スクリプトの保護ポリシー。 - 読み取り専用:スクリプトは表示専用です。
- 保護:パスワード権限を持つユーザーはスクリプトを編集できます。
スクリプト化済み REST リソースの例:(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) { var body = request.body; var queryParams = request.queryParams; // incoming content is application/x-www-form-urlencoded in this example // get the provider application sys id. this can be done via a glide query using incoming data such as where the original message is being sent to. or it can be hard-coded such as this example. var providerAppId = "a5f8b75b7377001042281188caf6a73a"; // the time of receipt is recorded for analytics purposes var d = new Date(); var logTime = d.getTime(); // add this message to the VA Server queue for processing var queued = sn_cs.VASystemObject.enqueueCustomAdapterMessage(providerAppId, JSON.stringify(queryParams), JSON.stringify(request.headers), logTime); if (queued == false) { response.setError(new sn_ws_err.BadRequestError('Failed to process the request.')); } })(request, response);
-
スクリプト化済み REST リソースのセキュリティとコンテンツネゴシエーションを設定します。
認証と要求の形式を設定することを選択します。カスタム統合が認証に依存していない場合は、次のように削除できます。
- スクリプト化済み REST リソースの新しいレコードで、[セキュリティ] タブに移動します。
- [承認が必要] をオフにします。
- [コンテンツネゴシエーション] タブをクリックしてから、[サポートされる要求フォーマットを上書き] を選択します。
- [送信] をクリックします。
-
REST API のレート制限を設定して、受信要求のレートを定義します。
- 移動先 すべて > システム Web サービス > REST > レート制限ルール.
- [新規] をクリックします。
-
フォームのフィールドに入力します。
フィールド 説明 名前 レート制限ルールの一意の名前。 REST API 前のステップで作成した REST API。 バージョン REST API のバージョンです。リストされた値は選択した REST API によって異なります。 リソース 指定されたバージョンのリソース。リストされた値は選択したバージョンによって異なります。 アクティブ レート制限ルールが有効であることを示すチェックボックス 。 レート制限ルールは、作成されるとデフォルトで直ちに有効になります。レート制限ルールを無効にしてレート制限の適用を停止したり、レート制限ルールを有効にしてレート制限の適用を再開したりすることができます。
1 時間当たりの要求制限 1 時間あたりに許可される最大要求数です。 注:このフィールドの値を更新すると、Now Platform により要求数が 0 にリセットされ、現在の時間内の違反がすべて削除されます。適用先 このルールで制限を受けるユーザー。[すべてのユーザー] を選択します。 - [送信] をクリックします。