Dokumentacja API Moduł: Listy PEP

Wersja 1.1

Autoryzacja

Autoryzacja do API moduły Listy PEP, podobnie jak inne moduły dostępne przez API Platformy usługowej HyperFlow, odbywa się za pomocą Klucza API wysłanego w nagłówku żądania o nazwie HFAPIKEY.

Wygenerowany klucz musi posiadać status Aktywny oraz mieć przypisany włączony dostęp do modułu Listy PEP.

Poprawna konfiguracja Klucza API dla potrzeb Listy PEP

Klucze API

Szczegóły na temat konfiguracji klucza są dostępne w dokumentacji użytkownika Platformy usługowej HyperFlow  rozdział 9. Klucze API.

Dostępne komendy

Zapytanie pojedyncze

KomendaZapytanie o status PEP pojedyncze
Metoda HTTPPOST
URIhttps://hyperflow.eu/api/route/pep
Format żądania (Request format)JSON
Format odpowiedzi (Reponse format)JSON
Kodowanie znakówUTF-8
Parametryname – imię i nazwisko weryfikowanej osoby

Przykład żądania:

{
“name”:”Andrzej Duda”
}

Przykład odpowiedzi:

{
  "result": "ok",
  "items": [
    {
      "name": "Andrzej Duda",
      "isPEP": "T",
      "secondName": "Sebastian",
      "position": [
        "Prezydent Rzeczypospolitej Polskiej",
        "Członek Rady Politycznej partii Prawo i Sprawiedliwość"
      ],
      "bornCity": "Kraków",
      "category": [
        "P1",
        "P3"
      ],
      "country": "PL",
      "countryName": "Polska",
      "pepRes": "Tak, ta osoba posiada status PEP"
    }
  ]
}

Uwagi implementacje:

Parametr name stanowi jeden ciąg znaków (string) oddzielony spacjami, przyjmujący jedną z możliwych opcji:

  • pierwsze imię <spacja> nazwisko (kolejność dowolna)  

np. Jan Kowalski

  • pierwsze imię <spacja> drugie imię <spacja> nazwisko (kolejność dowolna): 

np. Jan Andrzej Kowalski

  • pierwsze imię <spacja> nazwisko <spacja> miasto urodzenia (kolejność dowolna): 

np. Jan Kowalski Kraków

  • pierwsze imię <spacja> drugie imię <spacja> nazwisko <spacja> miasto urodzenia (kolejność dowolna): 

np. Jan Andrzej Kowalski Kraków

Przykład żądania bez trafienia:

{
"name": "Alicja Nowak"
}

Przykład odpowiedzi:

{
    "items": [
        {
            "name": "Alicja Nowak",
            "isPEP": "N",
            "secondName": null,
            "position": null,
            "bornCity": null,
            "category": null,
            "country": null,
            "pepRes": "Nie, ta osoba nie posiada statusu PEP"
        }
    ],
    "consumeId": "4741",
    "result": "ok"
}

Zapytanie zbiorowe

KomendaZapytanie o status PEP zbiorowe
Metoda HTTPPOST
URIhttps://hyperflow.eu/api/route/pepbatch
Format żądania (Request format)JSON
Format odpowiedzi (Reponse format)JSON
Kodowanie znakówUTF-8
Parametry
„batch”:[„imię nazwisko”,imię nazwisko”,imię nazwisko”,”imię nazwisko”]

Przykład żądania:

{
"batch":["Adriana Banaszczyk","Kyriakos Mitsotakis","Bakir Izetbegović","Donald Tusk"]
}

Przykład odpowiedzi:

