SMSarena.pl Spółka z ograniczoną odpowiedzialnością. Platforma SMSarena.pl interfejs MYSQL API. ver

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

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

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

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

Dokumentacja smsapi wersja 1.4

Dokumentacja SQL API 1

DOKUMENTACJA TECHNICZNA SMS API MT

Dokumentacja SMS przez FTP

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

Specyfikacja HTTP API. Wersja 1.6

Funkcje dodatkowe. Wersja 1.2.1

Autor: Joanna Karwowska

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl

Sprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.

Funkcje dodatkowe. Wersja 1.2.1

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

Dokumentacja 2SMS

Mediatel 4B Sp. z o.o., ul. Bitwy Warszawskiej 1920 r. 7A, Warszawa,

Wdrożenie modułu płatności eservice. dla systemu Magento

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

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Wykład 5: PHP: praca z bazą danych MySQL

Specyfikacja techniczna. mprofi Interfejs API

Język SQL, zajęcia nr 1

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

PHP: bazy danych, SQL, AJAX i JSON

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

P o d s t a w y j ę z y k a S Q L

INSTRUKCJA OBSŁUGI APLIKACJI WEBFAX DLA UŻYTKOWNIKA

Dokumentacja SMPP API

Specyfikacja wysyłek marketingowych v1.10

Wykład 5. SQL praca z tabelami 2

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

ActiveXperts SMS Messaging Server

Specyfikacja sms-api.pl

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Ref. 7 - Język SQL - polecenia DDL i DML

WooCommerce (WordPress) Integrator by CTI. Instrukcja

PRESTASHOP INTEGRATOR BY CTI INSTRUKCJA

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

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

Projektowanie systemów baz danych

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

Relacyjne bazy danych. Podstawy SQL

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

Baza numerów Wersja 1.1

MAGENTO INTEGRATOR BY CTI INSTRUKCJA

System obsługi ubezpieczeń FORT

Dokumentacja API. SOAP - webservice v

SYSTEM INFORMATYCZNY KS-SEW

Konfiguracja parametrów pozycjonowania GPS /5

INSTRUKCJA OBSŁUGI APLIKACJI WEBFAX DLA

CREATE USER

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

BRAMKA HTTP SMS XML Dokumentacja techniczna. wersja 3.32

Instrukcja obsługi programu Klient SMS v.1.0

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

Instrukcja obsługi Modułu Payu dla Moodle 2.x

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

Oracle PL/SQL. Paweł Rajba.

WebMobile7 and Sello Integrator wersja 1.1.2

INSTRUKCJA OBSŁUGI APLIKACJI WEBFAX DLA UŻYTKOWNIKA

Dokumentacja techniczna API systemu SimPay.pl

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

Relacyjne bazy danych. Podstawy SQL

Bazy danych. Polecenia SQL

Komunikator wewnętrzny. funkcjonalność podstawowa bs4 intranet

Manual konfiguracji konta dla fax2mail opcji BP Basic oraz BP Fiber

Wykaz zmian w systemie edok 9.1

TRX API opis funkcji interfejsu

Wykład 6: PHP: praca z bazą danych MySQL, cz.2

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

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Świadczenie usługi hurtowej wysyłki wiadomości SMS dla Urzędu Miasta Torunia w latach

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

Wykład 8. SQL praca z tabelami 5

instrukcja INSTALACJI APi_proxy

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

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

Wykaz zmian w aplikacji USCWIN wersja 2.1 z dnia

Telesprzedaż by CTI Instrukcja

SMS/MMS Premium Rate

Sesje i logowanie. 1. Wprowadzenie

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

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Program do obsługi ubezpieczeń minifort

INSTRUKCJA OBSŁUGI PROGRAMU. ver

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

Zasady transformacji modelu DOZ do projektu tabel bazy danych

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

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Komunikacja z bazą danych psql

S P I S T R E Ś C I. Instrukcja obsługi

Transkrypt:

