Zgodność API TurboSMS
SMSBAT w pełni obsługuje warstwę kompatybilności z TurboSMS API. Umożliwia to migrację istniejących integracji zaprojektowanych dla TurboSMS bezpośrednio do SMSBAT bez konieczności przepisywania struktur wiadomości lub ładunków punktów końcowych.
Obsługujemy wysyłanie wiadomości SMS i Viber (w tym zaawansowane funkcje, takie jak karuzele i ankiety), pobieranie statusów i pobieranie szczegółów wiadomości przy użyciu dokładnie tych samych struktur treści żądania, które już znasz.
Uwierzytelnianie
Jedyną różnicą w stosunku do natywnego API TurboSMS jest mechanizm uwierzytelniania. Podczas gdy TurboSMS używa niestandardowego parametru zapytania „tokenu” lub określonego nagłówka uwierzytelniania, SMSBAT wymaga standardowego Tokenu nośnika.
Musisz podać swój token API SMSBAT w nagłówku „Authorization” dla wszystkich żądań:
Authorization: Bearer YOUR_SMSBAT_TOKEN
Podstawowy adres URL
Wszystkie endpointy powinny być kierowane na bazowy adres URL SMSBAT API:
https://restapi.smsbat.com
Wyślij pojedynczą wiadomość
Punkt końcowy: POST /api/tsms/message/send
Umożliwia wysyłanie wiadomości SMS i Viber z obsługą dostarczania hybrydowego (Viber z rezerwowym SMS-em). Przetwarza pojedyncze żądanie wysłania i zwraca wyniki dostawy dla każdego odbiorcy.
Kluczowe możliwości
- Parametry elastyczne: Parametry globalne można zastąpić określonymi parametrami SMS/Viber.
- Treść: Obsługuje karuzele Viber, ankiety, załączniki plików i interaktywne przyciski.
- Obsługa błędów: Zwraca HTTP 200 nawet w przypadku błędów (ustrukturyzowane odpowiedzi na błędy).
kod_odpowiedzi: 999ze statusemFATAL_ERRORdla błędów systemowych. - Błędy odbiorców: Określone błędy odbiorców są zwracane w tablicy
response_result. Odbiorcy, którym nie udało się wysłać wiadomości, mają „id_wiadomości: null” i określone kody błędów.
Przykład żądania (wiadomość hybrydowa)
{
"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
}
}
Przykład żądania (karuzela Viber)
{
"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"
}
]
}
}
Przykład żądania (ankieta 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"
]
}
}
Wyślij wiele wiadomości (wsadowo)
Punkt końcowy: POST /api/tsms/message/sendmulti
Ta metoda umożliwia wysyłanie wielu żądań „wysłania” w jednym żądaniu HTTP, oszczędzając obciążenie połączenia. Wywołanie sendmulti z danymi dla 100 żądań będzie szybsze niż wykonanie 100 indywidualnych żądań send.
Przykład żądania
{
"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
}
}
}
Przykład odpowiedzi
{
"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": { ... }
}
}
Uzyskaj status wiadomości
Punkt końcowy: POST /api/tsms/message/status
Pobierz statusy dostarczenia wysłanych wiadomości, podając ich message_id.
Przykład żądania
{
"messages": [
"573dcb46-7851-4e16-bb1f-721c13ef5f38",
"6b7f9ff5-28c8-4f38-913b-31af6021fbea"
]
}
Uzyskaj szczegóły wiadomości
Punkt końcowy: POST /api/tsms/message/details
Umożliwia pobieranie szczegółowych informacji o utworzonych wiadomościach, w tym pełnych szczegółów ładunku dla kanałów SMS i Viber, cen i dokładnych znaczników czasu.
Przykład żądania
{
"messages": [
"573dcb46-7851-4e16-bb1f-721c13ef5f38",
"f1640579-ea75-4bc1-b708-1c3858bf222d"
]
}
Przykład odpowiedzi
{
"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"
}
]
}