Gatesms.eu Mobilne Rozwiązania dla biznesu



Podobne dokumenty
Gatesms.eu Mobilne Rozwiązania dla biznesu

DOKUMENTACJA TECHNICZNA SMS API MT

Specyfikacja HTTP API. Wersja 1.6

Dokumentacja smsapi wersja 1.4

Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http

Funkcje dodatkowe. Wersja 1.2.1

Dokumentacja 2SMS

Funkcje dodatkowe. Wersja 1.2.1

OPIS TECHNICZNY SYSTEM HOSTED SMS

Dokumentacja Techniczna 1.2. Webtoken MT. Uruchomienie subskrybcji MT poprzez serwis WWW

Dokumentacja SMS przez FTP

Dokumentacja REST API v 3.0. Kraków, 7 marca FreshMail, ul. Fabryczna 20a, Kraków tel , freshmail.

Dokumentacja interfejsu MySQL. Platforma BSMS.PL Instrukcja podłączenia po przez mysql

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl

API transakcyjne BitMarket.pl

Atrybuty SMS. Nazwa Twojej firmy lub produktu w SMS-ie podniesie prestiż Twojej wiadomości

BRAMKA HTTP SMS XML Dokumentacja techniczna. wersja 3.32

Dokumentacja REST API v 3.0

Specyfikacja wysyłek marketingowych v1.10

Dokumentacja interfejsu Webservices API. Wersja 2.0 [12 stycznia 2014]

Dokumentacja REST API v 3.0

Dokumentacja techniczna API systemu SimPay.pl

Spis treści INTERFEJS (WEBSERVICES) - DOKUMENTACJA TECHNICZNA 1

DOKUMENTACJA INTERFEJSU MY MYSQL. Platforma SMeSKom instrukcja podłączenia poprzez mysql Protokół w wersji 2.0

SMS Kod Automatyczny

DOKUMENTACJA TECHNICZNA KurJerzyAPI wersja 1.0

Ogólnopolskie Repozytorium Prac Dyplomowych

Specyfikacja interfejsów usług Jednolitego Pliku Kontrolnego

Automater.pl zdalne tworzenie i zarządzanie transakcjami dokumentacja API wersja 0.1

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

DOKUMENTACJA INTERFEJSU MY MYSQL. Platforma SMeSKom instrukcja podłączenia poprzez mysql Protokół w wersji 3.1

Płatności CashBill - SOAP

Połączenie Partnera z serwisem JustPay poprzez - METODĘ 2

Zasady budowy i przekazywania komunikatów wykorzystywanych w Systemie IT KDPW_CCP

Specyfikacja Płatności CashBill. Instrukcja podłączenia płatności elektronicznych do typowych zastosowań.

Atrybuty SMS. Nazwa Twojej firmy lub produktu w SMS-ie podniesie prestiż Twojej wiadomości

SYSTEM ZARZĄDZANIA DANYMI OSOBOWYMI - INSTRUKCJA UŻYTKOWNIKA

Internetowy serwis Era mail Aplikacja sieci Web

Dokumentacja interfejsu SMS HTTP API. Wersja 3.1 [18 marzec 2008]

Zasady budowy i przekazywania komunikatów XML dla rynku OTC w systemie KDPW_CCP

Przesyłania danych przez protokół TCP/IP

Spis treści. Rejestracja/logowanie. Zmiana numeru konta klienta. Tworzenie nowej przesyłki. Zamawianie kuriera

Ministerstwo Finansów

INSTRUKCJA AKTYWACJI I OBSŁUGI BRAMKI SMS DLA FIRM. (Bramka SMS dla małych Firm, Bramka SMS Pro)

Dokumentacja SQL API 1

1.2 Prawa dostępu - Role

API przekazy masowe - Dokumentacja. v 1.1, czerwiec 2014 KIP S.A. ul. Św. Marcin 73/ Poznań.

