TurboSMS API 호환성
SMSBAT는 TurboSMS API와의 호환성 레이어를 완벽하게 지원합니다. 이를 통해 메시지 구조나 엔드포인트 페이로드를 다시 작성할 필요 없이 TurboSMS용으로 설계된 기존 통합을 SMSBAT로 직접 마이그레이션할 수 있습니다.
우리는 이미 익숙한 동일한 요청 본문 구조를 사용하여 SMS 및 Viber 메시지 전송(캐러셀 및 설문 조사와 같은 고급 기능 포함), 상태 가져오기, 메시지 세부 정보 가져오기를 지원합니다.
인증
기본 TurboSMS API와의 유일한 차이점은 인증 메커니즘입니다. TurboSMS는 사용자 정의 ‘토큰’ 쿼리 매개변수 또는 특정 인증 헤더를 사용하는 반면 SMSBAT에는 표준 전달자 토큰이 필요합니다.
모든 요청의 Authorization 헤더에 SMSBAT API 토큰을 포함해야 합니다.
Authorization: Bearer YOUR_SMSBAT_TOKEN
기본 URL
모든 엔드포인트는 SMSBAT API 기본 URL로 연결되어야 합니다.
https://restapi.smsbat.com
단일 메시지 보내기
엔드포인트: POST /api/tsms/message/send
하이브리드 전송을 지원하여 SMS 및 Viber 메시지 전송을 허용합니다(SMS 대체 기능이 있는 Viber). 단일 보내기 요청을 처리하고 각 수신자에 대한 배달 결과를 반환합니다.
주요 기능
- 유연한 매개변수: 전역 매개변수는 특정 SMS/Viber 매개변수로 재정의될 수 있습니다.
- 콘텐츠: Viber 캐러셀, 설문조사, 파일 첨부 및 대화형 버튼을 지원합니다.
- 오류 처리: 오류(구조화된 오류 응답)인 경우에도 HTTP 200을 반환합니다. 시스템 오류의 경우 상태가 ‘FATAL_ERROR’인 ‘응답_코드: 999’입니다.
- 수신자 오류: 특정 수신자 오류는
response_result배열에 반환됩니다. 실패한 수신자에게는message_id: null및 특정 오류 코드가 있습니다.
요청 예시(하이브리드 메시지)
{
"sender": "GlobalSender",
"text": "Test message",
"recipients": ["380951111111", "380952222222"],
"start_time": "2025-09-29T10:00:00Z",
"sequence_id": "seq_12345",
"sms": {
"sender": "SMSSender",
"text": "SMS version of message",
"is_flash": false
},
"viber": {
"sender": "ViberSender",
"text": "Viber version of message",
"ttl": 3600,
"image_url": "https://example.com/image.png",
"caption": "Button text",
"action": "https://google.com",
"count_clicks": true,
"is_transactional": false
}
}
요청 예시(Viber Carousel)
{
"sender": "GlobalSender",
"text": "Check out our products",
"recipients": ["380951111111"],
"viber": {
"sender": "ViberSender",
"text": "Check out our products",
"is_transactional": false,
"carousel": [
{
"title": "Product 1",
"image_url": "https://example.com/product1.jpg",
"button_caption": "Buy Now",
"button_url": "https://example.com/buy/product1",
"link_caption": "Learn More",
"link_url": "https://example.com/product1"
},
{
"title": "Product 2",
"image_url": "https://example.com/product2.jpg",
"button_caption": "Buy Now",
"button_url": "https://example.com/buy/product2",
"link_caption": "Learn More",
"link_url": "https://example.com/product2"
}
]
}
}
요청 예시(Viber 설문조사)
{
"sender": "GlobalSender",
"text": "Please rate our service",
"recipients": ["380951111111"],
"viber": {
"sender": "ViberSender",
"text": "Please rate our service",
"is_transactional": true,
"survey": [
"Excellent",
"Good",
"Average",
"Poor"
]
}
}
여러 메시지 보내기(일괄)
끝점: POST /api/tsms/message/sendmulti
이 방법을 사용하면 단일 HTTP 요청으로 여러 개의 send 요청을 보내 연결 오버헤드를 절약할 수 있습니다. 100개의 요청에 대한 데이터로 sendmulti를 호출하는 것이 100개의 개별 send 요청을 실행하는 것보다 빠릅니다.
요청 예시
{
"batch_1": {
"sender": "GlobalSender",
"text": "Test message",
"recipients": ["380982462128", "380501111111"],
"sms": {
"sender": "SMSSender",
"text": "SMS version of message"
}
},
"batch_2": {
"sender": "GlobalSender",
"text": "Second message",
"recipients": ["380501111111"],
"viber": {
"sender": "ViberSender",
"text": "Viber message",
"is_transactional": true
}
}
}
응답 예시
{
"response_code": 0,
"response_status": "OK",
"response_result": {
"batch_1": {
"response_code": 800,
"response_status": "SUCCESS_MESSAGE_ACCEPTED",
"response_result": [
{
"phone": "380982462128",
"response_code": 0,
"message_id": "f1640579-ea75-4bc1-b708-1c3858bf222d",
"response_status": "OK"
}
]
},
"batch_2": { ... }
}
}
메시지 상태 가져오기
엔드포인트: POST /api/tsms/message/status
‘message_id’를 제공하여 보낸 메시지의 배달 상태를 검색합니다.
요청 예시
{
"messages": [
"573dcb46-7851-4e16-bb1f-721c13ef5f38",
"6b7f9ff5-28c8-4f38-913b-31af6021fbea"
]
}
메시지 세부정보 가져오기
엔드포인트: POST /api/tsms/message/details
SMS 및 Viber 채널에 대한 전체 페이로드 세부 정보, 가격, 정확한 타임스탬프를 포함하여 생성된 메시지에 대한 세부 정보를 검색할 수 있습니다.
요청 예시
{
"messages": [
"573dcb46-7851-4e16-bb1f-721c13ef5f38",
"f1640579-ea75-4bc1-b708-1c3858bf222d"
]
}
응답 예시
{
"response_code": 0,
"response_status": "OK",
"response_result": [
{
"message_id": "573dcb46-7851-4e16-bb1f-721c13ef5f38",
"sms": null,
"viber": {
"added": "2025-09-29T14:17:02.577Z",
"start": "2025-09-29T10:00:00Z",
"sent": "2025-09-29T14:17:02.577Z",
"updated": "2025-09-29T14:17:02.577Z",
"sender": "ViberSender",
"text": "Viber version of message",
"recipient": "380982462128",
"message_type": "promotional",
"status": "Queued",
"price": 0,
"ttl": 3600,
"caption": "Button text",
"action": "https://google.com"
},
"response_code": 0,
"response_status": "OK"
}
]
}