Kore.ai 봇 플랫폼은 보안 API를 사용하여 봇 개발에 대한 액세스를 제공합니다. 봇 생성, 봇 가져오기, 봇 내보내기, 학습, 게시와 같은 모든 주요 개발자 활동은 API를 활용해 사용할 수 있습니다. 봇 빌더 액세스 관리, 관리자 및 봇 역할 관리 등의 주요 계정 관리 작업도 보안 공용 API를 통해 수행할 수 있습니다. 전체 API 목록 및 사용 지침은 여기를 참조하세요. API 요청 인증에는 다음 두 단계가 포함됩니다.

  1. 앱 생성: 앱을 만드는 과정에서 앱의 API 범위를 선택해야 하며, 선택한 API만 앱에 액세스할 수 있습니다.
    • 봇 빌더 API 범위: 봇 개발자는 봇 빌더 도구에서 봇별 API 범위를 정의할 수 있습니다.
    • 봇 관리자 콘솔 API 범위: 계정 관리자는 API 범위를 정의하여 관리자 콘솔에서 계정에 내장된 봇에 액세스할 수 있습니다.
  2. API 범위를 앱에 연결: 클라이언트 애플리케이션이 봇 플랫폼 API에 액세스할 수 있도록 하려면 클라이언트 앱을 봇에 연결해야 합니다.

또한 다음 방법으로 플랫폼과의 연결을 보호할 수 있습니다.

  1. JTI 클레임 적용 – 활성화되면 플랫폼은 요청에서 JTI 클레임이 있는 호출의 요청만 수락하며 JTI 클레임이 없는 요청은 거부됨
  2. JWE 암호화 적용– JWT 토큰 생성: 봇 플랫폼의 공용 API에 액세스 하려면 API 요청을 하는 애플리케이션은 인증이 필요합니다. Kore.ai는 JWS(JSON 웹 토큰) 메커니즘을 사용하여 인증을 처리합니다. JWT 토큰의 간략한 개요에 대해서는 Introduction to JWT tokens를 참조하세요. 위에서 클라이언트 앱의 클라이언트 ID 및 클라이언트 암호를 사용하여 JWT 토큰을 생성합니다. 이 토큰은 인증을 위한 각 API 요청의 일부로 전달되어야 합니다.

앱 생성 및 관리

봇 빌더

다음 단계를 통해 봇 빌더에서 클라이언트 앱을 생성할 수 있습니다.

  1. 상단 메뉴에서 배포 탭 선택
  2. 왼쪽 메뉴에서, 통합-> 앱 관리 클릭
  3. 새 앱 클릭
  4. 클라이언트 앱 생성 페이지에서 다음을 수행합니다.
    1. 앱의 이름을 입력하고,
    2. 요구 사항대로 JTI 또는 JWE를 적용하고
  5. 다음마침을 클릭합니다.
  6. 앱 관리 페이지로 리디렉션되며 이 봇과 연결된 모든 앱이 표시됩니다.
  7. 앱을 선택하면 클라이언트 ID 및 클라이언트 시크릿 섹션이 나타납니다. 또한 이 앱이 사용되는 웹 SDK, 봇 키트 SDK 등의 목록도 표시됩니다.
  8. 해당 앱에 휴지통 아이콘을 사용하여 앱을 삭제하도록 이 화면도 사용할 수 있습니다. 봇 소유만 앱을 삭제할 수 있는 점 유의하세요.

참고 사항: ver. 7.3이 출시되기 전에는 앱이 사용자와 연결되어 있었습니다. 이 앱은 ver 7.3이 출시된 이후 봇과 연결되어 있습니다. 봇 소유자가 아닌 봇 개발자는 앱 및 범위 권한을 통해 이러한 앱에 액세스할 수 있습니다. 이전 버전과의 호환성을 보장하기 위해, 한 개 이상의 봇에서 앱을 사용하는 경우, 이러한 각 봇에 대해 동일한 자격 증명으로 앱이 복제됩니다.

봇 관리자 콘솔

다음 단계를 수행하면 봇 관리자 콘솔에서 클라이언트 앱을 생성할 수 있습니다.

  1. 봇 관리자 홈 페이지의 측면 탐색 패널에서 보안 및 제어 > API 범위 를 클릭합니다.
  2. API 범위 페이지에서 신규 를 클릭합니다.
  3. 새 앱을 만들려면 앱 관리 링크를 클릭합니다.
  4. 새 앱을 클릭하고,
    1. 이름을 입력하고
    2. 요구 사항대로 JTI 또는 JWE를 적용하고
  5. Save를 클릭합니다.

데이터 테이블

플랫폼의 v7.3에 있는 플랫폼에 데이터 테이블 옵션이 추가되었습니다(자세한 내용은 여기 참조). 이러한 액세스 제어는 봇 빌더 및 봇 관리자 콘솔 액세스 제어와 다릅니다. 데이터 테이블 및 데이터 보기에서 데이터에 안전하게 접근하기 위해 앱을 정의할 수 있습니다.

  • 하나 이상의 앱을 만들 수 있으며 해당 앱을 소유할 수 있습니다. 자세한 내용은 여기를 참조하세요.
  • 이러한 앱은 다음을 위해 사용될 수 있습니다:
    • 공용 API를 통한 데이터 테이블 및 보기 접근
    • 서비스 노드를 사용하여 데이터 테이블 및 보기 접근
    • 데이터 테이블 및 보기 정의를 위해 가져오기 및 내보내기 API에 액세스
  • 이 앱에 각 테이블에 대한 읽기, 쓰기 및 삭제 권한을 부여하거나 별도로 볼 수 있습니다. 자세한 내용은 여기를 참조하세요.

