WebAPI to usługa sieciowa umożliwiająca komunikację między serwisem PozyskajDane.pl a oprogramowaniem zewnętrznym. Dzięki tej usłudze można zintegrować swoje oprogramowanie z PozyskajDane.pl i cieszyć się zaoszczędzonym czasem.
Api PozyskajDane.pl opiera się na protokole SOAP, który korzysta z języka XML jako formatu danych oraz na protokole RPC odpowiedzialnego za przesyłanie danych. Pełny opis usługi znajduje w pliku WSDL.
Api można bardzo łatwo zintegrować z istniejącym oprogramowaniem typu ATS, w dowolnym języku, który wspiera protokół SOAP.
Poniżej przedstawiona jest przykładowe klasy w języku PHP, Python i Java umożliwiające szybkie wykorzystanie API. Całkowita komunikacja opiera się na dwóch metodach, odpowiednio dodawanie dokumentów do parsowania oraz metody, która odbiera znalezione w dokumentach dane.
W celu uzyskania haseł prosimy o kontakt .
package soap; import ardo.ArrayOfFileStruct; import ardo.DoAddDocumentRequest; import ardo.DoAddDocumentResponse; import ardo.DoCheckDocumentRequest; import ardo.DoCheckDocumentResponse; import ardo.FileStruct; import ardo.ServicePort; import ardo.ServiceService; import java.io.FileNotFoundException; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import javax.xml.ws.BindingProvider; /** * Klasa ułatwiająca połączenie z api PozyskajDane.pl * * Klasy pomocznie pobieramy za pomocą wsimport -keep z wsdl * */ public class Client { private final ServicePort servicePort; public Client() { ServiceService serviceService = new ServiceService(); servicePort = serviceService.getServicePort(); BindingProvider prov = (BindingProvider) servicePort; prov.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "nazwa użytkownika"); prov.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "hasło użytkownika"); } /** * Metoda wysyłająca pliki do przetowrzenia * * @param files HashMap klucz - identyfikator pliku, wartość - ścieżka do * pliku * * @return DoAddDocumentResponse * @throws FileNotFoundException * @throws IOException */ public DoAddDocumentResponse sendDocuments(HashMap<String, String> files) throws FileNotFoundException, IOException { ArrayOfFileStruct arrayOfFileStruct = new ArrayOfFileStruct(); for (Map.Entry<String, String> pairs : files.entrySet()) { byte[] content = Files.readAllBytes(Paths.get(pairs.getValue())); FileStruct fileStruct = new FileStruct(); fileStruct.setFile(content); fileStruct.setId(pairs.getKey()); arrayOfFileStruct.getItem().add(fileStruct); } DoAddDocumentRequest doAddDocumentRequest = new DoAddDocumentRequest(); doAddDocumentRequest.setFiles(arrayOfFileStruct); return servicePort.doAddDocument(doAddDocumentRequest); } /** * Metoda odbierająca wyniki przetowrzenia * * @param listOfHash lista hashy do sprawdzenia * @return DoCheckDocumentResponse wynik sprawdzania */ public DoCheckDocumentResponse getDocuments(ArrayList<String> listOfHash) { DoCheckDocumentRequest doCheckDocumentRequest = new DoCheckDocumentRequest(); for (String hash : listOfHash) { doCheckDocumentRequest.getHash().add(hash); } return servicePort.doCheckDocument(doCheckDocumentRequest); } }