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