채팅 및 메시지
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
본문:
상태 열거형 값:
- 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
본문:
(상태3은 전송된 메시지 ID를 "읽음"으로 표시합니다)