カスタムチャット統合のスクリプト化された REST API を作成および構成する

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む5読むのに数分
  • スクリプト化済み REST API を作成し、スクリプト化済み REST リソースを追加し、セキュリティとコンテンツネゴシエーションを設定し、REST API のレート制限を設定します。

    始める前に

    カスタムチャット統合のチャネルにリッチコントロールをマップする

    必要なロール:admin

    手順

    1. REST API を作成します。
      1. 移動先 すべて > システム Web サービス > スクリプト済み Web サービス > スクリプト済み REST APIs.
      2. [新規] をクリックします。
      3. フォームのフィールドに入力します。
        フィールド 説明
        名前 API の名前。例:ACME Mobile App Chat Adapter
        API ID API 識別子。例:acme_chat
        保護ポリシー スクリプトの保護ポリシー。
        • 読み取り専用:スクリプトは表示専用です。
        • 保護:パスワード権限を持つユーザーはスクリプトを編集できます。
        アプリケーション スクリプトレコードが含まれるアプリケーション。デフォルトでグローバルが選択されています。
        API 名空間 API が属する名前空間。この値は、現在のアプリケーションスコープによって異なります。
      4. [送信] をクリックします。
      5. オプション: 新しいレコードを開いて [関連リンク] に移動し、[バージョニングの有効化 ] をクリックしてから [OK] をクリックします。
        [更新] をクリックして変更を保存します。
    2. スクリプト化済み REST リソースを新しい REST API に追加します。
      スクリプト化済み REST リソースにより、作成したスクリプト化済み REST API が定義されます。
      1. 作成した REST API レコードを開き、[関連リンク] の下の [リソース] タブに移動します。
      2. [新規] をクリックします。
        要求からペイロードを取得してから、ハイブリッドキューに書き込みます。
      3. フォームのフィールドに入力します。
        フィールド 説明
        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);
        ​
    3. スクリプト化済み REST リソースのセキュリティとコンテンツネゴシエーションを設定します。
      認証と要求の形式を設定することを選択します。カスタム統合が認証に依存していない場合は、次のように削除できます。
      1. スクリプト化済み REST リソースの新しいレコードで、[セキュリティ] タブに移動します。
      2. [承認が必要] をオフにします。
      3. [コンテンツネゴシエーション] タブをクリックしてから、[サポートされる要求フォーマットを上書き] を選択します。
      4. [送信] をクリックします。
    4. REST API のレート制限を設定して、受信要求のレートを定義します。
      1. 移動先 すべて > システム Web サービス > REST > レート制限ルール.
      2. [新規] をクリックします。
      3. フォームのフィールドに入力します。
        フィールド 説明
        名前 レート制限ルールの一意の名前。
        REST API 前のステップで作成した REST API。
        バージョン REST API のバージョンです。リストされた値は選択した REST API によって異なります。
        リソース 指定されたバージョンのリソース。リストされた値は選択したバージョンによって異なります。
        アクティブ レート制限ルールが有効であることを示すチェックボックス 。

        レート制限ルールは、作成されるとデフォルトで直ちに有効になります。レート制限ルールを無効にしてレート制限の適用を停止したり、レート制限ルールを有効にしてレート制限の適用を再開したりすることができます。

        1 時間当たりの要求制限 1 時間あたりに許可される最大要求数です。
        注:
        このフィールドの値を更新すると、Now Platform により要求数が 0 にリセットされ、現在の時間内の違反がすべて削除されます。
        適用先 このルールで制限を受けるユーザー。[すべてのユーザー] を選択します。
      4. [送信] をクリックします。

    次のタスク

    カスタムチャット統合のアクションスクリプトを作成する