Opis techniczny API system HostedSMS

Wersja 1.9.8 Warszawa, luty 2026

Spis treści:

1. Wprowadzenie

System HostedSMS (w skrócie HSMS) przeznaczony jest do przesyłania hurtowych ilości wiadomości SMS. System HostedSMS zostanie udostępniony Klientowi jako usługa. DCS odpowiedzialny jest za opracowanie oraz jego utrzymanie w infrastrukturze DCS. Rolą DCS jest także zapewnienie odpowiednich łączy do sieci GSM.

2. Podstawowe parametry systemu HostedSMS

Dostępność

DCS gwarantuje, że dostępność Systemu HSMS nie będzie mniejsza niż 99,5% w skali miesiąca kalendarzowego. Planowane i uzgodnione z Klientem przerwy techniczne nie są liczone jako niedostępność systemu.

Definicja znaków i długości wiadomości SMS

System HSMS może wysyłać wiadomości SMS o maksymalnie długości 4000 znaków. Odpowiada to 27 SMSom, w przypadku stosowania tylko znaków z alfabetu podstawowego GSM71 oraz 60 znaków, w przypadku stosowania pełnego alfabetu UNICODE.

Stosowanie znaków rozszerzonych GSM7 nie powoduje zmiany wiadomości na UNICODE, ale każdy znak z alfabetu rozszerzonego jest kodowany przez dwa znaki alfabetu podstawowego2.

  • 612 znaków jeśli treść wiadomości zawiera tylko znaki z zakresu GSM7
Liczba znaków w wiadomości SMS Liczba wiadomości SMS jakie otrzyma odbiorca Liczba SMSów wykazanych w billingu dla Klient
1-160 1 1
161-306 1 2
307-459 1 3
460-612 1 4
Pow. 612 14 (Liczba znaków/153) – zaokrąglone w górę

 

  • 272 znaki jeśli treść wiadomości zawiera znaki wymagające kodowania UNICODE

 

Liczba znaków w wiadomości SMS Liczba wiadomości SMS jakie otrzyma odbiorca Liczba SMSów wykazanych w billingu dla Klient
1-70 1 1
71-134 1 2
135-201 1 3
202-268 1 4
Pow. 269 13 (Liczba znaków/67) – zaokrąglone w górę


3. Bezpieczeństwo

Dostęp do Interfejsu będzie wymagał autoryzacji loginem (adres e-mail) i hasłem. Całość komunikacji pomiędzy DCS i Klient będzie szyfrowana z użyciem certyfikatów wydanych przez zaufane centrum certyfikacji.

Dodatkowo system posiada funkcjonalność tzw. białej listy (White List) adresów IP. Domyślnie funkcjonalność ta jest wyłączona. W celu zabezpieczenia konta należy skonfigurować listę dozwolonych numerów IP w Panelu Klienta (konfiguracja dostępna dla użytkowników z uprawnieniami Administratora) dodając do listy przynajmniej jeden adres IP. Po włączeniu listy dozwolonych numerów IP wszystkie zapytania przychodzące z adresów spoza listy zostaną zablokowane.

4. Dostępne interfejsy

Interfejs webserwis2SMS

Interfejs Webserwis2SMS przeznaczony jest do zautomatyzowane wysyłek SMSów realizowanych bezpośrednio przez systemy Klienta, jak również umożliwia odbieranie raportów dostarczenia wiadomości SMS.5

Interfejs Webserwis2SMS będzie dostępny pod adresami:

Metody Web service

SENDSMS - wysyła pojedynczą wiadomość. Metoda zwraca true jeżeli system DCS przyjął wiadomość do
wysłania.

SENDSMSES – wysyła wiadomość do grupy telefonów. Metoda zwraca true jeżeli system DCS przyjął wszystkie
wiadomości do wysłania. Operacja jest transakcyjna – albo wszystkie wiadomości zostaną przyjęte do wysłania,
albo żadna.

GETUNREADDELIVERYREPORTS – zwraca wszystkie nieprzeczytane raporty sms klienta, jednocześnie zaznaczając je jako przeczytane. Maksymalnie 100 raportów sms jest zwracanych na raz. Pusta tablica informuje o tym, że nie ma możliwych raportów sms do pobrania.

GETDELIVERYREPORTS – zwraca grupę raportów dostarczenia wiadomości sms, dla podanych identyfikatorów wiadomości. Zwracana jest tablica typu DeliveryReport.

GETUNREADINPUTSMSES – zwraca wszystkie nieprzeczytane odebrane smsy, jednocześnie zaznaczając je jako przeczytane. Maksymalnie 100 sms-ów jest zwracanych na raz. Pusta tablica informuje o tym, że nie ma możliwych sms-ów odebranych do pobrania.

GETINPUTSMSES – zwraca grupę odebranych sms-ów, dla podanych kryteriów wyszukiwania. Zwracana jest tablica typu InputSms.

GETVALIDSENDERS - zwraca grupę dostępnych nadpisów.

CHECKPHONES- sprawdza poprawność przekazanych numerów. Funkcjonalność ta jest analogiczna do sprawdzania numerów przy ładowaniu pliku do wysyłki – zwraca informację które numery są poprawne, które zablokowane, które są duplikatami numerów a które znajdują się na czarnej liście.

CONVERTTOGSM7- normalizuje tekst do GSM7 usuwając polskie znaki diakrytyczne.

CUSTOMERINFO – zwraca obecny stan licznika dostępnych sms-ów dla zalogowanego klienta oraz datę ważności konta tego klienta.

GETUNREADMMSDELIVERYREPORTS – zwraca wszystkie nieprzeczytane raporty klienta z wiadomości mms, jednocześnie zaznaczając je jako przeczytane. Maksymalnie 100 raportów mms jest zwracanych na raz. Pusta tablica informuje o tym, że nie ma możliwych raportów mms do pobrania.

GetMMSDeliveryReports – zwraca grupę raportów dostarczenia wiadomości mms, dla podanych identyfikatorów wiadomości. Zwracana jest tablica typu DeliveryReport.

Metody zwracające raporty dla wysłanych MMS-ów (GETUNREADMMSDELIVERYREPORTS, GETMMSDELIVERYREPORTS) wymagają aby klient miał włączoną funkcjonalność wysyłania MMS-ów na swoim koncie.

METODY WEB SERVICE WYMAGAJĄCE WŁACZENIA PRZEZ OBSŁUGĘ KLIENTA

Poniższe metody domyślnie są wyłączone dla klientów. W celu ich włączenia należy skontaktować się z obsługą klienta.

GETOUTPUTSMSES – zwraca grupę wysłanych sms-ów dla podanych kryteriów wyszukiwania. Zwracana jest tablica typu OutputSms. Opcjonalnie oznacza zwrócone smsy jako wyświetlone.

GETUNREADOUTPUTSMSES – zwraca grupę wysłanych sms-ów, które nie zostały oznaczone jako wyświetlone, dla podanych kryteriów wyszukiwania. Zwracana jest tablica typu OutputSms.(maks 100 rekordów per wywołanie)



Sygnatury metod

public bool SendSmses (
string UserEmail, string Password, string[] Phones, string Message, string Sender, string TransactionId, DateTime? ValidityPeriod, int Priority, bool FlashSms, string CostCenter, bool? ConvertMessageToGSM7, out string ErrorMessage, out DateTime CurrentTime, out Guid[] MessageIds )

