사용자 지정 채팅 통합을 위해 스크립트된 REST API를 만들고 구성합니다

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기4분
  • 스크립팅된 REST API를 작성하고, 스크립팅된 REST 자원을 추가하고, 보안 및 컨텐츠 협상을 설정하고, REST API 속도 제한을 설정합니다.

    시작하기 전에

    사용자 지정 채팅 통합의 채널에 다양한 통제 매핑.

    필요한 역할: admin

    프로시저

    1. REST API를 만듭니다.
      1. 다음으로 이동 모두 > 시스템 웹 서비스 > 스크립트 기반 웹 서비스 > 스크립트 기반 REST API.
      2. 새로 만들기를 클릭합니다.
      3. 양식의 필드에 내용을 입력합니다.
        필드 설명
        이름 API의 이름입니다. 예: ACME 모바일 앱 채팅 어댑터.
        API ID API 식별자입니다. 예: acme_chat.
        보호 정책 스크립트에 대한 보호 정책입니다.
        • 읽기 전용: 스크립트를 볼 수만 있습니다.
        • 보호됨: 암호 권한이 있는 사용자가 스크립트를 편집할 수 있습니다.
        애플리케이션 스크립트 기록을 포함하는 애플리케이션입니다. 기본적으로 전역 이 선택됩니다.
        API 네임스페이스 API가 속한 네임스페이스입니다. 이 값은 현재 애플리케이션 범위에 따라 달라집니다.
      4. 제출을 클릭합니다.
      5. 옵션: 새 레코드를 열고 Related Links(관련 링크 )로 이동하여 Enable Versioning(버전 관리 사용)을 클릭한 다음 OK(확인)를 클릭합니다.
        변경 사항을 저장하려면 업데이트를 클릭합니다.
    2. 새 REST API에 스크립팅된 REST 자원을 추가합니다.
      스크립팅된 REST 자원은 사용자가 만든 스크립팅된 REST API 정의를 정의합니다.
      1. 생성한 REST API 기록을 연 다음 관련 링크 아래의 자원 탭으로 이동합니다.
      2. 새로 만들기를 클릭합니다.
        요청에서 페이로드를 검색한 다음 하이브리드 큐에 씁니다.
      3. 양식의 필드에 내용을 입력합니다.
        필드 설명
        API 정의 상위 API의 이름입니다.
        애플리케이션 스크립트 기록을 포함하는 애플리케이션입니다.
        이름 API REST 자원의 이름입니다. ACME 채팅을 예로 들 수 있습니다.
        API 버전 API 버전입니다. 예: v1.

        이 필드는 REST API에 대해 버전 관리를 사용하도록 설정한 경우에만 표시됩니다.

        활성 REST 자원을 활성화하는 옵션입니다.
        HTTP 메서드 HTTP 메서드(예: POST, GET 등)
        상대 경로 자원에 대한 상대 경로입니다.
        스크립트 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. 다음으로 이동 모두 > 시스템 웹 서비스 > REST > 요율 제한 규칙.
      2. 새로 만들기를 클릭합니다.
      3. 양식의 필드에 내용을 입력합니다.
        필드 설명
        이름 요율 제한 규칙의 고유한 이름입니다.
        REST API 이전 단계에서 생성한 REST API입니다.
        버전 REST API의 버전입니다. 나열된 값은 선택한 REST API에 따라 다릅니다.
        자원 지정된 버전의 자원입니다. 나열된 값은 선택한 버전에 따라 다릅니다.
        활성 요율 제한 규칙이 활성 상태임을 나타내는 확인란입니다.

        요율 제한 규칙은 생성하자마자 기본적으로 활성화됩니다. 요율 제한 규칙을 비활성화하여 요율 제한 적용을 중지하거나 요율 제한 규칙을 활성화하여 요율 제한 적용을 재개할 수 있습니다.

        시간당 요청 제한 시간당 허용되는 최대 요청 수입니다.
        주:
        이 필드의 값을 업데이트할 때마다 Now Platform이 요청 수를 0으로 재설정하고 현재 시간의 모든 위반을 삭제합니다.
        적용 대상 이 규칙에 의해 제한된 사용자입니다. 모든 사용자를 선택합니다.
      4. 제출을 클릭합니다.

    다음에 수행할 작업

    사용자 지정 채팅 통합을 위한 작업 스크립트 생성