봇 사용자는 조치 작업을 통해 타사 애플리케이션에서 봇 작업을 시작하고 실행할 수 있습니다. 봇은 기록 시스템의 정보를 수집, 수정 및 게시하여 고객과 직원이 일반적으로 수행하는 반복적이고 시간이 많이 소요되는 단계 또는 양식 기반 데이터 입력을 제거합니다. 조치 작업은 다음 두 가지 방법 중 하나로 사용자 요청에서 데이터를 가져올 수 있습니다.
- 긴 형식 조치: 단일 메시지에 여러 엔티티 또는 데이터 필드를 포함하는 사용자 요청으로, 챗봇이 중요 정보를 추출하고 누락된 정보만 수집하거나 작업을 즉시 완료합니다.
- 안내 조치: 사용자가 높은 수준의 의도를 명시하도록 요청하여 사용자가 작업을 완료하는 데 필요한 추가 필드 데이터를 제공해야 한다는 일련의 봇 질문 요청을 받습니다.
조치 작업은 독립적으로 실행하거나 다른 경고 작업 또는 조치 작업에 대한 후속 작업으로 매핑할 수 있습니다.
예시 사용 사례: JIRA 티켓 지정
JIRA 봇에 새 티켓이 생성될 때 알려주는 경고 작업이 있다고 가정해 보겠습니다. 알림에 대한 후속 조치로 지정된 상담사에게 티켓을 자동으로 할당하는 작업을 수행할 수 있습니다. 조치 작업은 타사 응용 프로그램에서 실행되며, 이 경우이 Atlassian JIRA입니다.
다른 예시
다음은 조치 작업의 몇 가지 다른 예입니다.
- 브랜드가 있는 새 계정 생성
- 로열티 프로그램 회원 되기
- 제품 검색
- 약속 예약
- 제품 주문
- 문제 입력 또는 보고
- 문제 에스컬레이션
조치 작업 설정하기
조치 작업 설정에는 다음 설정이 포함됩니다.
일반 설정
조치 작업을 구축하는 첫 번째 단계로 봇의 조치 작업 탭으로 이동하여 일반 세부 정보를 입력하여 작업을 생성해야 합니다. 조치 작업의 일반 탭에는 작업 이름, 연결 모드, 설명, 다른 경고 작업에 대한 매핑과 같은 몇 가지 고급 설정과 같은 세부 정보가 포함되어 있습니다.
- 조치 작업을 생성하려는 봇을 엽니다.
- 봇의 측면 탐색 패널 위로 마우스를 가져간 다음 봇 작업을 클릭합니다.
- 봇 작업 페이지에서 조치 작업 탭으로 마우스를 이동하고 + 아이콘을 클릭합니다.
- 작업의 이름을 입력합니다. 이는 표시 이름으로도 사용됩니다. Kore.ai 봇 스토어에서 작업 이름을 지정하는 방법에 따라 표시 이름을 변경할 수 있습니다.
- 작업의 Rest 또는 SOAP 연결 모드를 선택한 다음 생성 및 진행을 클릭합니다.
- 조치 작업의 일반 탭이 열립니다. 필드 설명은 다음 표를 참조하세요.
필드 이름 | 설명 |
---|---|
표시 이름 | Kore.ai Bot 마켓플레이스에 표시되는 작업의 이름입니다. 변경하지 않는 경우 작업 이름과 동일합니다. |
작업 이름 | 애플리케이션 및 최종 사용자 채널의 모든 곳에 표시되는 작업의 이름입니다. |
연결 유형 | 조치 작업의 연결 유형은 항상 웹 서비스입니다. 웹 서비스는 폴링할 때 최종 사용자 로그인 자격 증명을 사용하여 Kore.ai로 데이터를 전송합니다. 이 설정은 조치 작업에서 읽기 전용입니다. |
연결 모드 |
작업을 위한 웹 서비스형 통신 프로토콜 연결 유형입니다. 웹 서비스는 Kore.ai가 폴링할 때 최종 사용자 로그인 자격 증명을 사용하여 Kore.ai로 데이터를 전송합니다.
|
긴 설명 | 조치 작업에 대한 긴 설명입니다. |
고급 설정
작업에 대한 선택적 고급 설정을 설정할 수 있습니다. 일반 탭의 고급 설정 섹션을 확장하려면 확장 아이콘을 클릭합니다. 다음 표에서는 고급 설정 필드를 설명합니다.
필드 이름 | 설명 |
---|---|
확인 메시지 끄기 | NLP 사용 시 작업 실행 확인을 사용하지 않으려면 예를 선택합니다. |
조치 작업 전용 매핑 | 다른 작업에서 흐름이 매핑된 경우에만 이 조치 작업을 최종 사용자에게 표시하려면 선택합니다. 예를 선택하는 경우 조치 작업에 대한 최종 사용자 검색에서 조치 작업이 표시되지 않습니다. |
검색 키워드 | 최종 사용자가 Kore.ai 봇 스토어에서 이 작업을 찾는 데 사용할 수 있는 검색어를 하나 이상 지정합니다. |
작업 데모 링크 | www.youtube.com를 입력하여 봇 스토어에 표시된 작업 옆에 있는 작업 데모 아이콘을 표시합니다. 다음 그림은 작업 데모 링크로 정의된 봇 작업을 보여줍니다. |
WSDL 파일 액세스를 위한 권한 부여는 필수입니다(SOAP 요청에만 적용함) | SOAP 요청에 대한 WSDL에 액세스하기 위해 웹 서비스 권한 부여가 필요한 경우 인증을 사용하려면 예를 선택합니다. API 요청에 대해 정의한 인증을 WSDL에 액세스하는 데 사용하려면 예를 선택합니다. 이 설정은 작업 연결 모드가 SOAP로 설정된 경우에만 사용할 수 있습니다. |
선택적 필드 얻기 | 최종 사용자가 사용 가능한 선택적 매개 변수 중 하나 이상을 선택하고 입력하도록 요청하려면 예를 선택합니다. |
무시 단어 | 작업 이름에 무시할 단어를 하나 이상 입력한 다음 각 단어 뒤에 Enter 키를 누릅니다. 무시할 단어 목록은 봇 플랫폼이 사용자 입력을 해석하기 전에 처리됩니다. 즉, 많은 작업에 적용되지만 어떤 작업을 식별하는 데는 도움이 되지 않는 단어를 필터링하여 봇은 사용자 입력에 빠르게 반응하고 올바른 작업을 제공할 수 있습니다. 예: 사용자는 오늘의 일기예보를 확인하고 싶습니다를 입력할 수 있습니다. 사용자에게 올바른 작업을 반환하려면 봇 플랫폼 인터프리터는 날씨, 예보 및 오늘의 세 단어만 인식하면 됩니다. 나머지 단어는 무시할 수 있습니다. Kore.ai 봇 인터프리터는 일반적인 무시 단어를 이미 정의하고 있으므로 나, 너, 원하다, 얻다 등과 같은 단어는 무시 단어로 정의할 필요가 없습니다. 봇이 많은 작업 또는 모든 작업에서 동일한 단어(예: 회사 이름)를 사용하는 경우 회사 이름을 무시 단어로 추가할 수 있습니다. |
오류 메시지 | 봇에 대한 사용자 정의 HTTP 상태 코드 및 오류 메시지를 편집 또는 추가합니다. 자세한 내용은 사용자 정의 오류 메시지를 참조하세요. |
권한 부여
봇 조치 작업에 따라 조치 작업을 시작하기 위해 사용자를 인증하는 방법을 정의해야 할 수 있습니다. 예를 들어, 트위터는 일반적으로 로그인 사용자 이름과 암호로 최종 사용자가 인증해야 하는 웹 서비스를 사용하여 조치 작업을 수행할 수 있으므로 조치 작업을 실행하기 전에 Kore.ai가 최종 사용자 계정에 액세스하여 데이터에 액세스할 수 있도록 허용합니다. 권한 부여 프로필을 정의하거나 기존 프로필을 사용할 수 있습니다. 작업 수준이나 봇 수준에서 생성하는 것에 관계없이 모든 봇 작업에서 모든 권한 부여 프로필을 사용할 수 있습니다.
- API 요청 탭에서 권한 부여 정의를 시작하려면 권한 부여 섹션에서 확장 아이콘을 클릭합니다.
- 이 작업에 필요한 인증을 이미 정의한 경우 권한 부여 공급자 드롭다운 목록에서 선택할 수 있습니다.
- 작업에 인증이 필요하지 않은 경우 권한 부여 공급자로 없음을 선택할 수 있습니다.
- 새 권한 부여 공급자를 정의하려면 새로 만들기를 클릭하여 새 권한 부여 메커니즘 대화 상자를 표시합니다.
- 대화 상자의 권한 부여 유형 드롭다운 목록에서 봇이 사용하는 권한 부여 유형을 선택합니다. 다음 권한 부여 유형 중 하나를 선택할 수 있습니다.
- 기본 인증 – 사용자 이름 및 암호 정보를 수집하는 표준 프로토콜입니다. Kore.ai는 기본 인증과 함께 SSL 암호화를 사용하여 최종 사용자 정보를 보호합니다. 설정 세부 정보를 보려면 아래 링크를 클릭하세요.
기본 인증을 사용하여 권한 부여 설정
다음 그림은 작업을 위한 기본 권한 부여를 사용하기 위해 정의해야 하는 기본 인증 필드의 예입니다.
기본 권한 부여를 정의하려면 권한 부여 유형 필드에서 기본 인증을 선택합니다. 그런 다음 봇 빌더 사용자 인터페이스에 표시할 권한 부여의 이름을 지정합니다.테넌시 정의
필요한 경우 하위 도메인 섹션에서 웹 애플리케이션 또는 사용자 인터페이스의 기본 URL이 URL의 테넌트 이름을 사용하는 경우 예를 선택합니다. 예: kore는 테넌트를 www.kore.someCompany.com.으로 사용하는 웹 서비스의 테넌트 조직입니다. 다음 예시 설정에서 테넌시 URL은 {tenant} 조직 플레이스 홀더를 포함합니다.
양식 필드 추가
기본 사용자 이름과 암호 필드가 요구 사항을 충족하지 않는 경우 권한 부여 양식 필드를 추가하여 최종 사용자에게 표시할 새 필드를 추가할 수 있습니다. 권한 부여 양식에 필드를 추가하려면 + 양식 필드 추가를 클릭합니다. 다음 그림은 권한 부여 대화 상자에 암호 필드를 추가하는 정의의 예입니다.
다음 표에서는 권한 부여 IDP 양식 필드를 정의하는 데 사용되는 필드를 설명합니다.필드 이름 설명 필드 제목 인증 대화 상자에서 최종 사용자에게 표시되는 필드 이름을 지정합니다. 필드 키 이 값은 인증 서비스에 대한 최종 사용자 입력을 나타냅니다. 도움말 힌트 필드에 표시되는 도움말 텍스트로서 필드에 입력해야 하는 내용을 설명합니다. 필드 유형 고급 옵션을 선택한 경우 최종 사용자 인터페이스에서 표시되는 필드의 유형을 지정하여 다음 중 하나의 필드 키 값으로 할당된 사용자 입력을 수집합니다.
- 텍스트 상자
- 암호
필수 고급 옵션을 선택한 경우 최종 사용자가 인증을 완료하려면 이 필드를 정의해야 하는지 여부를 선택합니다. 데이터 유형 고급 옵션을 선택한 경우 최종 사용자의 입력으로 예상되는 데이터 유형(예: 문자열)을 지정합니다. 가시성 고급 옵션을 선택한 경우 인증 필드의 속성을 표시, 숨김 또는 읽기 전용으로 표시할 지 여부를 지정합니다. 권한 부여 필드 추가
기본적으로 권한 부여 필드는 작업 요청 메시지의 헤더 일부로 구성됩니다. 작업 요청에 추가 권한 부여 필드가 필요하거나 예상되는 권한 부여(예: 사회 보장 번호 또는 PIN)가 헤더의 일부가 아닌 경우 + 권한 부여 필드 추가를 클릭한 후 다음 그림과 같이 필드를 정의합니다.
필드 유형 필드에서 작업 요청 메시지 및 필요한 권한 부여 필드 유형에서 위치에 따라 다음 중 하나를 선택할 수 있습니다.- 헤더 – 봇은 권한 부여 필드를 요청 헤더의 일부로 권한 부여 필드를 예상합니다.
- 페이로드 – 봇은 요청 본문의 내용 일부로 권한 부여 필드를 예상합니다.
- 쿼리 문자열 – 봇은 요청 본문에서 권한 부여 필드를 쿼리로 예상합니다.
- 경로 매개 변수 – 봇은 권한 부여 필드를 요청의 URL 경로의 일부로 예상합니다.
필드 키 필드에서 선택한 필드 유형에 대한 필드 이름을 입력합니다. 필드 값 필드에 지정된 필드 키의 값을 입력합니다. 완료를 클릭합니다. 새 권한 부여 필드가 권한 부여 필드 섹션에 추가됩니다. 추가 인증 권한 필드를 추가하려면권한 부여 필드 섹션에서 추가를 클릭합니다. 권한 부여 확인 URL 필드에서 권한 부여 메커니즘으로 작업을 배포하기 전에 봇 빌더에서 인증 설정 테스트에 사용할 수 있는 URL을 선택적으로 정의하세요. 동적 필드와 경로 매개 변수 필드, 쿼리 필드 등을 사용하여 URL 테스트를 정의할 수 있습니다. 예: https://kore.someCompany.com/sap/opu/odata/sap/{{authfield1}}/?$format=json 커넥터를 사용한 액세스 섹션에서 Kore.ai 커넥터 에이전트를 사용하여 Kore.ai 봇의 액세스를 활성화하려면 예를 선택합니다.다. 도메인에 활성 Kore.ai 커넥터가 정의되지 않은 경우 봇 관리자 콘솔 시스템 관리자에게 문의하라는 경고 메시지가 표시됩니다. 자세한 내용은 봇 관리 콘솔 설명서에서 Kore.ai 커넥터 사용을 참조하세요. 저장을 클릭하여 권한 부여 설정을 저장하고 새 권한 부여 메커니즘 대화 상자를 닫습니다.
권한 부여 테스트 – 기본 인증
인증을 저장한 후 새 권한 부여 유형의 권한 부여 확인 URL을 정의한 경우 권한 부여 테스트를 클릭하여 권한 부여 탭에서 권한 부여 정의를 테스트하고 작업의 나머지 단계 개발을 계속 진행할 수 있습니다.
권한 부여 테스트를 클릭하면 권한 부여 테스트 대화 상자가 표시되고 다음 그림과 같이 권한 부여 확인 URL 섹션에서 지정한 URL로 채워집니다.
기본 인증을 사용한 권한 부여 테스트 설정 방법- 권한 부여 확인 URL 필드에서 인증 설정을 테스트하려는 URL을 확인하거나 입력합니다.
- 봇이 하위 도메인을 사용하는 경우 테넌시 필드가 표시되고 테넌트를 지정해야 합니다.
- 웹 서비스의 사용자 이름 및 암호를 입력합니다.
- Content-Type 필드에서 URL에 예상되는 콘텐츠 유형을 선택합니다.
- URL을 테스트하려는 경우 메소드 필드는 읽기 전용이며 GET으로 설정됩니다.
- 테스트를 클릭하여 권한 부여 테스트를 시작합니다.
인증 유효성 검증이 완료되면 권한 부여 테스트 대화 상자가 닫히고 성공 또는 실패 검증 결과가 다음 그림과 같이 권한 부여 테스트 버튼 바로 오른쪽에 표시됩니다.
권한 부여가 실패하면 다음 그림과 같이 헤더 및 응답 탭과 함께 권한 부여 테스트 실패 메시지가 표시됩니다.
작동 원리 – 기본 인증
작업에 기본 권한 부여가 사용될 때 Kore.ai 애플리케이션은 다음 그림과 같이 사용자에게 웹 애플리케이션 또는 웹 서비스에 액세스하려면 로그인 자격 증명을 입력하라는 메시지를 자동으로 표시합니다.
최종 사용자에게 권한이 부여된 후 설정은 다음 명명 구문을 사용하여 저장됩니다.{{ First Name }} {{ Last Name }} {{ Bot Name }} {{ Account # }} {{ Sequence # }}
예: John Smith’s Twitter Account #1. Kore.ai 애플리케이션은 이 계정을 사용하여 향후 모든 작업 요청을 위해 웹 애플리케이션 또는 웹 서비스에 액세스할 수 있습니다. 또한 최종 사용자는 동일한 봇의 다른 작업을 위해 계정을 재사용할 수 있습니다.
- OAuth v2 password grant type – 비표준 웹 서비스 권한 부여 유형의 사용자 정의 권한 부여 유형을 정의합니다. 설정 세부 정보를 보려면 아래 링크를 클릭하세요.
oAuth v2 password grant를 사용하여 권한 부여 설정
다음 그림은 작업을 위한 사용자 정의 권한 부여를 사용하기 위해 정의해야 하는 oAuth v2 password grant 권한 부여 유형 필드의 예입니다.
사용자 정의 권한 부여를 정의하려면 권한 부여 유형 필드에서 oAuth v2 password grant를 선택합니다. 그런 다음 봇 빌더 사용자 인터페이스에 표시할 권한 부여의 이름을 지정합니다.테넌시 정의
필요한 경우 하위 도메인 섹션에서 웹 애플리케이션 또는 사용자 인터페이스의 기본 URL이 URL의 테넌트 이름을 사용하는 경우 예를 선택합니다. 예: kore는 테넌트를 www.kore.someCompany.com.으로 사용하는 웹 서비스의 테넌트 조직입니다. 다음 예시 설정에서 테넌시 URL은 {tenant} 조직 플레이스 홀더를 포함합니다.
양식 필드 추가
기본 사용자 이름과 암호 필드가 요구 사항을 충족하지 않는 경우 권한 부여 양식 필드를 추가하여 최종 사용자에게 표시할 새 필드를 추가할 수 있습니다. 권한 부여 양식에 필드를 추가하려면 + 양식 필드 추가를 클릭합니다. 다음 그림은 권한 부여 대화 상자에 암호 필드를 추가하는 정의의 예입니다.
다음 표에서는 권한 부여 IDP 양식 필드를 정의하는 데 사용되는 필드를 설명합니다.필드 이름 설명 필드 제목 인증 대화 상자에서 최종 사용자에게 표시되는 필드 이름을 지정합니다. 필드 키 이 값은 인증 서비스에 대한 최종 사용자 입력을 나타냅니다. 도움말 힌트 필드에 표시되는 도움말 텍스트로서 필드에 입력해야 하는 내용을 설명합니다. 필드 유형 고급 옵션을 선택한 경우 최종 사용자 인터페이스에서 표시되는 필드의 유형을 지정하여 다음 중 하나의 필드 키 값으로 할당된 사용자 입력을 수집합니다.
- 텍스트 상자
- 암호
필수 고급 옵션을 선택한 경우 최종 사용자가 인증을 완료하려면 이 필드를 정의해야 하는지 여부를 선택합니다. 데이터 유형 고급 옵션을 선택한 경우 최종 사용자의 입력으로 예상되는 데이터 유형(예: 문자열)을 지정합니다. 가시성 고급 옵션을 선택한 경우 인증 필드의 속성을 표시, 숨김 또는 읽기 전용으로 표시할 지 여부를 지정합니다. 권한 부여 필드 추가
기본적으로 권한 부여 필드는 작업 요청 메시지의 헤더 일부로 구성됩니다. 작업 요청에 추가 권한 부여 필드가 필요하거나 예상되는 권한 부여(예: 사회 보장 번호 또는 PIN)가 헤더의 일부가 아닌 경우 + 권한 부여 필드 추가를 클릭한 후 다음 그림과 같이 필드를 정의합니다.
필드 유형 필드에서 작업 요청 메시지 및 필요한 권한 부여 필드 유형에서 위치에 따라 다음 중 하나를 선택할 수 있습니다.- 헤더 – 봇은 권한 부여 필드를 요청 헤더의 일부로 권한 부여 필드를 예상합니다.
- 페이로드 – 봇은 요청 본문의 내용 일부로 권한 부여 필드를 예상합니다.
- 쿼리 문자열 – 봇은 요청 본문에서 권한 부여 필드를 쿼리로 예상합니다.
- 경로 매개 변수 – 봇은 권한 부여 필드를 요청의 URL 경로의 일부로 예상합니다.
필드 키 필드에서 선택한 필드 유형에 대한 필드 이름을 입력합니다. 필드 값 필드에 지정된 필드 키의 값을 입력합니다. 완료를 클릭합니다. 새 권한 부여 필드가 권한 부여 필드 섹션에 추가됩니다. 추가 인증 권한 필드를 추가하려면권한 부여 필드 섹션에서 추가를 클릭합니다.
토큰 URL 정의
토큰URL 필드에서 권한 부여 메커니즘으로 작업을 배포하기 전에 봇 빌더에서 인증 설정 테스트에 사용할 수 있는 URL을 선택적으로 정의하세요. 동적 필드와 경로 매개 변수 필드, 쿼리 필드 등을 사용하여 URL 테스트를 정의할 수 있습니다. 예:
http://{tenant}.someCompany.com/test/{{tokenId}}
토큰 URL 메소드 필드에서 Token URL에 대한 HTTP 요청 메소드 유형을 선택합니다. PUT, POST, PATCH, DELETE, and GET 중 하나입니다.
토큰 URL 콘텐츠 유형 필드의 토큰 URL에서 예상되는 콘텐츠 유형을 선택합니다. 다음 중 하나입니다. JSON, RSS, XML, URL Encoded JSON, CSV, Text, Twitter Encoded JSON, Multipart/Form-data,Multipart/Related 또는 Oracle ADF.
커넥터를 사용한 액세스 섹션에서 Kore.ai 커넥터 에이전트를 사용하여 Kore.ai 봇의 액세스를 활성화하려면 예를 선택합니다. 도메인에 활성 Kore.ai 커넥터가 정의되지 않은 경우 봇 관리자 콘솔 시스템 관리자에게 문의하라는 경고 메시지가 표시됩니다. 자세한 내용은 봇 관리 콘솔 설명서에서 Kore.ai 커넥터 사용을 참조하세요.
권한 부여 저장을 클릭하여 권한 부여 설정을 저장하고 새 권한 부여 메커니즘 대화 상자를 닫습니다.권한 부여 테스트
인증을 저장한 후 새 권한 부여 유형의 권한 부여 URL을 정의한 경우 권한 부여 테스트를 클릭하여 권한 부여 페이지에서 권한 부여 정의를 테스트하고 작업의 나머지 단계 개발을 계속 진행할 수 있습니다.
권한 부여 테스트를 클릭하면 권한 부여 테스트 대화 상자가 표시되고 다음 그림과 같이 권한 부여 확인 URL 섹션에서 지정한 URL로 채워집니다.
테스트를 클릭하여 권한 부여 테스트를 시작합니다. 인증 유효성 검증이 완료되면 권한 부여 테스트 대화 상자가 닫히고 성공 또는 실패 검증 결과가 권한 부여 테스트 버튼 바로 오른쪽에 표시됩니다. 권한 부여가 실패하면 다음 그림과 같이 헤더 및 응답 탭과 함께 권한 부여 테스트 실패 메시지가 표시됩니다.
- OAuth v2 클라이언트 자격 증명 –
- OAuth v1 – 최종 사용자가 로그온 자격 증명을 Kore.ai에 공개하지 않고도 웹 애플리케이션 또는 웹 서비스는 API를 사용하여 보호된 리소스에 액세스할 수 있습니다. 설정 세부 정보를 보려면 아래 링크를 클릭하세요.
OAuth v1를 사용하여 권한 부여 설정
OAuth는 웹, 모바일, 데스크톱 애플리케이션에서 간단하고 표준적인 방법으로 보안 권한 부여 사용이 가능한 개방형 프로토콜입니다. OAuth를 사용하려면 권한 부여 메커니즘에 필요한 설정을 구성하기 위해 애플리케이션에 대한 로그인 자격 증명이 필요하므로 웹 애플리케이션에 계정을 먼저 등록해야 합니다.
OAuth v1 작동 방식
- Kore.ai 애플리케이션은 웹 애플리케이션에서 권한이 없는 요청 토큰을 얻습니다. Kore.ai 애플리케이션은 사용자를 웹 애플리케이션의 로그인 대화 상자로 리디렉션합니다.
- 사용자는 요청 토큰의 권한을 부여하고 자신의 계정과 연결합니다. 웹 애플리케이션은 사용자를 Kore.ai 애플리케이션으로 다시 리디렉션합니다.
- Kore.ai 애플리케이션은 요청 토큰을 액세스 토큰으로 교환합니다.
- 액세스 토큰을 사용하여 Kore.ai 애플리케이션은 사용자를 대신하여 공급자의 보호된 리소스에 액세스할 수 있습니다.
다음 그림은 작업을 위한 사용자 정의 권한 부여 사용을 위해 정의해야 하는 oAuth v1 권한 부여 유형 필드의 예입니다.
oAuth v1을 정의하려면 다음 표에 설명된 필드를 정의하세요.필드 이름 설명 권한 부여 유형 oAuth v1로 설정합니다. 콜백 URL 최종 사용자 권한 부여가 완료된 후 최종 사용자를 리디렉션하기 위해 웹 애플리케이션 또는 웹 서비스가 사용하는 URL입니다. 이 값 https://idp.kore.ai/workflows/callback/은 oAuth v1 설정을 정의할 때 Kore.ai 애플리케이션에서 읽기 전용 값으로 제공합니다. ID 공급자 이름 웹 애플리케이션 또는 웹 서비스 이름(예: Twitter)입니다. 이 필드는 필수입니다. 소비자 키 웹 애플리케이션에 대한 Kore.ai 애플리케이션 식별자로 제공되는 값입니다. 이 필드는 필수입니다. 소비자 시크릿 Kore.ai 애플리케이션이 소비자 키의 소유권을 설정하기 위해 제공하는 시크릿 값입니다. 이 필드는 필수입니다. 요청 토큰 링크 Kore.ai 애플리케이션이 권한이 없는 요청 토큰을 얻기 위해 사용하는 URL입니다. 요청 토큰은 Kore.ai 애플리케이션이 최종 사용자로부터 권한 부여를 받고 액세스 토큰을 얻는 데 사용하는 값입니다. 예: https://{tenant}.someCompany.com/oauth/request_token. 최종 사용자 권한 부여 후 Kore.ai 애플리케이션에서 액세스 토큰을 요청할 수 있습니다. 이 필드는 필수입니다. 액세스 토큰 링크 최종 사용자 권한 부여 요청 토큰을 액세스 토큰으로 교환하는 데 사용되는 URL입니다. 액세스 토큰은 최종 사용자 로그온 자격 증명을 사용하지 않고 Kore.ai 애플리케이션이 최종 사용자를 대신하여 웹 애플리케이션 또는 웹 서비스에 대한 액세스 권한을 얻는 데 사용하는 값입니다. 예: https://{tenant}.someCompany.com/oauth/access_token. 이 필드는 필수입니다. 사용자 권한 부여 링크 Kore.ai 애플리케이션이 액세스 토큰을 사용하여 웹 애플리케이션이나 웹 서비스에 액세스하기 위한 최종 사용자 권한을 획득하는 데 사용되는 URL입니다. 예: https://{tenant}.someCompany.com/oauth/authorize. 이 필드는 필수입니다. 커넥터를 사용한 액세스 Kore.ai 커넥터 에이전트를 사용하여 Kore.ai 봇의 액세스를 사용하도록 설정하려면 예를 선택합니다. 이 옵션은 Kore.ai 커넥터 에이전트가 엔터프라이즈 온프레미스 네트워크에서 설정되어 사용함으로 설정한 경우에만 표시됩니다. 자세한 내용은 Kore.ai 커넥터 사용을 참조하세요. 테넌시 정의
필요한 경우 하위 도메인 섹션에서 웹 애플리케이션 또는 사용자 인터페이스의 기본 URL이 URL의 테넌트 이름을 사용하는 경우 예를 선택합니다. 예: kore는 테넌트를 www.kore.someCompany.com.으로 사용하는 웹 서비스의 테넌트 조직입니다. 다음 예시 설정에서 테넌시 URL은 {tenant} 조직 플레이스 홀더를 포함합니다.
추가 필드 추가
+ 추가 필드를 추가하여 추가 필드 대화 상자를 열고 다음 그림과 같이 필요한 경우 추가 권한 부여 입력 필드를 나타내는 키/값 쌍을 하나 이상 입력합니다.
다음 필드를 지정합니다.
- 필드 키 – 권한 부여를 위해 지정할 사용자 정의 필드의 이름입니다.
- 필드 값 – 권한 부여를 위해 지정할 사용자 정의 필드의 값입니다.
추가를 클릭하여 추가 필드를 저장합니다. 추가 필드를 더 추가하려면 추가 필드 섹션에서 추가를 클릭합니다.
권한 부여 필드 추가
기본적으로 권한 부여 필드는 작업 요청 메시지의 헤더 일부로 구성됩니다. 작업 요청에 추가 권한 부여 필드가 필요하거나 예상되는 권한 부여(예: 사회 보장 번호 또는 PIN)가 헤더의 일부가 아닌 경우 + 권한 부여 필드 추가를 클릭한 후 다음 그림과 같이 필드를 정의합니다.
필드 유형 필드에서 작업 요청 메시지 및 필요한 권한 부여 필드 유형에서 위치에 따라 다음 중 하나를 선택할 수 있습니다.- 헤더 – 봇은 권한 부여 필드를 요청 헤더의 일부로 권한 부여 필드를 예상합니다.
- 페이로드 – 봇은 요청 본문의 내용 일부로 권한 부여 필드를 예상합니다.
- 쿼리 문자열 – 봇은 요청 본문에서 권한 부여 필드를 쿼리로 예상합니다.
- 경로 매개 변수 – 봇은 권한 부여 필드를 요청의 URL 경로의 일부로 예상합니다.
필드 키 필드에서 선택한 필드 유형에 대한 필드 이름을 입력합니다.
필드 값 필드에 지정된 필드 키의 값을 입력합니다.
추가를 클릭합니다. 새 권한 부여 필드가 권한 부여 필드 섹션에 추가됩니다.
추가 인증 권한 필드를 추가하려면권한 부여 필드 섹션에서 추가를 클릭합니다.권한 부여 테스트
권한 부여를 저장한 후 권한 부여 테스트를 클릭하여 권한 부여 페이지에서 권한 부여 정의를 테스트하고 작업의 나머지 단계 개발을 계속 진행할 수 있습니다.
권한 부여 테스트를 클릭하면 인증 토큰 URL, 소비자 키 및 소비자 토큰을 사용하여 테스트가 실행됩니다. 테넌시가 정의된 경우 다음 그림과 같이 권한 부여 테스트 대화 상자가 표시됩니다.
테스트를 클릭하여 권한 부여 테스트를 시작합니다. 인증 유효성 검증이 완료되면 권한 부여 테스트 대화 상자가 닫히고 성공 또는 실패 검증 결과가 권한 부여 테스트 버튼 바로 오른쪽에 표시됩니다. 권한 부여가 실패하면 다음 그림과 같이 헤더 및 응답 탭과 함께 권한 부여 테스트 실패 메시지가 표시됩니다. - OAuth v2 – 웹 애플리케이션 및 웹 서비스의 특정 권한 부여 흐름에 중점을 둔 최신 버전의 OAuth 프로토콜입니다. 설정 세부 정보를 보려면 아래 링크를 클릭하세요.
OAuth v2를 사용하여 권한 부여 설정
OAuth v2는 웹, 모바일, 데스크톱 애플리케이션에서 간단하고 표준적인 방법으로 보안 권한 부여 사용이 가능한 새로운 버전의 개방형 프로토콜입니다. OAuth v2를 사용하려면 권한 부여 메커니즘에 필요한 설정을 구성하기 위해 애플리케이션에 대한 로그인 자격 증명이 필요하므로 웹 애플리케이션에 계정을 먼저 등록해야 합니다.
OAuth v2 작동 방식
- Kore.ai 애플리케이션은 사용자를 웹 애플리케이션의 로그인 대화 상자로 리디렉션합니다.
- 사용자가 인증합니다.
- 웹 애플리케이션은 액세스 토큰과 함께 사용자를 Kore.ai 애플리케이션으로 다시 리디렉션합니다.
- Kore.ai 애플리케이션은 액세스 토큰을 확인합니다.
- 액세스 토큰을 사용하여 Kore.ai 애플리케이션은 사용자를 대신하여 공급자의 보호된 리소스에 액세스할 수 있습니다.
다음 그림에서는 oAuth v2 권한 부여 유형을 위해 정의할 필드를 보여줍니다.
oAuth v2을 설정하려면 다음 표에 설명된 필드를 정의하세요.필드 이름 설명 권한 부여 유형 oAuth v2로 설정합니다. 콜백 URL 최종 사용자 권한 부여가 완료된 후 최종 사용자를 리디렉션하기 위해 웹 애플리케이션 또는 웹 서비스가 사용하는 URL입니다. 이 값 https://idp.kore.ai/workflows/callback/은 oAuth v2 설정을 정의할 때 Kore.ai 애플리케이션에서 읽기 전용 값으로 제공합니다. ID 공급자 이름 웹 애플리케이션 또는 웹 서비스 이름(예: Asana)입니다. 이 필드는 필수입니다. 클라이언트 ID Kore.ai 클라이언트의 ID입니다. 클라이언트 시크릿 키 웹 애플리케이션에 대한 클라이언트 ID 기반 Kore.ai 애플리케이션 인증으로 제공되는 값입니다. 권한 부여 URL Kore.ai 애플리케이션이 액세스 토큰을 사용하여 웹 애플리케이션이나 웹 서비스에 액세스하기 위한 최종 사용자 권한을 획득하는 데 사용되는 URL입니다. 이 필드는 필수입니다. 커넥터를 사용한 액세스 Kore.ai 커넥터 에이전트를 사용하여 Kore.ai 봇의 액세스를 사용하도록 설정하려면 예를 선택합니다. 이 옵션은 Kore.ai 커넥터 에이전트가 엔터프라이즈 온프레미스 네트워크에서 설정되어 사용함으로 설정한 경우에만 표시됩니다. 자세한 내용은 Kore.ai 커넥터 사용을 참조하세요. 권한 부여 URL Kore.ai 애플리케이션이 권한이 없는 요청 토큰을 얻기 위해 사용하는 URL입니다. 요청 토큰은 Kore.ai 애플리케이션이 최종 사용자로부터 권한 부여를 받고 액세스 토큰을 얻는 데 사용하는 값입니다. 최종 사용자 권한 부여 후 Kore.ai 애플리케이션에서 액세스 토큰을 요청할 수 있습니다. 이 필드는 필수입니다. 테넌시 정의
필요한 경우 하위 도메인 섹션에서 웹 애플리케이션 또는 사용자 인터페이스의 기본 URL이 URL의 테넌트 이름을 사용하는 경우 예를 선택합니다. 예: kore는 테넌트를 www.kore.someCompany.com.으로 사용하는 웹 서비스의 테넌트 조직입니다. 다음 예시 설정에서 테넌시 URL은 {tenant} 조직 플레이스 홀더를 포함합니다.
추가 필드 추가
+ 추가 필드를 추가하여 추가 필드 대화 상자를 열고 다음 그림과 같이 필요한 경우 추가 권한 부여 입력 필드를 나타내는 키/값 쌍을 하나 이상 입력합니다.
다음 필드를 지정합니다.- 필드 키 – 권한 부여를 위해 지정할 사용자 정의 필드의 이름입니다.
- 값 – 권한 부여를 위해 지정할 사용자 정의 필드의 값입니다.
추가를 클릭하여 추가 필드를 저장합니다. 추가 필드를 더 추가하려면 추가 필드 섹션에서 추가를 클릭합니다.
권한 부여 필드 추가
기본적으로 권한 부여 필드는 작업 요청 메시지의 헤더 일부로 구성됩니다. 작업 요청에 추가 권한 부여 필드가 필요하거나 예상되는 권한 부여(예: 사회 보장 번호 또는 PIN)가 헤더의 일부가 아닌 경우 + 권한 부여 필드 추가를 클릭한 후 다음 그림과 같이 필드를 정의합니다.
필드 유형 필드에서 작업 요청 메시지 및 필요한 권한 부여 필드 유형에서 위치에 따라 다음 중 하나를 선택할 수 있습니다.- 헤더 – 봇은 권한 부여 필드를 요청 헤더의 일부로 권한 부여 필드를 예상합니다.
- 페이로드 – 봇은 요청 본문의 내용 일부로 권한 부여 필드를 예상합니다.
- 쿼리 문자열 – 봇은 요청 본문에서 권한 부여 필드를 쿼리로 예상합니다.
- 경로 매개 변수 – 봇은 권한 부여 필드를 요청의 URL 경로의 일부로 예상합니다.
필드 키 필드에서 선택한 필드 유형에 대한 필드 이름을 입력합니다. 필드 값 필드에 지정된 필드 키의 값을 입력합니다. 추가를 클릭합니다. 새 권한 부여 필드가 권한 부여 필드 섹션에 추가됩니다. 추가 인증 권한 필드를 추가하려면권한 부여 필드 섹션에서 추가를 클릭합니다.
권한 부여 테스트
권한 부여를 저장한 후 권한 부여 테스트를 클릭하여 권한 부여 페이지에서 권한 부여 정의를 테스트하고 작업의 나머지 단계 개발을 계속 진행할 수 있습니다.
권한 부여 테스트를 클릭하면 인증 토큰 URL, 클라이언트 ID 및 클라이언트 시크릿 키를 사용하여 테스트가 실행됩니다. 테넌시가 정의된 경우 다음 그림과 같이 권한 부여 테스트 대화 상자가 표시됩니다.
테스트를 클릭하여 권한 부여 테스트를 시작합니다. 인증 유효성 검증이 완료되면 권한 부여 테스트 대화 상자가 닫히고 성공 또는 실패 검증 결과가 권한 부여 테스트 버튼 바로 오른쪽에 표시됩니다. 권한 부여가 실패하면 다음 그림과 같이 헤더 및 응답 탭과 함께 권한 부여 테스트 실패 메시지가 표시됩니다. - API 키 – 웹 애플리케이션 또는 웹 서비스가 생성하거나 제공하는 식별 및 권한 부여 토큰으로서 수신 애플리케이션 요청을 식별하고 경우에 따라 보안 액세스에 필요한 인증을 제공하는 데 사용합니다. 설정 세부 정보를 보려면 아래 링크를 클릭하세요.
API 키를 사용하여 권한 부여 설정”
API 키는 식별 및 인증을 위한 고유 식별자 및 시크릿 토큰 역할을 하여 연결된 API에 대한 일련의 액세스 권한을 제공할 수 있습니다. 최종 사용자에게 액세스를 위한 사용자 이름 및 암호를 묻는 대신 작업을 설정할 때 API 키만 묻는 메시지가 표시됩니다. API 키 권한 부여 유형을 사용하려면 먼저 애플리케이션에 계정을 등록한 다음 애플리케이션의 API키를 생성하여 Kore.ai 권한 부여 메커니즘을 위한 설정을 구성합니다.다음 그림에서는 API 키 권한 부여 유형을 위해 정의할 필드를 보여줍니다.
API 키 권한 부여를 정의하려면 권한 부여 유형 필드에서 API 키를 선택합니다. 그런 다음 봇 빌더 사용자 인터페이스에 표시할 권한 부여의 이름을 지정합니다.테넌시 정의
필요한 경우 하위 도메인 섹션에서 웹 애플리케이션 또는 사용자 인터페이스의 기본 URL이 URL의 테넌트 이름을 사용하는 경우 예를 선택합니다. 예: kore는 테넌트를 www.kore.someCompany.com.으로 사용하는 웹 서비스의 테넌트 조직입니다. 다음 예시 설정에서 테넌시 URL은 {tenant} 조직 플레이스 홀더를 포함합니다.
권한 부여 양식에 양식 필드 추가
기본 사용자 이름과 암호 필드가 요구 사항을 충족하지 않는 경우 권한 부여 양식 필드를 추가하여 최종 사용자에게 표시할 새 필드를 추가할 수 있습니다. 권한 부여 양식에 필드를 추가하려면 + 양식 필드 추가를 클릭합니다. 다음 그림은 권한 부여 대화 상자에 암호 필드를 추가하는 정의의 예입니다.
다음 표에서는 권한 부여 IDP 양식 필드를 정의하는 데 사용되는 필드를 설명합니다.필드 이름 설명 필드 제목 인증 대화 상자에서 최종 사용자에게 표시되는 필드 이름을 지정합니다. 필드 키 이 값은 인증 서비스에 대한 최종 사용자 입력을 나타냅니다. 도움말 힌트 필드에 표시되는 도움말 텍스트로서 필드에 입력해야 하는 내용을 설명합니다. 필드 유형 고급 옵션을 선택한 경우 최종 사용자 인터페이스에서 표시되는 필드의 유형을 지정하여 다음 중 하나의 필드 키 값으로 할당된 사용자 입력을 수집합니다.
- 텍스트 상자
- 암호
필수 고급 옵션을 선택한 경우 최종 사용자가 인증을 완료하려면 이 필드를 정의해야 하는지 여부를 선택합니다. 데이터 유형 고급 옵션을 선택한 경우 최종 사용자의 입력으로 예상되는 데이터 유형(예: 문자열)을 지정합니다. 가시성 고급 옵션을 선택한 경우 인증 필드의 속성을 표시, 숨김 또는 읽기 전용으로 표시할 지 여부를 지정합니다. 권한 부여 필드 추가
기본적으로 권한 부여 필드는 작업 요청 메시지의 헤더 일부로 구성됩니다. 작업 요청에 추가 권한 부여 필드가 필요하거나 예상되는 권한 부여(예: 사회 보장 번호 또는 PIN)가 헤더의 일부가 아닌 경우 + 권한 부여 필드 추가를 클릭한 후 다음 그림과 같이 필드를 정의합니다.
필드 유형 필드에서 작업 요청 메시지 및 필요한 권한 부여 필드 유형에서 위치에 따라 다음 중 하나를 선택할 수 있습니다.- 헤더 – 봇은 권한 부여 필드를 요청 헤더의 일부로 권한 부여 필드를 예상합니다.
- 페이로드 – 봇은 요청 본문의 내용 일부로 권한 부여 필드를 예상합니다.
- 쿼리 문자열 – 봇은 요청 본문에서 권한 부여 필드를 쿼리로 예상합니다.
- 경로 매개 변수 – 봇은 권한 부여 필드를 요청의 URL 경로의 일부로 예상합니다.
필드 키 필드에서 선택한 필드 유형에 대한 필드 이름을 입력합니다. 필드 값 필드에 지정된 필드 키의 값을 입력합니다. 추가를 클릭합니다. 새 권한 부여 필드가 권한 부여 필드 섹션에 추가됩니다. 추가 인증 권한 필드를 추가하려면권한 부여 필드 섹션에서 추가를 클릭합니다.
API 키를 사용한 권한 부여 테스트
인증을 저장한 후 새 권한 부여 유형의 권한 부여 확인 URL을 정의한 경우 권한 부여 테스트를 클릭하여 인증 탭에서 권한 부여 정의를 테스트하고 작업의 나머지 단계 개발을 계속 진행할 수 있습니다.
권한 부여 테스트를 클릭하면 권한 부여 테스트 대화 상자가 표시되고 다음 그림과 같이 권한 부여 확인 URL 섹션에서 지정한 URL로 채워집니다.
API 키를 사용한 권한 부여 테스트 설정 방법- 권한 부여 확인 URL 필드에서 인증 설정을 테스트하려는 URL을 확인하거나 입력합니다.
- 봇이 하위 도메인을 사용하는 경우 테넌시 필드가 표시되고 테넌트를 지정해야 합니다.
- API 키 필드에 애플리케이션의 API 키를 입력합니다.
- Content-Type 필드에서 URL에 예상되는 콘텐츠 유형을 선택합니다.
- URL을 테스트하려는 경우 메소드 필드는 읽기 전용이며 GET으로 설정됩니다.
- 테스트를 클릭하여 권한 부여 테스트를 시작합니다.
인증 유효성 검증이 완료되면 권한 부여 테스트 대화 상자가 닫히고 성공 또는 실패 검증 결과가 권한 부여 테스트 버튼 바로 오른쪽에 표시됩니다. 권한 부여가 실패하면 다음 그림과 같이 헤더 및 응답 탭과 함께 권한 부여 테스트 실패 메시지가 표시됩니다.
- 기본 인증 – 사용자 이름 및 암호 정보를 수집하는 표준 프로토콜입니다. Kore.ai는 기본 인증과 함께 SSL 암호화를 사용하여 최종 사용자 정보를 보호합니다. 설정 세부 정보를 보려면 아래 링크를 클릭하세요.
API 요청
경고 작업 요청 개체는 최종 사용자에게 표시되는 알림 메시지에 대한 데이터를 가져옵니다. 요청 개체의 구성 설정은 경고 작업 요청 개체에 정의한 연결 유형을 기반으로 합니다. 자세한 내용은 다음 중 하나를 참조하세요.
API Request - Rest
- 인증 – 조치 작업에 필요한 경우 API에 액세스하기 위해 인증을 정의해야 합니다. 예를 들어, 기본 권한 부여, OAuth 또는 API 키를 사용합니다. 자세한 내용은 위 조치 작업에 대한 인증 설정 섹션을 참조하세요.
- 매개 변수 – API 요청을 처리하는 데 사용되는 하나 이상의 매개 변수를 정의합니다. 예: 사용자 프롬프트의 입력, 선택 항목에서 최종 사용자가 선택한 항목, URL 등 자세한 내용은 아래 조치 작업에 대한 매개 변수 정의하기를 참조하세요.
- 이니셜라이저(옵션) – 웹 서비스가 코드를 실행할 때 또는 세션 변수가 설정될 때, API 요청이 실행되기 전에 사용자 컨텍스트 세부 정보를 수정할 때 작업 인스턴스를 생성하기 전에 실행할 사용자 정의 JavaScript를 지정하거나 세션 변수를 설정합니다. 자세한 내용은 아래 조치 작업에 대한 이니셜라이저 정의하기를 참조하세요.
- 요청 – 봇에 대한 URL과 경로를 사용하여 웹 서비스에 API 호출을 수행해 조치 작업을 시작하고 웹 서비스에서 봇 플랫폼으로 데이터 페이로드 전달을 시작하는 데 사용되는 요청 체인을 정의합니다. 요청 체인은 전처리기, API 요청 및 후처리기로 구성됩니다. 자세한 내용은 아래 조치 작업에 대한 요청 체인 정의하기를 참조하세요.
- 응답 샘플 – 조치 작업 페이로드에서 수신할 것으로 예상되는 키/값 쌍을 정의합니다. 입력한 키는 봇 사용자에게 표시할 데이터를 처리하기 위해 드롭다운 선택 항목으로 사용할 수 있습니다. 자세한 내용은 아래 조치 작업에 응답 샘플 추가참조하세요.
- 매개 변수 섹션을 클릭한 다음 추가를 클릭합니다. 작업 매개 변수 설정 대화 상자가 열립니다.
- 선택에 따라 다음 표에 설명된 대로 관련 필드 값을 입력합니다.
필드 이름 설명 작업 매개 변수 유형 다음 중 하나를 지정합니다.
- 페이로드 매개 변수 – 이 필드 유형을 사용하여 POST, PUT, GET, DELETE 등 HTTP 메소드의 페이로드 데이터를 나타냅니다. 예:
{ "taskId":"{payloadfield2}", "message":"{payloadfield1}" }
- 쿼리 매개 변수 – 이 필드는 URL 경로 또는 URL 내의 쿼리의 일부로 사용됩니다. 예:
http://app.asana.com/api/workspaces/{queryfield1}/project/{queryfield2}?userId={queryfield3}
매개 변수 이름 사용자에게 표시되는 작업 입력 필드의 제목입니다. 예: 계정 선택 프롬프트 메시지 매개 변수 이름 아래에 표시되는 도움말 설명입니다. 예: 어떤 계정에 액세스하시겠습니까? 매개 변수 키 수집하려는 최종 사용자 입력 값을 나타내는 키입니다. 예: accountType. 엔티티 유형 입력 매개 변수가 엔티티와 연결되며 다음 중에서 엔티티 유형을 선택할 수 있습니다.
- 첨부
- 도시
- 국가
- 회사
- 통화
- 날짜
- 이메일
- 레이블
- 위치
- 메시지
- 이름
- 숫자
- 퍼센트
- 전화번호
- 문자열
엔티티 유형에 대한 자세한 내용은 여기를 클릭하세요. 선택한 엔티티 유형에 따라 나머지 매개 변수가 설정되어 동일하게 수정할 수 있습니다.
매개 변수 유형 키 값에 할당할 요청 개체의 사용자 입력 수집을 위해 최종 사용자 인터페이스에 표시되는 작업 입력 필드의 유형을 지정합니다. 기본 설정은 텍스트 상자이지만 다음 중 하나에 맞게 사용자 정의할 수 있습니다.
- 날짜 – 작업을 계정에 설정할 때 최종 사용자가 정의할 날짜 형식 구문을 선택할 수 있는 형식 필드를 표시합니다. 날짜 형식 선택 드롭다운 목록에서 다음 중 하나를 선택합니다.
- dd-MM-YYYY – 예: 16-05-1999
- MM-dd-YYYY – 예: 05-16-1999
- dd-MM-YY – 예: 16-05-99
- YYYY-MM-dd – 예: 1999-05-16
- URL – 올바른 URL 구문을 위한 필드 유효성 검사를 포함하여 최종 사용자가 URL을 입력할 수 있는 텍스트 상자를 표시합니다. 플레이스 홀더 필드에 텍스트 상자에 표시되는 도움말 힌트를 입력합니다. 예: 여기에 웹 사이트의 URL 입력.
- 텍스트 상자 – 최종 사용자가 작업 입력 필드로 텍스트를 입력하기 위한 텍스트 상자를 표시합니다. 일반적으로 몇 단어입니다. 플레이스 홀더 필드에 텍스트 상자에 표시되는 도움말 힌트를 입력합니다. 예: 여기에 웹 사이트의 URL 입력.
- 암호 – 암호는 UI 형식에서는 마스킹되지만 웹 형식에서는 일반 텍스트로 전송됩니다.
- 정적 드롭다운 – 최종 사용자에 대한 드롭다운 선택 목록을 표시합니다. 옵션 추가를 클릭하여 다음 매개 변수를 사용하여 최종 사용자에게 표시할 항목 목록을 추가합니다.
- 옵션 이름 – 최종 사용자에게 표시되는 옵션의 이름입니다.
- 옵션 값 – 애플리케이션에 반환된 옵션 이름을 나타내는 값입니다.
- 기본값 – 하나 이상의 옵션이 정의된 경우 옵션의 기본값을 선택합니다.
- 검색 가능 – 최종 사용자가 이 필드에 텍스트를 입력할 때 동적 검색 및 표시를 사용함으로 설정하거나 일치 항목이 없는 경우 자유 양식 입력을 허용하려면 선택합니다.
저장을 클릭합니다. 추가 항목을 추가하려면 옵션 추가를 다시 클릭합니다. 옵션의 조치 열에서 옵션을 편집하거나 삭제합니다.
- 동적 드롭다운 – 봇의 URL 응답에 따라 실행 시 동적으로 채워진 드롭다운 목록을 표시합니다. 예: JIRA 작업 알림용 프로젝트 목록. 동적으로 채워진 드롭다운에 대해 다음 속성을 정의합니다.
- 엔드포인트 URL – 봇 엔드포인트 URL(예: https://app.asana.com/api/1.0/workspaces.
- 엔드포인트 콘텐츠 유형 – 지정된 엔드포인트 URL에서 예상되는 컨텐츠 유형입니다. 다음 중 하나입니다. JSON, RSS, XML, URL Encoded JSON, CCV, Text 또는 Twitter 인코딩된 JSON.
- 엔드포인트 메소드 – 다음 중 하나입니다.
- GET – 작업 필드의 HTTP 요청 GET 메소드를 지정합니다.
- POST – 작업 필드의 HTTP 요청 POST 메소드를 지정합니다.
- 응답 경로 – 원하는 드롭다운 목록 값이 포함된 응답의 경로입니다. 예: data.
- 라벨 키 – 드롭다운 옵션의 라벨 키입니다. 예: name.
- 옵션 값 키 – 드롭다운 옵션의 값의 키입니다. 예: id.
- 페이로드 필드 추가 – 동적 드롭다운에 대한 옵션으로 응답 페이로드에서 하나 이상의 필드를 추가하려면 클릭합니다. 각 페이로드 필드에서 페이로드 필드 키 및 페이로드 필드 값을 입력한 다음 저장을 클릭합니다. 조치 열에서 페이로드 필드를 편집하거나 삭제합니다.
- 검색 가능 – 최종 사용자가 이 필드에 텍스트를 입력할 때 동적 검색 및 표시를 사용함으로 설정하거나 일치 항목이 없는 경우 자유 양식 입력을 허용하려면 선택합니다.
- 텍스트 영역 – 최종 사용자가 작업 입력으로 텍스트를 입력하기 위한 텍스트 영역을 표시합니다. 일반적으로 몇 문장입니다. 플레이스 홀더 필드에서 텍스트 영역 내부에 표시되는 도움말 힌트를 입력합니다.
- 타입 어헤드 – 작업에 정의된 URL 응답에 따라 사용자가 검색 결과와 일치하는 3개 이상의 문자를 입력할 때 실행 시 동적으로 채워진 드롭다운 선택 목록을 최종 사용자에게 표시합니다. 예: JIRA 작업 알림 메시지의 프로젝트 목록. 동적으로 채워진 드롭다운에 대해 다음 속성을 정의합니다.
- 엔드포인트 URL – 봇 엔드포인트 URL(예: https://app.asana.com/api/1.0/workspaces.
- 엔드포인트 콘텐츠 유형 – 지정된 엔드포인트 URL에서 예상되는 컨텐츠 유형입니다. 다음 중 하나입니다. JSON, RSS, XML, URL Encoded JSON, CCV, Text, Twitter Encoded JSON, Multipart/Form-data 또는 Multipart/Related.
- 엔드포인트 메소드 – 다음 중 하나입니다.
- GET – 작업 필드의 HTTP 요청 GET 메소드를 지정합니다.
- POST – 작업 필드의 HTTP 요청 POST 메소드를 지정합니다.
- 응답 경로 – 원하는 드롭다운 목록 값이 포함된 응답의 경로입니다. 예: data.
- 라벨 키 – 드롭다운 옵션의 라벨 키입니다. 예: name.
- 옵션 값 키 – 드롭다운 옵션의 값의 키입니다. 예: id.
- 페이로드 필드 추가 – 타입 어헤드 필드에 대한 옵션으로 응답 페이로드에서 하나 이상의 필드를 추가하려면 클릭합니다. 각 타입 어헤드 옵션에서 페이로드 필드 키 및 페이로드 필드 값을 입력한 다음 저장을 클릭합니다. 조치 열에서 페이로드 필드를 편집하거나 삭제합니다.
- 편집 가능 – 타입 어헤드 검색 결과가 일치하지 않을 때 사용자가 필드에서 텍스트를 자유롭게 입력할 수 있습니다.
- 이메일 – 최종 사용자가 이메일 주소를 입력할 수 있는 텍스트 상자를 표시합니다. 플레이스 홀더 필드에서 텍스트 상자 내부에 최종 사용자에게 표시되는 도움말 힌트를 입력합니다.
- 날짜 및 시간 – 최종 사용자가 시간과 함께 날짜를 입력할 수 있는 텍스트 상자를 표시합니다. 형식 필드에서 날짜 텍스트 상자에 최종 사용자에게 표시할 예상되는 날짜 또는 시간 형식을 입력합니다. 날짜 형식 선택 드롭다운 목록에서 시간 형식의 날짜를 선택합니다.
- 시간대 – 운영 체제 설정에 따른 시간대 드롭다운 목록을 표시합니다.
- 위치 – 최종 사용자가 지리적 위치를 입력할 수 있는 텍스트 상자를 표시합니다. 예: Orlando, FL 또는 32801.
- 중첩된 양식 – 상위 입력 필드 아래에 중첩된 형식으로 최종 사용자 입력 필드를 표시합니다. 중첩된 양식 입력 필드에 대해 다음 필드를 지정합니다.
- 배열 요소 유형 – 상위 입력 양식 요소의 데이터 유형을 선택합니다.
- 중첩 양식 필드 추가 – 하나 이상의 중첩된 양식 필드를 추가하려면 클릭합니다.
- 파일 업로드 – 검색할 최종 사용자 컨트롤을 표시하고 업로드할 파일을 선택합니다. 클릭되면 파일 업로드 페이로드 키를 입력합니다. 파일 업로드 페이로드 키가 정의된 경우 파일 업로드 페이로드 필드 값 드롭다운 목록에서 다음 유형 중 하나를 선택합니다.
- 파일 이름
- 파일 크기
- 파일 콘텐츠 유형
데이터 유형 다음 사용자 입력 유형 중 하나를 선택합니다.
- 문자열 – 사용자는 연속된 숫자, 문자 또는 특수 문자를 입력할 수 있습니다.
- 숫자 – 사용자는 숫자를 입력할 수 있습니다. 특수 문자는 허용되지 않습니다.
- 불리언 – 사용자는 true 또는 false의 부울 값을 입력할 수 있습니다.
- 이메일 – 사용자는 유효한 이메일 주소를 입력할 수 있습니다.
- 개체 – 봇의 데이터는 JSON 개체로 수신할 수 있습니다. 예: 다음과 같이 정의된 위치 세부 정보: “location” : { “lat” : 17.4374614, “lng” : 78.4482878 } 요청 체인 또는 작업 요청에서 속성을 location.lat 및 location.lng로 참조할 수 있습니다.
- Array – 사용자는 쉼표로 구분된 값 목록을 봇에 전달할 수 있습니다. 예: 구글 캘린더에서 데이터가 있는 여러 참석자는 다음과 같이 전달할 수 있습니다. “attendees”: [“user1”, “user2”, “user3”]선택되면 사용자 입력 배열의 유형을 다음 중 하나로 지정합니다.
- 문자열
- 숫자
- 불리언
- 이메일
- 배열
- 날짜
- 날짜 – 사용자는 전체 날짜를 입력하거나 날짜 선택기에서 날짜를 선택할 수 있습니다.
- 페이로드 매개 변수 – 이 필드 유형을 사용하여 POST, PUT, GET, DELETE 등 HTTP 메소드의 페이로드 데이터를 나타냅니다. 예:
- 필수 – 최종 사용자가 이 설정을 정의하여 작업 설정 구성을 저장하려는 경우 선택합니다.
- 고급 설정 탭을 클릭하여 작업 필드의 추가 옵션 설정을 정의합니다.
필드 이름 설명 가시성 작업 입력 필드를 최종 사용자에게 표시할지 숨길지 여부를 지정합니다. 가시성 필드는 사용자 정의로 설정할 수도 있으며 데이터는 사용자로부터 캡처되지만 쿼리 매개 변수 또는 페이로드 필드로 사용되지 않습니다. 예: JIRA 봇을 사용하는 경우 아래와 같이 @mention 태그를 사용하여 티켓에 의견을 게시합니다. “@Mike, 이 문제를 살펴보세요”‘의견 게시’를 위한 JIRA API는 다음과 같이 하나의 쿼리 필드와 하나의 페이로드 필드가 필요합니다.
- 발급 ID
- 의견
가시성 필드를 사용자 정의로 설정하면 페이로드 필드 또는 쿼리 필드로 사용하지 않고
comment
필드 값에 추가할 데이터를 가져오기 위해 JIRA API를 사용하여@Mike
로 언급된 사용자의 사용자 정보를 캡처할 수 있습니다. 기본 가시성 필드 설정은 Visible입니다.키 전치 해제 Kore.ai의 키 전치를 비활성화하려면 선택하세요. 기본적으로 Kore.ai는 키/값 쌍을 전치합니다. 예: Kore.ai는 “parameter”:”value”를 “parameter:{value:”actualValue”}로 전치합니다. 선택되면 키는 전치되지 않습니다. 세션에서 가져오기 이 필드의 사용자 입력 값을 세션 변수로 저장하려면 선택합니다. 선택되면 세션의 필드 값 필드가 표시됩니다. 기존 변수를 선택하거나 새 세션 변수 추가를 선택하여 새 변수를 정의합니다. 새 세션 변수를 생성하려면 변수의 범위를 선택하고 변수를 저장할 키를 정의해야 합니다. 범위 필드에서 다음 중 하나를 선택합니다.
- EnterpriseContext – 엔터프라이즈 모든 사용자가 사용할 수 있는 키/값 쌍을 정의합니다.
- BotContext – 봇의 모든 사용자가 사용할 수 있는 키/값 쌍을 정의합니다.
- UserSession – 엔터프라이즈 내 모든 봇 사용자를 위한 키/값 쌍을 정의합니다.
- BotUserSession – 사용자 입력을 기반으로 봇이 사용 가능한 키/값 쌍을 정의합니다.
작업 이니셜라이저 정의
작업 이니셜라이저를 설정하려면 이니셜라이저 탭을 클릭하세요. 필요한 코드를 작성할 수 있는 JavaScript 편집기가 열립니다. JavaScript 편집기에서 다음과 같이 키 및 범위를 정의합니다.
- EnterpriseContext – 엔터프라이즈 내 모든 봇과 사용자가 사용할 수 있는 키-값 쌍입니다. 예: GitHub 봇의 경우 사용자는 하나 이상의 엔터프라이즈 저장소에 액세스해야 합니다. 이니셜라이저에서 다음 JavaScript 코드를 사용하여 저장소 데이터를 Gitrepository (엔터프라이즈 컨텍스트)로 유지할 수 있습니다.
var userRepository = { "title": _labels_[repository], "value": repository }; EnterpriseContext.put('Gitrepository', userRepository, 200000);
- BotContext – 특정 봇의 모든 사용자가 사용할 수 있는 키-값 쌍입니다. 예: 사용자의 위치에 따라 세션에서 금융 거래를 위한 기본 통화를 설정할 수 있습니다. 이니셜라이저에서 다음 JavaScript 코드를 사용하여 기본 통화 데이터를 currency (봇 컨텍스트)로 유지할 수 있습니다.
var defaultCurrency = { TODO Custom JavaScript for location-based currency } BotContext.put('currency', defaultCurrency, 200000);
- UserContext – 사용자의 모든 봇이 사용할 수 있는 키-값 쌍입니다. 이 키는 읽기 전용이며 시스템에서 다음과 같은 사용자 데이터로 제공됩니다.
- _id – Kore.ai 사용자 ID입니다.
- emailId – userId에 연결된 이메일 주소입니다.
- lastName – 사용자의 성입니다.
- firstName – 사용자의 이름입니다.
- profImage – 사용자의 이미지 또는 아바타 파일 이름입니다.
- profColour – 사용자의 계정 색상입니다.
- activationStatus – 사용자의 계정 상태입니다.
- title – 정의된 경우 사용자의 직함입니다.
- orgId – 정의된 경우 사용자 계정의 조직 ID입니다.
- UserSession – 엔터프라이즈 내 모든 봇의 특정 사용자가 사용할 수 있는 키-값 쌍을 정의합니다. 예: 상거래, 운송 및 가정 배달 서비스를 위한 사용자 집 주소와 같이 사용자 위치를 저장하여 모든 봇이 사용할 수 있도록 해야 합니다. 이니셜라이저에서 다음 JavaScript 코드를 사용하여 기본 위치 데이터를 HomeLocation (사용자 세션)으로 유지할 수 있습니다.
var location = { "title": labels[location], "value": { "latitude": location.latitude, "longitude": request.location.longitude } }; UserSession.put('HomeLocation', location, '20000');
- BotUserSession – 같은 특정 사용자의 입력을 기반으로 특정 봇이 사용 가능한 키-값 쌍을 정의합니다. 예: 하나 이상의 봇 작업에 대해 사용자 위치를 유지해야 합니다. 여행 봇의 경우 같은 집 주소와 목적지 주소를 기준으로 항공편과 호텔을 예약할 수 있습니다. 이니셜라이저에서 다음 JavaScript 코드를 사용하여 기본 집 및 목적지 데이터를 HomeLocation (봇 사용자 세션) 및 DestinationLocation (봇 사용자 세션)으로 유지할 수 있습니다.
var homelocation = { "title": labels[request.sourceLocation], "value": { "latitude": request.sourceLocation.latitude, "longitude": request.sourceLocation.longitude } }; BotUserSession.put('HomeLocation', homelocation, '20000'); var destlocation = { "title": labels[request.destLocation], "value": { "latitude": request.destLocation.latitude, "longitude": request.destLocation.longitude } }; BotUserSession.put('DestinationLocation', destlocation, '20000’);
GET 및 PUT 구문
다음 코드 예시에서는 각 컨텍스트 유형에 따라 키-값 쌍을 GET 또는 PUT하는 구문을 보여줍니다.
"EnterpriseContext" : { "get" : function(key){...},//지정된 키 획득 key "put" : function(key, value, ttl){...} //특정 ttl에 대한 값을 키에 입력합니다. ttl은 분 단위입니다. }, "BotContext" : { "get" : function(key){...},//지정된 키 획득 key "put" : function(key, value, ttl){...} //특정 ttl에 대한 값을 키에 입력합니다. ttl은 분 단위입니다. }, "UserContext" : { "get" : function(key){...},//지정된 키 획득 }, "UserSession" : { "get" : function(key){...},//지정된 키 획득 key "put" : function(key, value, ttl){...} //특정 ttl에 대한 값을 키에 입력합니다. ttl은 분 단위입니다. }, "BotUserSession" : { "get" : function(key){...},//지정된 키 획득 key "put" : function(key, value, ttl){...} //특정 ttl에 대한 값을 키에 입력합니다. ttl은 분 단위입니다. }
예:
BotContext.put("topicSessionVariable","music",2000); UserSession.put("firstName","Mary",20000); UserContext.get("firstName");
예외 구문
인증 실패와 같은 작업 설정 전에 오류를 캡처하도록 사용자 정의 오류 메시지를 정의할 수도 있습니다. 예외가 캡처된 경우 작업 설정이 중지됩니다. 다음 구문을 사용하여 예외를 발생시킵니다.
{ "exceptions": { "message": " 오류 메시지" } }
예,
var ex ={}; var exceptions={}; exceptions.message ='유효한 권한 없이 계속 할 수 없습니다'; ex.exceptions = exceptions; print(JSON.stringify(ex)); //출력은 필수입니다.
이니셜라이저 섹션에서는 세션 키 또는 기타 세션 값을 설정할 수 있지만 값을 설정하거나 액세스할 수는 없습니다. 예,
var name = UserContext.get("firstName")+UserContext.get("lastName"); UserSession.put("fullName") = name;
앞의 코드 예시에서는 작업의 고급 설정 섹션에서 세션에서 가져오기 필드로 정의된 작업 매개 변수를 사용하여 세션에 값을 입력합니다. 키는 사용자 정의된 UserSession
컨텍스트 변수에 대해 fullName
으로 정의됩니다.
작업 이니셜라이저 예시
다음 코드는 API 요청에서 변수를 미리 채우는 사용자 ID 및 이메일 데이터를 얻기 위한 작업 이니셜라이저의 예입니다.
var x = UserContext.get("identities"); var isEmailFound = false; for (var i = 0; i < x.length; i++) { if (x[i].type === "mapped") { var identity = x[i].val var arr = identity.split("/"); var pattern = /^cs/i; var result = arr[0].match(pattern); if (result) { isEmailFound = true; UserSession.put("rtmEmail", arr[1], '20000'); } } } if (!isEmailFound) { for (var j = 0; j < x.length; j++) { if (x[j].type === "email") { UserSession.put("rtmEmail", x[j].val, '20000'); } } }
API 요청
모든 작업에 대해 작업을 시작하려면 웹 서비스 호출을 위한 API 요청을 정의해야 합니다. 각 작업을 위해 최소한 하나의 API 요청은 필요합니다. 각 API 요청에 대해 웹 서비스에서 데이터 페이로드 전달을 시작하려면 하나 이상의 요청 URL 및 경로를 추가해야 합니다.
API 요청 설정하기
- API 요청 탭에서 요청 탭을 확장한 다음 API 추가를 클릭합니다.
- 다음 절차에 설명된 대로 API 추가 대회 상자에 필드 값을 지정합니다.
- 이름 필드에 API 요청의 이름을 입력합니다. 예: 내 API 요청.
- 메소드 드롭다운 목록에서 작업에 사용되는 HTTP 메소드를 입력합니다. 다음 중 하나입니다.
- POST – HTML 양식을 사용하여 고객 정보, 파일 업로드 등 서버에 데이터를 전송하는 데 사용됩니다.
- PUT – 대상 리소스의 내용을 전송된 내용으로 대체합니다.
- PATCH – 기존 대상 리소스의 내용에 전송된 내용을 추가합니다.
- DELETE – 기존 대상 리소스의 내용을 삭제합니다.
- GET – 기존 대상 리소스의 내용을 반환합니다.
- URL 필드에서 프로세스에 대한 봇 작업 응답의 URL(예: http://koremessenger.com/postURL)을 지정합니다. 다음 예시와 같이 URL에서 세션 변수를 사용할 수도 있습니다.
https://mySite.crm.ondemand.com/sap/c4c/odata/v1/c4codata/ServiceRequestCollection?$filter=ID eq '{id}' and ReporterEmail eq '{userEmail}'&$expand=ServiceRequestHistoricalVersion,ServiceRequestDescription
참고 사항: 일부 URL에서는 끝과 시작 매개 변수에 전용 Kore.ai 매개 변수 값을 사용할 수 있습니다. Kore.ai 매개 변수 값에 대한 자세한 내용은 봇 추가하기의 봇 관련 설명서를 참조하세요. - 커넥터를 사용한 액세스 필드에서 Kore.ai 커넥터 에이전트를 사용하여 Kore.ai 봇의 액세스를 활성화하려면 예를 선택합니다. 이 옵션은 Kore.ai 커넥터 에이전트가 엔터프라이즈 온프레미스 네트워크에서 설정되어 사용함으로 설정한 경우에만 표시됩니다. 자세한 내용은 Kore.ai 커넥터 사용을 참조하세요.
- 헤더 탭의 콘텐츠 유형 필드에서 샘플 응답 데이터에 대해 지원되는 다음 데이터 유형 중 하나를 선택합니다.
- JSON – JavaScript Object Notation은 사람이 읽을 수 있는 텍스트를 사용하여 데이터 개체를 속성-값 쌍으로 전송하는 개방형 표준 포맷입니다. JSON을 사용하여 Kore.ai 서버와 봇 웹 애플리케이션 간에 데이터를 전송할 수 있습니다.
- RSS – Rich Site Summary 또는 Really Simple Syndication은 블로그 항목, 뉴스 헤드라인, 음성 및 동영상과 같이 자주 업데이트 되는 정보를 게시하는 데 사용되는 표준화된 형식 집합입니다.
- XML – Extensible Markup Language는 사람이 읽을 수 있고 기계가 읽을 수 있는 형식으로 문서를 인코딩하기 위한 규칙 집합을 정의한 마크업 언어입니다. 웹 서비스는 종종 XML 스키마를 사용하여 XML 데이터를 처리합니다.
- URL 인코딩된 JSON – 예약된 문자에 대해 JSON 인코딩을 사용한 URL입니다.
- CSV – 쉼표로 구분된 값 목록입니다.
- Text – 텍스트 기반 키-값 쌍입니다.
- Twitter 인코딩된 JSON – 예약된 문자에 대해 JSON 인코딩을 사용한 Twitter의 URL입니다.
- Multipart/Form-data – 사용자가 양식에서 파일을 업로드할 수 있도록 하는 경우 HTTP POST 요청 메소드를 통해 파일을 전송하는 인코딩 유형입니다.
- Multipart/Related – 같은 정보를 다른 본문 파트에 다른 형태로 표시할 때 사용됩니다. 본문 파트는 복잡도가 높은 순으로 정렬됩니다.
- Oracle ADF – Oracle Application Development Framework용 입니다.
- 권한 부여 헤더 섹션에서 키를 선택하거나 선택 취소하여 다음 그림과 같이 헤더의 키를 사용하거나 비활성화합니다.
- 다음 그림과 같이 매개 변수 탭에서 헤더에 포함할 권한 부여 매개 변수 또는 매개 변수를 선택하거나 선택 취소합니다.
- 저장을 클릭하여 저장하고 API 요청 설정을 닫습니다.
처리기
처리기를 사용하면 JavaScript를 사용하여 웹 서비스에 API 요청 전, 요청 중, 요청 후 사용자 세션에서 수집된 데이터를 수정할 수 있습니다. API 요청 전 처리기를 정의하고 배치하는 경우 전처리기입니다. 전처리기를 사용하면 API 요청이 수행되기 전 세션 변수에서 입력 매개 변수와 값을 관리할 수 있습니다. 처리기가 API 요청 후 순차적으로 배치된 경우 후처리기입니다. 후처리기를 사용하여 API 요청에서 페이로드 응답 키에 액세스할 수 있습니다. 키에 액세스하려면 다음 후처리기 유형 중 하나를 사용하세요.
- Resolve: 두 번째 요청에 대한 입력으로 하나의 페이로드 응답의 결과를 사용합니다.
- Spread – 페이로드에서 데이터 배열을 분리합니다.
- Extract – 여러 개체가 있는 페이로드의 특정 개체의 경로를 지정합니다.
- Assign – 페이로드 응답의 변수 이름을 지정합니다.
전처리기
세션 변수 및 매개 변수를 사용하여 API 요청을 실행하기 전에 전처리기를 사용해 요청 매개 변수를 관리할 수 있습니다. 전처리기를 정의할 때 처리 유형을 사용자 정의로 설정한 다음 표시되는 JavaScript 편집기에 코드를 입력해야 합니다. 전처리기는 사용자 정의 유형만 될 수 있습니다.
전처리기 추가하기
- API 요청 페이지에서 요청 탭을 확장한 다음 처리기 추가를 클릭합니다.
- 이름 필드에 처리기의 이름을 입력합니다.
- 처리 유형 드롭다운 목록에서 전처리기에 대해 사용자 정의를 선택합니다.
- 다음 구문을 사용하여 필요에 따라 요청 매개 변수를 수정하기 위한 코드를 추가합니다.
{ "fields": { "payloadFields": { // 페이로드 필드에 대한 값 설정 "key1": "value1", // 페이로드 필드는 경고 작업에 적용할 수 없습니다. "key2": "value2".... }, "headerFields": { // 헤더 필드에 대한 값 설정 "key1": "value1", "key2": "value2".... }, "pathFields": { // 경로 필드 또는 쿼리 필드에 대한 값을 설정합니다. "key1": "value1", "key2": "value2".... } } }
예: 다음 코드 조각을 사용하여 API 개체의 경로 필드 또는 쿼리 필드를 설정할 수 있습니다.
var fields= {}; var pathFields = {}; pathFields.fullName = UserContext.get("firstName")+UserContext.get("lastName") fields.pathFields = pathFields; var finalObject = {}; finalObject.fields = fields; print(JSON.stringify(finalObject));
이전 코드에서
firstName
및lastName
이 세션 변수로John
및Smith
로 각각 저장된 경우 전처리기의 JSON 응답 페이로드는 다음과 같습니다.{ fields: { "pathFields": { "key": "fullName", "value": "John Smith" } } }
다음 전처리기 예시에서는 실제 API 요청 호출 전에 변수를 세션 변수로 설정합니다.
var fields = {}; var pathFields = {}; var UserEmailID = UserSession.get("rtmEmail"); pathFields.userEmail = UserEmailID; fields.pathFields = pathFields; var finalObject = {}; finalObject.fields = fields; print(JSON.stringify(finalObject));
- 저장을 클릭하여 저장하고 처리기 추가 대화 상자를 닫습니다.
후처리기 추가하기
Kore.ai 후처리기를 사용하여 웹 서비스에서 원하는 데이터 페이로드를 가져오려면 하나 이상의 API 요청이 필요합니다.
사용자 정의 후처리기 정의
사용자 정의 후처리기를 생성하려는 경우 다음 구문을 사용하여 이전 API 요청의 응답 키에 액세스할 수 있습니다”
payload[0].{ key }
JSON 구문
{ "payload": { "key1" : "value1", "key2" : "value2" } }
예
var final = {}; var data = payload[0]; //이전 API 개체의 응답을 액세스 data.title[0] = '키의 새 값을 여기에 입력'; final.payload = data; // API 개체의 응답을 업데이트 print(JSON.stringify(final)); // 이 단계는 필수입니다
사용자 정의 처리기의 경우 이전 코드와 같이 최종 응답을 출력해야 합니다. 그렇지 않으면 빈 응답이 반환됩니다. 다음 구문을 사용합니다.
print(JSON.stringify( <<object>> ));
표준 후처리기 설정
표준 후처리기를 추가하려면 다음 단계를 따릅니다.
- API 요청 탭에서 요청 탭을 확장한 다음 처리기 추가를 클릭합니다.
- 또한 Kore.ai는 후처리기를 위한 사용자 정의 코드를 생성하는 대신 사용할 수 있는 일련의 표준 후처리기를 제공합니다. 처리 유형 필드에서 다음 네 가지 표준 처리기 유형 중 하나를 선택합니다.
- Resolve: 두 번째 요청에 대한 입력으로 하나의 페이로드 응답의 결과를 사용합니다. 예: 처리기 추가를 클릭하고 처리기의 이름을 입력하고 처리 유형을 resolve로 설정하고 키를 변수의 이름으로 설정한 다음 첫 번째 API 요청의 변수를 사용하여 Post URL을 정의합니다. 예: https://app.asana.com/api/1.0/projects/{project_id}는 페이로드 응답에서 다음과 같이 id 필드를 반환합니다.
... "id":80468818418144, <br/> "created_at":"2016-01-14T05:34:35.848Z", "modified_at":"2016-01-20T04:29:52.505Z", "owner":{ "id":73114591129714, "name":"jaganmohan.evuri" }, ...
그 이후 다음과 같이 변수 입력으로 사용됩니다 Post URL: https://app.asana.com/api/1.0/projects/{id}/tasks?opt_fields=completed,modified_at 페이로드 응답에서 예상되는 HTML 콘텐츠 유형 및 HTML 요청 메소드를 지정해야 합니다. 자세한 내용은 작업에서 세션 변수 및 컨텍스트 변수 사용하기를 참조하세요.
- Spread: 분리해야 하는 데이터 배열이 포함된 페이로드입니다. 예: 처리기 추가를 클릭하고 처리기의 이름을 입력하고 키 필드를 데이터로 설정하고 처리 유형을 spread로 설정하여 다음 코드 예제에서
data
요소의 내용을 캡처하여 배열의 각 항목을 추출합니다.{ "attribution": null, "tags": [], "type": "image", "location": null, "comments": { "count": 51, "data": [{ "created_time": "1453900980", "text": "43rd", "from": { "username": "kore_hyd", "profile_picture": "https://scontent.cdninstagram.com/t51.2885-19/11906329_960233084022564_1448528159_a.jpg", "id": "2056218675", "full_name": "Kore.ai Hyd" }, "id": "1171728804843572377" }, { "created_time": "1453901222", "text": "44th", "from": { "username": "kore_hyd", "profile_picture": "https://scontent.cdninstagram.com/t51.2885-19/11906329_960233084022564_1448528159_a.jpg", "id": "2056218675", "full_name": "Kore.ai Hyd" }, "id": "1171730841379491107" }, { "created_time": "1453901997", "text": "45th", "from": { "username": "kore_hyd", "profile_picture": "https://scontent.cdninstagram.com/t51.2885-19/11906329_960233084022564_1448528159_a.jpg", "id": "2056218675", "full_name": "Kore.ai Hyd" }, "id": "1171737339782450909" }, { "created_time": "1453902304", "text": "46th and 47th", "from": { "username": "kore_hyd", "profile_picture": "https://scontent.cdninstagram.com/t51.2885-19/11906329_960233084022564_1448528159_a.jpg", "id": "2056218675", "full_name": "Kore.ai Hyd" }, "id": "1171739915923967873" }, { "created_time": "1453902638", "text": "48th", "from": { "username": "kore_hyd", "profile_picture": "https://scontent.cdninstagram.com/t51.2885-19/11906329_960233084022564_1448528159_a.jpg", "id": "2056218675", "full_name": "Kore.ai Hyd" }, "id": "1171742713994497101" }, { "created_time": "1453964684", "text": "49th", "from": { "username": "venkataphani.ailavarapu", "profile_picture": "https://scontent.cdninstagram.com/t51.2885-19/11906329_960233084022564_1448528159_a.jpg", "id": "2679234818", "full_name": "Phani" }, "id": "1172263199715314941" }, { "created_time": "1453964710", "text": "50th", "from": { "username": "kore_hyd", "profile_picture": "https://scontent.cdninstagram.com/t51.2885-19/11906329_960233084022564_1448528159_a.jpg", "id": "2056218675", "full_name": "Kore.ai Hyd" }, "id": "1172263415747136776" }, { "created_time": "1453964717", "text": "51st", "from": { "username": "kore_hyd", "profile_picture": "https://scontent.cdninstagram.com/t51.2885-19/11906329_960233084022564_1448528159_a.jpg", "id": "2056218675", "full_name": "Kore.ai Hyd" }, "id": "1172263474056350986" }] ...
- Extract: 여러 개체가 포함된 페이로드의 경우 특정 개체에 대한 경로를 지정할 수 있습니다. 예: 처리기 추가를 클릭하고 처리기의 이름을 입력하고 키 필드를
data
로 설정한 다음 처리 유형을 extract로 설정하여 다음 페이로드 응답에서 개체 데이터를 사용합니다.{ "user": { "full_name": "Kore.ai Hyd", "id": "2056218675", "profile_picture": "https://instagramimages-a.akamaihd.net/profiles/anonymousUser.jpg", "username": "kore_hyd" }, ... }, "likes": { "data": [{ "full_name": "kstream002", "id": "2100724876", "profile_picture": "https://instagramimages-a.akamaihd.net/profiles/anonymousUser.jpg", "username": "kstream002" } }, ... }
- Assign: Assign 처리기를 사용하여 필요한 경우 페이로드 응답의 변수 이름을 지정할 수 있습니다. 예: 페이로드에 페이로드 응답 데이터의 키가 포함되지 않은 경우. 예: 처리 유형을 assign으로 설정한 다음 출력 변수 필드에서 세 개의 개체 배열로 구성된 다음 페이로드의 출력 변수를 정의할 수 있습니다.
[ { "Cost": "$0.00", "Desc1": "계좌 개설 후 처음 3개월 간 500달러를 구매 시 150달러의 보너스. ", "Desc2": "무제한 캐시백을 얻기 구매 시마다 1.5%의 무제한 캐시백 얻기 자동입니다. 언제든지 원하는 금액의 캐시백으로 상환하세요. ", "Keywords": "주말 외식,온라인,식료품,연료,리워드,리베이트,365,여기저기", "OfferName": "Freedom Unlimited", "OfferType": "CreditCard", "Status": "1", "imageURL": "http://www.psdgraphics.com/file/credit-card.jpg", "id": "5b5195e264bbd800" }, { "Cost": "$95.00", "Desc1": "처음 60일 간 잔액을 이체할 때 잔액 송금 수수료는 0입니다.", "Desc2": "재무 건전성을 높이세요 잔액 송금을 위한 소개 수수료를 얻고 이자를 절약하고 매월 무료 신용 점수를 받으세요.", "Keywords": "권한,리베이트,건강,웰니스,그레이트 이스턴,보험,정책,할부,분할,현금 유동성", "OfferName": "Premium Plus", "OfferType": "CreditCard", "Status": "1", "imageURL": "http://i.imgur.com/rMOXYql.jpg", "id": "5caf2155873f89c8" }, { "Cost": "$10.00", "Desc1": "처음 60일 간 잔액을 이체할 때 잔액 송금 수수료는 0입니다.", "Desc2": "재무 건전성을 높이세요 잔액 송금을 위한 소개 수수료를 얻고 이자를 절약하고 매월 무료 신용 점수를 받으세요.", "Keywords": "권한,리베이트,건강,웰니스,그레이트 이스턴,보험,정책,할부,분할,현금 유동성", "OfferName": "Frequent Flyer", "OfferType": "CreditCard", "Status": "1", "imageURL": "http://www.moneychoice.org/wp-content/uploads/2016/01/credit-card-calculator-image.png.jpeg", "id": "c0b05bc3062658ee" } ]
출력 변수 필드에서 배열을 나타낼 변수를
offers
로 지정합니다. UX 미리 보기 기능을 사용한 경우 Kore.ai의 응답은 다음과 같습니다.{ "response": { "offers": [ { "Cost": "$0.00", "Desc1": "계좌 개설 후 처음 3개월 간 500달러를 구매 시 150달러의 보너스. ", "Desc2": "무제한 캐시백을 얻기 구매 시마다 1.5%의 무제한 캐시백 얻기 자동입니다. 언제든지 원하는 금액의 캐시백으로 상환하세요. ", "Keywords": "주말 외식,온라인,식료품,연료,리워드,리베이트,365,여기저기", "OfferName": "Freedom Unlimited", "OfferType": "CreditCard", "Status": "1", "imageURL": "http://www.psdgraphics.com/file/credit-card.jpg", "id": "5b5195e264bbd800" }, { "Cost": "$95.00", "Desc1": "처음 60일 간 잔액을 이체할 때 잔액 송금 수수료는 0입니다.", "Desc2": "재무 건전성을 높이세요 잔액 송금을 위한 소개 수수료를 얻고 이자를 절약하고 매월 무료 신용 점수를 받으세요.", "Keywords": "권한,리베이트,건강,웰니스,그레이트 이스턴,보험,정책,할부,분할,현금 유동성", "OfferName": "Premium Plus", "OfferType": "CreditCard", "Status": "1", "imageURL": "http://vignette3.wikia.nocookie.net/objectmayhem/images/5/52/Credit_card.png/revision/latest?cb=20130629150408", "id": "5caf2155873f89c8" } ] } }
출력 변수를
offers
로 설정하면 봇 빌더에서 변수를 다음과 같은 작업 응답 개체에서response.offers
로 사용할 수 있습니다.print(JSON.stringify(response)); var data = response.offers for (i = 0; i < data.length; i++) { print('<a href="' + data[i].imageURL + '" target="_blank">' + data[i].OfferName + '</a><br>'); print(data[i].Desc1) print('<br>'); print('<br>'); print('비용: ' + data[i].Cost) print('<br>'); if (i < data.length - 1) { print('<br>'); print('<br>'); } }
- Resolve: 두 번째 요청에 대한 입력으로 하나의 페이로드 응답의 결과를 사용합니다. 예: 처리기 추가를 클릭하고 처리기의 이름을 입력하고 처리 유형을 resolve로 설정하고 키를 변수의 이름으로 설정한 다음 첫 번째 API 요청의 변수를 사용하여 Post URL을 정의합니다. 예: https://app.asana.com/api/1.0/projects/{project_id}는 페이로드 응답에서 다음과 같이 id 필드를 반환합니다.
- 추가를 클릭하여 API 요청을 저장한 다음 다른 요청을 생성하거나 추가 및 종료를 클릭하여 API 요청을 저장하고 대화 상자를 닫습니다.
여러 API 요청의 경우 전체 데이터 응답을 얻는 데 필요한 요청을 순차적으로 순서를 정렬해야 합니다. 예: 작업 영역 목록, 프로젝트 목록, 마지막으로 사용자 목록을 요청해야 합니다. 위로 이동 아이콘과 아래로 이동 아이콘을 사용하여 API 요청을 재정렬합니다.
샘플 응답 추가하기
- 인증 – 조치 작업에 필요한 경우 기본 인증, OAuth 또는 API 키를 사용하여 API에 액세스하기 위해 인증을 정의해야 합니다. 자세한 내용은 위 섹션 API 요청 탭 – 조치 작업에 대한 인증 설정을 참조하세요.
- WSDL URL – WSDL 데이터를 포함하는 URL을 정의합니다. URL이 검색되면 WSDL 기반으로 사용 가능한 작업 목록에서 선택한 다음 사용자 입력 필드를 사용자 정의할 수 있습니다. 자세한 내용은 WSDL URL 정의를 참조하세요.
- 커넥터를 사용한 액세스 – 봇 플랫폼이 온프레미스에 설치되고 Kore.ai 커넥터 에이전트 사용 여부를 지정하세요. 자세한 내용은 커넥터를 사용한 액세스를 참조하세요.
- 응답 샘플 – 조치 작업 페이로드에서 수신할 것으로 예상되는 키-값 쌍을 정의합니다. 입력한 키 값은 최종 사용자에게 표시할 데이터를 처리하기 위해 드롭다운 선택 항목으로 사용할 수 있습니다. 자세한 내용은 조치 작업에 대한 응답 샘플 추가하기를 참조하세요.
- API 요청 탭에서 WSDL URL 섹션을 확장합니다
- SOAP 요청에 대한 요청 작업 설정을 시작하려면 WSDL URL 필드에 SOAP WSDL을 위한 URL을 입력합니다.
- WSDL 설명 얻기를 클릭합니다. WSDL에 정의된 사용 가능한 연산자 목록이 열립니다.
- 작업에 사용하려는 SOAP 요청을 위해 선택을 클릭합니다. Kore.ai는 사용자 입력에 필요한 경우 하나 이상의 조치 작업 필드를 자동으로 채웁니다.
SOAP 조치 작업 필드 사용자 정의
WSDL에서 하나 이상의 사용 가능한 작업을 선택한 후 Kore.ai에서 제공하는 기본 입력 필드를 사용자 정의할 수 있습니다 기본 조치 작업 필드를 사용자 정의하려면 다음 단계를 따르세요.
- 사용자 정의할 조치 작업 필드에 대해 편집을 클릭합니다. 조치 작업 필드 설정 대화 상자가 열립니다.
- 작업에 대한 입력 수집을 위해 최종 사용자 필드를 정의하려면 다음 표의 설명에 따라 조치 작업 필드 설정 대화 상자에 매개 변수의 값을 지정합니다.
필드 이름 설명 필드 제목 최종 사용자 인터페이스에 표시되는 작업 입력 필드의 제목입니다. 예: 국가. 도움말 힌트 작업을 설명하는 제목이 설정된 작업 아래에 표시된 도움말 텍스트입니다. 예: 날씨를 확인하려는 국가 이름을 입력하세요. 필드 키 수집하려는 최종 사용자 입력 값을 나타내는 읽기 전용 키입니다. 예: 국가. 필드 유형 키 값에 할당할 요청 개체의 사용자 입력 수집을 위해 최종 사용자 인터페이스에 표시되는 작업 입력 필드의 유형을 지정합니다. 기본 설정은 텍스트 상자이지만 다음 중 하나에 맞게 사용자 정의할 수 있습니다.
- 날짜 – 작업을 계정에 설정할 때 최종 사용자가 정의할 날짜 형식 구문을 선택할 수 있는 형식 필드를 표시합니다. 날짜 형식 선택 드롭다운 목록에서 다음 중 하나를 선택합니다.
- dd-MM-YYYY – 예: 16-05-1999
- MM-dd-YYYY – 예: 05-16-1999
- dd-MM-YY – 예: 16-05-99
- YYYY-MM-dd – 예: 1999-05-16
- URL – 올바른 URL 구문을 위한 필드 유효성 검사를 포함하여 최종 사용자가 URL을 입력할 수 있는 텍스트 상자를 표시합니다. 플레이스 홀더 필드에 텍스트 상자에 표시되는 도움말 힌트를 입력합니다. 예: 여기에 웹 사이트의 URL 입력.
- 텍스트 상자 – 최종 사용자가 작업 입력 필드로 텍스트를 입력하기 위한 텍스트 상자를 표시합니다. 일반적으로 몇 단어입니다. 플레이스 홀더 필드에 텍스트 상자에 표시되는 도움말 힌트를 입력합니다. 예: 여기에 웹 사이트의 URL 입력.
- 정적 드롭다운 – 최종 사용자에 대한 드롭다운 선택 목록을 표시합니다. 옵션 추가를 클릭하여 다음 매개 변수를 사용하여 최종 사용자에게 표시할 항목 목록을 추가합니다.
- 옵션 이름 – 최종 사용자에게 표시되는 옵션의 이름입니다.
- 옵션 값 – 애플리케이션에 반환된 옵션 이름을 나타내는 값입니다.
- 기본값 – 하나 이상의 옵션이 정의된 경우 옵션의 기본값을 선택합니다.
- 검색 가능 – 최종 사용자가 이 필드에 텍스트를 입력할 때 동적 검색 및 표시를 사용함으로 설정하거나 일치 항목이 없는 경우 자유 양식 입력을 허용하려면 선택합니다.
저장을 클릭합니다. 추가 항목을 추가하려면 옵션 추가를 다시 클릭합니다. 옵션의 조치 열에서 옵션을 편집하거나 삭제합니다.
- 동적 드롭다운 – 봇의 URL 응답에 따라 실행 시 동적으로 채워진 드롭다운 목록을 표시합니다. 예: JIRA 작업 알림용 프로젝트 목록. 동적으로 채워진 드롭다운에 대해 다음 속성을 정의합니다.
- 엔드포인트 URL – 봇 엔드포인트 URL(예: https://app.asana.com/api/1.0/workspaces.
- 엔드포인트 콘텐츠 유형 – 지정된 엔드포인트 URL에서 예상되는 컨텐츠 유형입니다. 다음 중 하나입니다. JSON, RSS, XML, URL Encoded JSON, CCV, Text 또는 Twitter 인코딩된 JSON.
- 엔드포인트 메소드 – 다음 중 하나입니다.
- GET – 작업 필드의 HTTP 요청 GET 메소드를 지정합니다.
- POST – 작업 필드의 HTTP 요청 POST 메소드를 지정합니다.
- 응답 경로 – 원하는 드롭다운 목록 값이 포함된 응답의 경로입니다. 예: data.
- 라벨 키 – 드롭다운 옵션의 라벨 키입니다. 예: name.
- 옵션 값 키 – 드롭다운 옵션의 값의 키입니다. 예: id.
- 페이로드 필드 추가 – 동적 드롭다운에 대한 옵션으로 응답 페이로드에서 하나 이상의 필드를 추가하려면 클릭합니다. 각 페이로드 필드에서 페이로드 필드 키 및 페이로드 필드 값을 입력한 다음 저장을 클릭합니다. 조치 열에서 페이로드 필드를 편집하거나 삭제합니다.
- 검색 가능 – 최종 사용자가 이 필드에 텍스트를 입력할 때 동적 검색 및 표시를 사용함으로 설정하거나 일치 항목이 없는 경우 자유 양식 입력을 허용하려면 선택합니다.
- 텍스트 영역 – 최종 사용자가 작업 입력으로 텍스트를 입력하기 위한 텍스트 영역을 표시합니다. 일반적으로 몇 문장입니다. 플레이스 홀더 필드에서 텍스트 영역 내부에 표시되는 도움말 힌트를 입력합니다.
- 타입 어헤드 – 작업에 정의된 URL 응답에 따라 사용자가 검색 결과와 일치하는 3개 이상의 문자를 입력할 때 실행 시 동적으로 채워진 드롭다운 선택 목록을 최종 사용자에게 표시합니다. 예: JIRA 작업 알림 메시지의 프로젝트 목록. 동적으로 채워진 드롭다운에 대해 다음 속성을 정의합니다.
- 엔드포인트 URL – 봇 엔드포인트 URL(예: https://app.asana.com/api/1.0/workspaces.
- 엔드포인트 콘텐츠 유형 – 지정된 엔드포인트 URL에서 예상되는 컨텐츠 유형입니다. 다음 중 하나입니다. JSON, RSS, XML, URL Encoded JSON, CCV, Text, Twitter Encoded JSON, Multipart/Form-data 또는 Multipart/Related.
- 엔드포인트 메소드 – 다음 중 하나입니다.
- GET – 작업 필드의 HTTP 요청 GET 메소드를 지정합니다.
- POST – 작업 필드의 HTTP 요청 POST 메소드를 지정합니다.
- 응답 경로 – 원하는 드롭다운 목록 값이 포함된 응답의 경로입니다. 예: data.
- 라벨 키 – 드롭다운 옵션의 라벨 키입니다. 예: name.
- 옵션 값 키 – 드롭다운 옵션의 값의 키입니다. 예: id.
- 페이로드 필드 추가 – 타입 어헤드 필드에 대한 옵션으로 응답 페이로드에서 하나 이상의 필드를 추가하려면 클릭합니다. 각 타입 어헤드 옵션에서 페이로드 필드 키 및 페이로드 필드 값을 입력한 다음 저장을 클릭합니다. 조치 열에서 페이로드 필드를 편집하거나 삭제합니다.
- 편집 가능 – 타입 어헤드 검색 결과가 일치하지 않을 때 사용자가 필드에서 텍스트를 자유롭게 입력할 수 있습니다.
- 이메일 – 최종 사용자가 이메일 주소를 입력할 수 있는 텍스트 상자를 표시합니다. 플레이스 홀더 필드에서 텍스트 상자 내부에 최종 사용자에게 표시되는 도움말 힌트를 입력합니다.
- 날짜 및 시간 – 최종 사용자가 시간과 함께 날짜를 입력할 수 있는 텍스트 상자를 표시합니다. 형식 필드에서 날짜 텍스트 상자에 최종 사용자에게 표시할 예상되는 날짜 또는 시간 형식을 입력합니다. 날짜 형식 선택 드롭다운 목록에서 시간 형식의 날짜를 선택합니다.
- 시간대 – 운영 체제 설정에 따른 시간대 드롭다운 목록을 표시합니다.
- 위치 – 최종 사용자가 지리적 위치를 입력할 수 있는 텍스트 상자를 표시합니다. 예: Orlando, FL 또는 32801.
- 중첩된 양식 – 상위 입력 필드 아래에 중첩된 형식으로 최종 사용자 입력 필드를 표시합니다. 중첩된 양식 입력 필드에 대해 다음 필드를 지정합니다.
- 배열 요소 유형 – 상위 입력 양식 요소의 데이터 유형을 선택합니다.
- 중첩 양식 필드 추가 – 하나 이상의 중첩된 양식 필드를 추가하려면 클릭합니다.
- 파일 업로드 – 검색할 최종 사용자 컨트롤을 표시하고 업로드할 파일을 선택합니다. 클릭되면 파일 업로드 페이로드 키를 입력합니다. 파일 업로드 페이로드 키가 정의된 경우 파일 업로드 페이로드 필드 값 드롭다운 목록에서 다음 유형 중 하나를 선택합니다.
- 파일 이름
- 파일 크기
- 파일 콘텐츠 유형
데이터 유형 다음 사용자 입력 유형 중 하나를 선택합니다.
- 문자열 – 사용자는 연속된 숫자, 문자 또는 특수 문자를 입력할 수 있습니다.
- 숫자 – 사용자는 숫자를 입력할 수 있습니다. 특수 문자는 허용되지 않습니다.
- 불리언 – 사용자는 true 또는 false의 부울 값을 입력할 수 있습니다.
- 이메일 – 사용자는 유효한 이메일 주소를 입력할 수 있습니다.
- 개체 – 봇의 데이터는 JSON 개체로 수신할 수 있습니다. 예: 다음과 같이 정의된 위치 세부 정보: “location” : { “lat” : 17.4374614, “lng” : 78.4482878 } 요청 체인 또는 작업 요청에서 속성을 location.lat 및 location.lng로 참조할 수 있습니다.
- Array – 사용자는 쉼표로 구분된 값 목록을 봇에 전달할 수 있습니다. 예: 구글 캘린더에서 데이터가 있는 여러 참석자는 다음과 같이 전달할 수 있습니다. “attendees”: [“user1”, “user2”, “user3”]선택되면 사용자 입력 배열의 유형을 다음 중 하나로 지정합니다.
- 문자열
- 숫자
- 불리언
- 이메일
- 배열
- 날짜
- 날짜 – 사용자는 전체 날짜를 입력하거나 날짜 선택기에서 날짜를 선택할 수 있습니다.
플레이스 홀더 사용자가 필드를 정의하는 데 도움이 되는 입력 텍스트 상자 아래에 표시되는 텍스트입니다. 이 필드는 일부 필드 유형의 경우에만 표시됩니다. 가시성 작업 입력 필드를 최종 사용자에게 표시할지 숨길지 여부를 지정합니다. 가시성 필드는 사용자 정의 필드로 설정할 수도 있으며 데이터는 사용자로부터 캡처되지만 쿼리 매개 변수 또는 페이로드 필드로 사용되지 않습니다. 예: JIRA 봇을 사용하는 경우 아래와 같이 @mention 태그를 사용하여 티켓에 의견을 게시합니다. “@Mike, 이 문제를 살펴보세요” 의견 게시를 위한JIRA API는 다음과 같이 하나의 쿼리 필드와 하나의 페이로드 필드가 필요합니다.
- 발급 ID
- 의견
가시성 필드를 사용자 정의로 설정하면 페이로드 필드 또는 쿼리 필드로 사용하지 않고
comment
필드 값에 추가할 데이터를 가져오기 위해 JIRA API를 사용하여@Mike
로 언급된 사용자의 사용자 정보를 캡처할 수 있습니다. 기본 가시성 필드 설정은 Visible입니다.필수 최종 사용자가 이 설정을 정의하여 작업 설정 구성을 저장하려는 경우 선택합니다. 키 전치 해제 Kore.ai의 키 전치를 비활성화하려면 선택하세요. 기본적으로 Kore.ai는 키/값 쌍을 전치합니다. 예: Kore.ai는 "parameter":"value"
를"parameter:{value:"actualValue"}
로 전치합니다. 선택되면 키는 Kore.ai에 의해 전치되지 않고 수신된 대로 응답에 전달됩니다. - 날짜 – 작업을 계정에 설정할 때 최종 사용자가 정의할 날짜 형식 구문을 선택할 수 있는 형식 필드를 표시합니다. 날짜 형식 선택 드롭다운 목록에서 다음 중 하나를 선택합니다.
- 추가 및 계속을 클릭하여 작업 필드를 저장하고 다른 조치 작업 필드를 생성합니다. 추가 및 종료를 클릭하여 조치 작업 필드를 저장한 다음 대화 상자를 닫습니다.
- API 요청 탭에서 커넥터를 사용한 액세스 섹션을 확장합니다.
- 커넥터를 사용한 액세스 필드에서 Kore.ai 커넥터 에이전트를 사용하여 Kore.ai 봇의 액세스를 활성화하려면 예를 선택합니다. 이 옵션은 Kore.ai 커넥터 에이전트가 엔터프라이즈 온프레미스 네트워크에서 설정되어 사용함으로 설정한 경우에만 표시됩니다. 자세한 내용은 Kore.ai 커넥터 사용을 참조하세요.
샘플 응답 추가하기
Bot Response
메시지 정의 정의하기
작업을 위한 두 가지 유형의 봇 응답을 정의할 수 있습니다.
- 모든 채널의 기본값: API 요청 및 정의된 처리기의 페이로드 응답에 따라 모든 채널의 기본 제목과 메시지 응답을 작성합니다. 자신만의 입력, Kore.ai 시스템에서 파생된 변수 키 집합, 사용자 정의 변수, 응답 샘플과 함께 응답 개체에서 데이터 혼합을 생성할 수 있습니다. 메시지는 일반적으로 요청 개체 데이터에서 ID 번호 또는 제목과 같은 변수를 하나 이상 포함하는 올바른 형식의 HTML 메시지로 표시됩니다.
- 채널별 응답: 또한 미리 정의된 메시지 템플릿을 선택된 채널에 적용하고 특정 채널(예: Facebook Messenger, Skype, SMS 또는 웹/모바일 SDK)을 위한 봇 응답 메시지를 사용자 정의할 수 있습니다.
메시지 정의 편집기 기능
조치 작업의 편집기를 열려면 봇 응답 > 메시지 정의로 이동합니다. 메시지 정의 편집기는 다음 기능을 제공하는 세 개의 탭을 사용합니다.
- 표준 텍스트: 기본 편집기 컨트롤 및 HTML 마크업 및 변수 키를 사용하여 응답을 정의하고 형식을 지정합니다. 텍스트를 입력한 다음 굵게, 기울임꼴, 머리글 스타일, 하이퍼링크, 순서 있는 목록 및 순서 없는 목록의 버튼을 사용하고 라인을 삽입하여 형식을 지정합니다.
- 자바스크립트: 사용자 정의 코드를 추가하여 최종 사용자 작업 응답 메시지를 처리하고, 변수를 선언하고, 변수 키를 사용하고, 타사 애플리케이션과 상호 작용할 수 있습니다.
- 미리 보기: 봇 사용자가 확인할 수 있는 마크업으로 렌더링된 출력 메시지의 샘플을 봅니다.
변수 키 추가하기
변수 키를 추가하려면 다음 단계를 따르세요.
- 표준 텍스트 또는 JavaScript 모드를 사용하여 변수 키를 추가하려면 변수를 추가하려는 위치에 커서를 놓고 변수 키를 클릭합니다. I
- 요청/응답 키 대화 상자에서 삽입하려는 변수가 포함된 키 노드 유형을 확장합니다.
- 추가하려는 변수(예:
response.data.id
)를 선택한 다음 확인을 클릭합니다.
표준 키
표준 키는 재사용 가능한 데이터를 위한 다음 Kore.ai 변수 플레이스 홀더입니다.
- _labels _: GUID 대신 친숙한 레이블을 반환합니다. 예: 웹 서비스 API에서 사용자 데이터를 요청할 때 반환되는 프로젝트 또는 워크스페이스의 ID는 GUID입니다.
_labels_
키를 사용하여 GUID 대신 최종 사용자에게 GUID의 친숙한 이름을 알려줄 수 있습니다. Kore.ai에서 드롭다운 컨트롤은_labels_
키의 응답을 다음과 같이 저장합니다. 예:{ "_labels_": { "15379386734832": "roadlabs.com", "26377329985341": "Test Project", "workspace": "roadlabs.com", "project": "Test Project" }, "_fields_": { "workspace": "15379386734832", "project": "26377329985341" } }
응답에
_labels_
키를 사용하는 방법:print('<a href="https://app.asana.com/0/' + workspace.id + '+_labels_[workspace.id]);
- _tenant_ – 정의된 경우 엔터프라이즈에 대한 테넌트를 반환합니다. 예: JIRA는 https://koreteam.atlassian.net/browse/BBF-3265에서 koreteam과 같은 URL에 대한 테넌트가 필요합니다.
_tenant_
키를 사용하여 다음과 같은 작업 응답에서 링크를 작성할 수 있습니다.var title = request.fields.issuetype.name + ' <a href ="https://' + _tenant_ + '/browse/' + response.key + '" target = "_blank">' + request.fields.summary + '</a>이(가) 생성되었습니다.';
- _fields_ – 페이로드 응답의 일부가 아닌, 사용자가 제공한 작업 필드 입력을 반환하는 데 사용됩니다. 예: JIRA 작업에서 최종 사용자에게 워크스페이스 이름을 입력하라는 메시지가 표시됩니다.
_fields_
키를 사용하여 최종 사용자 입력을 다음과 같이 저장할 수 있습니다._fields_["workspace"]
- _last_run – 웹 서비스 풀의 UTC 날짜 타임스탬프를 ISO 8601 형식을 사용하여 반환하는 데 사용됩니다. 예: 2016-03-05T12:44:38+00:00. 예: 웹 서비스 요청이 페이로드 응답에서 모든 활동을 반환하는 경우
_last_run
키를 사용하여 다음 값의 앞 또는 뒤에 표시되는 결과를 필터링할 수 있습니다._last_run
세션 키
세션 키는 단일 세션 인스턴스와 관련된 사용자 데이터의 Kore.ai 변수 플레이스 홀더입니다.
- UserContext.get(“_id”) – Kore.ai 사용자 ID입니다.
- UserContext.get(“emailId”) – 사용자 ID와 연결된 이메일 주소입니다.
- UserContext.get(“lastName”) – 사용자의 성입니다.
- UserContext.get(“firstName”) – 사용자의 이름입니다.
- UserContext.get(“profImage”) – 사용자의 이미지 또는 아바타 파일 이름입니다.
- UserContext.get(“profColor”) – 사용자의 계정 색상입니다.
- UserContext.get(“activationStatus”) – 사용자의 계정 상태입니다.
- UserContext.get(“jTitle”) – 정의된 경우 사용자의 직함입니다.
- UserContext.get(“orgId”) – 정의된 경우 사용자 계정의 조직 ID입니다.
- UserContext.get(“customData”) – 개발자가 정의한 사용자 정의 키입니다.
- UserContext.get(“identities”) – 정의된 경우 대체 사용자 ID입니다.
봇 작업을 정의하는 방법과 해당 작업에 사용 가능한 키 컨텍스트에 따라 추가 세션키를 사용할 수 있습니다. 세션 키 및 컨텍스트 키에 대한 자세한 내용은 작업에서 세션 변수 및 컨텍스트 변수 사용하기를 참조하세요.
응답 키
응답 키는 API 응답 탭에서 응답 샘플 텍스트에서 직접 구문 분석됩니다. 응답 키는 정의된 응답 샘플에 따라 달라집니다. 다음 목록은 Asana 작업에 사용 가능한 응답 키의 예입니다.
request.data.workspace request.data.projects request.data.name request.data.notes labels.498346170860 labels.30887755353556 labels["data.workspace"] labels["data.projects"] _tenant_ response.data.id response.data.created_at response.data.modified_at response.data.name response.data.notes response.data.completed response.data.assignee_status response.data.completed_at response.data.due_on response.data.due_at response.data.workspace.id response.data.workspace.name response.data.num_hearts response.data.parent response.data.followers[0].id response.data.followers[0].name response.data.hearted response.data.assignee response.data.projects[0].id response.data.projects[0].name response.data.memberships[0].project.id response.data.memberships[0].project.name response.data.memberships[0].section
보고서 키
보고서 키는 보고서 템플릿 정의 및 봇 응답에서 사용자가 클릭할 수 있는 메시지에 추가 정보 링크를 표시하는 데 사용할 수 있는 Kore.ai 변수 플레이스 홀더입니다.
- reportInfo.reportLink – 이 작업에 대한 보고서 템플릿 정의 섹션에 정의된 링크입니다.
- reportInfo.reportTitle– 이 작업에 대한 보고서 템플릿 정의에 정의된 제목입니다.
응답 미리 보기
메시지 편집기에서 미리 보기를 클릭하여 다음 옵션 중 하나를 사용하여 응답 미리 보기를 생성합니다.
- 테스트 및 미리 보기 – 봇의 작업 설정 페이지를 열고 작업 설정을 정의하고, 인증한 다음 타사 웹 서비스(예: Asana)를 통해 생성된 응답의 미리 보기를 표시합니다.
- 샘플 응답으로 미리 보기 – 작업의 API 요청 탭의 응답 샘플 섹션에 정의된 키-값 쌍으로 제공된 샘플 데이터를 사용하여 미리 보기를 생성합니다.
사용자 정의 JavaScript 응답 예시
다음 예시에서는 작업 응답 메시지가 전송될 때 출력 메시지를 최종 사용자에게 표시하는 게시물 제목 및 게시물 설명 섹션을 정의하기 위해 JavaScript를 사용한 응답 개체를 표시합니다. 다음 예시에서 desc로 레이블이 표시된 변수는 JSON 응답에 캡션 값이 정의되어 있는 경우에만 표시됩니다.
var desc = (caption !== "undefined" ? caption : "")
다음 예시에서는 작업 제목을 사용하여 클릭 가능한 URL이 작업 응답 메시지에 표시됩니다.
var tasklink = '' + title + '';
이 마지막 예시에서 링크 변수는 유형, 동영상 또는 사진에 따라 다릅니다. 유형에 따라 적절한 링크가 표시됩니다.
var link = ""; switch (type) { case "video": var video = (typeof(video_url) != "undefined") ? video_url : permalink_url; link = '<video controls><source src ="' + video + '" type="video/mp4"></video>'; break; case "photo": link = '<img src="' + image_permalink + '"></img>'; break; }
사용자 정의 JavaScript를 생성하여 작업의 페이로드 응답에 따라 JavaScript 탭에서 작업별 요구 사항을 처리할 수 있습니다.
채널별 봇 응답
작업 응답 메시지는 응답 메시지가 표시되는 채널에 따라 다를 수 있습니다. 예: Kore.ai 메신저 클라이언트, 이메일 또는 텍스트 메시지. 기본적으로 모든 채널의 기본값으로 설정된 응답 메시지는 모든 채널에 전송됩니다. 그러나 기본 응답 대신 해당 채널의 최종 사용자에게 표시할 20개 이상의 채널에 특정 응답을 정의할 수 있습니다.
- 특정 채널을 위한 응답 메시지를 정의하려면 + 채널 추가를 클릭하여 채널 선택 드롭다운 목록을 표시합니다.
- 채널(예: Kore.ai)을 선택한 다음 JavaScript 탭에서 해당 채널에 대한 응답을 설정합니다.
각 채널에는 하나의 응답만 정의할 수 있습니다. 다음 JavaScript 예시에서는 Kore.ai 기본 형식 지정 템플릿을 채널별로 재정의하는 방법을 보여 줍니다.
참고 사항: 다음 키를 사용하여 기본값을 반환합니다. response.message – 기본 메시지를 문자열로 반환합니다. response.message.choices – 옵션 선택 또는 확인 메시지 유형을 배열로 반환합니다.
- Slack 채널 재정의 예시
var message = {}; var attachments = []; var attachment = { 'text': "API 실행 중 예외가 발생했습니다", 'color': '#FFCC00', 'attachment_type': 'default' }; attachments.push(attachment); message.attachments = attachments; print(JSON.stringify(message));
- FaceBook 채널 재정의 예시
var message = { text: response.message }; var buttons = []; for (var i = 0; i < response.choices.length; i++) { var choiceItem = response.choices[i]; if (choiceItem.length > 20) { choiceItem = choiceItem.substring( 0, 18) + '..'; } var element = { content_type: 'text', title: choiceItem, payload: choiceItem }; buttons.push(element); } message.quick_replies = buttons; print(JSON.stringify(message));
- 이메일 채널 재정의 예시
var message = {}; var text = response.message + ' <br> '; for (var i = 0; i < response.choices.length; i++) { text = text.concat( '<u> + response.choices[i] + ' < /u> <br>'); } message.text = text; print(JSON.stringify(message));
- SMS 채널 재정의 예시
var message = {}; var indexArray = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' ]; var text = response.message + '\\n'; for (var i = 0; i < response.choices .length; i++) { text = text.concat(indexArray[i] + ') ' + response.choices[ i] + '\\n'); } message.text = text; print(JSON.stringify(message));
Version History for Action Tasks
- 버전 번호 – X.X 구문을 사용한 마이너 업그레이드 형태의 업그레이드 버전 번호입니다. 예: 1.3에서 1은 메이저 버전 업그레이드 번호이며 3은 마이너 업그레이드 번호입니다.
- 변경자 – 업그레이드 변경을 수행한 봇 개발자의 사용자 이름입니다.
- 변경된 날짜 – 엔터프라이즈 관리자가 봇을 승인하고 게시한 날짜입니다.
- 의견 – 업그레이드를 위해 봇을 변경한 개발자가 제공한 업그레이드 의견입니다.
다음 그림은 버전 1로 마이너 업그레이드를 두 번 수행하고 버전 2로 메이저 업그레이드와 마이너 업그레이드를 한 번 수행한 버전 기록 페이지의 예입니다.
View Logs for Action Tasks
{ "koreMappingData": { "titleKeyword": "", "body": "Added to sssss - K", "title": "<a href=\"https://app.asana.com/0/79114501040943/145317262070574/f\" target = \"_blank\">do homework</a>" }, "status": 1, "createdOn": "2016-06-17T06:34:34.534Z", "responseData": { "data": { "id": 145317262070574, "created_at": "2016-06-17T06:34:34.775Z", "modified_at": "2016-06-17T06:34:34.775Z", "name": "do homework", "notes": "", "completed": false, "assignee_status": "upcoming", "completed_at": null, "due_on": "2016-06-15", "due_at": null, "workspace": { "id": 79114501040943, "name": "K" }, "num_hearts": 0, "parent": null, "hearts": [], "followers": [{ "id": 79114500254204, "name": "Praveen pasam" }], "hearted": false, "assignee": null, "tags": [], "projects": [{ "id": 79122001516568, "name": "sssss" }], "memberships": [{ "project": { "id": 79122001516568, "name": "sssss" }, "section": null }] } }, "requestLogs": [{ "requestUrl": "https://app.asana.com/api/1.0/tasks", "requestData": { "pathFields": {}, "payloadFields": { "data": { "workspace": "79114501040943", "projects": "79122001516568", "name": "do homework", "due_on": "2016-06-15" } }, "headerFields": {} }, "status": 1, "statusCode": 201, "responseError": null, "responseData": "{\"data\":{\"id\":145317262070574,\"created_at\":\"2016-06-17T06:34:34.775Z\",\"modified_at\":\"2016-06-17T06:3" }] }