---
sourceDocument: Xanadu 대화형 인터페이스
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/xanadu/conversational-interfaces

 Release :

    - xanadu

ft:locale :

    - ko-KR

ft:publication_title :

    - Xanadu 대화형 인터페이스

ft:clusterId :

    - convint

bundleId :

    - convint

workflow :

    - Platform


---

# 가상 에이전트 API 요청 및 응답 변환

# 가상 에이전트 API 요청 및 응답 변환 {#ariaid-title1}

* 릴리스 버전: Xanadu
* 
* 업데이트 날짜 2024년 08월 01일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 4분

가상 에이전트 API에 제공된 스크립팅된 확장점을 통해 가상 에이전트 API 요청 및 응답을 지원되는 형식으로 변환할 수 있습니다.

## 시작하기 전에

필요한 역할: admin

## 프로시저

1. 다음으로 이동 모두시스템 확장점스크립팅된 확장점  
   * sn_va_as_service.va_api_payload_transformation 확장점은 요청을 처리하기 전에 기본 봇 페이로드를 표준 가상 에이전트 API 지원 형식으로 변환합니다. sn_va_as_service.va_api_output_transformation 확장점은 가상 에이전트 API 응답을 기본 봇에서 지원하는 형식으로 변환합니다.
   * 스크립팅된 확장점에는 모두 두 개의 매개변수 shouldTransform 가 있습니다. 및 transform는 shouldTransform 구현이 실행되는지 여부를 결정하는 데 사용됩니다. transform 는 요청 또는 응답을 변환하는 데 사용됩니다.
   {#transform-virtual-agent-api-request-and-response__ul_kdv_gqk_n1c}
2. 요청 페이로드를 변환하려면 다음 단계를 완료하십시오.
   1. sn_va_as_service.va_api_payload_transformation 확장점 선택
   2. Related Links(관련 링크) 섹션에서 Create implementation(구현 생성)을 클릭합니다.
   3. 요구 사항에 따라 확장점 스크립트를 업데이트합니다.  
      sn_va_as_service.va_api_payload_transformation 확장점에서 요청 매개변수는 두 개의 키가 있는 객체입니다. payload 및 headers. 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. 업데이트를 클릭합니다.
   {#transform-virtual-agent-api-request-and-response__substeps_g1w_pqk_n1c}
3. 응답 페이로드를 변환하려면 다음 단계를 완료하십시오.
   1. sn_va_as_service.va_api_output_transformation 확장점 선택
   2. Related Links(관련 링크) 섹션에서 Create implementation(구현 생성)을 클릭합니다.
   3. 요구 사항에 따라 확장점 스크립트를 업데이트합니다.  
      sn_va_as_service.va_api_output_transformation 확장점에서 응답 매개변수는 inputPayload 및 responsePayload라는 두 개의 키가 있는 객체입니다. 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. 업데이트를 클릭합니다.
   {#transform-virtual-agent-api-request-and-response__substeps_bqw_rrk_n1c}