{
    "result": "ok",
    "batch": [
        {
            "items": [
                {
                    "name": "Adriana Banaszczyk",
                    "isPEP": "T",
                    "secondName": "Maria",
                    "position": [
                        "EUROMOS Sp. z o.o., Członek Rady Nadzorczej"
                    ],
                    "bornCity": "",
                    "category": ["P7"],
                    "country": "PL",
                    "countryName": "Polska",
                    "pepRes": "Tak, ta osoba posiada status PEP"
                }
            ],
            "consumeId": "4672",
            "result": "ok"
        },
        {
            "items": [
                {
                    "name": "Kyriakos Mitsotakis",
                    "isPEP": "T",
                    "secondName": "",
                    "position": [
                        "Grecja - Premier"
                    ],
                    "bornCity": "",
                   "category": ["P1"],
                    "country": "GR",
                    "countryName": "Grecja",
                    "pepRes": "Tak, ta osoba posiada status PEP"
                }
            ],
            "consumeId": "4673",
            "result": "ok"
        },
        {
            "items": [
                {
                    "name": "Bakir Izetbegović",
                    "isPEP": "T",
                    "secondName": "",
                    "position": [
                        "Bośnia i Hercegowina - Członek Prezydium"
                    ],
                    "bornCity": "",
                    "category": ["P1"],
                    "country": "BA",
                    "countryName": "Bośnia i Hercegowina",
                    "pepRes": "Tak, ta osoba posiada status PEP"
                }
            ],
            "consumeId": "4674",
            "result": "ok"
        },
        {
            "items": [
                {
                    "name": "Donald Tusk",
                    "isPEP": "T",
                    "secondName": "Franciszek",
                    "position": [
                        "Przewodniczący Rady Europejskiej",
                        "Honorowy Przewodniczący Platformy Obywatelskiej"
                    ],
                    "bornCity": "Gdańsk",
                    "category": [ "P1", "P3"],
                    "country": "PL",
                    "countryName": "Polska",
                    "pepRes": "Tak, ta osoba posiada status PEP"
                }
            ],
            "consumeId": "4675",
          "result": "ok"
        }
    ]
}

Uwagi implementacje:

Parametr batch przyjmuje tablicę ciągów znaków oddzieloną przecinkami (JSONArray). Każdy ciąg znaków jest skonstruowany dokładnie na tych samych zasadach co pojedynczy parametr name, czyli przyjmuje jedną z możliwych opcji:

  • pierwsze imię <spacja> nazwisko (kolejność dowolna)  

np. Jan Kowalski

  • pierwsze imię <spacja> drugie imię <spacja> nazwisko (kolejność dowolna): 

np. Jan Andrzej Kowalski

  • pierwsze imię <spacja> nazwisko <spacja> miasto urodzenia (kolejność dowolna): 

np. Jan Kowalski Kraków

  • pierwsze imię <spacja> drugie imię <spacja> nazwisko <spacja> miasto urodzenia (kolejność dowolna): 

np. Jan Andrzej Kowalski Kraków.

Przykład żądania:

{
"batch":["Zdzisława Franciszka Gątkiewicz","Konrad Wytrykowski Kamil Legnica","Ostrowiec Świętokrzyski Kamil Zieliński"]
}

Przykład odpowiedzi:

{
    "result": "ok",
    "batch": [
        {
            "items": [
                {
                    "name": "Zdzisława Gątkiewicz",
                    "isPEP": "T",
                    "secondName": "Franciszka",
                    "position": [
                        "Zakłady Urządzeń Chemicznych i Armatury Przemysłowej \"CHEMAR\" S.A., Członek Rady Nadzorczej"
                    ],
                    "bornCity": "",
                    "category": [ "P7"],
                    "country": "PL",
                    "countryName": "Polska",
                    "pepRes": "Tak, ta osoba posiada status PEP"
                }
            ],
            "consumeId": "2378",
            "result": "ok"
        },
        {
            "items": [
                {
                    "name": "Konrad Wytrykowski",
                    "isPEP": "T",
                    "secondName": "Kamil",
                    "position": [
                        "Sędzia Izby Dyscyplinarnej"
                    ],
                    "bornCity": "Legnica",
                    "category": ["P4"],
                    "country": "PL",
                    "countryName": "Polska",
                    "pepRes": "Tak, ta osoba posiada status PEP"
                }
            ],
            "consumeId": "2379",
            "result": "ok"
        },
        {
            "items": [
                {
                    "name": "Kamil Zieliński",
                    "isPEP": "T",
                    "secondName": "",
                    "position": [
                        "Członek Rady Politycznej partii Prawo i Sprawiedliwość"
                    ],
                    "bornCity": "Ostrowiec Świętokrzyski",
                    "category": ["P3"],
                    "country": "PL",
                    "countryName": "Polska",
                    "pepRes": "Tak, ta osoba posiada status PEP"
                }
            ],
            "consumeId": "2380",
            "result": "ok"
        }
    ]
}

Zapytanie z pliku zdalnego

