문서

채널

Schift RAG를 KakaoTalk 등 메시징 플랫폼과 연동하여 실시간 대화형 검색을 구현합니다.

Channels API는 Schift 컨렉션을 메시징 플랫폼과 연결합니다. 연결된 채널을 통해 사용자가 메시지를 보내면, Schift가 자동으로 쿼리를 임베딩하고 연결된 컨렉션을 검색하여 플랫폼 제약 내에서 포맷된 결과를 반환합니다.

Kakao Webhook

bashPOST /v1/channels/kakao/webhook

KakaoTalk Open Builder 스킬 콜백으로 메시지를 수신합니다. 인증은 웹후크 페이로드의 bot_id를 사용합니다 (채널 설정에 등록 필수). 봇당 60초에 30건으로 요청이 제한됩니다.

처리 흐름

메시지 수신 -> bot_id 인증 -> 요청 제한 확인 -> 쿼리 임베딩 -> 연결된 컨렉션 검색 -> 결과 포맷 (900자 제한) -> Kakao simpleText 응답 반환. 대화 이력을 위해 사용자 메시지가 백그라운드에서 벡터로 저장됩니다.

메시지 발송

bashPOST /v1/channels/kakao/send

KakaoTalk 채널을 통해 알림톡을 발송합니다. API 키 인증이 필요합니다.

파라미터타입필수설명
channel_config_idstring채널 설정 ID
phonestring수신자 전화번호
template_codestringKakao 알림톡 템플릿 코드
template_argsobject아니오템플릿 변수 치환값
user_idstring아니오Kakao 사용자 ID (phone 대체)
messagestring아니오일반 메시지 텍스트 (템플릿 미사용 시)
bashcurl -X POST https://api.schift.io/v1/channels/kakao/send \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SCHIFT_API_KEY" \
  -d '{
    "channel_config_id": "ch_abc123",
    "phone": "+821012345678",
    "template_code": "order_confirmation",
    "template_args": {"order_id": "ORD-2026-001", "customer": "Kim"}
  }'

채널 설정 CRUD

메서드엔드포인트설명
POST/v1/channels/configs채널 설정 등록 (프로바이더, API 키, 연결 컨렉션)
GET/v1/channels/configs모든 설정 목록 (시크릿 마스킹)
DELETE/v1/channels/configs/{id}설정 삭제
bash# Kakao 채널 등록
curl -X POST https://api.schift.io/v1/channels/configs \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SCHIFT_API_KEY" \
  -d '{
    "name": "고객 지원 봇",
    "provider": "kakao",
    "config": {
      "bot_id": "your-kakao-bot-id",
      "collection": "support-docs",
      "rest_api_key": "your-rest-api-key",
      "channel_id": "your-channel-id"
    }
  }'