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);
}
}