---
sourceDocument: Yokohama 対話型インターフェース
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/yokohama/conversational-interfaces

 Release :

    - yokohama

ft:locale :

    - ja-JP

ft:publication_title :

    - Yokohama 対話型インターフェース

ft:clusterId :

    - convint

bundleId :

    - convint

workflow :

    - Platform


---

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

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

* リリースバージョン: Yokohama
* 
* 更新日 2025年01月30日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：5分

スクリプト化済み REST API を作成し、スクリプト化済み REST リソースを追加し、セキュリティとコンテンツネゴシエーションを設定し、REST API のレート制限を設定します。

## 始める前に

[カスタムチャット統合のチャネルにリッチコントロールをマップする](https://servicenow-prod.fluidtopics.net/Se8hXlDQXP~9pVxObn3sUQ "カスタムアダプタ構成 [sys_cs_custom_adapter_config] テーブルに、リッチコントロールのレコードを作成します。リッチコントロールに送信トランスフォーマー実装がない場合、応答がエンドユーザーに返されず、そのユーザーのチャットエクスペリエンスが不十分になる可能性があります。")に展開したカスタムモバイルアプリケーションを使用して管理しました。

必要なロール：アドミン

## 手順

1. REST API を作成します。
   1. 移動先 すべてシステム Web サービススクリプト化 Web サービススクリプト化 REST API.
   2. \[新規\] をクリックします。
   3. フォームで、フィールドに入力します。  
      {#configure-rest-api-va-cccif__table_syk_xhl_1mb__entry__2}

      | フィールド | 説明 |
      |-|-|
      | 名前 | API の名前。例：<kbd class="ph userinput">ACME Mobile App Chat Adapter</kbd>。 |
      | API ID | API 識別子。例：<kbd class="ph userinput">acme_chat</kbd>。 |
      | 保護ポリシー | スクリプトの保護ポリシー。 * 読み取り専用：スクリプトは表示専用です。 * 保護：パスワード権限を持つユーザーはスクリプトを編集できます。 {#configure-rest-api-va-cccif__ul_jmv_hgx_ktb} |
      | アプリケーション | スクリプトレコードが含まれるアプリケーション。デフォルトでグローバルが選択されています。 |
      | API 名空間 | API が属する名前空間。この値は、現在のアプリケーションスコープによって異なります。 |
      [ ]

      {#configure-rest-api-va-cccif__table_syk_xhl_1mb}
   4. \[送信\] をクリックします。
   5. **オプション:** 新しいレコードを開いて \[関連リンク\] に移動し、\[バージョニングの有効化 \] をクリックしてから \[OK\] をクリックします。  
      \[更新\] をクリックして変更を保存します。
   {#configure-rest-api-va-cccif__substeps_bfp_gc5_wlb}
2. スクリプト化済み REST リソースを新しい REST API に追加します。  
   スクリプト化済み REST リソースにより、作成したスクリプト化済み REST API が定義されます。
   1. 作成した REST API レコードを開き、\[関連リンク\] の下の \[リソース\] タブに移動します。
   2. \[新規\] をクリックします。  
      要求からペイロードを取得してから、ハイブリッドキューに書き込みます。
   3. フォームで、フィールドに入力します。  
      {#configure-rest-api-va-cccif__table_dyh_d3l_1mb__entry__2}

      | フィールド | 説明 |
      |-|-|
      | API 定義 | 親 API の名前。 |
      | アプリケーション | スクリプトレコードが含まれるアプリケーション。 |
      | 名前 | API REST リソースの名前。例：ACME チャット。 |
      | API バージョン | API バージョン。例：v1。 このフィールドは、REST API のバージョニングを有効にした場合にのみ表示されます。 |
      | アクティブ | REST リソースを有効にするオプション。 |
      | HTTP メソッド | POST、GET などの HTTP メソッド。 |
      | 相対パス | リソースの相対パス。 |
      | スクリプト | REST リソースのスクリプト。 |
      | 保護ポリシー | スクリプトの保護ポリシー。 * 読み取り専用：スクリプトは表示専用です。 * 保護：パスワード権限を持つユーザーはスクリプトを編集できます。 {#configure-rest-api-va-cccif__ul_kh4_13x_ktb} |
      [ ]

      {#configure-rest-api-va-cccif__table_dyh_d3l_1mb}  
      スクリプト化済み 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);
          ​

   {#configure-rest-api-va-cccif__substeps_mp5_xkp_xlb}
3. スクリプト化済み REST リソースのセキュリティとコンテンツネゴシエーションを設定します。  
   認証と要求の形式を設定することを選択します。カスタム統合が認証に依存していない場合は、次のように削除できます。
   1. スクリプト化済み REST リソースの新しいレコードで、\[セキュリティ\] タブに移動します。
   2. \[承認が必要\] をオフにします。
   3. \[コンテンツネゴシエーション\] タブをクリックしてから、\[サポートされる要求フォーマットを上書き\] を選択します。
   4. \[送信\] をクリックします。
   {#configure-rest-api-va-cccif__substeps_es1_v2h_zlb}
4. REST API のレート制限を設定して、受信要求のレートを定義します。
   1. 移動先 すべてシステム Web サービスRESTレート制限ルール.
   2. \[新規\] をクリックします。
   3. フォームで、フィールドに入力します。  
      {#configure-rest-api-va-cccif__table_jk5_vdy_ktb__entry__2}

      | フィールド | 説明 |
      |-|-|
      | 名前 | レート制限ルールの一意の名前。 |
      | REST API | 前のステップで作成した REST API。 |
      | バージョン | REST API のバージョンです。リストされた値は選択した REST API によって異なります。 |
      | リソース | 指定されたバージョンのリソース。リストされた値は選択したバージョンによって異なります。 |
      | アクティブ | レート制限ルールが有効であることを示すチェックボックス 。 レート制限ルールは、作成されるとデフォルトで直ちに有効になります。レート制限ルールを無効にしてレート制限の適用を停止したり、レート制限ルールを有効にしてレート制限の適用を再開したりすることができます。 |
      | 1 時間当たりの要求制限 | 1 時間あたりに許可される最大要求数です。 注: このフィールドの値を更新するたびに、Now Platform により要求数が 0 にリセットされ、現在の時間のすべての違反が削除されます。 |
      | 適用先 | このルールで制限を受けるユーザー。\[すべてのユーザー\] を選択します。 |
      [ ]

      {#configure-rest-api-va-cccif__table_jk5_vdy_ktb}
   4. \[送信\] をクリックします。
   {#configure-rest-api-va-cccif__substeps_q3r_cyx_ktb}

## 次のタスク

[カスタムチャット統合のアクションスクリプトを作成する](https://servicenow-prod.fluidtopics.net/ntFgjiUavwRQLo3ThqRpPQ "カスタムチャット統合でチャットプロセスを介して通信するために必要な変換を設定します。")

