API danych o politycznych materiałach reklamowych dla partnerów medialnych i wydawców
https://polads.eu/api/v1Wszystkie punkty końcowe wymagają uwierzytelnienia tokenem okaziciela partnera
GET /advertisement-full/{PAID}
1000 żądań na minutę
GET /advertisement/{PAID}
1000 żądań na minutę
Limit żądań jest stosowany dla każdego tokena partnera łącznie we wszystkich punktach końcowych
Plan Pro, sprawdzany przy każdym żądaniu
API partnerskie jest częścią planu Pro, zarówno w zakresie odczytu, jak i zapisu. Nie ma osobnego dodatku API do kupienia. Plan jest sprawdzany przy każdym pojedynczym żądaniu, a nie zapisywany w chwili utworzenia tokena, dlatego wygaśnięcie subskrypcji blokuje dostęp już przy następnym wywołaniu (kod 403 PRO_PLAN_REQUIRED), a jej odnowienie równie natychmiast go przywraca.
Zakresy uprawnień
Każdy token partnera umożliwia odczyt. Zgłaszanie wskaźników zaangażowania wymaga dodatkowo zakresu metrics:write. Zakresy wybiera się podczas generowania tokena i nie można ich później edytować: aby je zmienić, unieważnij token i wygeneruj nowy.
Tylko tokeny partnerskie
Te punkty końcowe odrzucają token SSP z kodem 401, a punkt końcowy SSP w ten sam sposób odrzuca token partnera. Oba rodzaje dostępu to odrębne poświadczenia, a nie dwa poziomy uprawnień w ramach jednego.
GET /advertisement/{PAID} wyszukuje ogłoszenie według tej samej reguły widoczności co rejestr publiczny. Ogłoszenie, które nie zostało jeszcze potwierdzone, którego wydawca jeszcze nie zatwierdził lub którego data rozpoczęcia publikacji jeszcze nie nadeszła, zwraca tu kod 404 dokładnie tak samo jak w rejestrze. To samo dotyczy punktu końcowego SSP.
Punkt końcowy pełnego rekordu celowo działa inaczej
GET /advertisement-full/{PAID} obejmuje wyłącznie Twoje własne ogłoszenia, dlatego odpowiada także dla ogłoszenia, którego data rozpoczęcia jeszcze nie nadeszła. To Ty jako wydawca musisz sprawdzić to ogłoszenie przed jego emisją, więc ukrywanie go przed Tobą byłoby sprzeczne z celem.
/advertisement-full/{PAID}Obejmuje wyłącznie Twoje własne ogłoszenia. PA-ID innego wydawcy, ogłoszenie opublikowane samodzielnie bez wydawcy oraz nieistniejący identyfikator zwracają ten sam kod 404, a odpowiedź nie pozwala ich rozróżnić.
⚠️ Ostrzeżenie: dane wrażliwe z punktu widzenia RODO
Ten punkt końcowy zwraca WSZYSTKIE pola, w tym adresy e-mail, numery telefonów i pełne adresy. Korzystaj z niego wyłącznie wtedy, gdy masz uzasadnioną potrzebę biznesową i zawarte odpowiednie umowy dotyczące przetwarzania danych.
curl -X GET "https://polads.eu/api/v1/advertisement-full/ABC12" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"Pola reklamodawcy:
companyName, legalName, firstName, lastName, email, phone, streetAddress, postalCode, city, country
Pola kampanii:
name, totalValue, medium, isOngoing, startDate, endDate
Reklamodawcy i podmioty kontrolujące:
Wszystkie pola, w tym adresy e-mail, telefony i pełne adresy
/advertisement/{PAID}/metricsTen punkt końcowy wymaga klucza z zakresem „Odczyt i zapis”. API partnerskie jest częścią planu Pro.
Możesz zgłaszać wskaźniki tylko dla ogłoszeń opublikowanych za pośrednictwem własnego konta.
Ogłoszenie należy do innego wydawcy. Nic nie zostaje zapisane.
curl -X PUT "https://polads.eu/api/v1/advertisement/ABC12/metrics" \
-H "Authorization: Bearer YOUR_PARTNER_TOKEN" \
-H "Content-Type: application/json" \
-d '{"viewsCount": 15000, "engagementsCount": 320}'Informacje podstawowe
Zgodność i finansowanie
Targetowanie
Informacje prawne i metadane
// Get single ad
const response = await fetch('https://polads.eu/api/v1/advertisement/PAID-0000001');
const data = await response.json();401 INVALID_TOKEN
Żaden aktywny token nie odpowiada poświadczeniu Bearer albo token został unieważniony. Brak nagłówka Authorization lub jego nieprawidłowy format również skutkuje odpowiedzią 401, ale tylko punkt końcowy metrics oznacza ją tym kodem. Token SSP użyty w punkcie końcowym partnera otrzymuje taką samą odpowiedź.
GET /advertisement/{PAID}GET /advertisement-full/{PAID}{
"error": "Invalid or revoked partner API token. This endpoint only accepts partner tokens, not SSP tokens.",
"code": "INVALID_TOKEN"
}PUT /advertisement/{PAID}/metrics{
"error": "Invalid or revoked partner API token.",
"code": "INVALID_TOKEN"
}PUT /advertisement/{PAID}/metrics{
"error": "Missing or invalid Authorization header. Expected: Bearer <token>",
"code": "INVALID_TOKEN"
}GET /advertisement/{PAID}GET /advertisement-full/{PAID}{
"error": "Missing or invalid Authorization header. Expected: Bearer <token>"
}403 PRO_PLAN_REQUIRED
Token jest ważny, ale jego wydawca nie korzysta z planu Pro. Plan jest sprawdzany przed zakresem, dlatego token tylko do odczytu należący do wydawcy bez planu Pro zwraca błąd planu, a nie zakresu.
GET /advertisement/{PAID}GET /advertisement-full/{PAID}PUT /advertisement/{PAID}/metrics{
"error": "The Pro plan is required to use the partner API.",
"code": "PRO_PLAN_REQUIRED"
}403 INSUFFICIENT_SCOPE
Token jest ważny i objęty planem Pro, ale brakuje mu zakresu metrics:write wymaganego do zgłaszania wskaźników.
PUT /advertisement/{PAID}/metrics{
"error": "This token is not authorised to write metrics. Required scope: metrics:write.",
"code": "INSUFFICIENT_SCOPE"
}403 FORBIDDEN
Ogłoszenie należy do innego wydawcy. Nic nie zostaje zapisane.
PUT /advertisement/{PAID}/metrics{
"error": "This advertisement belongs to a different publisher.",
"code": "FORBIDDEN"
}400 INVALID_METRICS
Treść żądania nie jest poprawnym dokumentem JSON albo brakuje dwóch wartości liczbowych, są one ujemne lub nie są liczbami całkowitymi. Odpowiedź wskazuje, które warunki nie zostały spełnione.
PUT /advertisement/{PAID}/metrics{
"error": "Invalid engagement metrics",
"code": "INVALID_METRICS",
"issues": [
{
"path": "viewsCount",
"message": "Too small: expected number to be >=0"
}
]
}PUT /advertisement/{PAID}/metrics{
"error": "Invalid request body",
"code": "INVALID_METRICS"
}409 METRICS_NOT_APPLICABLE
Ogłoszenie wykracza poza zakres, dla którego określono wskaźniki zaangażowania. Przypis 15 do załącznika II obejmuje ogłoszenie dotyczące reklamy online lub natywnej, w której zastosowano techniki targetowania lub techniki dostarczania reklamy i której emisja już się rozpoczęła. Nic nie zostaje zapisane.
PUT /advertisement/{PAID}/metrics{
"error": "Engagement metrics do not apply to this notice",
"code": "METRICS_NOT_APPLICABLE"
}404 NOT_FOUND
Żadne ogłoszenie nie odpowiada temu PA-ID albo nie jest ono jeszcze dla Ciebie widoczne. Zanim uznasz, że identyfikator jest błędny, zapoznaj się z sekcją powyżej.
PUT /advertisement/{PAID}/metrics{
"error": "Advertisement not found",
"code": "NOT_FOUND"
}GET /advertisement/{PAID}{
"error": "Advertisement not found"
}GET /advertisement-full/{PAID}{
"error": "Advertisement not found or not yet confirmed"
}429 RATE_LIMITED
Przekroczono limit dla tokenu. Ta odpowiedź zawiera nagłówki X-RateLimit-Limit, X-RateLimit-Remaining i X-RateLimit-Reset.
PUT /advertisement/{PAID}/metrics{
"error": "Rate limit exceeded",
"code": "RATE_LIMITED",
"limit": 1000,
"remaining": 0,
"reset": "2026-05-14T15:14:00.000Z"
}GET /advertisement/{PAID}GET /advertisement-full/{PAID}{
"error": "Rate limit exceeded",
"limit": 1000,
"remaining": 0,
"reset": "2026-05-14T15:14:00.000Z"
}To jest wersja v1 API, a każda odpowiedź informuje o tym w nagłówku X-API-Version. Zmiany naruszające zgodność są wprowadzane pod nową ścieżką, a ta pozostaje bez zmian. Punkt końcowy v1 nie zostanie wyłączony bez nagłówka Deprecation wysłanego co najmniej 90 dni wcześniej, zgodnie z RFC 8594.
Specyfikacja odczytywalna maszynowo
Pełny dokument OpenAPI 3.1 jest dostępny pod adresem /api/docs. Zamiast przepisywać tę stronę, wskaż go bezpośrednio w narzędziu Postman, Swagger UI lub w generatorze klienta.
https://polads.eu/api/docs