DWM-157. Modem USB HSPA+ Podręcznik użytkownika

Dokumentacja SMPP API

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

Spis treści. Strona 2 z 26

Instrukcja korzystania z usługi 2SMS. Wersja 2.0 [12 stycznia 2014] bramka@gsmservice.pl

ZABEZPIECZENIE KOMUNIKACJI Z SYSTEMEM E-PŁATNOŚCI

Instrukcja integratora - obsługa dużych plików w epuap2

Implementacja mechanizmu SkyCashClick Wersja 0.1

Specyfikacja API 1.0. Specyfikacja kontroli Konta systemu CashBill z wykorzystaniem API opartego na REST

Dokumentacja techniczna SMS MO

System DiLO. Opis interfejsu dostępowego v. 2.0

Dokumentacja interfejsu SMS HTTP API. Wersja 3.0 [15 styczeń 2008]

Import zleceń / Integracja klienta K-Ex

INSTRUKCJA OBSŁUGI APLIKACJI WEBFAX DLA

Dokumentacja Techniczna SMS MO

Komunikator podręcznik użytkownika podręcznik użytkownika

Instrukcja konfiguracji funkcji skanowania

Ministerstwo Finansów

,Aplikacja Okazje SMS

APACZKA. (Moduł Magento) v Strona 1 z 11

Spis treści 1. Założenia ogólne 2. Wymagania 3. Typy SMSów 4. Statusy SMSów 5. Wysyłanie SMSów - Web API 6. Wysyłanie SMSów - 7.

Pobieranie komunikatów GIF

Dokumentacja API Stacja z Paczką ver. 2.14

DOKUMENTACJA DWUKIERUNKOWEGO MS2E. Platforma SMeSKom instrukcja korzystania z interfejsu Sms2 Protokół w wersji 2.1

Dokumentacja API. SOAP - webservice v

Wprowadzenie... 2 Komunikaty ogólne... 3 Wysyłanie wiadomości SMS o jednakowej treści... 7 Wysyłanie spersonalizowanych wiadomości SMS...

Elektroniczna Skrzynka Podawcza

DOKUMENTACJA IMPLEMENTACJI MECHANIZMÓW OBSŁUGI AHMES SMS (soap)

Obowiązuje od r.

TRX API opis funkcji interfejsu

Proces obsługi deklaracji Intrastat w systemie Celina WebCel

Kurs walut. Specyfikacja projektu. Marek Zając

Dokumentacja Techniczna. Dokumentacja techniczna usługi płatności mobilnych

Tworzenie pliku źródłowego w aplikacji POLTAX2B.

MODUŁ INTEGRUJĄCY ELEKTRONICZNEGO NADAWCĘ Z WF-MAG SPIS TREŚCI

System automatycznego wysyłania SMSów SaldoSMS

Sesje i logowanie. 1. Wprowadzenie

Specyfikacja techniczna. mprofi Interfejs API

DOKUMENTACJA DWUKIERUNKOWEGO MS2E. Platforma SMeSKom instrukcja korzystania z interfejsu Sms2 Protokół w wersji 2.0. smeskom@smeskom.

Dokumentacja API BizIn

INSTRUKCJA OBSŁUGI APLIKACJI WEBFAX DLA UŻYTKOWNIKA

DOKUMENTACJA PROTOKOŁU SMESX. Platforma SMeSKom - instrukcja korzystania z interfejsu HTTPS. Autor smeskom@smeskom.pl Data Wersja 1.

Specyfikacja API bramki SMS/MMS/TTS

MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP

Silne uwierzytelnianie dla klienta indywidualnego

DOKUMENTACJA PROTOKOŁU SMESX. Platforma SMeSKom - instrukcja korzystania z interfejsu HTTPS Protokół w wersji 2.2

Instrukcja użytkownika. Aplikacja mysafety Mobile i mysafety e-sticker_wersja WSTĘP... 2