public bool SendSms (
string UserEmail, string Password, string Phone, string Message, string Sender, string TransactionId, DateTime? ValidityPeriod, int Priority, bool FlashSms, string CostCenter, bool? ConvertMessageToGSM7, out string ErrorMessage, out DateTime CurrentTime, out Guid? MessageId )

public bool GetUnreadDeliveryReports (
string UserEmail, string Password, out string ErrorMessage, out DateTime CurrentTime, out DeliveryReport[] DeliveryReports )

public bool GetDeliveryReports (
string UserEmail, string Password, Guid[] MessageIds, bool MarkAsRead, out string ErrorMessage, out DateTime CurrentTime, out DeliveryReport[] DeliveryReports )

public bool GetInputSmses (
string UserEmail, string Password, DateTime? From, DateTime? To, string Recipient, bool MarkAsRead, out string ErrorMessage, out DateTime CurrentTime, out InputSms[] InputSms )

public bool GetUnreadInputSmses (
string UserEmail, string Password, out string ErrorMessage, out DateTime CurrentTime, out InputSms[] InputSms )

public bool GetValidSenders(
string UserEmail, string Password, out string[] Senders, out string ErrorMessage, out DateTime CurrentTime, )

public bool CheckPhones(
string UserEmail, string Password, string[] Phones, out string[] ValidPhones, out string[] InvalidPhones, out string[] Duplicates, out string[] BlockedPhones, out string ErrorMessage, out DateTime CurrentTime, )

public bool ConvertToGsm7 (
string UserEmail, string Password, string Text, out string Gsm7Text, out string ErrorMessage, out DateTime CurrentTime, )

public bool CustomerInfo (
string UserEmail, string Password, out DateTime? CustomerValidTo, out long? SmsCounter, out string ErrorMessage, out DateTime CurrentTime, )

public bool GetOutputSmses (
string UserEmail, string Password, DateTime? From, DateTime? To, string Recipient, bool MarkAsRead, out string ErrorMessage, out DateTime CurrentTime, out OutputSms[] OutputSms )

public bool GetUnreadOutputSmses (
string UserEmail, string Password, DateTime? From, DateTime? To, out string ErrorMessage, out DateTime CurrentTime, out OutputSms[] OutputSms )

public bool GetUnreadMmsDeliveryReports(
string UserEmail, string Password, out string ErrorMessage, out DateTime CurrentTime, out OutputSms[] DeliveryReports )

public bool GetMmsDeliveryReports(
string UserEmail, string Password, Guid[] MessageIds, bool MarkAsRead, out string ErrorMessage, out DateTime CurrentTime, out MmsDeliveryReport[] DeliveryReports )

public struct DeliveryReport
public Guid ReportId; public string Phone; public Guid MessageId; public int Status; public DateTime DeliveryTime; )

public struct MmsDeliveryReport
public Guid MessageId; public string Phone; public int Status; public DateTime DeliveryTime; )

public struct InputSms {
public Guid MessageId { get; set; } public string Phone { get; set; } public string Recipient { get; set; } public string Message { get; set; } public DateTime ReceivedTime { get; set; } }

public struct OutputSms {
public Guid MessageId { get; set; } public DateTime SentTime { get; set; } public DateTime? DeliveryTime { get; set; } public string UserName { get; set; } public string Sender { get; set; } public string Phone { get; set; } public string MessageStatus { get; set; } public string DeliveryStatus { get; set; } public string Interface { get; set; } public string CostCenter { get; set; } public string Body { get; set; } public int SmsCount { get; set; } }

Uwierzytelnienie klienta

Uwierzytelnienie klienta następuje za pomocą pary UserEmail / Password identyfikującej jednoznacznie klienta usługi HSMS.

Parametry metod / Pola struktur Delivery Report / InputSMS / OutputSMS

NUMER TELEFONU

string Phone, string[] Phones, out string[] ValidPhones, out string[] InvalidPhones, out string[] Duplicates, out string[] BlockedPhones

Numer telefonu ma być podawany zawsze w postaci międzynarodowej np: 48xxxxxxxxx.
W przypadku masowego wysyłania wiadomości podawana jest tablica numerów telefonów, zgodnie z powyższym formatem.

W przypadku metody CheckPhones – metoda zwraca numery w podziale na prawidłowe (Valid) nieprawidłowe (Invalid), duplikaty (Duplicates) i zablokowane (BlockedPhones)

NADAWCA – NADPIS
string Sender, out string[] Senders

 

Ciąg alfanumeryczny, który zostanie przekazany do operatora, jako nadpis nadawcy. Należy mieć na uwadze, że w różnych sieciach mogą być różne ustawienia, jeżeli chodzi o dozwoloną formę nadpisu

Listę wszystkich dozwolonych nadpisów przypisanych do klienta zwraca metoda GetValidSenders. W przypadku potrzeby korzystania z innych nadpisów konieczny jest kontakt z DCS celem aktywnacji nadpisu.

ODBIORCA
string Recipient

Numer, na który przyszedł SMS wejściowy.

Może być podany jako parametr do wyszukiwania odebranych SMS-ów.

TREŚĆ WIADOMOŚCI
string Message, string Body

System automatycznie będzie kodował wiadmości SMS jako GSM7 lub Unicode, w zalezności od tego czy w treści znajdowały się jakieś znaki spoza zestawu GSM7.

Maksymalna długość wiadomości SMS w systemie HSMS to 4000 znaków.

IDENTYFIKATOR TRANSAKCJI
string TransactionId

Unikalny zestaw znaków identyfikujący próbę wysłania SMS-a / grupy SMS-ów.
Kolejne próby z tym samym identyfikatorem:

  • Zwrócą wartość true i te same parametry wyjściowe, jeżeli wywołanie nastąpiło z tymi samymi parametrami.
  • Zwrócą wartość false i komunikat błędu, w przypadku gdyby parametry się różniły.

Maksymalna wielkość to 128 znaków.

CZAS WAŻNOŚCI SMS-A
DateTime? ValidityPeriod

Czas ważności SMS-a podana jako chwila w czasie. W przypadku, w którym czas bieżący jest większy niż czas ważności SMS-a, próba wysyłki będzie odrzucona.
System HSMS nie wyśle SMS-a po upływie czasu ważności.
Jeżeli przyjmuje wartość NULL, DCS przyjmuje, że czas ważności nie został ustawiony i ważność wiadomości SMS zostanie ustawiona na domyślną dla danej sieci GSM.
Czas ważności musi zostać podany według czasu obowiązującego w Warszawie.

PRIORYTET
int Priority

Liczba z przedziału 0-3, gdzie 0 oznacza najniższy priorytet, a 3 najwyższy.

Wiadomość z niższym priorytetem zostanie wysłana jedynie wówczas, jeżeli w systemie nie czekają na wysłanie żadne wiadomości z wyższym priorytetem.

FLASH SMS
bool FlashSms

Wartość Prawda oznacza, że wiadomość zostanie wysłana jako SMS typu Flash. Sms typu Flash jest wyświetlany na telefonie bezpośrednio po odebraniu i nie jest zapamiętywany w pamięci telefonu.

