목적

저장된 학습용 질문·답변 데이터를 기준으로 답변을 조회하고, AI를 한 번 호출하여 답변을 정리한 뒤 반환합니다. stream 값에 따라 일반 JSON 또는 SSE 스트림으로 받을 수 있습니다.

URL

<https://api.sidetalk.ai/v1/knowledge/completions>

HTTP 메서드

POST

요청 본문

파라미터 타입 필수 설명
question String 조건부 knowledgeId가 없을 때 저장된 질문과 정확히 일치하는 데이터를 찾는 데 사용합니다.
knowledgeId String 조건부 학습용 데이터 1건을 식별하는 ID입니다. 조회 API 응답의 data[].knowledgeId 값을 그대로 전달하는 것을 권장합니다.
stream Boolean 아니요 false(기본값)이면 일반 JSON, true이면 SSE 스트림으로 반환합니다.
sessionId String 아니요 채팅 로그에 사용할 세션 ID입니다.

knowledgeId 또는 question 중 하나는 전달해야 합니다. 두 값을 모두 전달하면 knowledgeId를 우선 사용합니다.

요청 예시

knowledgeId로 조회하는 요청

curl -X POST "<https://api.sidetalk.ai/v1/knowledge/completions>" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${API_KEY}" \
  -d '{
    "knowledgeId": "456",
    "stream": false
  }'

기존 세션으로 요청

curl -X POST "<https://api.sidetalk.ai/v1/knowledge/completions>" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${API_KEY}" \
  -d '{
    "knowledgeId": "456",
    "sessionId": "943f15db-3984-4f21-ad64-f0115839c3a6",
    "stream": false
  }'

성공 응답(200 OK)

{
  "success": true,
  "knowledgeId": "456",
  "sessionId": "943f15db-3984-4f21-ad64-f0115839c3a6",
  "message": {
    "content": "배송은 결제 후 2~3일 이내에 진행됩니다."
  },
  "recommended_questions": [
    {
      "knowledgeId": "3356",
      "question": "배송 조회는 어떻게 하나요?",
      "type": "chat_data"
    }
  ],
  "meta": {
    "chat_log_uuid": "uuid",
    "knowledgeId": "456",
    "sessionId": "943f15db-3984-4f21-ad64-f0115839c3a6",
    "latency_ms": 850,
    "used_credit": 1,
    "tokens": {
      "input_tokens": 100,
      "output_tokens": 30,
      "total_tokens": 130,
      "token_cost": 0
    }
  }
}

오류 응답

상태 코드 설명
400 JSON 형식 또는 필수 식별 정보가 잘못되었습니다.
402 API 사용 크레딧이 부족합니다.
403 API 키 인증에 실패했습니다.
404 조건에 맞는 학습용 답변을 찾을 수 없습니다.
500 답변 생성 중 서버 오류가 발생했습니다.