Opis przykładowego programu realizującego komunikację z systemem epuap wykorzystując interfejs komunikacyjny "doręczyciel"

Sieci komputerowe i bazy danych

Instrukcja użytkownika. Aplikacja dla Comarch Optima

Manual konfiguracji konta dla fax2mail opcji BP Basic oraz BP Fiber

INFAKT API - opis (ver. 0.8)

Transkrypt:

SPECYFIKACJA TECHNICZNA WEB XML-API GATESMS.EU wersja 1.2 Gatesms.eu

Spis Historia wersji dokumentu... 3 Bezpieczeństwo... 3 Wymagania ogólne... 3 Mechanizm zabezpieczenia transmisji HTTP...3 Zasady ogóle... 3 Definicja usług zdalnych...4 Wysyłanie wiadomości do aplikacji Gatesms.eu... 5 Przykład żądania parametr body:... 5 Format PDU... 6 Przykład odpowiedzi dokument XML...6 Uwagi do działania usługi... 7 Przesyłanie raportów doręczenia...7 Przykład żądania parametr body... 7 Przesyłanie wiadomości przychodzących...7 Przykład żądania... 8 Importowanie kontaktów do bazy Gatesms.eu...8 Kody statusów wiadomości...9 Długości wiadomości sms...9 Dodatek A... 11 Klasa obsługująca Web XML Api... 11 2/11

Historia wersji dokumentu 1.0 - wersja podstawowa (1.03.2011) 1.1 - opis długości wiadomości sms, oraz opcji SPEEDsms (20.12.2011) 1.2 - dodanie parametru raw, part oraz modemid. Dodatkowe usługi umożliwiające przesyłanie wiadomości w formacie PDU (12.11.2012) Bezpieczeństwo Wymagania ogólne 1. Komunikacja w obu kierunkach musi uwzględniać zabezpieczenia transmisji HTTP opisane poniżej. Mechanizm zabezpieczenia transmisji HTTP Zabezpieczenia dla usług zdalnych dostępnych przez HTTP są niezależne od metody i formatu przesyłanych wiadomości Zasady ogóle Metody zdalne zwracają status http mniejszy niż 300 w przypadku, gdy operacja się powiedzie. Zwykle będą to statusy 200 lub 204. W przypadku, gdy operacja się nie powiedzie, usługa zwraca status błędu większy bądź równy 400. Dla uściślenia statusy od 400 włącznie do 500 wyłącznie oznaczają błąd w żądaniu (np. złe parametry - 400, błąd uwierzytelniania - 403, zły adres - 404). Statusy powyżej 500 włącznie oznaczają błąd po stronie serwera. Możliwe, że to samo żądanie po usunięciu usterki może zostać obsłużone poprawnie. Oznacza to, że dla statusów błędów poniżej 500 nie ma sensu ponawiać żądania, natomiast dla statusów od 500 włącznie, żądanie można ponawiać. Cele mechanizmu bezpieczeństwa: 1. Uwierzytelnienie klienta i serwera 2. Weryfikacja poprawności i prawdziwości żądania i odpowiedzi 3. Zabezpieczenie przed "cofaniem zegarka" i wykonywaniem wielu takich samych żądań z rzędu z tym samym timestampem. Serwer dla każdego klienta przygotowuje parę KeyID i SecretKey, gdzie KeyID jest identyfikatorem (jawnym, login podany w procesie rejestracji) a SecretKey jest kluczem ukrytym (hasło, 10 znaków). Aktualny tajny klucz można odczytać lub wygenerować po zalogowaniu w zakładce DANE UŻYTKOWNIKA. Obie te wartości są znane dla klienta i serwera. Uwierzytelnianie opiera się o dwa nagłówki HTTP dodawane do żądania i odpowiedzi. Dopuszczalne jest również stosowanie nagłówka X-BP 1. X-GT-Timestamp - timestamp operacji (unix timestamp) 2. X-GT-Auth - dodatkowy nagłówek do uwierzytelniania. Przykład: X-GT-Auth: [KeyID]:[Hash] gdzie Hash to przygotowany skrót wiadomości opisany poniżej. 3/11

