Przejdź do treści

Zgodność API GMS

SMSBAT obsługuje warstwę kompatybilności z GMS API. Umożliwia to migrację istniejących integracji zaprojektowanych dla GMS bezpośrednio do SMSBAT bez konieczności modyfikowania schematów routingu wiadomości, struktur ładunku lub słuchaczy wywołań zwrotnych.


Ustawienia połączenia

Aby kierować żądania przez SMSBAT, zaktualizuj podstawowy adres URL i dane uwierzytelniające w swojej integracji:

  • Podstawowy adres URL: https://restapi.smsbat.com
  • Punkt końcowy: POST /api/GMSMessage/send_message
  • Format żądania: aplikacja/json
  • Uwierzytelnianie: Podstawowe uwierzytelnianie HTTP (wykorzystuje dane uwierzytelniające API SMSBAT)

Parametry żądania

Interfejs API zgodności GMS akceptuje obiekt JSON z następującymi parametrami najwyższego poziomu:

Parametr Wpisz Wymagane Opis
numer_telefonu ciąg Tak Numer telefonu odbiorcy w formacie międzynarodowym (np. „380501234567”).
znacznik ciąg Tak Zarejestrowana nazwa nadawcy / nazwa alfa.
kanały tablica Tak Lista kanałów do wypróbowania, w kolejności priorytetów. Obsługiwane wartości: viber, sms, push. Np. ["viber", "sms"].
opcje_kanału obiekt Tak Mapa zawierająca opcje dla każdego aktywnego kanału (patrz poniżej).
dodatkowy_id ciąg Nie Twój wewnętrzny identyfikator wiadomości po stronie klienta.
adres_wywołania zwrotnego ciąg Nie Adres URL punktu końcowego w systemie, aby otrzymywać wywołania zwrotne dotyczące stanu dostarczenia.
kod_działu ciąg Nie Opcjonalny identyfikator kodu podziału (domyślnie „main”).

Ustawienia opcji kanału

Obiekt channel_options zawiera konfiguracje specyficzne dla kanału.

=== „Wiadomość Vibera”

Używane, gdy w tablicy `channels` znajduje się `viber`.

| Parametr | Wpisz | Wymagane | Opis |
| :--- | :--- | :--- | :--- |
| `tekst` | ciąg | **Tak** | Treść wiadomości. |
| `ttl` | liczba całkowita | **Tak** | Czas życia w sekundach. |
| `img` | ciąg | Nie | Publiczny adres URL HTTPS obrazu do wyświetlenia. |
| `podpis` | ciąg | Nie | Etykieta tekstowa przycisku. |
| `akcja` | ciąg | Nie | Docelowy adres URL po kliknięciu przycisku. |
| `opcje_ankiety` | tablica | Nie | Tablica ciągów (od 2 do 5 elementów) wyświetlana jako opcje ankiety. |
| `elementy_karuzeli` | tablica | Nie | Tablica obiektów slajdów do wyświetlenia jako karuzela Viber (patrz struktura w zakładce). |

**Przykład żądania Viber:**
__KOD_BLOKU_0__

=== „Viber z zastępczym SMS-em”

Umożliwia przesyłanie wiadomości Viber z automatycznym zastępczym SMS-em, jeśli dostarczenie Viber nie powiedzie się w ciągu TTL.

**Przykład żądania zastępczego:**
__KOD_BLOKU_1__

=== „Wiadomość SMS”

Używane, gdy w tablicy `channels` znajduje się `sms`.

| Parametr | Wpisz | Wymagane | Opis |
| :--- | :--- | :--- | :--- |
| `tekst` | ciąg | **Tak** | Treść wiadomości. |
| `nazwa_alfa` | ciąg | **Tak** | Nazwa alfa nadawcy. |
| `ttl` | liczba całkowita | **Tak** | Czas życia w sekundach. |
| `ctr` | wartość logiczna | Nie | Włącz śledzenie kliknięć CTR linków w tekście („prawda”/„fałsz”). |

**Przykład żądania SMS:**
__KOD_BLOKU_2__

=== „Ankieta Vibera”

Służy do tworzenia ankiet i ankiet Viber.

!!! ostrzeżenie
    Konfiguracja ankiety Viber musi zawierać od **2 do 5 opcji** wewnątrz `opcji_survey_opcji`.

**Przykład żądania ankiety:**
__KOD_BLOKU_3__

=== „Karuzela Vibera”

Służy do wysyłania przesuwanych kart ze slajdami. Każdy slajd obsługuje obraz, tytuł i przyciski.

**Przykład żądania karuzeli:**
__KOD_BLOKU_4__

=== „Wyślij wiadomość”

Używane, gdy w tablicy „channels” znajduje się słowo „push”.

| Parametr | Wpisz | Wymagane | Opis |
| :--- | :--- | :--- | :--- |
| `tytuł` | ciąg | **Tak** | Tekst tytułu powiadomienia push. |
| `tekst` | ciąg | **Tak** | Treść wiadomości. |
| `ttl` | liczba całkowita | **Tak** | Czas życia w sekundach. |
| `img` | ciąg | Nie | Publiczny adres URL HTTPS obrazu do wyświetlenia. |
| `podpis` | ciąg | Nie | Etykieta tekstowa przycisku. |
| `akcja` | ciąg | Nie | Docelowy adres URL po kliknięciu przycisku. |
| `ctr` | wartość logiczna | Nie | Włącz śledzenie kliknięć. |

