콘텐츠로 이동

채팅 및 메시지

ChatHub 대화 메타데이터를 가져오고, 상태를 관리하고, 기록 메시지 체인을 검토하기 위한 API 메서드입니다.

URL: https://chatapi.smsbat.com


1. 모든 채팅 받기

동적 필터링 및 페이지 매김을 사용하여 채팅 목록을 가져옵니다.

요청 - 방법: GET - URL: /api/chat/chats - 승인: Bearer Token(필수)

쿼리 매개변수

매개변수 유형 설명
페이지 정수 페이지 번호. 기본값: 1
페이지별 정수 페이지당 항목 수입니다. 기본값: 20
'검색' 문자열 텍스트 검색(예: 이름, 전화번호)
'출처' 정수 채팅 소스 열거형(예: Viber Bot의 경우 '1', Telegram의 경우 '2')
'날짜' 날짜시간 두 날짜 사이의 채팅을 가져옵니다(URL에 두 개의 동일한 매개변수 키가 필요함). 예: ?date=2026-01-28&date=2026-01-29
tg_user_id 정수 텔레그램 사용자 ID
'전화' 문자열 전화번호
상태 정수 0 = 신규, 1 = 열림, 2 = 대기 중, 3 = OnPause, 4 = 닫힘
조직 ID 정수 조직별로 검색
운영자 ID 정수 할당된 연산자로 좁히기

응답(200 OK)

{
  "total": 124,
  "items": [
    {
       "id": 123,
       "theme": "Support Ticket #491",
       "operator": {
           "id": 21,
           "name": "Jane",
           "photo": "url_to_photo.png"
       },
       "chatStatus": 1,
       "countUnread": 3
    }
  ]
}


2. 채팅 상태 변경

특정 채팅 세션의 할당된 상태를 업데이트합니다.

요청 - 방법: PUT - URL: /api/chat/status - 권한 부여: 전달자 토큰 - 헤더: 콘텐츠 유형: 애플리케이션/json

본문:

{
  "id": 123,
  "status": 1
}

상태 열거형 값: - 0: 신규(새로 생성됨) - 1: 개방형(운영자가 적극적으로 처리함) - 2: 대기(사용자 응답을 기다리는 중) - 3: OnPause(일시 중지된 상태) - 4: 폐쇄됨(보관됨)


3. 채팅 삭제

고유 ID를 통해 채팅을 영구적으로 삭제합니다.

요청 - 방법: 삭제 - URL: /api/chat/chats/{id} - 권한 부여: 전달자 토큰

응답(200 OK) 성공적인 삭제를 확인하려면 HTTP '200'을 반환합니다. 본문은 일반적으로 비어 있거나 엄격하게 "OK"입니다.


4. 채팅 메시지 검색

특정 채팅 내에서 과거에 보내고 받은 모든 메시지를 덤프합니다.

요청 - 방법: GET - URL: /api/chat/chats/{chatId}/messages - 권한 부여: 전달자 토큰

응답(200 OK)

[
  {
        "id": 1,
        "chatId": 123,
        "message": "Hello, how can I help?",
        "phone": "380936670003",
        "author": 0,
        "status": 3,
        "date": "2025-04-01T09:46:24.687Z",
        "operator": {
          "id": 21,
          "name": "Jane"
        },
        "messageType": 0
  }
]
저자: - 0: 연산자 - 1: 클라이언트 - 2: 시스템 봇 - 3: Viber 비즈니스 계정

메시지 유형: - 0: 텍스트 - 1: 사진 - 2: 파일


5. 메시지 상태 업데이트

활성 채팅 내의 메시지(또는 여러 메시지)를 새로운 배달 상태로 표시합니다.

요청 - 방법: PUT - URL: /api/chat/messages/status - 권한 부여: 전달자 토큰 - 헤더: 콘텐츠 유형: 애플리케이션/json

본문:

{
  "status": 3,
  "messageIds": [1, 2, 3]
}
(상태 3은 전송된 메시지 ID를 "읽음"으로 표시합니다)