X-GT-Auth: 1234567:098f6bcd4621d373cade4e832627b4f6. Dla żądania Hash = MD5(HTTP_method + URI_Path_Query + MD5_Body + Accept + X-BP-Timestamp + SecretKey) Gdzie MD5 to funkcja haszująca a '+' oznacza konkatenację łańcuchów znaków oraz: 1. HTTP_method to GET, POST, PUT itp. 2. URI_Path_Query to ścieżka i query string czyli część URL'a od pierwszego znaku '/' np: /sms_xmlapi.php 3. MD5_Body - to MD5 z treści żądania o ile jest 4. Accept - nagłówek określający format odpowiedzi (zgodny ze standardem), przyjmuje wartości np. application/xml 5. X-GT-Timestamp - timestamp wykonania operacji (taki jak w nagłówku) 6. SecretKey - klucz klienta Przykład: MD5(POST/sms_xmlapi.phpZXQW345YULAccept:application/xml12844675753LQBwxTiDnv) Strona odbierająca żądanie ma obowiązek sprawdzenia, czy Hash jest poprawny. Jeśli nie jest to powinien zostać zwrócony status 403. Dla odpowiedzi Hash = MD5(MD5_Body + Content-Type + X-GT-Timestamp + SecretKey) gdzie SecretKey to klucz klienta, od którego otrzymaliśmy wiadomość Przykład MD5(9843f33LQd8xTiDnvGAKoc8n7pQ5qi3CW9SG584ContentType:application/xml12844675753LQBwxTiDnv) Klient otrzymujący odpowiedź od serwera ma obowiązek sprawdzenia, czy odpowiedź jest podpisana poprawnie o ile żądanie zostało poprawnie obsłużone. Odpowiedzi o statusach >= 400 nie muszą być podpisane. W przypadku błędu komunikaty błędów mogę być zamieszczone w odpowiedzi HTTP jako tekst. Definicja usług zdalnych Do transmisji danych wykorzystywany będzie głównie format XML. Obie strony mają obowiązek zapewnić zgodność przesyłanych dokumentów ze standardem XML. Dotyczy to w szczególności zasad używania znaków specjalnych w wiadomościach. Dokument XML przesyłany jest za pomocą parametru body metodą POST. Zawartość tego parametru przed wysłaniem należy zakodować metodą kodowania URLi, zamieniając niealfanumeryczne znaki na dwie cyfry szesnastkowe poprzedzone znakiem procenta (%), a spacje kodowane jako znak (+). Zawartość musi zostać zakodowana dopiero po obliczeniu funkcji md5. Najczęściej występujące znaki powodujące błędy w transmisji: '+' => '%2B', '&' => '%26', '#' => '%23'. Do pobrania statusów wiadomości wymagany jest dodatkowy nagłówek X-GT-Action: Get Status, do importu bazy numerów X-GT-Action: Put HLR. Serwer zwraca dodatkowy nagłówek np. X-GT-Status: 002 po poprawnym zaimportowaniu paczki z wiadomościami, lub w przypadku globalnych błędów, takich jak brak odpowiednich środków na koncie, błędy serwera, dostawców sieci internet, gsm, itp. kody statusów. Nagłówki Accept i Content-Type muszą być poprawnie ustawione, np.: 4/11

