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



Podobne dokumenty
ipfon Web Services API wersja 1.0.3

Redlink.pl Web Services API Wersja 1.3 ( )

Dokumentacja API. SOAP - webservice v

Dokumentacja smsapi wersja 1.4

Manual konfiguracji konta dla fax2mail

Specyfikacja HTTP API. Wersja 1.6

Dokumentacja interfejsu API

Dokumentacja techniczna API systemu SimPay.pl

SMS Kod Automatyczny

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl

Dokumentacja 2SMS

Dokumentacja SMS przez FTP

Funkcje dodatkowe. Wersja 1.2.1

Specyfikacja techniczna. mprofi Interfejs API

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

DOKUMENTACJA TECHNICZNA KurJerzyAPI wersja 1.0

Manual konfiguracji konta dla fax2mail opcji BP Basic oraz BP Fiber

DOKUMENTACJA TECHNICZNA SMS API MT

Manual konfiguracji konta dla fax2mail

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

Elektroniczna Skrzynka Podawcza

Dokumentacja modułu Woocommerce

Funkcje dodatkowe. Wersja 1.2.1

Manual konfiguracji konta dla fax2mail

Dokumentacja API BizIn

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

Dokumentacja API Stacja z Paczką ver. 2.14

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

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

Instrukcja użytkownika

Wykaz zmian w systemie edok 9.1

Zaawansowane aplikacje internetowe - laboratorium

JEDEN NUMER. Instrukcja

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

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.

,Aplikacja Okazje SMS

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

DOKUMENTACJA SOAP API. ver 2.0

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.

INSTRUKCJA OBSŁUGI APLIKACJI WEBFAX DLA UŻYTKOWNIKA

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

Spis treści DOKUMENTACJA TECHNICZNA. STS API wersja 1.1

Dokumentacja API Stacja z Paczką ver. 2.09

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

Podręcznik Integracji

REFERAT O PRACY DYPLOMOWEJ

Dokumentacja API. wersja 1.1

Program dla praktyki lekarskiej

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

Instrukcja instalacji Control Expert 3.0

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

Spis treści. Strona: 1/26

System epon Dokumentacja użytkownika

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

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

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

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

E-BOK DOKUMENTACJA UŻYTKOWNIKA

Instrukcja użytkownika STUDENTA AKADEMICKIEGO SYSTEMU ARCHIWIZACJI PRAC

Wykaz Zmian do Wersji edok 9.0sp2

Dokumentacja API serwisu KurierSerwis.com

Archiwum Prac Dyplomowych

Ministerstwo Finansów

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

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

Dokumentacja REST API v 3.0

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

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

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

Archiwum Prac Dyplomowych

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

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

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

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.

Przelewy24 Wirtualny Koszyk

Archiwum Prac Dyplomowych

Instrukcja obsługi portalu wersja dla aptek. Logowanie do portalu:

Rysunek 1 Strona główna systemu Wibo

Kalipso wywiady środowiskowe

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

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


Instrukcja Użytkownika (Studenta) Akademickiego Systemu Archiwizacji Prac

Instrukcja użytkownika STUDENTA AKADEMICKIEGO SYSTEMU ARCHIWIZACJI PRAC

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

Konfiguracja programu MS Outlook 2007 dla poczty w hostingu Sprint Data Center

Aplikacje WWW - laboratorium

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

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

Aplikacje WWW - laboratorium

INSTRUKCJA OBSŁUGI PROGRAMU. ver

MODUŁ NAUCZYCIEL - INSTRUKCJA OBSŁUGI

INSTRUKCJA OBSŁUGI PROGRAMU. ver

Baza numerów Wersja 1.1

PANEL ADMINISTRACYJNY SPRZEDAWCY SZYBKI START

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

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

Dokumentacja Użytkownika Systemu

Przewodnik instalacji i rejestracji ASN RadioOS

iqportal abonencki panel zarządzania

Transkrypt:

Web Service API dla usługi FAX

Spis treści 1. HISTORIA ZMIAN... 3 2. WSTĘP... 3 3. KAMPANIE FAKSOWE... 4 3.1. INFORMACJE OGÓLNE... 4 3.2. CREATEFAXCAMPAIGN... 5 3.3. GETFAXCAMPAIGNSTATE... 6 3.4. GETFAXRESULTS... 6 4. PRZYKŁADY... 7 4.1. PHP... 7 4.2. C#... 8 4.3. JAVA... 8 Strona 2

1. Historia zmian Lp. Wersja 1 1.0.0 Data 18 Stycznia 2013 Wersja początkowa 2. Wstęp ProfiTEL FAKS WS to zestaw metod i funkcji pozwalających na pełną egrację wybranych usług oferowanych przez ProfiTEL 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 egracji 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) Biblioteka Web Service.NET Framework posiada wbudowaną przestrzeń nazw System.Web. Zawiera klasy i erfejsy umożliwiające komunikację z serwerami ernetowymi, a także klasy kontrolek Web Forms oraz usług ernetowych XML Web Services. Linki http://msdn.microsoft.com/webservices/ Java Najpopularniejsze Web Services Framework dla języka Java to Apache Axis, GlassFish(metro) oraz CFX. https://metro.dev.java.net/ http://incubator.apache.org/cxf/ http://ws.apache.org/axis2/ PHP 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). 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 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ą faksó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ń jednego użytkownika w ciągu 60 minut 1500, przy czym pojedyncze wywołania metod obłożone są wagami określonymi przy danej metodzie1 przez 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). Strona 3

