HTTP API - akcja 'sendmessage'
To polecenie HTTP API może być używane do wysyłania wiadomości SMS przez Bramkę SMS. Polecenie może być używane do wysyłania tekstowych wiadomości SMS lub innych typów wiadomości, takich jak binarne wiadomości SMS, loga operatorów, dzwonki, WAP PUSH, itp... Kiedy używasz tego polecenia, musisz użyć nazwy użytkownika i hasła HTTP API, musisz określić numer telefonu odbiorcy oraz treść wiadomości.
Opis
Aby wysłać SMS, użyj następującego formatu URL:
https://127.0.0.1:9508/api?action=sendmessage&username=UUUUU&password=PPPPP&
recipient=NNNNN&messagetype=MMMMM&messagedata=DDDDD
127.0.0.1 to lokalny adres IP, więc zastąp go adresem IP lub nazwą hosta komputera
z zainstalowaną Bramką SMS Ozeki. (Uwaga: 127.0.0.1 to lokalny
adres pętli zwrotnej, który może być używany, gdy łączysz się z Bramką SMS
z tego samego komputera.) 9508 to domyślny port HTTP API Bramki SMS
Ozeki. Ten numer portu można zobaczyć i edytować w interfejsie użytkownika Bramki SMS Ozeki 10,
klikając przycisk Zaawansowane na pasku narzędzi.
"UUUUU" i "PPPPP" należy zastąpić nazwą użytkownika i hasłem
użytkownika utworzonego w bramce SMS.
Zastąp "NNNNN" numerem telefonu, na który chcesz wysłać wiadomość SMS.
Możesz użyć lokalnego formatu numeru telefonu, jak również międzynarodowego formatu
numeru telefonu (numery telefonów w formacie międzynarodowym zawsze zaczynają się od znaku '+').
Jeśli używany jest międzynarodowy format numeru telefonu,
pamiętaj, że musisz zastąpić znak '+' ciągiem '%2B' ze względu na
zasady kodowania URL.
Zastąp "MMMMM" typem wiadomości. Typ wiadomości "SMS:TEXT" powinien być używany dla
wiadomości tekstowych.
Dane wiadomości zawierają treść, którą chcesz wysłać. Umieść dane wiadomości zamiast "DDDDD". Dane wiadomości powinny być
zakodowane w UTF-8 i powinny być
zakodowane w URL.
Do żądania można również dodać inne parametry.
Aby zapoznać się z pełną listą dostępnych parametrów, zobacz tabelę 'Parametry żądania' poniżej:
Przykładowe żądanie URL
https://127.0.0.1:9508/api?action=sendmessage&username=admin&password=abc123&
recipient=06203105366&messagetype=SMS:TEXT&messagedata=Hello+World
Przykładowa odpowiedź
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: 246 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE smsapi PUBLIC "-//OZEKI//DTD XML 1.0//EN" "http://www.ozekisms.com/DTD/smsapi.xml"> <response> <action>sendmessage</action> <data> <acceptreport> <statuscode>0</statuscode> <statusmessage>Wiadomość zaakceptowana do dostarczenia</statusmessage> <messageid>ERFAV23D</messageid> <recipient>06203105366</recipient> </acceptreport> </data> </response>Parametry żądania HTTP
Parametr | Opis | Dopuszczalne wartości | Przykład | W/O* |
action | Określa polecenie API HTTP | sendmessage | action=sendmessage | W |
username | Określa nazwę użytkownika. Parametry username i password służą do uwierzytelnienia użytkownika. Po wysłaniu wiadomości zostanie ona wysłana w imieniu uwierzytelnionego użytkownika. Wartość musi być zakodowana w URL. | wartość tekstowa, maksymalna długość to 16 znaków | username=admin | W |
password | Określa hasło. Parametry username i password służą do uwierzytelnienia użytkownika. Po wysłaniu wiadomości zostanie ona wysłana w imieniu uwierzytelnionego użytkownika. Wartość musi być zakodowana w URL. | wartość tekstowa, maksymalna długość to 16 znaków | password=abc123 | W |
originator | Określa adres nadawcy. Ta informacja będzie wyświetlana na telefonie komórkowym, który otrzyma wiadomość. Jest to adres nadawcy. Może to być numer telefonu, krótki kod lub alfanumeryczny adres nadawcy. Numer telefonu może być sformatowany w lokalnym formacie numeru (np. 06201234567) lub w międzynarodowym formacie numeru (np. +36201234567). Jeśli używasz alfanumerycznego adresu nadawcy (np. ozeki), znaki muszą być zakodowane w UTF8, a wartość musi być zakodowana w URL. | wartość tekstowa, maksymalna długość to 16 znaków | originator=%2B36201112222 | O |
recipient | Określa numer telefonu odbiorcy.
Wiadomość zostanie wysłana na ten numer telefonu. Numer telefonu
może być podany w lokalnym formacie (np. 06201234567) lub w
międzynarodowym formacie (np. +36201234567). Więcej niż jeden adres odbiorcy może być oddzielony dwukropkiem (np.: +36201234567,+36202222222) lub średnikiem. Wartość musi być zakodowana w URL. |
wartość tekstowa, maksymalna długość to 16 znaków | recipient=%2B36201234567 | W |
messagetype | Określa typ wiadomości.
Typ danych wiadomości SMS na podstawie
Specyfikacji Typu Wiadomości Mobilnej.
Dla wiadomości tekstowych dane wiadomości będą zwykłym tekstem, dla innych typów wiadomości
będą dokumentem XML.
|
SMS:TEXT SMS:WAPPUSH ... Dopuszczalne wartości można znaleźć w Specyfikacji Typu Wiadomości Mobilnej |
messagetype=SMS:TEXT | O |
messagedata | Określa tekst lub dane wiadomości SMS. Wartość musi być zakodowana w UTF8 i zakodowana w URL. | wartość tekstowa, maksymalna długość to 32768 znaków | messagedata=Hello+World | W |
_charset_ | Określa zestaw znaków zakodowanych danych (jeśli nie określono, przyjmuje się utf-8).
Nowoczesne przeglądarki powinny ustawiać wartość _charset_ automatycznie. Jeśli Twoja
przeglądarka nie obsługuje tej funkcji, możesz ustawić ją ręcznie na: |
utf-8 windows-1250 iso-8859-1 iso-8859-2 ... (Obsługiwane wartości zestawów znaków) |
_charset_=iso-8859-2 | O |
serviceprovider | Określa nazwę połączenia GSM Modem lub dostawcy usług SMS IP,
które mają być użyte do wysłania wiadomości.
Więcej informacji na temat wyboru połączenia dostawcy usług jest dostępnych w
Przewodniku routingu SMS API HTTP.
Wartość musi pasować do ciągu określonego w formularzu konfiguracyjnym połączenia dostawcy usług. |
wartość tekstowa, maksymalna długość to 16 znaków | serviceprovider=Vodafone | O |
sendondate | Określa datę i czas, kiedy wiadomość powinna zostać wysłana.
Wartość musi używać następującego formatu daty: RRRR-MM-DD gg:mm:ss. Wartość musi być zakodowana w URL. |
wartość daty w formacie RRRR-MM-DD gg:mm:ss | sendondate=2018-12-12+10%3A07%3A05 | O |
responseformat | Po przesłaniu wiadomości SMS przez bramkę, bramka zwróci stronę internetową informującą o pomyślnym przesłaniu wiadomości. Zawartość strony jest formatowana zgodnie z parametrem responseformat. Możesz mieć odpowiedź w formacie html, aby ułatwić czytanie ludziom, lub w formacie xml, aby ułatwić przetwarzanie odpowiedzi przez oprogramowanie. |
xml (domyślnie) html urlencoded |
responseformat=xml | O |
continueurl | Po przesłaniu wiadomości SMS przez bramkę, bramka zwróci
stronę internetową informującą o pomyślnym przesłaniu wiadomości.
Zawartość
strony jest formatowana zgodnie z parametrem responseformat.
Jeśli parametr responseformat jest ustawiony na html, strona
może zawierać link "Kontynuuj". Jeśli określisz URL w tym parametrze,
link kontynuuj będzie wyświetlany i będzie wskazywał na określony
URL. Wartość URL musi być zakodowana w URL.
URL, który określisz, może zawierać słowa kluczowe, które zostaną zastąpione informacjami o stanie odpowiadającymi przesłanej wiadomości. Więcej informacji na temat możliwych słów kluczowych można znaleźć w przewodniku "Słowa kluczowe URL przesyłania". |
wartość tekstowa, maksymalna długość to 1024 znaków | continueurl=192.168.1.23 lub continueurl=http%3A%2F%2Fwww.ozekisms. com%2Findex.php%3Fowpn%3D159 Uwaga: drugi przykład zawiera zakodowany w URL URL. |
O |
redirecturl | Po przesłaniu wiadomości SMS przez bramkę, domyślnie bramka
zwróci stronę internetową informującą o pomyślnym przesłaniu wiadomości.
Opcjonalnie możesz poprosić bramkę o automatyczne
przekierowanie przeglądarki na określony URL. Jeśli określisz URL w
parametrze redirect, odpowiedź HTTP zwrócona
przez bramkę SMS będzie zawierać URL przekierowania w nagłówku HTTP. To
spowoduje, że przeglądarka internetowa przejdzie do określonego linku.
Wartość URL musi być
zakodowana w URL.
URL, który określisz, może zawierać słowa kluczowe, które zostaną zastąpione informacjami o stanie odpowiadającymi przesłanej wiadomości. Więcej informacji na temat możliwych słów kluczowych można znaleźć w przewodniku "Słowa kluczowe URL przesyłania". |
wartość tekstowa, maksymalna długość to 1024 znaków | redirecturl=192.168.1.23 lub redirecturl=http%3A%2F%2F192.168.1.23 %2Findex.php%3Fowpn%3D159 Uwaga: drugi przykład zawiera zakodowany w URL URL. |
O |
reporturl | Możesz skonfigurować stronę internetową do przetwarzania informacji o zdarzeniach "dostarczono
do sieci" i "dostarczono do telefonu". Jeśli
określisz URL w parametrze reporturl, Twoja strona internetowa zostanie
wywołana, gdy te zdarzenia wystąpią. Wartość URL, który określisz w
parametrze reporturl, musi być
zakodowana w URL.
URL, który określisz, może zawierać słowa kluczowe, które zostaną zastąpione informacjami o stanie odpowiadającymi przesłanej wiadomości. Dobry przykład, jak użyć opcji report URL, można znaleźć w przewodniku jak wysłać zaplanowaną wiadomość SMS i użyć funkcjonalności reporturl. |
wartość tekstowa, maksymalna długość to 1024 znaków | reporturl=http%3A%2F%2Fwww.ozekisms. com%2Fproc.php%3Freporttype%3D%24reporttype %26messageid%3D%24messageid Uwaga: to jest zakodowana w URL wersja następującego URL. Zanim ten URL zostanie wywołany przez bramkę SMS, parametry $reporttype i $messageid zostaną zastąpione odpowiednimi wartościami: http://192.168.1.23/proc.php?reporttype=$reporttype& messageid=$messageid zostanie wywołany jako: http://192.168.1.23/proc.php?reporttype=deliveredtonetwork& messageid=ERFAV23D Lista słów kluczowych, których możesz użyć w reporturl: $reporttype $messageid $statuscode $statusmessage $fromstation $fromconnection $fromaddress $tostation $toconnection $toaddress $text $createdate $submitdate $receiveddate |
O |
messagecount | Określa dokładną liczbę wiadomości, które chcesz wysłać. Jeśli ustawione, wymagane jest indeksowanie dla parametrów 'recipient', 'messagetype' i 'messagedata'. Szczegółowy samouczek 'messagecount' można znaleźć tutaj. | liczba (wartość domyślna: 1) |
messagecount=6 | O |
maxresponse | Ta liczba określa maksymalną liczbę wiadomości, o których otrzymasz informację zwrotną. Jeśli przekroczysz tę liczbę, Twoje wiadomości zostaną wysłane, ale nie otrzymasz informacji zwrotnej na ich temat. Domyślnie, ten parametr jest ustawiony na 500 wiadomości. | liczba | maxresponse=1000 | O |
vp | Określa okres ważności dla Twojej wiadomości.
Wartość musi używać następującego formatu daty: RRRR.MM.DD gg:mm:ss. Wartość musi być zakodowana w URL. Przeczytaj ten samouczek, aby uzyskać więcej informacji. |
wartość daty w formacie RRRR.MM.DD gg:mm:ss | vp=2019.01.28.+10%3A07%3A05 | O |
* W = Wymagany parametr, O = Opcjonalny parametr
Parametry odpowiedzi
(format odpowiedzi xml)
Parametr | Opis | Dopuszczalne wartości | Przykład |
acceptreport | Zawiera odpowiedź na żądanie wysłania wiadomości dla pojedynczego adresata. Jeśli podano wielu adresatów, odpowiedź będzie zawierać acceptreport dla każdego z nich. Kolejność acceptreport będzie odpowiadać kolejności adresatów. | <acceptreport> <statuscode>0</statuscode> <statusmessage>Wiadomość zaakceptowana do dostarczenia</statusmessage> <messageid>ERFAV23D</messageid> <recipient>06203105366</recipient> </acceptreport> |
|
acceptreport.statuscode | Zawiera wartość całkowitą wskazującą na sukces lub błąd. Jeśli wartość wynosi 0, oznacza to, że wiadomość została zaakceptowana do dostarczenia. Jeśli wartość jest większa niż 0, oznacza to błąd, a wiadomość nie została zaakceptowana do dostarczenia. | Wartość całkowita, większa lub równa 0. Mniejsza niż 32768. | <statuscode>0</statuscode> |
acceptreport.statusmessage | Zawiera tekstową reprezentację kodu statusu. Jeśli wiadomość została zaakceptowana, wartość będzie brzmiała "Wiadomość zaakceptowana do dostarczenia". Jeśli wiadomość nie została zaakceptowana, w tym polu znajdziesz komunikat błędu. | wartość tekstowa, maksymalna długość to 1024 znaki | <statusmessage>Wiadomość zaakceptowana do dostarczenia</statusmessage> |
acceptreport.messageid | Zawiera identyfikator wiadomości, który może być użyty do śledzenia wiadomości w bramce SMS. Ten identyfikator jest również używany do identyfikacji raportów o dostarczeniu do sieci lub na telefon oraz do uzyskiwania informacji o wiadomości. | wartość tekstowa, maksymalna długość to 16 znaków | <messageid>ERFAV23D</messageid> |
acceptreport.recipient | Zawiera adres odbiorcy. | wartość tekstowa, maksymalna długość to 16 znaków | <recipient>06203105366</recipient> |
Podsumowanie
Ten artykuł dotyczył akcji ‘sendmessage’ w HTTP API. Za pomocą tej akcji możesz wysyłać wiadomości SMS tekstowe oraz wiele innych typów wiadomości do dowolnych odbiorców przez Bramkę SMS Ozeki. Zobaczyłeś przykładowe odpowiedzi oraz więcej żądań HTTP z opisami, dopuszczalnymi wartościami i przykładami.
Jeśli chcesz dowiedzieć się więcej o statusie dostarczenia swoich wiadomości, kliknij stronę o statusach dostarczenia SMS. Jeśli potrzebujesz szablonu URL, odwiedź odpowiednią stronę.
Jeśli chcesz użyć tego rozwiązania w praktyce, pobierz Bramkę SMS Ozeki i zacznij korzystać już teraz!
More information