**Przykład żądania push:**
__KOD_BLOKU_5__

Format odpowiedzi

Punkt końcowy zwraca odpowiedzi w formacie JSON z kodem stanu „HTTP 200 OK”.

Pomyślna odpowiedź

KOD_BLOKU_6

Odpowiedzi na błędy

Jeśli sprawdzanie poprawności lub przetwarzanie nie powiedzie się, zostanie zwrócona odpowiedź na błąd z niepustym kodem „ErrorCode” i szczegółowym tekstem „ErrorText”.

=== „Nieobsługiwany kanał/opcja” KOD_BLOKU_7

=== „Nieprawidłowa liczba opcji ankiety” KOD_BLOKU_8

=== „Niezarejestrowana nazwa alfa” KOD_BLOKU_9

=== „Wewnętrzny błąd przetwarzania” KOD_BLOKU_10


Format dostarczania wywołania zwrotnego

Jeśli w żądaniu podano callback_url, SMSBAT wysyła aktualizacje statusu dostarczenia jako ładunek JSON POST do Twojego punktu końcowego.

Przykład żądania oddzwonienia

KOD_BLOKU_11

Opis pól wywołania zwrotnego

Pole Wpisz Opis
numer ciąg Numer telefonu odbiorcy.
czas numer Znacznik czasu zdarzenia w milisekundach systemu Unix.
stan numer Uproszczony identyfikator statusu (patrz tabela kodów statusu).
podstan numer Szczegółowy identyfikator statusu (patrz tabela kodów podstanów).
hyber_status numer Szczegółowy wewnętrzny kod statusu SMSBAT (patrz tabela Hyber Status).
id_wiadomości ciąg Identyfikator wiadomości SMSBAT (GUID) generowany podczas wysyłania.
dodatkowy_id ciąg Identyfikator po stronie klienta podany w pierwotnym żądaniu.
wysłane_przez ciąg Kanał, który przetworzył wiadomość: viber, sms lub rcs.
pasujący_template_id numer Stan dopasowania szablonu Viber (w stosownych przypadkach).

Mapowania stanu

1. Status uproszczony („status”)

Kod Znaczenie
1 Wiadomość została zaakceptowana lub jest dostarczana.
2 Wiadomość dostarczona.
3 Błąd przetwarzania lub dostawy.

2. Status szczegółowy („podstatus”)

Kod Znaczenie
12 Przyjęty do przetworzenia.
23 Dostarczony.
24 Widziałem/przeczytałem.
35 Nie dostarczono w ciągu TTL (wygasł).
36 Błąd dostawy.

3. Typ kanału („wysłane_przez”)

Kanał Opis
viber Status wyprodukowany przez kanał Viber.
sms Status generowany przez kanał SMS.
rcs Status wygenerowany przez kanał RCS.

4. Szczegółowy status SMSBAT (hyber_status)

Kod Kanał Stan Podstan Znaczenie
23033 viber 2 23 Wiadomość Viber została dostarczona.
24013 viber 2 24 Wiadomość Viber przeczytana przez odbiorcę (widziana).
36013 viber 3 36 Wewnętrzny błąd Vibera.
36023 viber 3 36 Nieprawidłowy lub niedostępny identyfikator usługi Viber.
36033 viber 3 36 Nieprawidłowe dane ładunku Viber.
36037 viber 3 36 Adres URL obrazu Viber jest za długi.
36038 viber 3 36 Nieprawidłowy adres URL obrazu Viber.
36039 viber 3 36 Tekst Vibera jest za długi.
36044 viber 3 36 Pusty tekst Vibera.
36053 viber 3 36 Nieobsługiwany typ wiadomości Viber.
36063 viber 3 36 Nieprawidłowe parametry Vibera.
36073 viber 3 36 Przekroczono limit czasu dostawcy Viber.
36083 viber 3 36 Nadawca Viber zablokowany przez odbiorcę.
36093 viber 3 36 Odbiorca nie jest zarejestrowany jako użytkownik Viber.
36103 viber 3 36 Nie znaleziono urządzenia z systemem Android/iOS obsługującego Viber.
36113 viber 3 36 Nieautoryzowany adres IP do wysyłania Viber.
36123 viber 3 36 Wykryto zduplikowaną wiadomość Viber.
36143 viber 3 36 Błąd rozliczeniowy Viber.
36153 viber 3 36 Wiadomość zablokowana przez czarną listę platformy.
36163 viber 3 36 Wewnętrzny błąd przetwarzania platformy Viber.
36173 viber 3 36 Nieprawidłowa lub brakująca etykieta Viber.
36183 viber 3 36 Nieprawidłowa wartość Viber TTL.
12011 sms / rcs 1 12 Akceptowane wiadomości SMS/RCS.
36011 sms / rcs 1 12 SMS/RCS w drodze.
23011 sms / rcs 2 23 Dostarczono SMS/RCS.
35015 sms / rcs 3 35 SMS/RCS wygasł (nie został dostarczony w ciągu TTL).
36021 sms / rcs 3 36 Wiadomość SMS/RCS została usunięta.
36031 sms / rcs 3 36 Nie można dostarczyć wiadomości SMS/RCS.
36041 sms / rcs 3 36 Nieznany status dostarczenia wiadomości SMS/RCS.
36051 sms / rcs 3 36 Wiadomość SMS/RCS odrzucona.