---
sourceDocument: オーストラリアの対話型インターフェース
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/conversational-interfaces

 Release :

    - australia

ft:locale :

    - ja-JP

ft:publication_title :

    - オーストラリアの対話型インターフェース

ft:clusterId :

    - convint

bundleId :

    - convint

workflow :

    - Platform


---

# 要求と応答 仮想エージェント API 変換

# 要求と応答 仮想エージェント API 変換 {#ariaid-title1}

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

仮想エージェント API で提供されるスクリプト化された拡張ポイントを使用して、仮想エージェント API の要求と応答をサポートされている形式に変換できます。

## 始める前に

必要なロール：admin

## 手順

1. 移動先 すべてシステム拡張ポイントスクリプト化済みの拡張点  
   * sn_va_as_service.va_api_payload_transformation 拡張ポイントは、要求を処理する前に、プライマリボットペイロードを標準の仮想エージェント API でサポートされている形式に変換します。sn_va_as_service.va_api_output_transformation 拡張ポイントは、仮想エージェント API 応答をプライマリボットでサポートされている形式に変換します。
   * どちらのスクリプト拡張ポイントにも、 shouldTransform と transform の 2 つのパラメーターがあります。 shouldTransform は、実装が実行されるかどうかを決定するために使用されます。 transform は、要求または応答を変換するために使用されます。
   {#transform-virtual-agent-api-request-and-response__ul_kdv_gqk_n1c}
2. 要求ペイロードを変換する場合は、次の手順を実行します。
   1. sn_va_as_service.va_api_payload_transformation 拡張ポイントを選択します
   2. \[関連リンク\] セクションで、\[ 実装を作成\] をクリックします。
   3. 要件に従って拡張ポイントスクリプトを更新します。  
      sn_va_as_service.va_api_payload_transformation 拡張ポイントでは、要求パラメーターは payload と headers の 2 つのキーを持つオブジェクトです。 payload はプライマリボットから受信した要求ペイロードで、 headers は要求ペイロードで送信されるヘッダーです。実装例を次に示します。


          var va_api_payload_transformation = Class.create();
          va_api_payload_transformation.prototype = {
              initialize: function() {},

              shouldTransform: function(request) {
                  return request.payload.caller === "examplebot";
              },

              /* 
              return object for transform function should be in the following format
              transformedRequest = {
              payload: request.payload,
              headers: request.headers
              };
              */transform: function(request) {
              var payload = request.payload;
              var headers = request.headers;

              var vaAPIPayload = {
          	"userId": payload.userId,
          	"emailId": payload.email,
          	"message": {
          	    "text": payload.message,
          	    "typed": true
          	},
          	"contextVariables": {
          	    "requester_session_language": payload.user_language
          	},
          	"appInboundId": "custom_1"
              };
          	
              return {
          	payload: vaAPIPayload,
          	headers: headers
              };
          },

      図 : 1. sn_va_as_service.va_api_payload_transformation 拡張ポイント
   4. \[Update (更新)\] をクリックします。
   {#transform-virtual-agent-api-request-and-response__substeps_g1w_pqk_n1c}
3. 応答ペイロードを変換する場合は、次の手順を実行します。
   1. sn_va_as_service.va_api_output_transformation 拡張ポイントを選択します
   2. \[関連リンク\] セクションで、\[ 実装を作成\] をクリックします。
   3. 要件に従って拡張ポイントスクリプトを更新します。  
      sn_va_as_service.va_api_output_transformation 拡張ポイントでは、応答パラメーターは inputPayload と responsePayload の 2 つのキーを持つオブジェクトです。 inputPayload は仮想エージェント API から受信した要求ペイロードで、 responsePayload は変換された応答のビルドに使用できる仮想エージェント API からの応答です。要求ペイロードの appInboundId フィールドを使用して、true を返すか false を返すかを決定します。実装例を次に示します。


          var va_api_output_transformation = Class.create();
          va_api_output_transformation.prototype = {
              initialize: function() {},

              shouldTransform: function(response) {
          	return (response.inputPayload.appInboundId === 'custom_1');
              },

              /*
              input object param for transform function should be in the following format
              response = {
                  inputPayload: response.inputPayload,
          	responsePayload: response.responsePayload
              };
              */
              transform: function(response) {
          	//return only transformed payload
                  return {
          	    'custom_structure': response.responsePayload
          	};
              },

              type: 'va_api_output_transformation'
          };

      図 : 2. sn_va_as_service.va_api_output_transformation 拡張ポイント
   4. \[Update (更新)\] をクリックします。
   {#transform-virtual-agent-api-request-and-response__substeps_bqw_rrk_n1c}