KomendaZapytanie o status PEP z pliku zdalnego CSV
Metoda HTTPPOST
URIhttps://hyperflow.eu/api/route/pepbatch
Format żądania (Request format)JSON
Format odpowiedzi (Reponse format)JSON
Kodowanie znakówUTF-8
Parametry„hfFile”: {    „name”: „twoj_plik.csv”,    „tmp_name”: „https://zdalnalokalizacja.pl/twoj_plik.csv”}

Przykład żądania:

{
  "hfFile": {
 "name": "test_pep.csv",
 "tmp_name": "https://zdalna lokalizacja.pl/test_pep.csv”
  }
}

Gdzie zawartość pliku wygląda następująco:

Plik zdalny CSV

Przykład odpowiedzi:

{
    "result": "ok", 
  "batch": [
        {
            "items": [
                {
                    "name": "Paweł Księżak",
                    "isPEP": "T",
                    "secondName": "Sławomir",
                    "position": [
                        "Sędzia Izby Kontroli Nadzwyczajnej i Spraw Publicznych"
                    ],
                    "bornCity": "",
                    "category": [ "P4" ],
                    "country": "PL",
                    "countryName": "Polska",
                    "pepRes": "Tak, ta osoba posiada status PEP"
                }
            ],
            "consumeId": "4716",
            "result": "ok"
        },
        {
            "items": [
                {
                    "name": "Ilze Fišere",
                    "isPEP": "T",
                    "secondName": "",
                    "position": [
                        "Sędzia, Sąd Rejonowy w Kurzeme (Ventspils)"
                    ],
                    "bornCity": "",
                    "category": [ "P4"],
                    "country": "LV",
                    "countryName": "Łotwa",
                    "pepRes": "Tak, ta osoba posiada status PEP"
                }
            ],
            "consumeId": "4717",
            "result": "ok"
        },
        {
            "items": [
                {
                    "name": "Miguel Skowron",
                    "isPEP": "T",
                    "secondName": "Antonio",
                    "position": [
                        "Konsul Honorowy Rzeczypospolitej Polskiej w Obera"
                    ],
                    "bornCity": "",
                    "category": [ "P6" ],
                    "country": "AR",
                    "countryName": "Argentyna",
                    "pepRes": "Tak, ta osoba posiada status PEP"
                }
            ],
            "consumeId": "4718",
            "result": "ok"
        }
    ]
}

Zalecenia co do zapytań

Zalecanym sposobem odpytywania API jest podawanie wyłącznie pierwszego imienia i nazwiska. W przypadku niejednoznacznej odpowiedzi – gdy “trafienie” będzie dotyczyć więcej niż jednej osoby – zostaną zwrócone wszystkie wyniki.

W przypadku weryfikacji pozytywnej (jest PEP) każdorazowo zwracane są wszystkie dostępne informacje na temat danej osoby (drugie imię, miasto urodzenia, zajmowane stanowisko) – o ile występują w naszej bazie danych.

Przykład wywołania za pomocą klienta RESTED

Zapytanie za pomocą REST CLIENT

Kody błędów

Przykład kodu:

{
    "code": "0089",
    "redirect": "",
    "result": "err",
    "msg": "Brak dostępu do usługi"
}

Przypadki:

  • Użytkownik zużył całą pulę wykupionych zapytań lub termin, do którego usługa została wykupiona minął,
  • Nieaktywny klucz API,
  • Klucz API nie ma włączonej usługi Listy PEP.

Przykład kodu:

{
    "code": "0404",
    "redirect": "",
    "result": "err",
    "msg": "Brak pliku lub plik jest pusty"
}

Przypadki:

  • Podana ścieżka jest niewłaściwa,
  • Plik nie zawiera danych, jest pusty,
  • Niewłaściwy format pliku, plik nie jest plikiem CSV,
  • Niewłaściwie wprowadzone nazwy parametrów: „name”,   „tmp_name”.

Przykład kodu:

{
    "code": "0009",
    "redirect": "",
    "result": "err",
    "msg": "Błędne dane"
}

Przypadki:

  • Niewłaściwie wprowadzona nazwa parametru: „batch”,   „hfFile”,
  • Niewłaściwy parametr dla żądania URI,
  • Parametr „batch”,   „hfFile” jest pusty,
  • Brak parametru w żądaniu.

Przykład kodu:

{
    "code": "0000",
    "redirect": "",
    "result": "err",
   "msg": "Nieznana komenda"
}

Przypadki:

  • Niewłaściwie wprowadzone URI,
  • Wybrana metoda jest niewłaściwa dla zapytania (POST/GET).

Przykład kodu:

{
     "code": "2002",
  "redirect": "",
   "result": "err",
   "msg": "Parametr name nie może być pusty"
}

Przypadki:

  • Parametr „name” jest pusty.