Content-Type: application/x-www-form-urlencoded Accept: application/xml Wysyłanie wiadomości do aplikacji Gatesms.eu Adres usługi : http:///sms_xmlapi.php Metoda : POST Nazwa zmiennej przesyłająca dane metodą POST: body Content-Type: application/x-www-form-urlencoded Accept: application/xml Przykład żądania parametr body: <?xml version="1.0" encoding="utf-8" standalone="yes"?> <package test="true"> </package> <msg pl="true" phone="48518778404" localid="123-34-aa-33" isflash="true" from="twoja Nazwa">Przykladowa tresc 1</msg> <msg wap="" pl="true" phone="48518778404" localid="123-34-aa-34">tresc z dziwnymi znakami [ i ] i " oraz /</msg> <msg pl="true" phone="48518778404" localid="123-34-aa-35" from="twoja Nazwa">Tresc 3</msg> <msg phone="48518778404" localid="123-34-aa-36">tresc pod zly numer</msg> <msg pl="true" phone="48518778404" localid="123-34-aa-37">wiadomość z polskimi znakami ąśęłó</msg> Element package: Atrybuty opcjonalne test - true oznacza symulację wysyłki; domyślnie false Elementy obowiązkowe msg - przynajmniej jedna wiadomość do wysłania Element msg: Zawiera treść wiadomości do wysłania Atrybuty obowiązkowe phone - 11-cyfrowy numer telefonu do wysyłki localid - identyfikator wiadomości w systemie klienta Atrybuty opcjonalne wap - poprawny adres (http://), umożliwia przesłanie aktywnego linku - wap push (wymagane jest podanie nadawcy) pl- oznacza możliwość używania polskich znaków; domyślnie false isflash - określa, czy wysłać wiadomości jako flash sms; domyślnie false from - nazwa nadawcy do 11 znaków; jeśli jest podana taka nazwa, której klient nie ma prawa używać to powoduje to błąd wysyłki, nazwy można rejestrować pisząc na adres time - timestamp określający datę i czas wysłania wiadomości w przyszłości; domyślnie wiadomość wysyłana jest natychmiast speed parametr powodujący ustawianie wiadomości na początku kolejki wysyłanych smsów. W przypadku połączenia z atrybutem from wiadomość zostanie wysłana jako SPEEDsms z czasem dotarcia poniżej 7 sekund. raw - parametr informujący o tym, że treść wiadomości jest w formacie PDU part - parametr zawierający identyfikator localid pierwszej wiadomości składającej się z kilku części w formacie PDU. O hierarchii komunikatów decyduje kolejność zapisywania wiadomości. modemid - parametr umożliwiający przesłanie wiadomość przez konkretne urządzenie końcowe (modem) - możliwość zarządzania (wysyłania) własnym modemem GSM(M20) podłączonym do sieci internet. 5/11

