Help Center 채팅 및 메시지

채팅 및 메시지

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를 “읽음”으로 표시합니다)