NAV
Curl

API KRS/REGON/CEIDG

Poniższa dokumentacja oraz dostępne w niej metody mają zastosowanie przy korzystaniu z klasy API_KRS/REGON/CEIDG.

Wstęp

Wszystkie wywołania do API są standardowymi wywołaniami HTTP. API dostępne jest pod adresem https://api.transparentdata.pl/

Każde wywołanie API dokonywane jest metodą GET.

Uwierzytelnianie

Aby mieć dostęp do poszczególnych zasobów danych, API Transparent Data wymaga uwierzytelnienia. Uwierzytelnienie jest realizowane za pomocą standardowych mechanizmów HTTP Basic Auth.

Każdy użytkownik dostaje swój indywidualny adres url, pod którym dostępne są wszystkie adresy wymienione poniżej.

Jeżeli nie jesteś jeszcze naszym Klientem, a interesuje Cię dostęp do API, opisz nam swoje potrzeby biznesowe w formularzu kontaktowym poprzez stronę https://transparentdata.pl/kontakt/

Przykład uwierzytelniania:

 curl --user login:pass https://api.transparentdata.pl/key/

Autoryzowanie loginem i hasłem

Każdemu użytkownik otrzymuje zestaw parametrów wymaganych do uruchomienia usługi:

Nazwa Opis
key Unikalny klucz, który jest fragmentem adresu url
user Nazwa użytkownika
pass Hasło wymagane do uwierzytelnienia

Powyższy zestaw parametrów jest wystarczający, aby w łatwy sposób rozpocząć pobieranie danych z bazy Transparent Data. Wszystkie wywołania API działają z SSL.

Działanie API można sprawdzić również w przeglądarce internetowej przez wywołanie adresu zbudowanego według wzorca: https://user:pass@api.transparentdata.pl/key/

Autoryzowanie mechanizmem JWT

W ramach integracji użytkownik może skorzystać z autoryzacji JWT. W tym przypadku zostaną mu udostępnione następujące parametry:

Nazwa Opis
key Unikalny klucz, który jest fragmentem adresu url
secret_key Unikalny ciąg znaków, służący do podpisywania wywołań do API

Szczegółowy opis JWT jest dostępny https://en.wikipedia.org/wiki/JSON_Web_Token

Przygotowanie struktury do podpisania

Struktura header

{ "alg" : "HS256", "typ" : "JWT" }

Wymagane elementy payload

Nazwa Opis
exp Timestamp, po którym token traci ważność
iat Timestamp, zawierający datę, w której token został utworzony

{ "exp" : "1558523523", "iat" : "1558523503" }

W ramach payload można także przekazać dodatkowe parametry, które zostaną przekazane do metody w niezmienionej postaci. Przykładowa struktura takiego zapytania może wyglądać następująco:

{ "exp" : "1558523523", "iat" : "1558523503", "nip" : "123123123" }

Wyliczenie signature

W PHP może wyglądać następująco:

$signature = hash_hmac('sha256', base64_encode($header) . '.' . base64_encode($payload), $secretKey, true);

Utworzenie tokenu

$token = base64_encode($header) . '.' . base64_encode($payload) . '.' . base64_encode($signature);

Przykładowy token wygląda następująco:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI

Podpisywanie wywołania

Podczas wywołania, API Transparent Data sprawdza czy dodany został nagłówek

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI

Jeżeli nagłówek został dodany, to sprawdzana jest sygnatura i czasy generowania, tak aby zweryfikować poprawność tokenu. Jeśli wszystko przebiegło poprawnie, wybrana metoda zostanie wywołana.

Przykładowe generowanie tokenu w PHP

$secretKey = 'abc';
$header = json_encode(['alg' => 'HS256', 'typ' => 'JWT']);
$payload = json_encode(['exp' => time() + 60, 'iat' => time()]); // czas ważności 60 sek
$signature = hash_hmac('sha256', base64_encode($header) . '.' . base64_encode($payload), $secretKey, true);
$token = base64_encode($header) . '.' . base64_encode($payload) . '.' . base64_encode($signature);

echo $token;

Wymagane parametry

Przykład wykorzystania API

curl --user login:pass https://api.transparentdata.pl/key/krsData?number=0000487824

Każde wywołanie ma kilka wymaganych parametrów:

Dostępne zasoby

Wyszukiwanie

KRS

krsData

 curl --user login:pass https://api.transparentdata.pl/key/krsData?number=0000023302