Format PDU Wiadomości zakodowane (PDU) muszą zostać dostarczone za pomocą elementu msg (treść wiadomości sms) wiadomość musi mieć także poprawnie ustawiony atrybut raw na wartość "true". Przykład poprawnie skonstruowanej wiadomości sms w formacie PDU, zawartości elemntu msg: AT+CMGS=119 07918405210077F701000B918415268547F100086A00470061007400650053006D0073002E00450075003A00200054006F0020006A0065007300 740020005400650073007400200077006900610064006F006D006F015B006300690020007A0061006B006F0064006F00770061006E0065006A00 2000770020005000440055 Gdzie AT+CMGS jest komendą AT umożliwiającą nadanie wiadomości, =119 informuje urządzenie o długości przesyłanej wiadomości (dla każdej wiadomości inna wartość, należy ją odpowiednio wyliczyć!). Po tym komunikacie musi wystąpić znak biały (spacja, 32 - ASCII) i dalej wiadomość w formacie PDU. Pojedyncza wiadomość może zawierać jeden komunikat. W przypadku łączonych wiadomości (długich sms) należy ustawić atrybut part z identyfikatorem localid pierwszej wiadomości. Numery Centrum SMS polskich operatorów sieci GSM (używamy:+48501200777): PLUS +48601000310 P4 (PLAY) +48790998250 PTC (T-Mobile) +48602951111 ORANGE +48501200777 POLSAT +48699050340 CENTERNET +48881101010 Przykład odpowiedzi dokument XML Identyczną odpowiedź otrzyma klient pytający o zmiany statusów. Patrz przesyłanie raportów doręczeń. Content-Type: application/xml; charset: utf-8 Accept: application/xml <?xml version="1.0" encoding="utf-8" standalone="yes"?> <report> </report> <status timestamp="1295959673" localid="123-34-aa-33" ok="true" globalid="452342323">002</status> <status timestamp="1295959673" localid="123-34-aa-34" ok="true" globalid="452342324">002</status> <status timestamp="1295959673" localid="123-34-aa-35" ok="true" globalid="452342325">002</status> <status timestamp="1295959673" localid="123-34-aa-36" ok="false" globalid="452342326">005</status> <status timestamp="1295959673" localid="123-34-aa-37" ok="false" globalid="452342327">005</status> Element report zawiera listę elementów status. Elementów jest dokładnie tyle ile przysłanych wiadomości. Element status: Obowiązkowo zawiera kod statusu wiadomości. Atrybuty obowiązkowe timestamp - unix timestamp; czas wygenerowania statusu wiadomości localid - identyfikator wiadomości w systemie klienta taki, jak został przysłany globalid - identyfikator wiadomości w systemie gatesms.eu [od.16.12.2012 w celach bezpieczeństwa identyfikator jest zakodowany] ok - true jednoznacznie określa czy wiadomość jest poprawna czy błędna (false) Atrybuty dodatkowe net - określa sieć do jakiej została wysłana wiadomość sender numer z jakiego została wysłana wiadomość sms 6/11

Uwagi do działania usługi Wiadomości identyfikowane są za pomocą localid. Dzięki temu w jednej paczce wiadomości można wysłać wiele wiadomości pod jeden numer telefonu. Jeśli z jakiegoś powodu (np. problemy z siecią) zostanie ponownie przetransmitowana wiadomość o tym samym localid, to usługa ma obowiązek zwrócić prawdziwy status tej wiadomości, ale nie wysyłać jej ponownie. Jeśli usługa nie wykonała się poprawnie z powodu błędnego żądania (został zwrócony status pomiędzy 400 a 500) to przyjmujemy, że na pewno żadna wiadomość nie została wysłana. Jeśli usługa zwróciła status większy niż 500 to nie ma pewności co do losów wiadomości. Będą one transmitowane ponownie z uwzględnieniem sprawdzania localid. Maksymalny rozmiar jednej paczki wiadomości wynosi 300 sztuk. Przesyłanie raportów doręczenia Jeżeli w zakładce KOLEJKA/HISTORIA dostępnej po zalogowaniu do systemu zostanie zdefiniowany adres raportu system będzie przesyłał wiadomości wg załączonego schematu, za każdym razem kiedy zmieni się kod statusu wiadomości. Adres usługi : XML: adres usługi klienta Przesyłana jest lista bieżących zmian statusów wiadomości. Format taki sam jak dla odpowiedzi na wysłanie wiadomości, przy czym atrybut localid nie jest tu wymagany. Kody statusów w załączniku. Dokument XML przesyłany jest za pomocą parametru body metodą POST. Zdalna usługa odpowiada statusem HTTP 204 jeśli raport został poprawnie przyjęty. Serwer będzie ponawiał wysłanie statusów przez kolejne 60 minut w odstępach co 5 min, chyba że uzyska status http 200, 202, 204, lub napis OK. Usługa zdalna odpowie serwerowi statusem 202 wtedy gdy chce nadal oczekiwać na kod potwierdzenia 004. W przypadku otrzymania statusu większego niż 004 usługa powinna odpowiedzieć nagłówkiem 204. Adres usługi : http:///sms_xmlapi.php Metoda : POST Nazwa zmiennej przesyłająca dane metodą POST: body Content-Type: application/x-www-form-urlencoded Accept: application/xml X-GT-Action: Get Status Przykład żądania parametr body <?xml version="1.0" encoding="utf-8" standalone="yes"?> <report> </report> <status timestamp="1295959673" ok="true" globalid="452342323"/> <status timestamp="1295959673" ok="true" globalid="452342324"/> <status timestamp="1295959673" ok="true" globalid="452342325"/> Przykład odpowiedzi dokument XML Przesyłanie wiadomości przychodzących Jeżeli w zakładce KOLEJKA/HISTORIA dostępnej po zalogowaniu do systemu zostanie zdefiniowany adres odpowiedzi sms system będzie przesyłał wiadomości wg. załączonego schematu za każdym razem kiedy odbierze wiadomość sms. Adres usługi : XML: adres klienta Metoda : POST Nazwa zmiennej przesyłająca dane metodą POST: body Content-Type: application/x-www-form-urlencoded Accept: application/xml 7/11

