ipfon Web Services API wersja 1.0.3



Podobne dokumenty
Opis Web Service API dla usługi FAX. Wersja 1.0.0

Redlink.pl Web Services API Wersja 1.3 ( )

Dokumentacja techniczna API systemu SimPay.pl

Dokumentacja interfejsu API

Dokumentacja smsapi wersja 1.4

Dokumentacja API. SOAP - webservice v

DOKUMENTACJA TECHNICZNA KurJerzyAPI wersja 1.0

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl

Specyfikacja HTTP API. Wersja 1.6

SMS Kod Automatyczny

Manual konfiguracji konta dla fax2mail

Funkcje dodatkowe. Wersja 1.2.1

Specyfikacja techniczna. mprofi Interfejs API

Dokumentacja 2SMS

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/4.1.4/2015

Spis treści DOKUMENTACJA TECHNICZNA. STS API wersja 1.1

DOKUMENTACJA TECHNICZNA SMS API MT

Manual konfiguracji konta dla fax2mail

Manual konfiguracji konta dla fax2mail opcji BP Basic oraz BP Fiber

Dokumentacja API BizIn

Manual konfiguracji konta dla fax2mail

Dokumentacja SMS przez FTP

Przelewy24 Wirtualny Koszyk

Funkcje dodatkowe. Wersja 1.2.1

1. Wstęp 2. Adres usługi 3. Konfiguracja 4. Metody 5. Typy danych 6. Przykład wywołania metody przy użyciu php i biblioteki nusoap 7.

DOKUMENTACJA SOAP API. ver 2.0

DPDInfoServices. Specyfikacja biznesowa. Version DPD Polska Sp. z O.O. Warszawa

Wykaz zmian w systemie edok 9.1

Spis treści. Strona: 1/26

,Aplikacja Okazje SMS

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

Elektroniczna Skrzynka Podawcza

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/4.1.4/2016

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

Dokumentacja API serwisu KurierSerwis.com

Dokumentacja API Stacja z Paczką ver. 2.14

Dokumentacja modułu Woocommerce

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015

Instrukcja. Systemu Centralnego Wydruku (SCW) Podstawy obsługi

Baza numerów Wersja 1.1

Aplikacje WWW - laboratorium

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

Podręcznik Integracji

Zaawansowane aplikacje internetowe - laboratorium

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015

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

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

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.

Dokumentacja API BizIn

Cisco SPA1xx (SPA112, SPA122)

3S TeleCloud - Aplikacje Instrukcja użytkowania usługi 3S FAX SYSTEM

Dokumentacja API Stacja z Paczką ver. 2.09

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

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

Wysyłka dokumentacji serwisowej z Sekafi3 SQL do producentów.

iqportal abonencki panel zarządzania

REFERAT O PRACY DYPLOMOWEJ

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

Miejskie Wodociągi i Oczyszczalnia sp. z o.o. w Grudziądzu. ibok. Internetowe Biuro Obsługi Klienta. Instrukcja obsługi

PANEL ADMINISTRACYJNY SPRZEDAWCY SZYBKI START

E-BOK DOKUMENTACJA UŻYTKOWNIKA

Instrukcja użytkownika

Aplikacje WWW - laboratorium

System epon Dokumentacja użytkownika

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

INSTRUKCJA OBSŁUGI APLIKACJI WEBFAX DLA UŻYTKOWNIKA

Kalipso wywiady środowiskowe


Specyfikacja interfejsów usług Jednolitego Pliku Kontrolnego

Program dla praktyki lekarskiej

TRX API opis funkcji interfejsu

Wiadomości. Instrukcja użytkownika systemu bankowości internetowej dla firm. BOŚBank24 iboss

Dokumentacja API serwisu epaka.pl

Instrukcja instalacji Control Expert 3.0

Zgłoś projekt do Budżetu Obywatelskiego online!