Ze względu na ograniczenia techniczne standardu GSM wiadomość typu Flash może składać się tylko z jednego segmentu i zawierać jedynie znaki z alfabetu GSM7. Maksymalna długość wiadomości Flash to 160 znaków.

KONWERTUJ WIADOMOŚĆ DO FORMATU GSM7
bool? ConvertMessageToGSM7

Wartość Prawda oznacza, że wiadomość zostanie przekonwertowana przed wysłaniem do formatu GSM7, czyli zostaną z niej usunięte polskie znaki diakrytyczne i zastąpione swoimi łacińskimi odpowiednikami. Inne symbole spoza alfabetu GSM7 również zostaną usunięte.

W przypadku niepodania wartości lub podania Fałsz, nie nastąpi konwersja.

CENTRUM KOSZTÓW
string CostCenter

Nazwa centrum kosztów. Aby używać centrum kosztów, najpierw musi zostać skonfigurowane w panelu klienta. Tylko wartości z listy stworzonych centrów kosztów są dozwolone.

W przypadku wyłączonej funkcjonalności, pole powinno przyjmować wartość null.

OZNACZ JAKO PRZECZYTANE
bool MarkAsRead

Zaznacz jako przeczytane. W przypadku pobierania raportów dostarczenia, wysłanych lub odebranych SMS-ów dla konkretnych wiadomości, istnieje opcja zaznaczenia ich jako przeczytanie, aby nie były już zwracane przy pomocy metody GetUnreadDeliveryReports, GetUnreadMmsDeliveryReports lub GetUnreadOutputSmses.

ZAKRES CZASU
DateTime? From, DateTime? To

Parametry do wyszukiwania odebranych SMS-ów.

OPIS BŁĘDU
out String ErrorMessage

Tekstowy opis błędu, w postaci zrozumiałej dla człowieka, w języku angielskim. W wypadku poprawnej operacji, pole powinno być puste. Wszystkie metody interfejsu zwracają wartość logiczną Prawda/Fałsz, informującą o prawidłowym zakończeniu operacji. Wartość ErrorMessage ma znaczenie tylko w przypadku, jeżeli metoda zwróciła wartość Fałsz.
Zmienna wyjściowa.

CZAS BIEŻĄCY
out DateTime CurrentTime

Celem ominięcia problemów związnych z czasem, system DCS podaje czas według własnego zegara.
Zmienna wyjściowa.

IDENTYFIKATOR WIADOMOŚCI
out Guid? MessageId out Guid[] MessageId, Guid[] MessageIds,

Identyfikator wiadomości podany jako Guid, zwracany celem połaczenia wiadomości z raportem dostarczenia. Zmienna ma znaczenie wyłącznie, jeżeli metody SendSms lub SendSmses zwracają wartość Prawda.

Zmienna wyjściowa dla metod SendSms i SendSmses oraz zmienna wejściowa dla metod GetDeliveryReports i GetMmsDeliveryReports.

Raport dostarczenia SMS

public struct DeliveryReport {
Guid ReportId; string Phone; Guid MessageId; int Status; DateTime DeliveryTime; }

Struktura z informacjami zawierająca pojedynczy opis raportu dostarczenia sms. Znaczenie pól wyjaśniono w pozostałych punktach.

IDENTYFIKATOR RAPORTU DOSTARCZENIA
Guid ReportId

Jednoznacznie identyfikuje raport dostarczenia wiadomości sms.

RAPORT DOSTARCZENIA MMS
public struct MmsDeliveryReport { string Phone Guid MessageId int Status DateTime DeliveryTime
}

Struktura z informacjami zawierająca pojedynczy opis raportu dostarczenia mms. Znaczenie pól wyjaśniono w pozostałych punktach.

Od raportu dostarczenia sms różni się brakiem pola ReportId. Raport dostarczenia mms jest częścią stanu wiadomości mms, a nie oddzielnym bytem, jak w przypadku sms.

STATUS DOSTARCZENIA
int Status


-1 wiadomość niedostarczona (finalnie).
-2 wiadomość niedostarczona z powodu przedawnienia. Wiadomość nie została dostarczona w podanym czasie ValidityPeriod.
-3 wiadomość została odrzucona przez operatora.
+1 wiadomość dostarczona.
0 stan nieustalony, nie powinien wystepować.

Jako zasadę można badać warunek >0 i <0. Kolejne statusy, jeżeli będą dodawane, będą zachowywać zasadę, że ujemne wartości dotyczą niedostarczenia wiadomości, a dodatnie dotyczą dostarczenia wiadomości.

Statusy dotyczą zarówno raportów sms jak i mms.

CZAS DOSTARCZENIA
DateTime DeliveryTime

Czas uznania, że SMS został / finalnie nie został dostarczony. Według czasu w Warszawie.

DATA WAŻNOŚCI KONTA KLIENTA
DateTime CustomerValidTo

Data, do której konto klienta jest ważne w HSMS. Po tej dacie korzystanie z usług HSMS będzie niemożliwe. Wartość null oznacza niewygasanie konta klienta.

STAN LICZNIKA SMS
long? SmsCounter

Wartość oznaczająca, ile jeszcze może wysłać SMS-ów zalogowany klient bez potrzeby doładowania konta. Wartość null oznacza brak ograniczenia.

CZAS ODEBRANIA
DateTime DeliveryTime

 

Czas, w którym SMS został zapisany w systemie DCS.

Odebrany SMS

public struct InputSms {
public Guid MessageId { get; set; } public string Phone { get; set; } public string Recipient { get; set; } public string Message { get; set; } public DateTime ReceivedTime { get; set; } }

 

Wszystkie pola zgodne z definicjami podanymi wcześniej

WYSŁANY SMS

public struct OutputSms {
public Guid MessageId { get; set; } public DateTime SentTime { get; set; } public DateTime? DeliveryTime { get; set; } public string UserName { get; set; } public string Sender { get; set; } public string Phone { get; set; } public string MessageStatus { get; set; } public string DeliveryStatus { get; set; } public string Interface { get; set; } public string CostCenter { get; set; } public string Body { get; set; } public int SmsCount { get; set; } }

 

Pole MessageStatus dla wysłanej wiadomości będzie miało wartość „Sent”.
Pole DeliveryStatus zawiera krótki opis obecnego stanu wysłanej wiadomości, np. „Dostarczona” lub „Przedawniona”.
Pole Interface wskazuje na interfejs aplikacji, z którego wiadomość została wysłana, w tym wypadku „WS”.
Pole SmsCount informuje, w ilu smsach wiadomość została przesłana.
Pozostałe pola zgodne z definicjami podanymi wcześniej.

Interfejs SimpleApi

Interfejs SimpleAPI przeznaczony jest dla klientów chcących w możliwie jak najprostszy sposób wysyłać wiadomości SMS, niepotrzebujących zaawansowanych możliwości WebService2SMS.

Interfejs jest dostępny pod adresami:

Interfejs został wykonany w technologii ASP.NET Web API6.

Metoda SendSMS

Interfejs oferuje jedną metodę SendSms z następującymi parametrami:

  • UserEmail – Login do systemu
  • Password – Hasło do systemu
  • Sender – Przypisany dla klienta nadpis
  • Phone – Numer telefonu odbiorcy
  • Message – Treść wiadomości
  • v – Opcjonalny parametr do mechanizmu antyspamowego (patrz niżej)
  • ConvertMessageToGSM7 – Opcjonalny parametr do konwersji treści wiadomości do formatu GSM7