Przykład żądania <?xml version="1.0" encoding="utf-8" standalone="yes"?> <inpackage> </inpackage> <msg to="48500100200" time="1297413504" phone="48500123456" >]akas wiadomosc</msg> <msg to="48500100200" time="1297413504" phone="48500123888" >]akas wiadomosc2</msg> Element inpackage zawiera listę msg. Element msg zawiera treść wiadomości. Atrybuty obowiązkowe to - numer dostępowy Gatesms, na jaki przyszła wiadomość time - czas dostarczenia wiadomości (unix timestamp) phone - numer telefonu klienta Opcja niedostępna czasowo! Przykład odpowiedzi <?xml version="1.0" encoding="utf-8" standalone="yes"?> <report> </report> <status ok="true" localid="123-221-3-0" globalid="1234567"/> <status ok="true" localid="123-221-3-1" globalid="1234568"/> Element report zawiera listę elementów status Element status Atrybuty obowiązkowe ok - określa, czy wiadomość została przyjęta popranie localid - identyfikator wiadomości w systemie klienta globalid - identyfikator wiadomości w systemie Gatesms Jeśli usługa otrzyma duplikat wiadomości odpowie tak, jakby otrzymała poprawną wiadomość. Importowanie kontaktów do bazy Gatesms.eu Adres usługi: do http:///sms_xmlapi.php Metoda: POST Content-Type: application/x-www-form-urlencoded Accept: text/plain X-GT-Action: Put HLR Metoda przesyła listę numerów do zaimportowania do bazy danych w celu sprawdzenia sieci klienta przed wysyłką. Ta metoda wyjątkowo, dla oszczędności ruchu, wykorzystuje zwykły tekst do transmisji. Przykład żądania 48602300000 48602300001 48602300002 48602300003 48602300004 8/11