Spis treści REJESTRACJA NOWEGO KONTA UŻYTKOWNIKA PANEL ZMIANY HASŁA PANEL EDYCJI DANYCH UŻYTKOWNIKA EXTRANET.NET...

Dokumentacja REST API v 3.0

WYGENEROWANIE NOWEGO HASŁA DO SYSTEMU NA ADRES skrócona instrukcja

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Rysunek 1 Strona główna systemu Wibo

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Dokumentacja techniczna SMS MO

Nexto.API. Przykładowy klient Java 1.6 do systemu zamówień NextoAPI. Przygotował Rafał Ozga e-kiosk S.A. Maj 2015,

Przewodnik instalacji i rejestracji ASN RadioOS

Dokumentacja API serwisu korporacjakurierska.pl

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)

Archiwum Prac Dyplomowych


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

JEDEN NUMER. Instrukcja

Instrukcja obsługi certyfikatów w programie pocztowym MS Outlook Express 5.x/6.x

Instrukcja. Elektronicznej Skrzynki Podawczej

apaczka Webservice API

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

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

Dokumentacja API serwisu korporacjakurierska.pl

Jak stworzyć bazę adresów firmowych aby wysyłać ingi reklamowe przez system OPENMailing.pl?

Przykładowa integracja systemu Transferuj.pl

Archiwum Prac Dyplomowych

Wykaz Zmian do Wersji edok 9.0sp2

Transkrypt:

Zawartość Zawartość... 1 1. Historia zmian... 2 2. Wstęp... 2 3. Kampanie faksowe... 4 3.1. Informacje ogólne... 4 3.2. CreateFaxCampaign... 4 3.3. GetFaxCampaignState... 5 3.4. GetFaxResults... 6 4. Przykłady... 7 4.1. PHP... 7 4.2. C#... 9 4.3. Java... 9 S t r o n a 1

1. Historia zmian L.p. Wersja Data 1 1.0.0 16 kwietnia 2010 wersja początkowa 2 1.0.1 14 października 2010 drobne poprawki edytorskie 3 1.0.2 14 grudnia 2010 dodanie informacji o konieczności zachowania kolejności parametrów zgodnej z WSDL w przypadku korzystania z SOAP PHP5. 4 1.0.3 16 stycznia 2012 uzupełnienie FaxSendResult o nowe ResultCode 2. Wstęp ipfonapi to zestaw metod i funkcji pozwalających na pełną integrację wybranych usług oferowanych przez ipfon z dowolnym oprogramowaniem klienta. API wykorzystuje standardy Web Services, w szczególności WSDL, SOAP oraz XML. Więcej informacji na ich temat można uzyskać na stronach : http://www.w3.org/tr/wsdl http://www.w3.org/tr/soap http://www.w3.org/tr/rec-xml/ Do integracji wybranych usług z własnym serwisem nie jest niezbędna dogłębna znajomość tych technologii, ponieważ w praktyce każde środowisko programistyczne posiada gotowe biblioteki obsługujące Web Services i wywołanie odpowiedniej usługi sprowadza się do kilku linijek prostego kodu. Platforma.NET (C#, C++, Visual Basic) Java PHP Biblioteka Web Services.NET Framework posiada wbudowaną przestrzeń nazw System.Web. Zawiera klasy i interfejsy umożliwiające komunikację z serwerami internetowymi, a także klasy kontrolek Web Forms oraz usług internetowych XML Web Services. Najpopularniejsze Web Services Framework dla języka Java to Apache Axis, GlassFish(metro) oraz CFX. Od wersji PHP 5 dostępna jest wbudowana implementacja protokołu SOAP (SOAP Extension). W przypadku korzystania z modułu SOAP PHP5 kolejność parametrów musi być zgodna z WSDL. Dodatkowo można skorzystać z oddzielnych rozszerzeń np. NuSOAP lub PEAR (dla php4). Linki http://msdn.microsoft.com/webservices/ https://metro.dev.java.net/ http://incubator.apache.org/cxf/ http://ws.apache.org/axis2/ http://pl.php.net/soap http://sourceforge.net/projects/nusoap/ http://pear.php.net/package/soap PERL Moduł SOAP::Lite http://www.soaplite.com/ Python Biblioteka Python Web Services http://pywebsvcs.sourceforge.net/ Ruby on Rails Biblioteka Action Web Services http://www.rubyonrails.org/ Każde wywołanie metody kończy się kodem błędu według poniższego zestawienia : Kod 0 Ok - wywołanie zakończone pomyślnie 1 ValidationError - błąd podczas walidacji danych wejściowych 2 AuthenticationError - błąd logowania do systemu 3 AuthorizationError - błąd braku uprawnień 4 DatabaseError - błąd bazy danych S t r o n a 2