Dane niezbędne do autoryzacji dostępne są w panelu klienta dla użytkownika logującego się z uprawnieniami administratora (Panel Klienta ProfiTEL -> Web service API). Warunkiem koniecznym jest podanie w Panelu Klienta adresów IP serwerów, z których będą mogłyby być wywoływane funkcje API. W pierwszym kroku w Preferencjach należy włączyć odpowiednią opcję (pokazaną na rysunku obok). 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: Login faksu znajduje się w Panelu Klienta w menu po lewej stronie (faxy). 3. Kampanie faksowe 3.1. Informacje ogólne Adres : https://panel.profitel.pl/webservices/server.php WSDL : https://panel.profitel.pl/webservices/server.php?wsdl Treść faksu podajemy w formie zakodowanej base64 (pole FileContent). ProfiTEL 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ę faksów. Niezależnie od sposobu wysyłane faksy widoczne są w skrzynce nadawczej faksu w Panelu Klienta ProfiTEL. Tam też można śledzić także stan i rezultat wysyłki. Strona 4

3.2. CreateFaxCampaign Stworzenie i wysłanie kampanii faksowej. Waga metody 1. y wejściowe: WsLogin Login użytkownika API Pass Hasło użytkownika API ObjectName Nazwa usługi (obiektu faxu) np. test020, przez które ma odbyć się wysyłka Name Nazwa kampanii FileName Nazwa pliku z treścią faxu base64binary Treść pliku zakodowana base64 FileContent Numbers ScheduleTime Repeat ArrayOfString date('y-m-d H:i:s') 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. 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). Voice 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 panelu ProfiTEL. Pole jest obowiązkowe. Strona 5

Wynik: Code Kod wyniku tekstowy wyniku Identyfikator kampanii. Description Data 3.3. GetFaxCampaignState Pobranie statusu 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 Login użytkownika API Pass Hasło użytkownika API CampaignId Identyfikator kampanii CreateFaxCampaign. Code Kod wyniku tekstowy wyniku zwrócony przez metodę Wynik: Description Data FaxSendState Array Stan kampanii. FaxSendState opisujący status pojedynczej wysyłki (kampanii): StateCode Ostatni kod statusu 0 wysyłka oczekuje na wysyłanie 1 wysyłka jest w trakcie wysyłania (trwa przynajmniej jedna wysyłka faksu na jeden numer) 2 wysyłka została zakończona (wysyłka dla wszystkich podanych numerów została zakończona) StateDetails Szczegóły statusu (komentarz). READY TO SEND wysyłka oczekuje na wysyłanie SENDING wysyłka jest w trakcie wysyłania (trwa przynajmniej jedna wysyłka faksu 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 faksowej. Waga metody 3. y wejściowe: WsLogin Login użytkownika API Pass Hasło użytkownika API Identyfikator kampanii zwrócony przez metodę CreateFaxCampaign. WsLogin Login użytkownika API Pass Hasło użytkownika API Identyfikator kampanii zwrócony przez metodę CreateFaxCampaign. CampaignId Wynik: CampaignId Strona 6

FaxSendResult opisujący rezultat pojedynczej wysyłki: ResultCode ResultCode ResultDetails Finished 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 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 Szczegóły rezultatu (komentarz) patrz wyżej. 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. 4. Przykłady 4.1. PHP Wysłanie faksu za pomocą wbudowanego modułu SOAP 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> <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" /> </head> <pre> <?php $client = new SoapClient('https://panel.profitel.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; // 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'; // nazwa kampanii $parameters['filename'] = $file_name; // nazwa pliku (Dozwolone formaty to: PDF, DOC, XLS, PPT, JPEG, BMP $parameters['filecontent'] = $file_content; // zaszyfrowany plik algorytmem Base64 $parameters['numbers'] = array('221234567','6111111111', '719999999'); // array tablica numerów na które mają być wysłane faksy $parameters['scheduletime'] = date('2010-04-16 14:12:00'); // date zaplanowany czas kampanii $parameters['repeat'] = 0; // eger włączone powtarzanie 0 - brak, 1 - wszystkie, 2 - tylko nieodebrane $parameters['voice'] = 1 ; // eger 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"; pr_r($result->data); else echo "ERROR - $result->description \n";?> </html> 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://panel.profitel.pl/webservices/server.php?wsdl'); $parameters = array(); $parameters['wslogin'] = testtesttest_ws ; // login ws Strona 7

$parameters['pass'] = 'Y2teOb40Dy123'; $parameters['campaignid'] = 12312327; // hasło do wp api // eger campaign_id zwrocone przez metode CreateFaxCampaign $result = $client-> soapcall('getfaxcampaignstate',$parameters); if ($result->code == 0) echo "OK \n"; pr_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://panel.profitel.pl/webservices/server.php?wsdl'); $parameters = array(); $parameters['wslogin'] = testtesttest_ws ; $parameters['pass'] = 'Y2teOb40Dy123'; $parameters['campaignid'] = 12312327; // login ws // hasło do wp api // eger campaign_id zwrocone przez metode CreateFaxCampaign $result = $client-> soapcall('getfaxresult',$parameters); if ($result->code == 0) echo "OK \n"; pr_r($result->data); else echo "ERROR - $result->code - $result->description \n";?> </html> 4.2. C# Klasę WSClient można wygenerować przy pomocy narzędzia wsól.exe (patrz http://msdn2.microsoft.com). 4.3. Java Wykorzystać można bibliotekę Axis (http://ws.apache.org/axis/). Klasy można wygenerować automatycznie przez narzędzie WSDL2Java dołączone do tej biblioteki. Strona 8