Żądanie zawiera listę numerów rozdzielonych znakiem nowej linii. Numery przesyłane są za pomocą parametru body metodą POST. Metoda zwraca jako tekst liczbę przekazanych numerów. Usługa dodaje tylko te numery których nie ma w repozytorium. Duplikaty są pomijane. Przykład odpowiedzi 5 Kody statusów wiadomości 000 - Brak połączenia z smsc. 001 - Brak autoryzacji, błędny login lub hasło. 002 - Wiadomość została zakolejkowana do wysłania (oczekiwanie na potwierdzenie). 003 - Wiadomość została wysłana do odbiorcy. 004 - Wiadomość odebrana przez odbiorcę (potwierdzenie odbioru). 005 - Błąd wiadomości. 006 - Numer nieaktywny. 007 - Błąd w dostarczeniu wiadomości. 008 - Wiadomość odebrana przez sms center. 009 - Błąd sieci GSM (odrzucone przez operatora). 010 - Wiadomość wygasła z powodu niemożliwości jej dostarczenia do odbiorcy. 011 - Wiadomość została zakolejkowana do późniejszego wysłania. 012 - Błąd providera, natychmiastowy kontakt z administratorem systemu. 103 - Brak pola text w wiadomości lub pole text niepełne. 104 - Błędnie wypełnione lub brak pola nadawcy. 105 - Pole text jest za długie. 106 - Błędny lub brak pola numer. 107 - Błędny parametr type. 110 - SMSC nie obsługuje danego typu wiadomości. 113 - Pole text jest za długie. 201 - Błąd systemu, natychmiastowy kontakt z administratorem systemu. 202 - Niewystarczająca ilość kredytów na koncie. 203 - Działanie niedozwolone, natychmiastowy kontakt z administratorem systemu. 204 - Konto nieaktywne. Najprawdopodobniej zablokowane. 205 - Sieć docelowa zablokowana. 301 - Brak lub błędny identyfikator wiadomości. 500 - Błędnie wypełnione pole nadawcy lub pole text za długie. 501 - Niedozwolona komenda AT. Kontakt z Administratorem. 502 - Różny numer odbiorcy:parametr to <-> wiadomość PDU. 600 - Brak kredytów na koncie premium dla podanego odbiorcy. 700 Brak potwierdzenia zapisu rekordu. 800 - Deduplikator: Brak Zapisu Rekordu! Wiadomość powtórzona. 888 Restart zablokowanych smsów. 999 Zewnętrzna infrastruktura status przejściowy. Długości wiadomości sms Tabela podziału SMS bez polskich znaków: Ilość znaków Długość poszczególnych części SMS Ilość SMSów które otrzyma odbiorca Ilość SMSów użytych do billingu klienta 1-160 1 x 160 znaków 1 1 161-304 2 x 152 znaków 1 2 305-456 3 x 152 znaków 1 3 457-608 4 x 152 znaków 1 4 * Przy wiadomościach mających więcej niż 160 znaków, treść wiadomości dzielona jest na pojedyncze SMSy gdzie każdy z nich ma 153 znaki. Pozostałe 7 znaków rezerwowane jest na informacje pozwalające scalić wiadomości w jednego długiego SMSa. Ilość znaków Długość poszczególnych części SMS Ilość SMSów które otrzyma odbiorca Ilość SMSów użytych do billingu klienta 9/11

1-70 1 x 70 znaków 1 1 71-134 2 x 67 znaków 1 2 135-201 3 x 67 znaków 1 3 202-268 4 x 67 znaków 1 4 * Przy wiadomościach mających więcej niż 70 znaków, treść wiadomości dzielona jest na pojedyncze SMSy gdzie każdy z nich ma 67 znaków. Pozostałe 3 znaków rezerwowane jest na informacje pozwalające scalić wiadomości w jednego długiego SMSa. 10/11

Dodatek A Klasa obsługująca Web XML Api Przykład obsługi klasy SMS_SENDER z pliku sms_xmlsender.php. <? include_once("example/sms_xmlsender.php"); //Konstruktor klasy, oraz parametry $sms = new SMS_SENDER; $sms->login='mojlogin@gatesms.eu'; $sms->pass='0a3eeeee8dew45'; $sms->test='false'; //Wysyłanie paczek z wiadomościami z dynamicznym identyfikatorem localid: $sms->localidrandom=1; for($z=0;$z<12;$z++) { $sms->to=48501123456; $err = $sms->addmsg("test A".$z); $LocalmsgId = $sms->localid; }; $report = $sms->sendsms(); exit; //Wysyłanie paczek z wiadomościami z własnym identyfikatorem localid: $sms->localidrandom=0; for($z=0;$z<12;$z++) { $sms->localid='540'; $sms->to=48601098765; $err = $sms->addmsg("test A".$z); }; $report = $sms->sendsms(); exit; //Zapytanie o statusy for($z=100000;$z<102225;$z++) { $sms->globalid=$z; $sms->addstat(); }; $report = $sms->getstat(); exit; //Dodawanie numerów do weryfikacji?> $numery=array(500600300,602301605,723898549); echo $sms->addhlr($numery); exit; 11/11