W odpowiedzi system zwraca jedną z poniższych dwóch wartości:

  • MessageId – Identyfikator wiadomości
  • ErrorMessage – Komunikat błędu

Znaczenie parametrów jest dokładnie takie samo jak w przypadku interfejsu WebService2SMS.

Zapytania są wykonywane za pomocą HTTP POST. Formatowanie zapytania i odpowiedzi odbywa się za pomocą nagłówków Content-Type i Accept (patrz przykłady poniżej).

W metodzie SendSms Simple API brak jest możliwości ustawiania priorytetów dla SMS-a, Centrum kosztów, Czasu ważności czy wysyłania jako SMS typu Flash. W przypadku potrzeby ustawiania tych pól należy skorzystać z interfejsu FullApi lub Web Service.

Mechanizm AntySpamowy

Aby ochronić odbiorcę SMS-ów przed zalewem SMS-ów, API wyposażone jest w mechanizm antyspamowy.

Powtórne wywołanie API danego dnia z tymi samymi parametrami spowoduje zwrócenie zapamiętanej odpowiedzi i nie spowoduje wysłania SMS-a.

W przypadku, w którym istnieje potrzeba wysłania drugiego SMS-a o tej samej treści na ten sam numer telefonu, można to zrobić ustawiając opcjonalny parametr „v” na dowolną unikalną wartość.

Przykłady

Technologia ASP.NET WEB API pozwala na wykonywanie zapytań w różnym formacie. Poniżej przykład dla wywołania w postaci Request – FormData / Response – Json:

PRZYKŁAD – FORMDATA / JSON

Poniższy przykład pokazuje wywołanie serwisu za pomocą formatu Form Data oraz za pomocą formatu JSON.

W obu przypadkach odpowiedź będzie taka sama i zwrócona będzie w formacie JSON.

Wywołanie (FORM DATA):

POST https://api.hostedsms.pl/SimpleApi HTTP/1.1 Accept: */* Content-Type: application/x-www-form-urlencoded; charset=UTF-8 UserEmail=useremail%40dcs.pl&Password=correctpassword&Sender=TEST&Phone=48xxxxxxxxx&Message=TEST

Wywołanie (JSON)

POST https://api.hostedsms.pl/SimpleApi HTTP/1.1 Accept: application/xml Content-Type: application/json; charset=UTF-8 {"UserEmail":"useremail@dcs.pl","Password":"correctpassword", "Sender":"TEST", "Phone":"48502505988", "Message" : "TEST712"}

Odpowiedź Pozytywna:

HTTP/1.1 200 OK Cache-Control: no-cache Pragma: no-cache Content-Type: application/json; charset=utf-8 Expires: -1 Server: Microsoft-IIS/7.0 X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET Date: Tue, 25 Feb 2014 15:59:38 GMT Content-Length: 52 {"MessageId":"ebc789b2-d111-4e9c-8a0e-d3ae0896364c"}

Odpowiedź Negatywna:

HTTP/1.1 200 OK Cache-Control: no-cache Pragma: no-cache Content-Type: application/json; charset=utf-8 Expires: -1 Server: Microsoft-IIS/7.0 X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET Date: Tue, 25 Feb 2014 15:55:42 GMT Content-Length: 38 {"ErrorMessage":"Invalid Credentials"}
PRZYKŁAD - XML

Poniżej odpowiednik poprzedniego przykładu w formacie XML.

Wywołanie:

POST https://api.hostedsms.pl/SimpleApi HTTP/1.1
Accept: application/xml
Content-Type: application/xml; charset=UTF-8
<SimpleSms>

<UserEmail>useremail@dcs.pl</UserEmail>
<Password>correctpassword</Password>
<Sender>TEST</Sender>
<Phone>48xxxxxxxxx</Phone>
<Message>TEST712</Message>
</SimpleSms>

UWAGA: W przypadku wywołania XML, kolejność parametrów ma znaczenie.

Odpowiedź Pozytywna:

HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/xml; charset=utf-8
Expires: -1
Server: Microsoft-IIS/8.0
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-8?B?QzpccHJvamVjdHNcRENTLkhvc3RlZFNtc1xEQ1MuSFNNUy5TaW1wbGVBcGk=?=
X-Powered-By: ASP.NET
Date: Mon, 03 Mar 2014 16:06:32 GMT
Content-Length: 138

<MessageSend xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><MessageId>1eba6eb2-888f-41cbb146-9a1debdf8621</MessageId></MessageSend>

Odpowiedź Negatywna:

HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/xml; charset=utf-8
Expires: -1
Server: Microsoft-IIS/8.0
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-8?B?QzpccHJvamVjdHNcRENTLkhvc3RlZFNtc1xEQ1MuSFNNUy5TaW1wbGVBcGk=?=
X-Powered-By: ASP.NET17
Date: Mon, 03 Mar 2014 16:11:55 GMT
Content-Length: 115
<Error xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><ErrorMessage>Invalid
Credentials</ErrorMessage></Error>

Interfejs FullApi

Interfejs FullApi jest wersją REST pełnego interfejsu Web Service. Każda operacja możliwa do wykonania w interfejsie Web Service, może być również wykonana za pomocą interfejsu FullApi. Dla interfejsu jest przygotowany klient w postaci paczki Nuget – HostedSms FullApi Client.

Interfejs FullApi jest też dostępny na platformie Swagger, która umożliwia wygodne korzystanie z niego w przeglądarce.

Interfejs dostępny jest pod adresami:

  • https://api.hostedsms.pl/FullApi/ - podstawowy ośrodek przetwarzania DCS
  • https://api2.hostedsms.pl/FullApi/ - zapasowy ośrodek przetwarzania DCS
  • https://api.hostedsms.pl/FullApi/swagger/ui/index - interfejs FullApi na platformie Swagger

Uwierzytelnienie

Uwierzytelnienie w FullApi jest typu BASIC.

Oprócz tego serwer również zaakceptuje nagłówek Authorization postaci username:password bez kodowania Base64.

METODY FULLAPI

FullApi obsługuje wszystkie operacje Web Service i do tego zawiera jedną, która obecnie nie jest dostępna na Web Service:
MMSES - wysyła wiadomość Mms na podany numer telefonu. Operacja przyjmuje obiekt FullMms na wejściu. Metoda zwraca obiekt MmsMessageSend zawierający identyfikator szablonu i listę identyfikatorów nowych wiadomości, jeżeli system DCS przyjął wiadomość do wysłania. Obecnie wspierane jest wysłanie wiadomości na jeden numer telefonu.

LIMITOWANIE ODPOWIEDZI

Dla metod zwracających raporty i odebrane SMS-y w Full Api dodatkowo jest dostępny parametr Limit – określający maksymalną ilość wierszy zwracanych. 

public int? Limit { get; set; }

 

W przypadku podania wartości większej niż 100 – zostanie zwróconych pierwsze 100 wyników

Mapowanie Operacji

Operacje są mapowane w obiekty Restowe zgodnie z poniższą tabelką:

Operacja

Operacja Obiekt Metoda Uwagi
SendSmses
SendSms
Smses POST Interfejs posiada tylko jedną metodę do wysyłania SMS-ów.

