SMS

Czym jest konkatenowana wiadomość SMS?

Konkatenowana wiadomość SMS jest przesyłana jako kilka wiadomości sieciowych, które telefon odbiorcy łączy w jedną.

Długie powiadomienie o doręczeniu może wyglądać na telefonie jak jedna wiadomość tekstowa. Mimo to może generować kilka jednostek rozliczeniowych. Każda część zawiera zarówno tekst, jak i informacje identyfikujące jej miejsce w kompletnej wiadomości.

Skąd telefon wie, które części połączyć?

Każda część zawiera wspólny identyfikator referencyjny, łączną liczbę części oraz swoją pozycję w sekwencji.

Te wartości znajdują się w nagłówku obok tekstu. Specyfikacja 23.040 organizacji 3rd Generation Partnership Project definiuje ten mechanizm. Telefon sprawdza również, czy części pochodzą od tego samego nadawcy i centrum wiadomości.

Nagłówek zajmuje część pojemności każdego segmentu. Dlatego Bird stosuje mniejszy limit tekstowy dla każdej części konkatenowanej wiadomości.

Dlaczego jeden dodatkowy znak tworzy kolejny segment?

Przekroczenie limitu pojedynczego segmentu powoduje, że Bird dzieli całą treść, stosując mniejszy limit wieloczęściowy.

Zwykły tekst łaciński mieści 160 znaków w jednym segmencie. Każda część dłuższej wiadomości mieści 153.

Treść składająca się ze 160 zwykłych liter łacińskich mieści się w jednym segmencie. Dodaj jeszcze jedną literę, a 161-literowa treść wymaga dwóch części, mieszczących 153 i osiem liter. Obie części rezerwują miejsce na nagłówek, łącznie z pierwszą.

Znaki takie jak cudzysłowy typograficzne przełączają całą wiadomość na mniejszy limit: 70 znaków lub 67 na część. Tekst zawierający 70 liter łacińskich i jeden cudzysłów typograficzny wymaga więc dwóch części.

Niektóre znaki liczą się podwójnie w ramach tych limitów. GSM-7 vs UCS-2 wyjaśnia, dlaczego widoczna liczba znaków może zaniżać wymagane miejsce.

Co się stanie, jeśli jedna część nie dotrze?

Telefon nie może odtworzyć pełnego tekstu, dopóki nie otrzyma wszystkich części.

Sieć obsługuje części jako osobne wiadomości. Ich doręczenie może zakończyć się niezależnie. Pomyślne doręczenie jednej części nie oznacza doręczenia całego tekstu.

Niekompletna wiadomość może więc stanowić problem z doręczeniem, nawet jeśli Twoja aplikacja wysłała pełną treść. Jeśli to możliwe, utrzymuj jednorazowy kod weryfikacyjny w obrębie jednego segmentu. Odbiorca nie musi wtedy czekać na kilka części, żeby go odczytać.

Ile części akceptuje Bird?

Możesz wysłać do dwunastu segmentów w jednym żądaniu. Bird odrzuca dłuższą treść.

To mieści 1836 zwykłych znaków łacińskich: dwanaście części po 153. Szerszy alfabet mieści 804: dwanaście części po 67. Znaki liczone podwójnie, w tym niektóre emoji, zmniejszają ilość tekstu, jaka się zmieści.

Pole text żądania przyjmuje niepusty ciąg znaków z zastrzeżeniem limitu dwunastu segmentów. Jego przekroczenie zwraca HTTP 422, co oznacza odrzucenie żądania z powodu nieprawidłowej treści. Bird nie skraca tekstu po cichu.

Jak sprawdzić obliczony wynik?

Odczytaj obiekt segments w odpowiedzi na wiadomość, aby zobaczyć, co obliczył Bird.

  • count to liczba całkowita o wartości co najmniej 1. Wiadomości wychodzące nie mogą przekroczyć 12. Każda część stanowi osobną jednostkę rozliczeniową.
  • encoding przyjmuje wartość GSM_7BIT lub UCS2, wskazując, który limit pojemności obowiązuje.
  • characters zlicza znaki przed zastosowaniem reguł podwójnego liczenia. Użyj count, aby sprawdzić rozliczane segmenty.

W przypadku długiego szablonu sprawdź ostateczną treść po wstawieniu imion lub innego tekstu zmiennego. Segmenty SMS wyjaśnia sposób naliczania opłat, a przewodnik po limitach znaków dokumentuje odpowiedź.

W skrócie

  1. Wysyłasz jedną wiadomość.

    Bird dzieli zbyt długą treść na części, które telefon odbiorcy może złożyć w całość.

  2. Każda część wymaga nagłówka.

    Informacje potrzebne do złożenia wiadomości zmniejszają pojemność tekstową każdego segmentu, łącznie z pierwszym.

  3. Brak jednej części uniemożliwia pełne złożenie wiadomości.

    Telefon potrzebuje wszystkich części, aby wyświetlić pełny tekst.

  4. Bird ogranicza wiadomości wychodzące do dwunastu segmentów.

    Dłuższa treść jest odrzucana z odpowiedzią HTTP 422, zamiast być obcinana.

Buduj na tej samej sieci.

Testowy klucz API otrzymasz od razu. Dostęp produkcyjny odblokujesz po dodaniu metody płatności i zweryfikowaniu nadawcy.

Twój kolejny pomysł.
Gotowy do połączenia.