SMSarena.pl Spółka z ograniczoną odpowiedzialnością Platforma SMSarena.pl interfejs MYSQL API ver. 1.01. 2012

1.Zawartość dokumentu Dokument ten opisuje interfejs MYSQL pozwalający na połączenie z platformą SMSarena.pl. 2.Informacje ogólne Interfejs MYSQL to możliwość odbierania i wysłania SMS-ów za pomocą bazy danych MYSQL. Klient, który w swojej usłudze zaktywuje ten interfejs otrzymuje dostęp do bazy danych, która posiada tabele służące do zarządzania SMSami. Podłączenie do bazy może odbyć się za pomocą dowolnej aplikacji klienckiej, czy skryptu wykorzystującego interfejs bazodanowy. Baza danych MYSQL jest najczęściej wykorzystywaną relacyjną bazą danych w aplikacjach webowych, dlatego podłączenie do niej nie powinno stanowić większego problemu. 2.1.Zawartość dokumentu Opisany w niniejszym dokumencie, interfejs MYSQL ma zastosowanie jedynie w ramach platformy SMSarena.pl i jest jej częścią składową. Interfejs pozwala na wysyłanie i odbieranie SMS-ów w ramach wspomnianej platformy i jest to jedynego jego zastosowanie w obecnej wersji. 2.2.Połączenie do bazy mysql Połączenie do bazy danych powinno być utrzymywane przez cały czas komunikacji i nie należy podłączać się i rozłączać przed każdym zapytaniem SQL. Aplikacja kliencka ma obowiązek utrzymania połączenia i w razie zerwania go (np. ze względu na zerwanie połączenia przy bezczynności, czy wystąpienie problemów z dostępem do sieci), nawiązać je na nowo. 2.2.1 Parametry połączenia Niniejszy punkt zawiera istotne dla komunikacji parametry połączenia klienta z bazą danych. 2.2.1.1 Wersja bazy danych Wersja bazy danych mysql: 5.0.95 2.2.1.2 Baza ustalana przy połączeniu Wszyscy użytkownicy łączą się z serwerem ustalając bazę, jako smscenter 2.2.1.3 Baza ustalana przy połączeniu Domyślne kodowanie znaków w tabelach: UTF-8. Podłączenie się do bazy danych za pomocą innego kodowania, może spowodować przekłamania w treści SMS-ów. 2.2.1.4 Autoryzacja Użytkownik podłączając się do bazy używa nazwy użytkownika oraz hasła podane w Panelu administracyjnym w zakładce USŁUGI. 2.2.1.5 Adres i port serwera bazodanowego Host: pma.smsarena.pl Port: 3306 Dopuszczona jest również autoryzacja po przez podłączenie się bezpośrednio przy wykorzystaniu adresu IP. 2.2.1.5 Połączenie SSL Platforma SMSarena.pl pozwala na bezpieczne połączenie bazodanowe za pomocą SSL. Aplikacja kliencka musi wspierać tego typu połączenia. Nie wszystkie interfejsy na rynku wspierają połączenie SSL. Dla przykładu, aby utworzyć bezpieczne połączenie za pomocą PHP, należy użyć rozszerzenia mysqli (więcej pod adresem: http://pl.php.net/mysqli). Dodatkowe informacje można znaleźć w dokumentacji mysql: http://dev.mysql.com/doc/refman/5.0/en/secureconnections.html W razie pytań lub potrzeby wykorzystania bezpiecznego połączenia mysql prosimy o kontakt w celu otrzymania odpowiednich certyfikatów.

2.2.2 Ograniczenia w połączeniu W celu uniknięcia przeciążenia serwera przez klientów bazy, użytkownicy bazodanowi są tworzeni z następującymi limitami: MAX_QUERIES_PER_HOUR 2000 (maksymalna ilość zapytań na godzinę) MAX_UPDATES_PER_HOUR 2000 (maksymalna ilość update'ów na godzinę) MAX_CONNECTIONS_PER_HOUR 60 (maksymalna ilość połączeń na godzinę) Przy tworzeniu aplikacji komunikującej się z bazą danych należy wziąć pod uwagę powyższe parametry 2.3.Tabele bazy danych Użytkownik łącząc się z bazą danych, widzi w bazie, do której się podłączy cztery tabele: sms_out _hidden sms_in _hidden sms_out sms_in Wpisanie jednego wiersza do tabeli sms_out powoduje zainicjowanie procedury wysłania SMS-a. Odczytując z tej tabeli dane można sprawdzić, jaki jest status przeznaczonych do wysłania SMS-ów. Odbieranie SMS-ów odbywa się poprzez tabelę sms_in, gdzie trafiają SMS-y, które zostały wysłane z telefonów komórkowych do usługi. Tabele sms_in_hidden oraz sms_out_hidden są przeznaczone na SMS-y z tabel sms_in oraz sms_out. Trafią tam wszystkie SMS-y, którym użytkownik zmieni status w kolumnie hidden na wartość 0 2.3.1 Tabela z SMS-ami wychodzącymi (sms_out) Poniżej znajduje się specyfikacja tabeli sms_out, zawierającej SMS-y wysyłane przez użytkownika. Kolumny insert i update mówią o rozszerzonych uprawnieniach użytkownika do działań na kolumnie tabeli (domyślnie tylko select). KOLUMNA TYP INSERT UPDATE OPIS id INTEGER Wewnętrzny, unikalny ID sms-a id_user VARCHAR(32) X X Identyfikator nadawany przez użytkownika type_sms ENUM( n, f, w ) X n -SMS zwykły, f - SMS typu FLASH (CLASS0),w- SMS WAPPUSH (patrz 2.4.1) send_after DATETIME X Pole określa, datę oraz czas rozpoczęcia wysyłki sms-a Format: 2011-01-0101:00:00 sender VARCHAR(11) X Pole definiujące nadawcę SMS-a msisdn VARCHAR(20) X Numer odbiorcy SMS-a body VARCHAR(459) X Treść SMS-a max_time INTEGER X Maksymalny czas na dostarczenie SMS-a do obiorcy (czas podawany w sekundach) insert_at DATETIME Data wstawienia rekordu send_at DATETIME Data wysłania delivered_at DATETIME Data dostarczenia updated_at DATETIME Data aktualizacji rekordu status VARCHAR(15) Aktualny status SMS-a status_code INTEGER Kod operacji delete ENUM( 0, 1 ) X Usuwanie rekordu hidden ENUM( 0, 1 ) X Przenoszenie rekordu Uwaga!!!: Z tabeli sms_out nie można usunąć raz wpisanego wiersza. Każde wstawienie rekordu powoduje rozpoczęcie procedury wysłania. 2.3.1 Tabela z SMS-ami przychodzącymi (sms_in) Poniżej znajduje się lista kolumn widocznych w tabeli sms_in, zawierająca SMS-y przychodzące. Kolumny insert i update mówi o rozszerzeniu uprawnień użytkownika do działań na kolumnie tabeli (domyślnie tylko select). KOLUMNA TYP INSERT UPDATE OPIS id INTEGER Wewnęczny unikalny ID sms-a id_user VARCHAR(32) X Identyfikator nadawany przez użytkownika msisdn VARCHAR(20) Numer nadawcy SMS-a

body VARCHAR(459) Treść SMS-a insert_at DATETIME Data wstawienia rekordu received_at DATETIME Data otrzymania SMS-a updated_at DATETIME Data aktualizacji rekordu delete ENUM( 0, 1 ) X Usuwanie rekordu hidden ENUM( 0, 1 ) X Przenoszenie rekordu 2.3.3 Tabela z SMS-ami wychodzącymi (sms_out_hidden) Struktura tabeli sms_out_hidden jest identyczna jak sms_out 2.3.4 Tabela z SMS-ami prychodzącymi (sms_in_hidden) Struktura tabeli sms_in_hidden jest identyczna jak sms_in 2.4. Operacje wspierane przez interfejs Interfejs mysql wspiera dwie podstawowe operacje: Wysyłanie SMS-ów za pomocą wpisania wiersza do tabeli sms_out Odbieranie SMS-ów za pomocą odczytów tabeli sms_in Pozwala również na operacje dodatkowe: Sprawdzenie statusów wysyłanych SMS-ów za pomocą odczytu tabeli sms_out Nadanie własnego identyfikatora dla odebranego SMS-a za pomocą update'u tabeli sms_out (na polu id_user) Nadanie własnego identyfikatora dla wysyłanego SMS-a przy operacji insert'u lub przy update'ie na tabeli sms_out (na polu user_id) 2.4.1 Wysyłanie SMS-ów Operacja wysłania SMS-a odbywa się za pomocą wstawienia wiersza do tabeli sms_out. Przy tej operacji użytkownik ma do dyspozycji następujące pola: msisdn (pole obowiązkowe) - numer MSISDN. Platforma SMSarena.pl powinna zaakceptować większość możliwych formatów o ile numer jest napisany jednoznacznie. UWAGA: dodatkowo dla celów testowych / integracyjnych istnieją 2 specjalne numery: *1000# - wysłanie zakończone statusem wysłany ( send ) *2000# - wysłanie zakończone statusem dostarczony ( failed ) Wysłanie SMS-a na powyższe numery nie powoduje rzeczywistej wysyłki, a opłaty nie są pobierane. body (pole obowiązkowe) - treść SMS-a. Maksymalna liczba znaków, jaką można przesłać jest równa 160 (dla wiadomości jednosmsowych) lub 457 (dla wiadomości wieloczęściowych -wysłane zostaną 3 SMS-y). Jeśli w tekście znajdą się polskie znaki i chcecie Państwo je przesłać, nie wolno przekroczyć 70 znaków (201 dla wieloczęściowych). send_after (pole opcjonalne) - data i czas wysłania SMS-a. Niewpisanie do tego pola żadnej wartości lub wpisanie wartości null powoduje próbę wysłania natychmiast ( o ile ustawienia limitu wysyłki w panelu nie stanowią inaczej). sms_type (pole opcjonalne) - typ wysyłanego SMS-a. Możliwe wartości: n - wartość domyślna zwykły SMS f - wyskakujący SMS (wiadomość flash) w- Wiadomość WAPPUSH. Aby wysłać taką wiadomość do kolumny body należy wprowadzić następującytekst: <si> <indication href="http://adres_strony.pl" action="signal-high">treść WAPPUSHA</indication> </si> id_user (pole opcjonalne) użytkownik może ustawić to pole wartością i wykorzystywać je w dowolnym celu. max_time (pole opcjonalne) W tym polu definiuje się maksymalny czas w jakim operator ma dostarczyć SMS-a w przypadku,gdy odbiorca ma wyłączony telefon. Czas podaje się w minutach (domyślnie maksymalny czas to 14 dni). Dodatkowe pola, które można jedynie odczytać z bazy: id - wewnętrzny identyfikator SMS-a wychodzącego status - status wiadomości. Wartość elementu może być jedna z: new nowy SMS, status new zostaje ustawiony przy wpisaniu wiersza do bazy queued, system rozpoczął przetwarzanie wiadomości, wiadomość została przeznaczona do wysyłki send wiadomość została poprawnie wysłana przez system delivered wiadomość została odebrana przez adresata (przyszedł tzw. raport doręczenia )

failed nie udało się wysłać wiadomości. Informacja o błędzie została zawarta w polu status_code undelivered wiadomość nie zostało dostarczona. Prawdopodobnie wygasł maksymalny czas nadostarczenie lub numer odbiorcy nie istnieje. insert_at czas wstawienia wiersza do bazy sent_at czas wysłania SMS-a z systemu delivered_at czas doręczenia SMS-a do odbiorcy. update_at czas ostatniej aktualizacji rekordu undelivered_at data określająca czas wygaśnięcia SMS-a status_code wartość numeryczna kodu błędu związanego z wysyłanym SMS-em. Wartość oznacza NULL oznacza brak błędu i poprawne zakończenie wysyłki. delete ustawienie wartości na 1 spowoduje trwałe usunięcie rekordu (Domyślnie jest ustawiony na 0 ) hidden ustawienie wartości na 1 spowoduje trwałe przesunięcie rekordu do tabeli sms_out_hidden (Domyślnie jest ustawiony na 0 ). 2.4.2 Wysyłanie SMS-ów Wszystkie odebrane przez platformę SMS-y (SMS-y, które zostały wysłane z telefonów komórkowych na numerusługi) można odebrać za pomocą tabeli sms_in. Jeśli interfejs mysql został utworzony dla usługi BRAMKA ECO, SMS-y wysyłane do usługi muszą być poprzedzone prefiksem. W tabeli sms_in pole body zawiera tekst wiadomości już bez prefiksów. Pola widoczne w tabeli: id wewnętrzny, unikalny identyfikator numeryczny odebranego przez platformę SMS-a. id_user jedyne pole, które można modyfikować w tabeli. Można tu wstawić dowolną wartość alfanumeryczną. Głównym zastosowaniem tego pola może być powiązanie tego SMS-a z inną bazą danych lub oznaczenie go, jako przeczytanego przez aplikację kliencką. msisdn numer MSISDN telefonu, który wysłał wiadomość do usługi. Numer ten zapisany jest w formacie: +48601234567 body treść otrzymanej wiadomości insert_at czas wstawienia wiersza do bazy przez system received_at czas odebrania SMS-a przez platformę update_at czas ostatniej aktualizacji rekordu delete ustawienie wartości na 1 spowoduje trwałe usunięcie rekordu (Domyślnie jest ustawiony na 0 ) hidden ustawienie wartości na 1 spowoduje trwałe przesunięcie rekordu do tabeli sms_in_hidden (Domyślnie jest ustawiony na 0 ). 2.4.2 Przykłady Punkt zawiera praktyczne przykłady wykorzystania interfejsu 2.4.2.1 Wysyłanie SMS-a i sprawdzanie, czy został wysłany Wysłanie SMS-a INSERT INTO sms_out (`msisdn`,`body`) VALUES ( +48600123456, Tresc SMS-a ); Pobieranie ostatniego wpisanego wiersza select last_insert_id(); Sprawdzenie statusu wysłania pojedynczego SMS-a: select status,sent_at,delivered_at from sms_out where id=123 select * from sms_out where id=123 2.4.2.2 Optymalne sprawdzanie statusów wiadomości Zalecana metoda odczytywania/synchronizacji statusów z własnym systemem to wykorzystanie pola updated_at do sprawdzania SMSów, których status zmienił się od czasu ostatniego odpytywania o zmiany w statusach. Tego typu odpytanie powinno wykonywać się z częstotliwością zależną od czasu ostatniej zmiany statusu. Jeśli SMS nie został doręczony do telefonu od razu, SMSC operatora będzie próbować dostarczyć go jeszcze kilka razy, ale za każdym razem z coraz większą przerwą. W związku z tym najbardziej optymalne będzie, gdy zaraz po wysłaniu SMS-a odpytujemy się częściej, ale gdy ostatnio wysłany SMS nie został dostarczony od razu odpytujemy się rzadziej, aż do maksymalnego czasu odpytywania (np. 15 minut).

2.4.2.3 Optymalne sprawdzanie statusów wiadomości Odebranie SMS-ów, które przyszły w przeciągu ostatnich 30-u minut select * from sms_in where insert_at >= timestampadd(minute,-20,now()); Odebranie SMS-ów, które przyszły między 13-ą, a 14-ą wskazanego dnia: select * from sms_in where insert_at between '2011-05-14 13:00:00' and '2011-05-14 14:00:00'