W celu wysłania jednego SMS-a, należy użyć tablicy Phones z jednym elementem.
GetUnreadDeliveryReports
GetDeliveryReports
DeliveryReports GET

W przypadku podania parametrów MessageIds i/lub MarkAsRead, wywoływana jest metoda GetDeliveryReports.

W przeciwnym razie GetUnreadDeliveryReports.

GetUnreadInputSmses
GetInputSmses
InputSmses GET

Podanie jakiegokolwiek parametru powoduje wywołanie GetInputSmses.

Brak parametrów spowoduje wywołanie GetUnreadInputSmses.

GetUnreadOutputSmses
GetOutputSmses

OutputSmses

GET

Podanie parametrów Recipient i MarkAsRead powoduje wywołanie GetOutputSmses. 

Brak podania tych parametrów spowoduje wywołanie GetUnreadOutputSmses.

Parametry Recipient i MarkAsRead powinny być albo oba podane albo oba pominięte.

UWAGA – W celu włączenia obsługi metod należy skontaktować się z obsługą klienta 

GetValidSenders ValidSenders GET  
ConvertToGsm7 Gsm7 POST  
CheckPhones CheckPhones POST  
CustomerInfo CustomerInfo GET  
GetUnreadMmsDeliveryReports
GetMmsDeliveryReports

MmsDeliveryReports

GET

W przypadku podania parametru MessageIds, wywoływana jest metoda GetMmsDeliveryReports.

W przeciwnym razie GetMmsUnreadDeliveryReports

UWAGA – W celu włączenia obsługi MMS-ów należy skontaktować się z obsługą klienta.

Mmses 7

MmsMessageSend

POST Wspierane jest wysyłanie tylko pojedynczej wiadomości MMS. Żądania zawierające więcej niż jeden numer telefonu będą odrzucane.

OBIEKTY UŻYTE W MMSES

public struct FullMms {
public string [] Phones { get; set; } public string Sender { get; set; } public string TransactionId { get; set; } public string CostCenter { get; set; } public Guid? TemplateId { get; set; } public Content Content { get; set; } }

 

public struct Content {
public string Subject { get; set; } public Slide[] Slides { get; set; } }

 



 

public struct Slide {
public string Text { get; set; } public string PictureMime { get; set; } public string Picture { get; set; } }

 

public struct MmsMessageSend {
public Guid TemplateId { get; set; } public Guid[] MessageIds { get; set; } }

 

ZNACZENIE PÓL

Pola są w większości zgodne z opisami z sekcji z parametrami metod WebService. Nowe pola opisane są poniżej.

TEMPLATEID

public Guid? TemplateId

 

Identyfikator szablonu MMS. Parametr opcjonalny. Po wysyłce MMS bez użycia szablonu, zwracany jest identyfikator utworzonego szablonu.

Podając ten parametr w wysyłce w metodzie Mmses, można pominąć definiowanie treści wiadomości.

PICTURE

string Picture

 

Zakodowany w base64 obrazek. Dozwolone są obrazy do 100kB. Pole opcjonalne, ale jeśli jest podane, należy podać też typ obrazku w polu PictureMime.

PICTUREMIME

string PictureMime

 

Typ MIME podanego w parametrze Picture obrazka. Np. image/png, image/jpeg lub image/gif. Pole wymagane wtedy i tylko wtedy, gdy podany jest parametr Picture.

Przekazywanie parametru Phone/Phones

W Przypadku używania formatowania XML, należy przekazać tablicę Phones:

<phones>

<phone>Telefon1</phone>

<phone>Telefon1</phone>

</phones>

 

W przypadku formatowania Form Data, należy przekazać kolejne telefony w formularzu:

Phone=Telefon1&Phone=Telefon2

W przypadku JSON-a, należy przekazać parametr Phone (który może być tablicą):

