API cu date despre materialele publicitare politice pentru parteneri din mass-media și editori
https://polads.eu/api/v1Toate punctele finale necesită autentificare cu jeton Bearer de partener
GET /advertisement-full/{PAID}
1.000 de solicitări pe minut
GET /advertisement/{PAID}
1.000 de solicitări pe minut
Limita de solicitări se aplică pentru fiecare jeton de partener, cumulat pentru toate punctele finale
Planul Pro, verificat la fiecare solicitare
API-ul pentru parteneri face parte din planul Pro, atât pentru citire, cât și pentru scriere. Nu există un supliment API care să trebuiască cumpărat separat. Planul este verificat la fiecare solicitare, nu înregistrat la crearea jetonului, astfel încât un abonament expirat blochează accesul chiar de la următorul apel, cu 403 PRO_PLAN_REQUIRED, iar reînnoirea îl restabilește la fel de imediat.
Domenii de acces
Orice jeton de partener permite citirea. Raportarea indicatorilor de interacțiune necesită în plus domeniul de acces metrics:write. Domeniile de acces se aleg la emiterea jetonului și nu mai pot fi modificate ulterior: pentru a le schimba, revocați jetonul și emiteți unul nou.
Numai jetoane de partener
Aceste puncte finale resping un jeton SSP cu 401, iar punctul final SSP respinge în același mod un jeton de partener. Cele două categorii sunt credențiale distincte, nu două niveluri de permisiuni ale aceleiași credențiale.
GET /advertisement/{PAID} identifică notificarea după aceeași regulă de vizibilitate ca registrul public. O notificare care nu este încă confirmată, pe care editorul său nu a aprobat-o încă sau a cărei dată de începere a publicării este încă în viitor returnează 404 aici, exact ca în registru. Același lucru este valabil pentru punctul final SSP.
Punctul final pentru înregistrarea completă este în mod deliberat diferit
GET /advertisement-full/{PAID} este limitat la propriile dumneavoastră notificări, așa că răspunde și pentru o notificare care nu a ajuns încă la data de începere. Dumneavoastră sunteți editorul care trebuie să examineze notificarea înainte de difuzare, așa că a v-o ascunde ar anula tocmai scopul.
/advertisement-full/{PAID}Limitat la propriile dumneavoastră notificări. Un PA-ID al altui editor, o notificare autopublicată fără editor și un identificator inexistent returnează toate același 404, iar răspunsul nu face distincție între ele.
⚠️ Avertisment privind datele sensibile din perspectiva GDPR
Acest punct final returnează TOATE câmpurile, inclusiv adresele de e-mail, numerele de telefon și adresele complete. Utilizați acest punct final numai dacă aveți o nevoie profesională legitimă și acorduri corespunzătoare privind prelucrarea datelor.
curl -X GET "https://polads.eu/api/v1/advertisement-full/ABC12" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"Câmpuri pentru advertiser:
companyName, legalName, firstName, lastName, email, phone, streetAddress, postalCode, city, country
Câmpuri pentru campanie:
name, totalValue, medium, isOngoing, startDate, endDate
Advertiseri și entități care exercită controlul:
Toate câmpurile, inclusiv e-mailuri, telefoane și adrese complete
/advertisement/{PAID}/metricsAcest punct final necesită o cheie cu domeniul de acces „Citire și scriere”. API-ul pentru parteneri este inclus în planul Pro.
Puteți raporta indicatori doar pentru notificările publicate prin propriul cont.
Notificarea aparține altui editor. Nu se înregistrează nimic.
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}'Informații de bază
Conformitate și finanțare
Vizarea publicului-țintă
Aspecte juridice și metadate
// Get single ad
const response = await fetch('https://polads.eu/api/v1/advertisement/PAID-0000001');
const data = await response.json();401 INVALID_TOKEN
Niciun jeton activ nu corespunde datelor de autentificare Bearer sau jetonul a fost revocat. Un antet Authorization lipsă sau formatat greșit primește tot răspunsul 401, dar numai punctul final metrics îl marchează cu acest cod. Un jeton SSP folosit pe un punct final pentru parteneri primește același răspuns.
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
Jetonul este valid, iar editorul său nu are planul Pro. Această verificare se face înaintea celei a nivelului de acces, astfel încât un jeton doar pentru citire care aparține unui editor fără planul Pro semnalează planul, nu nivelul de acces.
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
Jetonul este valid și are planul Pro, dar îi lipsește nivelul de acces metrics:write necesar pentru raportarea indicatorilor.
PUT /advertisement/{PAID}/metrics{
"error": "This token is not authorised to write metrics. Required scope: metrics:write.",
"code": "INSUFFICIENT_SCOPE"
}403 FORBIDDEN
Notificarea aparține altui editor. Nu se înregistrează nimic.
PUT /advertisement/{PAID}/metrics{
"error": "This advertisement belongs to a different publisher.",
"code": "FORBIDDEN"
}400 INVALID_METRICS
Corpul cererii nu este JSON valid sau cele două valori lipsesc, sunt negative ori nu sunt numere întregi. Răspunsul indică ce nu a trecut verificarea.
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
Notificarea se află în afara domeniului pentru care sunt definiți indicatorii de interacțiune. Nota 15 din anexa II vizează o notificare online sau nativă pentru care s-au folosit tehnici de vizare a unui public-țintă sau tehnici de distribuire a materialelor publicitare și care a început să fie difuzată. Nu se înregistrează nimic.
PUT /advertisement/{PAID}/metrics{
"error": "Engagement metrics do not apply to this notice",
"code": "METRICS_NOT_APPLICABLE"
}404 NOT_FOUND
Nicio notificare nu corespunde acestui PA-ID sau notificarea nu vă este încă vizibilă. Consultați secțiunea de mai sus înainte de a presupune că identificatorul este greșit.
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
Limita pentru fiecare jeton a fost depășită. Răspunsul conține antetele 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"
}Aceasta este versiunea v1 a API-ului, iar fiecare răspuns o indică în antetul X-API-Version. Modificările incompatibile sunt publicate pe o cale nouă, fără a o modifica pe aceasta. Un punct final v1 nu va fi dezactivat fără un antet Deprecation transmis cu cel puțin 90 de zile înainte, conform RFC 8594.
Specificație care poate fi citită automat
Documentul OpenAPI 3.1 complet este disponibil la /api/docs. Conectați Postman, Swagger UI sau un generator de clienți direct la acesta, în loc să transcrieți această pagină.
https://polads.eu/api/docs