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

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:5分
  • スクリプト化済み REST API を作成し、スクリプト化済み REST リソースを追加し、セキュリティとコンテンツネゴシエーションを設定し、REST API のレート制限を設定します。

    始める前に

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

    必要なロール:admin

    手順

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

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

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

    次のタスク

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