API

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.

Dostęp do dokumentacji, pliku WSDL i komunikacja z api wymaga zalogowania się. Dane do logowania można otrzymać, wykorzystując fomularz poniżej.

Integracja Api

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);
    }
}
#api, #ats, #integracja, #parser cv