Annual Ads платформаһында тура эшләгеҙ — реклама биреүселәр булдырығыҙ, рекламаларҙы баҫтырығыҙ, түләүҙәрҙе эшкә йүнәлтегеҙ һәм рейтингты күҙәтегеҙ, барыһын да API аша.
Тулы бағалар таблицаһын ҡарағыҙҺин 70%-ты һаҡлайһың Connect-режимындағы реклама биреүселәре рекламалары өсөн түләгән аҡсаның — автоматик рәүештә һеҙҙең әмиянығыҙға күсерелә. Түбәндә нисек эшләйен ҡарағыҙ.
Һәр һорау Authorization башлығындағы серле асҡыс ярҙамында Bearer схемаһын ҡулланып аутентификациялана.
POST https://api.adhub365.com/v1/partner/ads
Authorization: Bearer sk_sandbox_...
Content-Type: application/jsonAPI-ключтары йыллыҡ реклама командаһы тарафынан раҫланған партнер иҫәптәренә бирелә.
Партнёр иҫәбен булдырығыҙ| POST | /v1/partner/advertisersҠулланыусыларығыҙҙың береһе исеменән реклама биреүсе иҫәбен булдырығыҙ (Connect режимы). | advertisers:write |
| GET | /v1/partner/advertisers/{id}Был партнер тарафынан булдырылған реклама биреүсе иҫәбен эҙләгеҙ. | advertisers:read |
| POST | /v1/partner/adsРеклама булдырығыҙ. Ул проект режимында башлана. Ихтыяри advertiser_type, promotion_type, link_type һәм promoted_brand ҡырҙары филиал, рефераль, автор йәки шәхси рекламаны тасуирлай — аҫтағы иҫкәрмәгә ҡарағыҙ. | ads:write |
| GET | /v1/partner/ads/{id}Иғланды эҙлә | ads:read |
| PATCH | /v1/partner/ads/{id}Редакцион контентты яңыртыу — исеме, тасуирламаһы, һылтанмаһы, реклама биреүсе төрө, промоция төрө, һылтанма төрө һәм рекламаланған бренд. Категория, география һәм рейтинг двигателе уҡыған башҡа мәғлүмәттәр бында бер ҡасан да үҙгәртелмәй. | ads:write |
| POST | /v1/partner/ads/{id}/imageИғлан рәсемен тура йөкләгеҙ (JPEG/PNG/WebP, максимум 5 МБ). Беренсе түләүҙән алда мотлаҡ — түбәндәге түләүҙәр төркөмөнә ҡарағыҙ. | ads:write |
| POST | /v1/partner/ads/{id}/image-urlРекламаның рәсемен файл йөкләү урынына URL-адрес буйынса билдәләгеҙ — сервер уны үҙе йөкләп, хостингта урынлаштыра. Шул уҡ талап: тәүге түләү алдынан кәрәк. | ads:write |
| GET | /v1/partner/ads/{id}/rankРеклама өсөн ағымдағы ранг, категория һәм географик даирә. | ads:read |
| GET | /v1/partner/ads/{id}/statsРеклама өсөн барлыҡ ҡарауҙар һәм баҫыуҙар — үткән/ҡалған көндәр GET /{id} аша алынған activated_at һәм expires_at ҡырҙарҙан, ә rank GET /{id}/rank аша алына. | ads:read |
| POST | /v1/partner/paymentsБашланғыс һатып алыу йәки иҫәпкә тулыландырыу өсөн крипто түләүҙе башлағыҙ. Башланғыс түләү 422 хатаһы менән уңышһыҙ тамамлана, әгәр рекламада инде рәсем булмаһа — юғарылағы uploadAdImage/setAdImageUrl-ға ҡарағыҙ. | payments:write |
| GET | /v1/partner/payments/{id}Түләү статусын тикшерегеҙ. | payments:read |
| POST | /v1/partner/referralsРеферал һылтанмаһын булдырығыҙ. | referrals:write |
| GET | /v1/partner/referrals/{code}/earningsСтатус буйынса бүленгән йыйылмалы реферал килемдәре. | referrals:read |
| GET | /v1/partner/ad-revenue/earningsҺеҙҙең Connect режимында булдырған рекламодательҙар рекламаларына түләгән аҡсаның 70% өлөшө, статус буйынса бүленгән. | ad-revenue:read |
| GET | /v1/partner/access-logБыл асҡыс өсөн шылтыратыуҙарҙың тулы тарихы — ысул, юл, IP, ваҡыт тамғаһы. | Унда |
| GET | /v1/rankings?category={id}&geo={scope}Категория һәм географик даирә өсөн тик уҡыуға ғына ранглау. | Ғәмәли |
| GET | /v1/tiers7 көйләнгән баға кимәлдәре (сик, асылған өҫтөнлөктәр) | Ғәмәли |
| GET | /v1/referral-programРеферал каскады һәм Лидерҙар пулы өсөн хәҙерге ваҡытта актив булған комиссия проценттары. | Ғәмәли |
| GET | /v1/partner-programҺеҙ менән Annual Ads араһындағы хәҙерге реклама килеме бүлешеүе (Connect режимы). | Ғәмәли |
| GET | /v1/search?q={query}Табиғи тел буйынса эҙләү — «Кениялағы мебель реклама биреүселәр» кеүек һорауҙы тап килгән категорияға һәм географик даирәгә йүнәлтә, аннары шул рейтингты уның төгәл, реаль тәртибендә кире ҡайтара. | Ғәмәли |
Партнёр һәм рефераль реклама
advertiser_type, promotion_type, link_type һәм promoted_brand — POST һәм PATCH /v1/partner/ads өсөн ихтыяри баҫмалар; Annual Ads үҙҙәрен рекламалаған бизнес менән генә сикләнмәй. link_type affiliate_link йәки referral_invitation_link булғанда, йәки promotion_type affiliate_offer йәки referral_opportunity булғанда affiliate_terms_accepted true булырға тейеш, юҡ икән һорау 422 статусы менән кире ҡағыла. title 35 символға тиклем, description 80 символға тиклем сикләнгән — был сикләүҙәр сервер яғында ғына түгел, идара панелинең интерфейсында ла бойомға ашырыла.
Һәр реклама биреүсе иҫәбенә төҙөлгән AI ҡоралдарының комплекты бирелә — реклама контенты һәм визуаль генератор, әңгәмәле ярҙамсы, бюджет буйынса кәңәшсе һәм тышҡы SEO аудиторы — улар өсөн йыллыҡ берҙәй хаҡҡа өҫтәп AI кредиттары түләнә.
| POST | /v1/advertisers/{id}/ai/assistantAsk Annual Ads — йөзөп торған әңгәмәле ярҙамсы, тик мәғлүмәт өсөн генә, аккаунт мәғлүмәттәренә тик уҡыу хоҡуғы менән. | Ғәмәли |
| POST | /v1/advertisers/{id}/ai/creative-studioҠыҫҡа бизнес тасуирламаһынан реклама исемен, тасуирламаһын һәм төп һүҙҙәрҙе төҙөп сығарығыҙ. | 2 кредит(тар) |
| POST | /v1/advertisers/{id}/ai/creative-studio/imageШул уҡ бизнес тасуирламаһынан иғланға беркетергә әҙер визуаль исемлек (PNG) төҙөү. | 8 кредит(тар) |
| POST | /v1/advertisers/{id}/ai/budget-advisorБыл — реаль статистик фараз (генератив фараз түгел) — билдәле бер рангты 30/90/365 көндә һаҡлап ҡалыу ихтималлығы. | 1 кредит(тар) |
| POST | /v1/advertisers/{id}/ai/seo-auditРекламодательҙең үҙенең тышҡы веб-сайтын анализла һәм конкрет SEO яҡшыртыуҙар тәҡдим ит. | 2 кредит(тар) |
Шул уҡ категория һәм бизнес тасуирламаһы аҫтағы рәсем генераторына ла көс бирә.
POST https://api.adhub365.com/v1/advertisers/{advertiser_id}/ai/creative-studio
Authorization: Bearer <session access token>
Content-Type: application/json
{
"category_name": "Furniture",
"business_description": "We sell handmade oak dining tables"
}{
"title": "Handmade Oak Dining Tables — Built to Last",
"description": "Solid oak dining tables crafted by hand, built to last a lifetime.",
"keywords": ["oak furniture", "dining table", "handmade"],
"credits_remaining": 8
}Шул уҡ реклама өсөн тап килгән визуаль булдырығыҙ:
POST https://api.adhub365.com/v1/advertisers/{advertiser_id}/ai/creative-studio/image
Authorization: Bearer <session access token>
Content-Type: application/json
{
"category_name": "Furniture",
"business_description": "We sell handmade oak dining tables"
}{
"visual_url": "https://cdn.uploadscenter.com/file_01m1...",
"credits_remaining": 4
}Әҙер реклама блогун үҙ сайтығыҙға төшөрөгөҙ — төҙөү этабы юҡ, iframe кәрәкмәй. Скрипт изоляцияланған Shadow DOM эсендә турадан-туры биткә рендерлана, шуның өсөн уның стильдәре һис ҡасан да һеҙҙең сайтҡа үтеп инмәй, ә һеҙҙең сайттың стильдәре лә унда күсеп китмәй.
<div
class="annualads-widget"
data-category="YOUR_CATEGORY_ID"
data-geo="global"
data-count="4"
data-columns="2"
></div>
<script async src="https://adhub365.com/widget.js"></script>Стандарт буйынса был категорияның тулы асыҡ рейтингын күрһәтә — платформадағы һәр рекламодатель, һеҙ килтергәндәре генә түгел. Connect режимы аша булдырған рекламодательҙарҙың (һеҙҙең өлөшөгөҙҙө барлыҡҡа килтергәндәрҙең) иғландарын ғына күрһәтеү өсөн data-partner параметрын партнер идентификаторығыҙ менән өҫтәгеҙ (уны үҙегеҙҙең дашбордтың Үҫтереүселәр битендә табығыҙ):
<div
class="annualads-widget"
data-category="YOUR_CATEGORY_ID"
data-geo="global"
data-partner="YOUR_PARTNER_ID"
></div>
<script async src="https://adhub365.com/widget.js"></script>Әгәр һеҙҙең реклама биреүселәрегеҙ бер нисә категорияны үҙ эсенә алһа, data-category-ҙы бөтөнләй ҡулланмағыҙ — data-partner-ҙы ғына ҡулланғанда виджет бөтә категориялар буйынса һеҙҙең бөтә рекламаларҙы бер сетка эсендә күрһәтә, категория һайын айырым виджет блогы ҡуйырға кәрәкмәй:
<div
class="annualads-widget"
data-geo="global"
data-partner="YOUR_PARTNER_ID"
></div>
<script async src="https://adhub365.com/widget.js"></script>Контенттағы берәмегең янында футер стилендәге икенсе берәмек ҡуйып, уларҙың һәр береһендә төрлө реклама күрһәтергә теләйһеңме? data-layout="compact" (бер генә реклама, бәләкәй «пилл» форматына ҡыҫҡартыла ала) һәм data-offset параметрын тәүге виджетыңда инде күрһәтелгән рекламалар һанын иҫәпкә алып ҡуйған икенсе виджет блогын өҫтә:
<!-- in your content -->
<div
class="annualads-widget"
data-category="YOUR_CATEGORY_ID"
data-geo="global"
data-count="4"
data-columns="2"
></div>
<!-- in your footer, showing different ads via data-offset -->
<div
class="annualads-widget"
data-category="YOUR_CATEGORY_ID"
data-geo="global"
data-layout="compact"
data-offset="4"
></div>
<script async src="https://adhub365.com/widget.js"></script>data-category | Күрһәтеү өсөн категория идентификаторы. Таләп ителә — әгәр data-partner билдәләнгән булмаһа; әгәр ул билдәләнгән булһа, уны күрһәтмәү партнерҙың бөтә категориялар буйынса рекламаларын күрһәтә. |
data-geo | География даирәһе: урындағы, төбәк йәки глобаль. Стандарт буйынса глобаль. |
data-count | Күрһәтеләсәк иғландар һаны. Стандарт буйынса 4. |
data-columns | Сетка бағаналарының һаны. Стандарт буйынса 2. |
data-layout | сетка, исемлек йәки компакт. Стандарт буйынса сетка ҡулланыла. Компакт бер генә реклама күрһәтә (data-count иҫәпкә алынмай) һәм уны бәләкәй «таблетка»ға ҡыҫҡартып, кире ҡайтарыу өсөн төймә менән — футер стилендәге берәмек, скрипт уны бер ҡасан да фиксацияланған урынға ҡуймай; контейнер div-ығыҙҙы үҙегеҙҙең битегеҙҙә теләгәнсә урынлаштырып, стильләй алаһығыҙ. |
data-offset | Иң юғары рейтинглы иғландарҙы үтеп етеү һаны. Стандарт буйынса 0. Шул уҡ биттәге икенсе виджетҡа (мәҫәлән, аҫҡы өлөштәге ҡыҫҡа виджет һәм юғарыраҡ урынлашҡан сеткалы виджет) бер үк иғланды ике тапҡыр ҡабатлау урынына икенсе иғландар күрһәтергә мөмкинлек бирә — икенсе виджет инде күрһәткән иғландар һаны тураһында мәғлүмәт ебәрегеҙ. |
data-partner | Һеҙҙең партнер идентификаторығыҙ (уны үҙегеҙҙең дашбордтың Developers битендә табығыҙ). Теләһәгеҙ — уны ҡуймаһағыҙ, виджет был категория буйынса тулы асыҡ рейтингты, платформадағы һәр рекламодательҙы күрһәтә. Ә уны ҡуйһағыҙ, виджет Connect режимы аша килтергән рекламодательҙарҙың ғына — һеҙҙең өлөшөгөҙҙө барлыҡҡа килтергән — рекламаларын күрһәтә. |
Һәр минутҡа һәм һәр асҡыс буйынса мөрәжәғәттәр сикләнгән. Һәр аутентификацияланған яуап X-RateLimit-Limit, X-RateLimit-Remaining һәм X-RateLimit-Reset башлыҡтарын үҙ эсенә ала; лимиттан артыҡ мөрәжәғәт иткәндә Retry-After башлығы менән 429 Too Many Requests хатаһы ҡайтарыла.
Һәр партнер өсөн ихтыяри. Яҙма өҫтәмәгәнсе, һеҙҙең ключтар теләсә ниндәй IP-адрестан мөрәжәғәт ҡабул итә — тәүге яҙма шул партнерҙың бөтә ключтарын тик рөхсәт ителгән исемлеккә генә үҙгәртә.
Һәр вебхук бер тапҡыр бирелгән сер исеме ҡулланып HMAC-SHA256 менән имзалана — йөкмәткегә ышанырҙан алда имзаны тикшерегеҙ. Ваҡиғалар тик шул рекламодательгә ҡараған партнерға ғына ебәрелә.
payment.succeeded | Түләү раҫланды. |
payment.refunded | Аҡса кире ҡайтарыла. |
ad.activated | Иғлан автоматик рәүештә йәки администратор тикшергәндән һуң активлаша. |
invoice.issued | Счёт-фактура сығарыла. |
referral.payout.completed | Реферал комиссияһы түләүле статуска етә. |
referral.payout.failed | Провайдерҙа рефераль түләү пакеты уңышһыҙлыҡҡа осрай — килемдәр түләнергә ҡайта һәм яңынан эшкәртелә. |
rank.changed | Рекламаның ранги үҙгәрә — шул иҫәптән башҡа рекламодательҙең түләүе арҡаһында ла. |
ad.expiring_soon | Иғлан тамамланырға 30, 7 йәки 1 көн ҡалғас. |
partner_ad_revenue.payout.completed | Реклама килемен бүлешеү түләү статусына етә. |
partner_ad_revenue.payout.failed | Провайдерҙа реклама килемен бүлешеү түләү пакеты уңышһыҙлыҡҡа осрай — өлөштәр түләнергә тейеш исемлеккә кире ҡайтарыла һәм яңынан эшләнә. |
Ошо уҡ API-спецификациянан төҙөлгән рәсми JavaScript/TypeScript һәм Python SDK-тары планлаштырылған, әммә әле баҫылып сығарылмаған — шуға тиклем HTTP API-ға тура мөрәжәғәт итегеҙ.
Әлегә SDK юҡ — улар HTTP API-ға тура мөрәжәғәт итә һәм бөгөн теләсә ниндәй телдә эшләй.
cURL
curl -X POST https://api.adhub365.com/v1/partner/ads \
-H "Authorization: Bearer sk_sandbox_..." \
-H "Content-Type: application/json" \
-d '{"advertiser_id":"adv_9f2a...","category_id":"cat_furniture","geo_scope":"local","title":"..."}'JavaScript
await fetch("https://api.adhub365.com/v1/partner/ads", {
method: "POST",
headers: {
Authorization: "Bearer sk_sandbox_...",
"Content-Type": "application/json",
},
body: JSON.stringify({
advertiser_id: "adv_9f2a...",
category_id: "cat_furniture",
geo_scope: "local",
title: "...",
}),
});Python
import requests
requests.post(
"https://api.adhub365.com/v1/partner/ads",
headers={"Authorization": "Bearer sk_sandbox_..."},
json={
"advertiser_id": "adv_9f2a...",
"category_id": "cat_furniture",
"geo_scope": "local",
"title": "...",
},
)