{
    "name": "KGHM POLSKA MIEDŹ SPÓŁKA AKCYJNA",
    "legal_form": "SPÓŁKA AKCYJNA",
    "krs": "0000023302",
    "nip": "6920000013",
    "regon": "390021764",
    "status": "aktywna",
    "address":
    {
        "street": "ul. MARII SKŁODOWSKIEJ-CURIE",
        "number": "48",
        "local": "---",
        "post": "LUBIN",
        "city": "LUBIN",
        "county": "LUBIŃSKI",
        "region": "DOLNOŚLĄSKIE",
        "country": "POLSKA",
        "postcode": "00-000"
    },
    "equity": "2000000000",
    "stock":
    {
        "quantity": "200000000",
        "value": "10.00"
    },
    "incorporation": "1991-09-10",
    "created_at": "2001-06-29",
    "last_registry_update": "2016-10-27",
    "removed_at": null,
    "pkd": "0729Z",
    "representation": "1. DO SKŁADANIA OŚWIADCZEŃ W IMIENIU SPÓŁKI WYMAGANE JEST WSPÓŁDZIAŁANIE DWÓCH
CZŁONKÓW ZARZĄDU ALBO JEDNEGO CZŁONKA ZARZĄDU ŁĄCZNIE Z PROKURENTEM.
2. JEŻELI ZARZĄD JEST JEDNOOSOBOWY, DO SKŁADANIA OŚWIADCZEŃ W IMIENIU SPÓŁKI
UPRAWNIONY JEST JEDEN CZŁONEK ZARZĄDU.",
    "representation_body": "ZARZĄD",
    "supervisory_authority": null,
    "suspension_date": "2010-01-01",
    "resumption_date": "2011-12-15",
    "in_bankruptcy": false,
    "liquidation_start": null,
    "liquidation_end": null,
    "liquidation_representation": null,
    "court":
    {
        "name": "SĄD REJONOWY DLA  WROCŁAWIA-FABRYCZNEJ WE WROCŁAWIU, IX WYDZIAŁ GOSPODARCZY KRAJOWEGO REJESTRU SĄDOWEGO",
        "ident": "WR.IX NS-REJ.KRS/23224/16/694"
    },
    "www": "KGHM.COM",
    "email": null,
    "relation":
    [
        {
            "name": "ANNA NOWAK",
            "first_name": "ANNA",
            "last_name": "NOWAK",
            "relation": "board_member",
            "relation_extra_info": "I WICEPREZES ZARZĄDU",
            "ident":
            {
                "name": "pesel",
                "value": "xxxxxxxxxxxx"
            }
        },
        {
            "name": "KRZYSZTOF NOWACKI",
            "first_name": "KRZYSZTOF",
            "last_name": "NOWACKI",
            "relation": "board_member",
            "relation_extra_info": "PREZES ZARZĄDU",
            "ident":
            {
                "name": "pesel",
                "value": "xxxxxxxxxxxx"
            }
        },
                ...
      ]
}

Metoda zwraca zasób z dostępnymi danymi z KRS

Parametry

Nazwa Czy wymagany Opis
number Tak Numer KRS podmiotu, może być wcześniej wyszukany za pomocą searchByName

Zwracane pola:

getCeidg()

Przykładowa opdowiedź API:


{
  "first_name": "DOMINIK",
  "last_name": "CZAJKOWSKI",
  "name": "RS DOMINIK CZAJKOWSKI",
  "nip": "6262985804",
  "regon": "365357080",
  "main_address": {
    "street": "ul. Księdza Franciszka Nawrota",
    "number": "11",
    "local": "11",
    "post": "Bytom",
    "city": "",
    "county": "Bytom",
    "region": "ŚLĄSKIE"
  },
  "post_address": {
    "street": "ul. Księdza Franciszka Nawrota",
    "number": "11",
    "local": "11",
    "post": "Bytom",
    "city": "",
    "county": "Bytom",
    "region": "ŚLĄSKIE"
  },
  "begin_date": "2016-09-20",
  "www": null,
  "email": null,
  "phone": null
}

Metoda zwraca zasób z podstawowymi danymi o podmiocie z CEIDG.

Przyjmowana forma parametru number: string

Parametr może przyjmować wartości takie jak:

Zwracane pola:

getRegon()

Przykładowa opdowiedź API:


{
  "name": "KGHM POLSKA MIEDŹ SPÓŁKA AKCYJNA",
  "first_name": null,
  "last_name": null,
  "nip": "6920000013",
  "regon": "390021764",
  "pesel": null,
  "legal_form_code1": "1",
  "legal_form_code2": "116",
  "ownership_code": "235",
  "date_creation": "1991-09-13",
  "date_hang": null,
  "date_resume": null,
  "date_termination": null,
  "teryt_code_city": "0954142",
  "teryt_code_post": "0954142",
  "teryt_code_street": "20068",
  "address": [
    {
      "street": "ul. Marii Skłodowskiej-Curie",
      "number": "48",
      "postcode": "59-301",
      "city": "Lubin",
      "post": "Lubin",
      "county": "lubiński",
      "region": "DOLNOŚLĄSKIE",
      "country": "PL"
    }
  ],
  "registry_type": "REJESTR PRZEDSIĘBIORCÓW",
  "registry_number": "xxxxxxxxxxxx",
  "www": null,
  "email": "xxxxxxxxxxxx",
  "phone": "xxxxxxxxxxxx",
  "fax": "xxxxxxxxxxxx"
}

Metoda zwraca zasób z podstawowymi danymi o podmiocie z REGON.

Przyjmowana forma parametru number: string

Parametr może przyjmować wartości takie jak:

Zwracane pola: