Жылдык 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 талааларынан алынат, ал эми рейтинг 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Учурдагы жарнама кирешесинин бөлүштүрүлүшү (Connect режими) сиз менен Annual Ads ортосунда. | Жалпы |
| 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 чын болушу керек, болбосо сурам 422 статусу менен четке кагылат. title 35 символго, description 80 символго чейин чектелет — экөө тең сервер тараптан гана эмес, башкаруу панелинин интерфейсинде да аткарылат.
Ар бир жарнама берүүчүнүн аккаунтуна ички жасалма интеллект куралдарынын топтому берилет — жарнама мазмунун жана визуалдарын генерациялоочу, сүйлөшүүчү ассистент, бюджет боюнча кеңешчи жана тышкы SEO аудитору — алар жылдык бирдиктүү баага кошумча жасалма интеллект кредиттери менен төлөнөт.
| 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 параметрин өнөктөш IDиңиз менен кошуңуз (аны өзүңүздүн башкаруу панелиңиздин Developers барагынан табыңыз):
<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 | Көрсөтүлө турган категориянын IDси. Милдеттүү — data-partner белгиленбесе; белгиленгенде аны көрсөтпөө ар бир категориядагы өнөктөштүн жарнамаларын көрсөтөт. |
data-geo | Географиялык масштаб: жергиликтүү, аймактык же глобалдык. Стандарттык мааниси – глобалдык. |
data-count | Көрсөтүлө турган жарнамалардын саны. Стандарттык мааниси 4. |
data-columns | Тордун тилкелеринин саны. Стандарттык мааниси 2. |
data-layout | тор, тизме же компакт. Демейки боюнча тор. Компакт бир гана жарнаманы (data-count эске алынбайт) көрсөтөт, аны кичинекей «таблетка» түрүнө кыскартып, кайра ачууга мүмкүнчүлүк берген баскыч менен — бул футер стилиндеги бирдик, скрипт тарабынан эч качан бекем орнотулбайт, контейнер divди өзүңүздүн баракчаңызда каалагандай жайгаштырып, стилин аныктай аласыз. |
data-offset | Эң жогорку рейтингдүү жарнамаларды өткөрүп жиберүү саны. Стандарттык мааниси 0. Бир эле баракчада экинчи виджетке (мисалы, барактын аягындагы компакттуу виджет жана жогорудагы тордук виджет) бир эле жарнаманы эки жолу кайталоо ордуна башка жарнамаларды көрсөтүүгө мүмкүндүк берет — башка виджетте буга чейин көрсөтүлүп жаткан жарнамалардын санын өткөрүп жибериңиз. |
data-partner | Сиздин өнөктөш IDиңиз (аны өзүңүздүн башкаруу панелиңиздин Developers барагынан табыңыз). Кошумча — IDсиз виджет ошол категория боюнча толук коомдук рейтингди, платформадагы бардык жарнама берүүчүлөрдү көрсөтөт. ID менен болсо, виджет 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": "...",
},
)