"Phone":["Telefon1",”Telefon2"]

Formaty zapytań i odpowiedzi pokazane są na poniższych przykładach:

Przykłady

UWIERZYTELNIENIE – FORMDATA/JSON

Zapytanie bez uwierzytelnienia:

GET https://api.hostedsms.pl/FullApi/ValidSenders HTTP/1.1
User-Agent: Fiddler

Odpowiedź serwera 401:

HTTP/1.1 401 Unauthorized
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -119
Server: Microsoft-IIS/8.0
WWW-Authenticate: Basic
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-
8?B?QzpccHJvamVjdHNcRENTLkhvc3RlZFNtc1xEQ1MuSFNNUy5GdWxsQXBpXFZhbGlkU2VuZGVycw==?=
X-Powered-By: ASP.NET
Date: Fri, 24 Jul 2015 14:13:56 GMT
Content-Length: 94

{"ErrorMessage":"Invalid Login or Password","CurrentTime":"2015-07-24T16:13:56.5601277+02:00"}

Zapytanie z uwierzytelnieniem Basic:

GET https://api.hostedsms.pl/FullApi/ValidSenders HTTP/1.1
User-Agent: Fiddler
Authorization: Basic c2R1X2FwaUBkY3MucGw6cXdlMTIzcXdl

Odpowiedź serwera:

HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/8.0
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-
8?B?QzpccHJvamVjdHNcRENTLkhvc3RlZFNtc1xEQ1MuSFNNUy5GdWxsQXBpXFZhbGlkU2VuZGVycw==?=
X-Powered-By: ASP.NET
Date: Fri, 24 Jul 2015 13:17:19 GMT
Content-Length: 30

{"Senders":["TEST","SDUSOFT"]}
Przykłady - XML

Wywołanie – GetValidSenders:

GET https://api.hostedsms.pl/FullApi/ValidSenders HTTP/1.1
User-Agent: Fiddler
Authorization: Basic c2R1X2FwaUBkY3MucGw6cXdlMTIzcXdl
Accept: application/xml
Host: localhost:53596

Odpowiedź – GetValidSenders:

HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/xml; charset=utf-8
Expires: -1
Server: Microsoft-IIS/8.0
X-AspNet-Version: 4.0.3031920
X-SourceFiles: =?UTF-
8?B?QzpccHJvamVjdHNcRENTLkhvc3RlZFNtc1xEQ1MuSFNNUy5GdWxsQXBpXFZhbGlkU2VuZGVycw==?=
X-Powered-By: ASP.NET
Date: Fri, 24 Jul 2015 14:16:43 GMT
Content-Length: 205

<ValidSenders xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><CurrentTime>2015-07- 24T16:16:43.6298734+02:00</CurrentTime><Senders><Sender>TEST</Sender><Sender>SDUSOFT</Sender></ Senders></ValidSenders>

Wywołanie – GetInputSms:

GET https://api.hostedsms.pl/FullApi/InputSmses?From=2014-07-09+18%3a00%3a00&To=2014-07- 09+18%3a00%3a10&MarkAsRead=False HTTP/1.1
User-Agent: Fiddler
Authorization: Basic c2R1X2FwaUBkY3MucGw6cXdlMTIzcXdl
Accept: application/xml
Host: localhost:53596

Odpowiedź – GetInputSms:

HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/xml; charset=utf-8
Expires: -1
Server: Microsoft-IIS/8.0
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-
8?B?QzpccHJvamVjdHNcRENTLkhvc3RlZFNtc1xEQ1MuSFNNUy5GdWxsQXBpXElucHV0U21zZXM=?=
X-Powered-By: ASP.NET
Date: Fri, 24 Jul 2015 14:38:59 GMT
Content-Length: 60429

<InputSmsResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><CurrentTime>2015-07- 24T16:38:59.5690067+02:00</CurrentTime><InputSmses><InputSms><Message>@£$¥èéùìòÇØøÅå_ ÆæßÉ!\"#¤%&'()*,-./0123456789:;<=>?¡ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÑܧ¿abcdefghijklm

nopqrstuvwxyzäönüa^{}[~]|€ </Message><MessageId>0fc068ca-a0d6-4b94-b5c8- 0049694dd5a2</MessageId><Phone>48620000333</Phone><ReceivedTime>2014-07- 09T15:48:38.317</ReceivedTime><Recipient>102</Recipient></InputSms><InputSms><Message>@£$¥èéùìòÇ ØøÅå_ ÆæßÉ!\"#¤%&'()*,-
./0123456789:;<=>?¡ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÑܧ¿abcdefghijklm

nopqrstuvwxyzäönüa^{}[~]|€ </Message><MessageId>8315e6a3-b360-416b-9305-
03e94408fb51</MessageId><Phone>48620000259</Phone><ReceivedTime>2014-07-
09T15:48:32.553</ReceivedTime><Recipient>102</Recipient></InputSms></InputSmsResponse>

Wywołanie – GetDeliveryReports:

GET https://api.hostedsms.pl/FullApi/DeliveryReports?MessageIds[]=ebc789b2-d111-4e9c-8a0ed3ae0896364c&MessageIds[]=69827e59-8bfa-4e39-94b5-b992aabab1e1&MarkAsRead=False HTTP/1.1
User-Agent: Fiddler
Host: localhost:53596
Authorization: Basic c2R1X2FwaUBkY3MucGw6cXdlMTIzcXdl21
Accept: application/xml

Odpowiedź – GetDeliveryReports:

HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/xml; charset=utf-8
Expires: -1
Server: Microsoft-IIS/8.0
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-
8?B?QzpccHJvamVjdHNcRENTLkhvc3RlZFNtc1xEQ1MuSFNNUy5GdWxsQXBpXERlbGl2ZXJ5UmVwb3J0cw==?=
X-Powered-By: ASP.NET
Date: Fri, 24 Jul 2015 15:56:02 GMT
Content-Length: 686

<DeliveryReportResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><CurrentTime>2015-07- 24T17:56:02.9738596+02:00</CurrentTime><DeliveryReports><DeliveryReport><DeliveryTime>2013-10- 03T16:42:21.693</DeliveryTime><MessageId>69827e59-8bfa-4e39-94b5-
b992aabab1e1</MessageId><Phone>48502506086</Phone><ReportId>6bd24782-f4c2-49f1-bfea- 0000082dc8a4</ReportId><Status>1</Status></DeliveryReport><DeliveryReport><DeliveryTime>2014-02- 25T16:00:50.147</DeliveryTime><MessageId>ebc789b2-d111-4e9c-8a0ed3ae0896364c</MessageId><Phone>48502505988</Phone><ReportId>ef8104a8-2b32-4cb0-942f- 5bfb88004beb</ReportId><Status>1</Status></DeliveryReport></DeliveryReports></DeliveryReportResponse>

Wywołanie – SendSmses:

POST https://api.hostedsms.pl/FullApi/Smses HTTP/1.1
User-Agent: Fiddler
Host: localhost:53596
Authorization: Basic c2R1X2FwaUBkY3MucGw6cXdlMTIzcXdl
Content-Type: application/xml;charset=UTF-8
Accept: application/xml
Content-Length: 256
<FullSms>
 <Phones>
    <Phone>48502505988</Phone>
  </Phones>
  <Message>Test</Message>
  <Sender>TEST</Sender>
  <TransactionId>sdfwavtydwfe</TransactionId>
  <Priority>1</Priority>
  <CostCenter>test</CostCenter>
  <FlashSms>true</FlashSms>
</FullSms>

Odpowiedź – SendSmses:

HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/xml; charset=utf-822
Expires: -1
Server: Microsoft-IIS/8.0
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-8?B?QzpccHJvamVjdHNcRENTLkhvc3RlZFNtc1xEQ1MuSFNNUy5GdWxsQXBpXFNtc2Vz?=
X-Powered-By: ASP.NET
Date: Fri, 24 Jul 2015 16:51:59 GMT
Content-Length: 223

<MessageSend xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><CurrentTime>2015-07- 24T18:51:59.2935229+02:00</CurrentTime><MessageIds><MessageId>1c80140f-a1fe-45e8-854b- 056405a86097</MessageId></MessageIds></MessageSend>

Przykład wywołania CheckPhones (bez nagłówków):

<CheckPhonesRequest>
<Phones>
  <Phone>48502505988</Phone>
  <Phone>502505988</Phone>
  <Phone>12333dddwww</Phone>
</Phones>
</CheckPhonesRequest>

Odpowiedź do CheckPhones (bez nagłówków):

<CheckPhonesResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<CurrentTime>2020-06-12T09:54:53.4757295+02:00</CurrentTime>
<ValidPhones>
  <Phone>48502505988</Phone>
</ValidPhones>
<InvalidPhones>
  <Phone>12333dddwww</Phone>
</InvalidPhones>
<Duplicates>
  <Phone>48502505988</Phone>
</Duplicates>
<BlockedPhones/>
</CheckPhonesResponse>

Wywołanie Gsm7 (bez nagłówków):

<Gsm7Request>
<Text>żąć</Text>
</Gsm7Request>

Odpowiedź Gsm7 (bez nagłówków):

<Gsm7Response xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <CurrentTime>2020-06-12T10:41:12.3962847+02:00</CurrentTime>
  <Gsm7Text>zac</Gsm7Text>
</Gsm7Response>

Wywołanie CustomerInfo:

GET /DCS.HSMS.FullApi/CustomerInfo HTTP/1.1
Accept: application/xml
Authorization: Basic aHViZXJ0LnNvcm9rYUBkY3MucGw6JHJmdmJndDU2eWhO
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36

Odpowiedź CustomerInfo (bez nagłówków):

<CustomerInfoResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<CurrentTime>2024-03-28T09:04:29.0930801+01:00</CurrentTime>
<CustomerValidTo>2025-12-20T12:22:05</CustomerValidTo>
<SmsCounter>1</SmsCounter>
</CustomerInfoResponse>

Wywołanie GetUnreadOutputSmses:

GET /DCS.HSMS.FullApi/OutputSmses?request.from=2024-05-24T00%3A00%3A00&request.to=2024-06-06T00%3A00%3A00 HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0
Accept: application/xml
Authorization: Basic aHViZXJ0LnNvcm9rYUBkY3TaBGw6JHJmdmJndDU2eWhO

Odpowiedź GetUnreadOutputSmses (bez nagłówków):

<OutputSmsResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<CurrentTime>2024-06-04T12:50:27.2654973+02:00</CurrentTime>
<OutputSmses>
<OutputSms>
<Body i:nil="true" />
<CostCenter i:nil="true" />
<DeliveryStatus i:nil="true" />
<DeliveryTime i:nil="true" />
<Interface>FULLAPI</Interface>
<MessageId>8d333df0-38ac-4d9e-9158-3cb691039597</MessageId>
<MessageStatus>Sent</MessageStatus>
<Phone>48123456789</Phone>
<Sender>test</Sender>
<SentTime>2024-05-29T13:06:29.963</SentTime>
<SmsCount>2</SmsCount>
<UserName>testusername</UserName>
</OutputSms>
</OutputSmses>
</OutputSmsResponse>

Wywołanie GetOutputSmses:

GET /DCS.HSMS.FullApi/OutputSmses?request.markAsRead=false&request.from=2024-05-24T00%3A00%3A00&request.to=2024-06-06T00%3A00%3A00&request.recipient=48123456789 HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0
Accept: application/xml
Authorization: Basic aHViZXJ0LnNvcm9rYUBkY3TaBGw6JHJmdmJndDU2eWhO

Odpowiedź GetOutputSmses (bez nagłówków):

<OutputSmsResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<CurrentTime>2024-06-04T12:54:37.4832432+02:00</CurrentTime>
<OutputSmses>
<OutputSms>
<Body i:nil="true" />
<CostCenter i:nil="true" />
<DeliveryStatus i:nil="true" />
<DeliveryTime i:nil="true" />
<Interface>FULLAPI</Interface>
<MessageId>39a71c84-bb95-4787-938f-9ab38b849214</MessageId>
<MessageStatus>Sent</MessageStatus>
<Phone>48123456789</Phone>
<Sender>test</Sender>
<SentTime>2024-05-29T12:36:43.727</SentTime>
<SmsCount>2</SmsCount>
<UserName>testusername</UserName>
</OutputSms>
<OutputSms>
<Body i:nil="true" />
<CostCenter i:nil="true" />
<DeliveryStatus i:nil="true" />
<DeliveryTime i:nil="true" />
<Interface>FULLAPI</Interface>
<MessageId>8d333df0-38ac-4d9e-9158-3cb691039597</MessageId>
<MessageStatus>Sent</MessageStatus>
<Phone>48123456789</Phone>
<Sender>test</Sender>
<SentTime>2024-05-29T13:06:29.963</SentTime>
<SmsCount>2</SmsCount>
<UserName>testusername</UserName>
</OutputSms>
</OutputSmses>
</OutputSmsResponse>

Wywołanie GetUnreadMmsDeliveryReports:

GET /DCS.HSMS.FullApi/MmsDeliveryReports?request.markAsRead=false
HTTP/1.1 Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0
Accept: application/xml
Authorization: Basic aHViZXJ0LnNvcm9rYUBkY3TaBGw6JHJmdmJndDU2eWhO

Odpowiedź GetUnreadMmsDeliveryReports (bez nagłówków):

<MmsDeliveryReportResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<CurrentTime>2024-07-03T07:53:43.4931959+02:00</CurrentTime>
<DeliveryReports>
<MmsDeliveryReport>
<DeliveryTime>2024-06-19T14:11:14.867</DeliveryTime>
<MessageId>d833ea39-da90-430c-896b-4028436521b4</MessageId>
<Phone>48123456789</Phone>
<Status>1</Status>
</MmsDeliveryReport>
<MmsDeliveryReport>
<DeliveryTime>2024-06-19T14:11:14.867</DeliveryTime>
<MessageId>f6862738-8f42-4f60-a456-af6ff3fb8f9e</MessageId>
<Phone>481234567893</Phone>
<Status>-1</Status>
</MmsDeliveryReport>
<MmsDeliveryReport>
<DeliveryTime>2024-06-19T14:11:14.867</DeliveryTime>
<MessageId>197ab95e-7118-4acf-b4ee-6a968531bbc6</MessageId>
<Phone>48123456789</Phone>
<Status>0</Status>
</MmsDeliveryReport>
</DeliveryReports>
</MmsDeliveryReportResponse>

Wywołanie GetMmsDeliveryReports:

GET /DCS.HSMS.FullApi/MmsDeliveryReports?request.markAsRead=false&request.messageIds=f6862738-8f42-4f60-a456-af6ff3fb8f9e&request.messageIds=d833ea39-da90-430c-896b-4028436521b4
HTTP/1.1 Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0
Accept: application/xml
Authorization: Basic aHViZXJ0LnNvcm9rYUBkY3TaBGw6JHJmdmJndDU2eWhO

Odpowiedź GetMmsDeliveryReports (bez nagłówków):

<MmsDeliveryReportResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<CurrentTime>2024-07-03T07:55:56.6449092+02:00</CurrentTime>
<DeliveryReports>
<MmsDeliveryReport>
<DeliveryTime>2024-06-19T14:11:14.867</DeliveryTime>
<MessageId>d833ea39-da90-430c-896b-4028436521b4</MessageId>
<Phone>48123456789</Phone>
<Status>1</Status>
</MmsDeliveryReport>
<MmsDeliveryReport>
<DeliveryTime>2024-06-19T14:11:14.867</DeliveryTime>
<MessageId>f6862738-8f42-4f60-a456-af6ff3fb8f9e</MessageId>
<Phone>48123456789</Phone>
<Status>-1</Status>
</MmsDeliveryReport>
</DeliveryReports>
</MmsDeliveryReportResponse>

Przykład wywołania Mmses (bez nagłówków):

<FullMms>
<Phones><Phone>48694098973</Phone></Phones>
<Sender>INFO</Sender>
<TransactionId>string123</TransactionId>
<CostCenter>TEST</CostCenter>
<Content>
<Subject>string</Subject>
<Slides>
<Slide>
<Text>string</Text>
<PictureMime>image/png</PictureMime>
<Picture>iVBORw0KGgoAAAANSUhEUgAAAtAAAAHgBAMAAAB+60efAAAAG1BMVEVWVlbu7u61tbV8fHzb29uPj4/IyMiioqJpaWm4G+V4AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAIz0lEQVR4nO3cy3fbxhXAYYoPEcuOoyhZimpqe1n2NI+lmaSnXpp11WZppjlql1HbPJako1j5swOAmMHcOzMkaJERx+f3LRIJJHGFi4t5AXSvBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgNBPV9+9XEa2Fx9fXf3xUDE/vnr52W8c8/D6l9rv3WvF32am8u+l+lDx/Xr7Hg779eWF3HD3Tb3v8/8dLuaDGBrtffvS3cxuOpdHN1jEt7+NhXkmfv+H+zv+erCYDyKd6E+8bY/EZyZu+/nynuHHRib6Tb3bL+v/fnGgmA+jfy19YxNdHfLZk8+WxU/VNfsf7yO35Qt/WPaKT2cqGW9hKhM9rhqHr8of6qAXh4l5HIb2wOdt23xXHuXSvaOYmbMX9U/V5Xy/C7ncl0h0WbdPey7o+UFiHokbsz6gMtFP3cayul+5X8ri+rb5cWTMe/eKdmpEosf+pfPaK+l9xjwOhSuj+VNv88R84H5etN1l789+qb+FuRGd4dQr4uqcu0D7jHkcTl25/CI3m2XzY1l1L9z2gWhId1aYs5Wf6IV34VSRzg4Q80hM4wdRtJfuyivuqiTvcx0PzXsnXqIH7emsLWx69xnzSMzkoToTl4+J6L364mLf1cRc+Ikeq2Hk1Bb4PmMeh5EoHc/KfLj+oZCdfnGfMcCgbBv8RJ+qUh2a3+095pEYqnma90LTG41VOU3u0WDelmfPT7RNrHXanN19xjwSN64pVvq21Ide/19ZqeTsomqD/USfqH31m0TvM+ZxKFw/r7nmc6pq/lQlYQf1PmWi5b5tovcY80iMk0cwslfvjbpsR6oD28HUPO9tbDr6ze97jHkkVqkmuuy3mkQvVEcUXgQD/dlRYp+zaleyM/xQvMH2GNtj5mbizQskl2hj1CvBgHCh93FzEd3lutmXwzs55lk1lbw9ZmY2VIq9WotgDKtPTtCA6tGxNa9HyXLCIuM36y7bY+amn+5kbLGFzeNcDVT6RmXhJp7oYj0NPJFT8BfiHWcdY+Ym3US7cxB2l1OxPtGryk28ZZxYmmgq/0QuKj0P39ElZmY2XJEnTT/VD9YZgrOjSjpR0HYoIRLdFwtzdompQ8y8bOrM7VBWDwzCWYYq6VRB2/ZYjp1n3u2TNzbrXWJmJT2KrpK3bhX1ULfaotMgSjpV0LdNmcpEywX+5zbC9phZ2XRB2gXMsJbCevNLOlXQ7szJRBcLe8tqNHN3YTvFzElyocNb1tGz5HDJrSdKOlXQo8QOyxNzVj1YUt2EtfvoFDMnMz0vaLllnbDqw67KK+lkQa9su6Cz+Lp6oOCH6iGOH9v3domZj+RadK8qzFfrH1bBwCo2+HYlnSrodlYdlGvz2M5528x3i5mPDT1Mu9Te8aCbkk4WdDvZDhJdzNeJ/sptedcSnbhdWDl1k+BwqhA96KakkwXd7kYnemQf/TL/Ct+8MWY29BqZZ+6KPTzo+KCwLulkQRftqpDuDMuG4/OXvU8/KjP9lx1jZiJcuvFeciOArpdxXdLJgvYWnmSiB7P1oKPX+9PMPUzzjjUdG/74YXsOOh90WdLJgi6vEPeCTPTEDqPrgXRzib1jid4wXZm0az2xg44OtcqSXqQKuvCWNESiT403lB/bB1s7x8xDeroy9m7vh6cjNXmYmGRBD72PqGVSf/XutonbPWYW0nct5t6F2n063NdPVbcm3jmVd1jEs89Fk/d3awo+SKZlYEReui7wjE2qIR343a6faLkcXZX0o91i5iB9NU79UxAeYmrJ8sboWy3Wrb8PP9F6gNk8i9c9Zg6SfWE55n3V/haej3DJp1YW9CxR0uKGlffxQeTe4Le7xMxCsi+8FYcfDqwSt5XKMXRw93BN3qz1cjYOErred+eYWUj1hWVB+w2nfiJAjInF+8rNk2hJy+eOvESnFvi7xsxCeNk2buXz9eH7bqJlW08K4yW9MF9732qcmEf2y40nQZ2uG42uMbOQmmupgq5m4+od0SWSZlIYLWn37UX9nbtVUKfriUnHmHlIPaCpCrp5jssXZKHSrHJES3qHRDeLR91i5iHR6g1UQcvJRv2OWJvjVjliJf1YfK9xYc6r/1VrorGKfr9zzEwkLsZp8A0o/QhtP3Zfxi3bJQYeHq8zDNc0moFdp5h5SDzSMZBfma2cqNmD/r3iLdvFBx7i888iPzaaqUqXmJkIR1C1eXiN9tVUfR4Z0nrr0FtL2stuuILR9BxdYmZiGJ2Aj014RPorarMwkWIdeltJiwmLPtvNPeEOMXOhW8G16B2SheiyxpE2R3xsW0mLKbjel83o9pi50P16rW9iW6ei+Fdhm6NurGwpabmodCFe69uMbo2ZjegEfBE9IP3E5zP9BnUdbClpuUwqz8nc/gFbY+YivGh79Q2OWIbEXPE0/G5lcKdwc0n7iVbnZOS6iG0xsxEbmJZzlfgKdTm2tgdaRIp+qBv2zd8oVreyHi3dL8WkreMtMbMRu2MRzlUaZaHZI51HbgsWM71posfiPpHoN+WubdDi76Yt4y0xsxEZdFSHdiUs7UvloX5Q1Vfx/+htwTu9YbwM3+TIWcqi3OP6WbCfJ+JfT9oSMxeRQcc4WPdxDeOgWha6vnxskjerdiATXT3MYc4vn1zW/yab90ftNebDCZbHNibae+2p/tjO1Lz7zlvbEzvfZ8wHExt0bEq0TcfZj8HHdhY85PhRE857nHTfMTNS/PPx9dffLQ+y75//e319/eTlbxoTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQNqvmXZZOhYnVf8AAAAASUVORK5CYII=</Picture>
</Slide>
</Slides>
</Content>
</FullMms>

Przykład odpowiedzi Mmses (bez nagłówków):

<MmsMessageSend xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<CurrentTime>2024-07-19T15:21:01.552578+02:00</CurrentTime>
<MessageIds>
<MessageId>bfb064f7-b444-4adb-9f28-a25da65c103c</MessageId>
</MessageIds>
<TemplateId>928796a2-a1f3-4282-aa01-ff19f043586a</TemplateId>
</MmsMessageSend>
PRZYKŁADY – JSON / FORM DATA

Wywołanie SendSms (Form Data)

POST https://api.hostedsms.pl/FullApi/Smses HTTP/1.1
User-Agent: Fiddler
Authorization: Basic c2R1X2FwaUBkY3MucGw6cXdlMTIzcXdl
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Host: localhost:53596
Content-Length: 133

Phone=48502505988&Phone=48502505989&Message=Test&Sender=TEST&TransactionId=sefsfasdwfdfgsdf3& Priority=1&FlashSms=true&CostCenter=Test

Wywołanie SendSms (JSON):

POST https://api.hostedsms.pl/FullApi/Smses HTTP/1.1
User-Agent: Fiddler
Authorization: Basic c2R1X2FwaUBkY3MucGw6cXdlMTIzcXdl
Content-Type: application/json; charset=utf-8
Host: localhost:53596
Content-Length: 161

{"Phone":["48502505988","48502505989"],"Message":"Test","Sender":"TEST","TransactionId":"sefsfasdwfdfgs df3","Priority":"1","FlashSms":"true","CostCenter":"Test"}

Odpowiedź:

HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/8.0
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-8?B?QzpccHJvamVjdHNcRENTLkhvc3RlZFNtc1xEQ1MuSFNNUy5GdWxsQXBpXFNtc2Vz?=
X-Powered-By: ASP.NET
Date: Mon, 27 Jul 2015 08:37:26 GMT
Content-Length: 144

{"MessageIds":["8ef5a0b2-8bb8-41da-b70a-0753d3ad1609","1eb3c387-cc29-4d78-9c4b- 30c8646b1cbe"],"CurrentTime":"2015-07-27T10:37:26.8137627+02:00"}