Bezpieczne ponawianie wysyłki przez API SMS
Wysyłają Państwo SMS-y przez nasze API i od czasu do czasu pojawia się przekroczenie limitu czasu lub błąd sieci? Wtedy nie wiadomo, czy wiadomość została już wysłana. Ponowna próba może sprawić, że odbiorca dostanie ten sam SMS dwa razy. Dzięki nowemu parametrowi idempotency_key w wersji 2 API SMS to już nie może się zdarzyć.
Jak to działa?
Przy wysyłce proszę przekazać unikalną wartość w idempotency_key, na przykład UUID, jedną na wiadomość. Jeśli w ciągu 24 godzin wyślą Państwo to samo żądanie z tym samym kluczem, niczego nie wysyłamy. Otrzymują Państwo po prostu pierwotną odpowiedź, z tym samym msgid, tym samym uuid i tą samą datą. W takim przypadku odpowiedź zawiera też nagłówek Idempotency-Repeat: true, aby było wiadomo, że chodzi o powtórzenie.
Parametr jest opcjonalny. Jeśli go Państwo nie przekażą, w istniejącej integracji nic się nie zmienia.
Warto wiedzieć
- Klucz jest ważny przez 24 godziny od pierwszego żądania. Potem traktujemy go jako nowy i wiadomość zostaje wysłana ponownie.
- Klucze obowiązują w obrębie konta: inny klient może użyć tej samej wartości bez konfliktu.
- Jeśli użyją Państwo tego samego klucza dla innej wiadomości, z innym numerem, innym tekstem lub innym nadawcą, odrzucimy żądanie z kodem 20.
- Jeśli powtórzenie dotrze, gdy pierwsze żądanie jest jeszcze przetwarzane, otrzymają Państwo kod 21. Wtedy proszę spróbować ponownie nieco później.
- Jeśli żądanie zostało odrzucone, na przykład z powodu braku wystarczającej liczby kredytów, nie zapisujemy klucza. Po doładowaniu wystarczy spróbować ponownie z tym samym kluczem.
- Klucz może mieć maksymalnie 255 znaków. Jeśli jest dłuższy, otrzymają Państwo kod 19.
Wszystkie szczegóły znajdą Państwo w dokumentacji API, w części dotyczącej wysyłania wiadomości.