API 범위 연결

클라이언트 앱을 생성하면 API 범위와 연결해야 합니다.

봇 빌더

다음 단계를 수행하면 봇 빌더에서 API 범위를 클라이언트 앱에 연결할 수 있습니다.

  1. 봇의 탐색 패널쪽에 마우스를 이동하여 API 확장 을 클릭합니다.
  2. API 확장 페이지에서 API 범위 탭을 클릭한 다음 신규를 클릭합니다.
  3. API 범위 매핑 페이지의 앱 드롭다운 목록에서 인증을 위한 기존 클라이언트 앱을 선택합니다.
  4. 앱을 선택하면 클라이언트 ID 및 클라이언트 시크릿 섹션이 나타납니다. 값을 복사할 수 있습니다.
  5. 범위 섹션에서 클라이언트 앱에 액세스하고자 하는 API를 선택합니다. 앱은 여기에서 선택하지 않은 API에 액세스할 수 없습니다. 다음은 선택할 수 있는 범위 목록입니다.
    • 의도 및 엔티티 감지 – 보안 API를 사용하여 발화에서 의도 및 엔티티를 감지하기
    • 채팅 기록 – 보안 API를 사용하여 이 봇의 채팅 기록 검색하기
    • 디버그 로그 – 보안 API를 사용하여 이 봇의 디버그 로그 검색하기
    • 봇 내보내기 – 선택한 봇의 정의를 내보내기
    • 변수 가져오기 – 보안 API를 사용하여 이 봇의 변수 가져오기
    • 변수 내보내기 – 보안 API를 사용하여 이 봇의 변수 내보내기
    • ML 학습 – NL 모델에 대한 특정 발화과 일치시켜 발화에서 나타날 수 있는 의도 및 엔티티 파악하기
    • FAQ 학습 – FAQ 모델과 주어진 FAQ를 일치시키기
    • 발화 가져오기 – 봇 작업에 대한 발화 가져오기
    • 발화 내보내기 – 봇 작업에 대한 발화 내보내기
    • 로그 기록 – 특정 봇에 대한 변경 로그 검색하기
    • 봇 세션 – 봇 대화 세션 검색하기
    • 맞춤형 보고서 – 맞춤형 위젯 및 보고서와 연결된 데이터 검색하기
    • RCS 메시지 이벤트 – RCS 비즈니스 메시지 채널에 사용자를 등록하고 브로드캐스트 메시지 전송
    • 외부 봇 연결 – 이 계정의 일부가 아닌 자식 봇을 연결하도록 함

참고 사항: 활성화되면 API 범위는 게시되어야 합니다. 게시 절차에 따라 API 확장 옵션에서 API 범위를 선택해야 합니다.

봇 관리자 콘솔

다음 단계를 수행하면 봇 관리자 콘솔에서 API 범위를 클라이언트 앱에 연결할 수 있습니다.

  1. 봇 관리자 홈 페이지의 측면 탐색 패널에서 보안 및 제어 > API 범위 를 클릭합니다.
  2. API 범위 페이지에서 신규 를 클릭합니다.
  3. 새 API 범위 매핑 페이지의 드롭다운 목록에서 인증을 위한 기존 클라이언트 앱을 선택합니다. 새 앱을 만들려면 앱 관리 링크를 클릭합니다.
  4. 앱을 선택하면 클라이언트 ID 및 클라이언트 시크 릿 섹션이 나타납니다. 값을 복사합니다.
  5. 해당 앱에 휴지통 아이콘을 사용하여 앱을 삭제하도록 이 화면도 사용할 수 있습니다.
  6. 범위 섹션에서 클라이언트 앱에 액세스하고자 하는 API를 선택합니다. API 범위 목록은 여기 를 참조하세요.

JWT 토큰 생성

API 범위를 클라이언트 앱에 연결한 후에는 API 요청에 대한 JWT 토큰을 생성해야 합니다.

  1. 다음 링크를 사용하여 토큰을 생성할 수 있습니다. 여기를 클릭하세요.
  2. 토큰 생성에 사용할 알고리즘을 선택합니다(HS256 또는 RS256)
  3. 디코딩된 섹션으로 스크롤 다운합니다.
  4. 페이로드 상자의 콘텐츠를 이전 섹션에서 복사한 앱의 클라이언트 ID로 교체합니다.
    { 
      "appId": "your-client-id-here" 
    }
    참고 사항: 봇 빌더는 토큰이 “appId”로 정확히 생성될 때만 토큰을 검증합니다. 이 플랫폼은 “App ID” “appid” 또는 “appID” 등의 다른 형식으로 생성된 토큰의 유효성을 검증하지 않습니다.
  5. 서명 확인 상자에서,
    • HS256 인코딩의 경우, 상자의 이전 섹션에서 복사한 클라이언트 시크릿을 256비트 비밀의 텍스트와 함께 입력합니다.
    • RS256 인코딩의 경우 해당 텍스트 영역에 공개 및 개인 키를 입력합니다. 참고: 키는 시작 및 끝 태그 내에 붙여 넣어야 합니다.
  6. 맨 위에 있는 인코딩된 섹션에서 생성된 JWT 토큰을 복사하거나 맨 아래에 있는 JWT 복사 단추를 사용합니다.
  7. 이 토큰은 필요한 API에 액세스하는 데 사용할 수 있고 각 API 요청의 일부로서 인증을 위해 전달되어야 합니다.
  8. API 컬렉션을 사용하여 Postman 설정에서 API를 테스트할 수 있습니다. 자세한 내용은 여기를 참조하세요.