5 OperationError - błąd wykonywania operacji 6 RuntimeError - niezdefiniowany błąd Znakiem oddzielającym część całkowitą od części dziesiętnej jest znak kropki. Wszystkie ciągi tekstowe należy kodować w UTF-8. W razie potrzeby należy dokonać konwersji: iconv("iso-8859-2","utf-8", $_paramsgetfaxcampaign['name']) W pierwszej kolejności udostępniamy zestaw funkcji związany z wysyłką faxów. W tej chwili obowiązują następujące ograniczenia: L.p. Wyszczególnienie Wartość 1. max. liczba numerów w jednej wysyłce (kampanii) 100 2. max. łączna zagregowana ilość wywołań przez jednego użytkownika w ciągu 60 minut 1500, przy czym pojedyncze wywołania metod obłożone są wagami określonymi przy danej metodzie 1 Dane niezbędne do autoryzacji dostępne są w panelu ipfon24 dla użytkownika logującego się z uprawnieniami administratora(ipfon24 -> Web service API). Warunkiem koniecznym jest podanie w panelu ipfon24 adresów IP serwerów, z których będą mogły być wywoływane API. W pierwszym kroku w Preferencjach należy włączyć odpowiednią opcję: Po jej włączeniu w lewym menu pojawi się link: Web service API. Po wybraniu Web service API należy określić hasło do autoryzacji API i podać adresy IP serwerów, z których będą wywoływane API: 1 Przykładowo w ciągu godziny można wywołać 600 razy metodę CreateFaxCampaign i 300 razy metodę GetFaxResults (600 x 1 + 300 x 3 = 1500). S t r o n a 3

3. Kampanie faksowe 3.1. Informacje ogólne Adres : https://ipfon24.ipfon.pl/webservices/server.php WSDL : https://ipfon24.ipfon.pl/webservices/server.php?wsdl Treść faksu podajemy w formie zakodowanej base64 (pole FileContent). ipfon obsługuje następujące typy plików : pdf, doc, docx, xls, xlix, ppt, pptx, jpeg, jpg, gif, bmp. Poniżej opisujemy zestaw metod pozwalających na wysyłkę faksów oraz pobranie wyników. Jest to kolejny obok web2fax czy email2fax sposób na wysyłkę faxów. Niezależnie od sposobu wysyłane faxy widoczne są w skrzynce nadawczej faxu w ipfon24. Tam też można śledzić także stan i rezultat wysyłki. 3.2. CreateFaxCampaign Stworzenie i wysłanie kampanii faksowej. Waga metody 1. y wejściowe WsLogin string Login użytkownika API Pass string Hasło użytkownika API ObjectName string Nazwa usługi (obiektu faxu) np. nomadic020, przez które ma odbyć się wysyłka Name string Nazwa kampanii FileName string Nazwa pliku z treścią faxu FileContent base64binary Treść pliku zakodowana base64 Numbers ScheduleTime Repeat ArrayOfString date('y-m-d H:i:s') int Lista numerów, na który ma zostać wysłany faks, format numeru krajowych to YYXXXXXXX, gdzie YY to numer strefy np. 618111111. Dla numerów międzynarodowych format wygląda następująco 00YYXXXXXXXXX, gdzie YY to kierunkowy danego kraju. Można podać maksymalnie 100 numerów w jednej kampanii. Czas rozpoczęcia wysyłki faksu (może być odłożony w przyszłości). Wartość pusta date('') ustawia aktualny czas. Informacja czy w przypadku błędu faks ma być powtarzany. Jeżeli pole to zostanie ustawione, w przypadku błędu faks zostanie automatycznie ponowiony po 5,10 i 15 minutach. S t r o n a 4

