API с данни за политически реклами за партньори от медиите и издателите
https://polads.eu/api/v1Всички крайни точки изискват удостоверяване с партньорски Bearer токен
GET /advertisement-full/{PAID}
1000 заявки в минута
GET /advertisement/{PAID}
1000 заявки в минута
Ограничението на броя заявки се прилага за всеки партньорски токен общо за всички крайни точки
План Pro, проверяван при всяка заявка
Партньорският API е част от плана Pro, както за четене, така и за запис. Няма отделна добавка за API, която да се купува. Планът се проверява при всяка отделна заявка, а не се записва при създаването на токена, затова при изтекъл абонамент достъпът спира още при следващото извикване с 403 PRO_PLAN_REQUIRED, а подновяването го възстановява също толкова незабавно.
Обхвати на достъп
Всеки партньорски токен може да чете. За докладване на метрики за ангажираност е необходим и обхватът metrics:write. Обхватите се избират при създаването на токена и не могат да се променят след това: за да ги промените, отменете токена и създайте нов.
Само партньорски токени
Тези крайни точки отхвърлят SSP токен с код 401, а SSP крайната точка отхвърля партньорски токен по същия начин. Двата вида достъп са отделни идентификационни данни, а не две нива на права в рамките на едни и същи данни.
GET /advertisement/{PAID} намира обявлението по същото правило за видимост като публичния регистър. Обявление, което още не е потвърдено, което издателят му още не е одобрил, или чиято начална дата на публикуване е още в бъдещето, връща тук 404 точно както в регистъра. Същото важи и за SSP крайната точка.
Крайната точка за пълния запис умишлено работи различно
GET /advertisement-full/{PAID} е ограничена до вашите собствени обявления, затова отговаря и за обявление, чиято начална дата още не е настъпила. Вие сте издателят, който трябва да прегледа това обявление, преди рекламата да започне, така че скриването му от вас би обезсмислило целта.
/advertisement-full/{PAID}Ограничено до вашите собствени обявления. PA-ID на друг издател, самостоятелно публикувано обявление без издател и несъществуващ идентификатор връщат един и същ код 404, а отговорът не ги разграничава.
⚠️ Предупреждение: данни, чувствителни от гледна точка на GDPR
Тази крайна точка връща ВСИЧКИ полета, включително имейл адреси, телефонни номера и пълни адреси. Използвайте я само ако имате законна стопанска необходимост и сключени подходящи споразумения за обработване на данни.
curl -X GET "https://polads.eu/api/v1/advertisement-full/ABC12" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"Полета за рекламодателя:
companyName, legalName, firstName, lastName, email, phone, streetAddress, postalCode, city, country
Полета за кампанията:
name, totalValue, medium, isOngoing, startDate, endDate
Рекламодатели и администратори:
Всички полета, включително имейли, телефони и пълни адреси
/advertisement/{PAID}/metricsТази крайна точка изисква ключ с обхват „Четене и запис“. Партньорският API е включен в плана Pro.
Можете да отчитате показатели само за обявления, публикувани чрез собствения ви акаунт.
Обявлението принадлежи на друг издател. Нищо не се записва.
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}'Основна информация
Съответствие и финансиране
Таргетиране
Правна информация и метаданни
// Get single ad
const response = await fetch('https://polads.eu/api/v1/advertisement/PAID-0000001');
const data = await response.json();401 INVALID_TOKEN
Няма активен токен, който да съответства на идентификационните данни Bearer, или токенът е отменен. Липсваща или неправилно форматирана заглавка Authorization също връща 401, но само крайната точка metrics я обозначава с този код. Токен SSP на партньорска крайна точка получава същия отговор.
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
Токенът е валиден, но издателят му не е с план Pro. Това се проверява преди обхвата, така че токен само за четене, принадлежащ на издател без план Pro, отчита грешка за плана, а не за обхвата.
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
Токенът е валиден и е с план Pro, но му липсва обхватът metrics:write, необходим за докладване на метрики.
PUT /advertisement/{PAID}/metrics{
"error": "This token is not authorised to write metrics. Required scope: metrics:write.",
"code": "INSUFFICIENT_SCOPE"
}403 FORBIDDEN
Обявлението принадлежи на друг издател. Нищо не се записва.
PUT /advertisement/{PAID}/metrics{
"error": "This advertisement belongs to a different publisher.",
"code": "FORBIDDEN"
}400 INVALID_METRICS
Тялото на заявката не е валиден JSON или двете числови стойности липсват, са отрицателни или не са цели числа. Отговорът посочва какво не е преминало проверката.
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
Обявлението е извън обхвата, за който са определени метриките за ангажираност. Бележка 15 от приложение II обхваща онлайн или нативно обявление, при което са използвани техники за таргетиране или техники за доставяне на реклами и което вече е започнало да се показва. Нищо не се записва.
PUT /advertisement/{PAID}/metrics{
"error": "Engagement metrics do not apply to this notice",
"code": "METRICS_NOT_APPLICABLE"
}404 NOT_FOUND
Няма обявление, което да съответства на този PA-ID, или то все още не е видимо за вас. Прочетете раздела по-горе, преди да приемете, че идентификаторът е грешен.
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
Ограничението за токена е надвишено. Отговорът съдържа заглавките X-RateLimit-Limit, X-RateLimit-Remaining и 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"
}Това е версия v1 на API и всеки отговор го посочва в заглавката X-API-Version. Несъвместимите промени се въвеждат на нов път, вместо да променят този. Крайна точка на v1 няма да бъде изключена без заглавка Deprecation поне 90 дни предварително, съгласно RFC 8594.
Машинно четима спецификация
Пълният документ OpenAPI 3.1 е достъпен на /api/docs. Насочете Postman, Swagger UI или генератор на клиенти директно към него, вместо да преписвате тази страница.
https://polads.eu/api/docs