MGBI dostarcza kompleksowe API do pobierania danych z rejestrów i ewidencji publicznych, w tym z Biuletynu Zamówień Publicznych (BZP).
Listę źródeł danych dostępnych w tej usłudze znajdziesz na stronie:
👉 Rejestry Publiczne API
Ten poradnik dotyczy API dla Biuletynu Zamówień Publicznych, który udostępniamy w ramach produktu:
👉 Biuletyn Zamówień Publicznych API (BZP API)
Poniżej opisaliśmy, w jaki sposób możesz pobrać przez API treść ogłoszeń opublikowanych w BZP dla wskazanego podmiotu na podstawie jego numeru rejestrowego (NIP, REGON lub KRS).
Krok 1: Uzyskaj klucz autoryzacji w API
Aby zdobyć klucz autoryzacji wymagany przy wywoływaniu endpointów dostępnych w MGBI API, skontaktuj się z nami przy użyciu formularza kontaktowego na stronie produktu:
👉 Biuletyn Zamówień Publicznych API (BZP API)
Krok 2: Wywołaj endpoint Get Records
Dane dostępne w BZP udostępniamy w MGBI API w modelu danych o identyfikatorze pl-bzp-record.
API udostępnia dla tego modelu endpoint Get Records, który zwraca rekordy zawierające treść ogłoszeń BZP dla podmiotów spełniających podane kryteria.
👉 Dokumentacja endpointu Get Records dla modelu pl-bzp-record
Pobranie listy ogłoszeń dla pojedynczego podmiotu wymaga podania w endpoincie Get Records jego numeru rejestrowego: NIP, REGON lub KRS.
Przykład wywołania endpointu Get Records z numerem NIP:
GET /v1/models/pl-bzp-record/records?identifiers.pl_nip=[numer NIP] HTTP/1.1
Host: api.mgbi.pl
Authorization: [klucz autoryzacji]
Krok 3: Odczytaj z odpowiedzi listę ogłoszeń z BZP
Prawidłowe wywołanie endpointu Get Records zwraca w odpowiedzi listę rekordów spełniających podane kryteria.
W powyższym przykładzie endpoint powinien zwrócić listę wyników zawierającą jeden lub więcej rekordów:
{
"count": "[liczba wyników]",
"pages": "[liczba stron wyników]",
"results": [
{
"id": "[identyfikator rekordu]",
"identifiers": "[identyfikatory podmiotu]",
"content": "[treść ogłoszenia]",
"notice": "[informacje o ogłoszeniu]",
"meta": "[metadane rekordu]"
}
]
}
Każdy rekord z listy zawiera zestaw ogłoszeń o przetargach z BZP dotyczących wskazanego podmiotu.
Najważniejsze informacje o ogłoszeniu dostępne są w słowniku notice.
Zawartość słownika notice dla pojedynczego ogłoszenia:
{
"type": "[rodzaj ogłoszenia]",
"number": "[numer ogłoszenia]",
"poblication_datetime": "[data i czas publikacji]"
}
Wszystkie szczegółowe dane dostępne w ogłoszeniu oraz jego treść formacie HTML możesz znaleźć w słowniku content.raw_result.
Zawartość słownika content.raw_result dla pojedynczego ogłoszenia:
{
"objectId": "[identyfikator ogłoszenia]",
"clientType": "[rodzaj zamawiającego]",
"orderType": "[rodzaj zamówienia]",
"tenderType": "[tryb zamówienia]",
"noticeType": "[rodzaj ogłoszenia]",
"noticeNumber": "[numer ogłoszenia]",
"bzpNumber": "[numer BZP]",
"isTenderAmountBelowEU": "[tryb / rodzaj procedury]",
"publicationDate": "[data publikacji]",
"orderObject": "[nazwa zamówienia / nazwa konkursu]",
"cpvCode": "[kod CPV]",
"submittingOffersDate": "[termin składania ofert]",
"procedureResult": "[wynik postępowania]",
"organizationName": "[nazwa zamawiającego]",
"organizationCity": "[miejscowość zamawiającego]",
"organizationProvince": "[województwo zamawiającego]",
"organizationCountry": "[kraj zamawiającego]",
"organizationNationalId": "[krajowy numer identyfikacyjny]",
"organizationId": "[identyfikator organizacji]",
"tenderId": "[identyfikator postępowania]",
"htmlBody": "[zawartość ogłoszenia w postaci HTML]",
"contractors": "[lista wykonawców]"
}
Uzyskaj więcej informacji:
👉 Struktura danych w modelu pl-bzp-record
👉 Dokumentacja endpointów dla modelu pl-bzp-record