Voice int Pole to może przyjmować następujące wartości: 0 brak powtórek, 1 powtarzanie wszystkich błędnych wysyłek faksów, 2 powtarzanie tylko w przypadku gdy połączenie nie zostanie odebranie, linia będzie zajęta lub wystąpi błąd braku sygnału faksu. Pole jest obowiązkowe. Pozwala na ustawienie zapowiedzi głosowej odgrywanej każdorazowo po nawiązaniu połączenia (przed wysyłką właściwego pliku). Pole to może przyjmować następujące wartości: 0 brak zapowiedzi, 1 zapowiedź w języku polskim proszę o sygnał faxu, 2 zapowiedź w języku angielskim fax signal, please, 3 zapowiedź własna ustawiona w ipfon24. Pole jest obowiązkowe. Wynik Code int Kod wyniku Description string tekstowy wyniku Data int Identyfikator kampanii. 3.3. GetFaxCampaignState Pobranie status kampanii. Status określa czy dana kampania została w całości już wysłana, czy też jest jeszcze w trakcie wysyłania. Waga metody 2. y wejściowe WsLogin string Login użytkownika API Pass string Hasło użytkownika API CampaignId string Identyfikator kampanii zwrócony przez metodę CreateFaxCampaign. Wynik Code int Kod wyniku Description string tekstowy wyniku Data FaxSendState Array Stan kampanii. FaxSendState State opisujący status pojedynczej wysyłki (kampanii). StateCode int Ostatni kod statusu 0 - wysyłka oczekuje na wysyłanie 1 wysyłka jest w trakcie wysyłania (przynajmniej trwa wysyłka faxu na jeden numer) 2 - wysyłka została zakończona (wysyłka dla wszystkich podanych numerów została zakończona) StateDetails string Szczegóły statusu (komentarz). READY TO SEND wysyłka oczekuje na wysyłanie S t r o n a 5

SENDING wysyłka jest w trakcie wysyłania (przynajmniej trwa wysyłka faxu na jeden numer) SENT wysyłka została zakończona (wysyłka dla wszystkich podanych numerów została zakończona) 3.4. GetFaxResults Pobranie informacji o rezultatach wysyłki faksów na podane numery. Metoda powinna być wywoływana po uprzednim sprawdzeniu metodą GetFaxCampaignState stanu wysyłki faxowej. Waga metody 3. y wejściowe WsLogin string Login użytkownika API Pass string Hasło użytkownika API CampaignId int Identyfikator kampanii zwrócony przez metodę CreateFaxCampaign. Wynik Code int Kod wyniku Description string tekstowy wyniku Data FaxSendResult Array Lista rezultatów kampanii. FaxSendResult opisujący rezultat pojedynczej wysyłki. Number string Numer jeżeli był podany. ResultCode int Ostatni kod rezultatu (w przypadku ustawienia powtórek może się jeszcze zmienić, ostateczny wynik uzależniony jest od pola Finished): 0 - faks wysłany poprawnie 1 nieokreślony rezultat 3 - brak sygnału faxu 5 połączenie nieodebrane 7 linia zajęta lub nieprawidłowy numer 19 - błąd protokołu 44 - błąd transmisji 333 - brak środków na koncie 334 - konto tel. jest nieaktywne 335 - do not call 336 - blokada kierunku ResultDetails string Szczegóły rezultatu (komentarz) patrz wyżej. Finished Boolean 1 jeżeli wysyłka dla tego numeru została zakończona 0 jeśli wysyłka dla danego numeru nie została zakończona. S t r o n a 6

4. Przykłady 4.1. PHP Poniżej zamieszczamy kilka prostych przykładów wywołań funkcji dla różnych platform programistycznych Wysłanie faksu za pomocą wbudowanego modułu SOAP'a PHP5. W przypadku korzystania z modułu SOAP PHP5 kolejność parametrów musi być zgodna z WSDL. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <head> </head> <pre> <?php <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" /> $client = new SoapClient('https://ipfon24.ipfon.pl/webservices/server.php?wsdl'); $path = ''; $file_name = 'TEST_FAX.pdf'; $content = file_get_contents($path.$file_name); // plik musi się istnieć aby go odczytać $file_content = base64_encode($content); $parameters = array(); $parameters['wslogin'] = ' testtesttest_ws; // string login użytkownika api $parameters['pass'] = 'Y2teOb40Dy123'; // hasło do ws api $parameters['objectname'] = ' testtesttest371'; //nazwa obiektu usługi z panelu klienta $parameters['name'] = 'nazwa Kampanii'; // string nazwa kampanii $parameters['filename'] = $file_name; // string nazwa pliku (Dozwolone formaty to: PDF, DOC, XLS, PPT, JPEG, BMP $parameters['filecontent'] = $file_content; // string zaszyfrowany plik algorytmem Base64 $parameters['numbers'] = array('221234567','6111111111', '719999999'); // array tablica numerów na które mają być wysłane faxy $parameters['scheduletime'] = date(''); // date zaplanowany czas kampanii wartość pusta oznacza wysłanie kampanii od razu. $parameters['repeat'] = 0; // integar włączone powtarzanie 0 - brak, 1 - wszystkie, 2 - tylko nieodebrane $parameters['voice'] = 1 ; // integer zapowiedź 0 - brak, 1 - po polsku, 2 - po angielsku, 3 - własna zapowiedź $result = $client-> soapcall('createfaxcampaign',$parameters); if ($result->code == 0) echo "OK\n"; print_r($result->data); else echo "ERROR-$result->Description \n";?> </html> S t r o n a 7

Pobranie statusu wysyłki: <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <head> <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" /> </head> <pre> <?php $client = new SoapClient('https://ipfon24.ipfon.pl/webservices/server.php?wsdl'); $parameters = array(); $parameters['wslogin'] = testtesttest_ws ; $parameters['pass'] = 'Y2teOb40Dy123'; $parameters['campaignid'] = 12312327; // string login ws // hasło do wp api // integer campaign_id zwrocone przez metode CreateFaxCampaign $result = $client-> soapcall('getfaxcampaignstate',$parameters); if ($result->code == 0) echo "OK\n"; print_r($result->data->statedetails); else echo "ERROR-$result->Code -$result->description \n";?> </html> Pobranie rezultatów wysyłki: <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <head> <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" /> </head> <pre> <?php $client = new SoapClient('https://ipfon24.ipfon.pl/webservices/server.php?wsdl'); $parameters = array(); $parameters['wslogin'] = testtesttest_ws ; $parameters['pass'] = 'Y2teOb40Dy123'; $parameters['campaignid'] = 12312327; // string login ws // hasło do wp api // integer campaign_id zwrocone przez metode CreateFaxCampaign $result = $client-> soapcall('getfaxresult',$parameters); if ($result->code == 0) echo "OK \n"; S t r o n a 8

print_r($result->data); else echo "ERROR-$result->Code -$result->description \n";?> </html> 4.2. C# Klasę WSClient można wygenerować przy pomocy narzędzia wsdl.exe (patrz http://msdn2.microsoft.com). 4.3. Java Wykorzystać można bibliotekę Axis (ws.apache.org/axis/). Klasy można wygenerować automatycznie przez narzędzie WSDL2Java dołączone do tej biblioteki. S t r o n a 9