Bot API

Bot API로 봇에서 메시지를 보내거나, 메뉴를 설정하고, 봇을 관리할 수 있다.

Bot API를 호출하려면 구성원 계정 또는 서비스 계정으로 인증하여 얻은 Access Token이 필요하다. API scope는 bot.message, bot, bot.read이다.

Scope 구분

  • bot.message scope는 봇 메시지, 메뉴 및 메시지방 관련 API 호출 시 사용할 수 있다.
  • bot scope는 모든 Bot API에서 사용할 수 있는 Scope다. 봇 등록 등 봇 관리 API를 호출하는 경우 해당 Scope를 사용한다.
  • bot.read scope는 조회 권한만 있는 Scope이다. API 별로 사용 가능한 Scope는 각 API 문서를 참고한다.

메시지 {#bot-message}

다음 API로 봇에서 메시지를 보낼 수 있다.

HTTP RequestDescription
POST /bots/{botId}/users/{userId}/messages메시지 보내기(사용자 대상).
한 명의 사용자와 대화 시 사용하는 API
POST /bots/{botId}/channels/{channelId}/messages메시지 보내기(채널 대상).
여러 명의 사용자와 대화 시 사용하는 API

참고

  • 사용자가 보낸 메시지에 대한 응답과 봇으로 전송한 메시지는 구별되지 않으며 둘 다 동일한 "메시지 보내기"로 처리된다.
  • 구성원이 500명 이상인 메시지방에서 메시지를 전송할 수는 있지만 푸시 알림은 작동하지 않는다.

이미지나 파일을 전송하려면 다음 API로 콘텐츠를 업로드해야 한다.

HTTP RequestDescription
POST /bots/{botId}/attachments콘텐츠 업로드

봇으로 전송한 이미지나 파일은 다음 API로 다운로드할 수 있다.

HTTP RequestDescription
GET /bots/{botId}/attachments/{fileId}콘텐츠 다운로드

메뉴 {#bot-menu}

고정 메뉴(persistent menu)와 리치 메뉴(rich menu)는 다음 API로 관리할 수 있다.

고정 메뉴 {#bot-persistment-menu}

다음 API로 고정 메뉴를 관리할 수 있다.

HTTP RequestDescription
POST /bots/{botId}/persistentmenuPersistent Menu 등록
GET /bots/{botId}/persistentmenuPersistent Menu 조회
DELETE /bots/{botId}/persistentmenuPersistent Menu 삭제

리치 메뉴 {#bot-rich-menu}

다음 API로 리치 메뉴와 리치 메뉴 이미지를 관리할 수 있다.

HTTP RequestDescription
POST /bots/{botId}/richmenusRich Menu 생성
GET /bots/{botId}/richmenusRich Menu 목록 조회
GET /bots/{botId}/richmenus/{richmenuId}Rich Menu 조회
DELETE /bots/{botId}/richmenus/{richmenuId}Rich Menu 삭제
POST /bots/{botId}/richmenus/{richmenuId}/imageRich Menu 이미지 설정
GET /bots/{botId}/richmenus/{richmenuId}/imageRich Menu 이미지 조회
POST /bots/{botId}/richmenus/{richmenuId}/users/{userId}사용자 정의 메시지 Rich Menu 설정
GET /bots/{botId}/richmenus/users/{userId}사용자 정의 메시지 Rich Menu 조회
DELETE /bots/{botId}/richmenus/users/{userId}사용자 정의 메시지 Rich Menu 삭제
POST /bots/{botId}/richmenus/{richmenuId}/set-default기본 Rich Menu 설정
GET /bots/{botId}/richmenus/default기본 Rich Menu 조회
DELETE /bots/{botId}/richmenus/default기본 Rich Menu 삭제

봇이 포함된 메시지방 {#bot-talkroom}

다음 API로 Bot이 포함된 메시지방을 생성하고, 메시지방에서 나가거나, 메시지방의 구성원 목록을 조회할 수 있다.

HTTP RequestDescription
POST /bots/{botId}/channels메시지방 생성
GET /bots/{botId}/channels/{channelId}메시지방 상세 정보 조회
DELETE /bots/{botId}/channels/{channelId}메시지방에서 나가기
GET /bots/{botId}/channels/{channelId}/members메시지방 구성원 목록 조회

봇 관리 {#manage-bot}

다음 API로 봇을 등록, 수정, 삭제할 수 있다.

봇 등록 프로세스에 대한 자세한 내용은 봇 개요를 참고한다.

NAVER WORKS 테넌트 내 봇 관리 {#manage-tenant-bot}

다음 API로 NAVER WORKS 테넌트 내의 봇을 관리할 수 있다.

HTTP RequestDescription
POST /botsBot 등록
GET /botsBot 목록 조회
GET /bots/{botId}Bot 상세 정보 조회
PUT /bots/{botId}Bot 수정
PATCH /bots/{botId}Bot 부분 수정
DELETE /bots/{botId}Bot 삭제
POST /bots/{botId}/secretBot Secret 재발급

NAVER WORKS 도메인별 봇 관리 {#manage-domain-bot}

다음 API로 NAVER WORKS 도메인별 봇을 관리할 수 있다.

HTTP RequestDescription
POST /bots/{botId}/domains/{domainId}봇 도메인 등록
GET /bots/{botId}/domains봇 도메인 목록 조회
PUT /bots/{botId}/domains/{domainId}봇 도메인 수정
PATCH /bots/{botId}/domains/{domainId}봇 도메인 부분 수정
DELETE /bots/{botId}/domains/{domainId}봇 도메인 삭제
POST /bots/{botId}/domains/{domainId}/members봇 허용 사용자 추가
GET /bots/{botId}/domains/{domainId}/members봇 허용 사용자 목록 조회
DELETE /bots/{botId}/domains/{domainId}/members/{userId}봇 허용 사용자 삭제