Annual Ads

Иштеп чыгуучунун документациясы

Жылдык Ads платформасында түздөн-түз иштеңиз — жарнама берүүчүлөрдү түзүңүз, жарнамаларды жарыялаңыз, төлөмдөрдү ишке киргизиңиз жана рейтингди толугу менен API аркылуу көзөмөлдөңүз.

Толук баалар таблицасын көрүңүз

Сен 70% сактап каласың Connect режиминдеги жарнама берүүчүлөрүңүздүн жарнамалары үчүн төлөгөн каражаттары — автоматтык түрдө сиздин капчыгыңызга которулат. Төмөндө анын кантип иштээрин көрүңүз.

Негизги URL

https://api.adhub365.com
OpenAPI 3

Аутентификация

Ар бир сурам Authorization башындагы сырдуу ачкыч менен Bearer схемасын колдонуп аутентификацияланат.

POST https://api.adhub365.com/v1/partner/ads
Authorization: Bearer sk_sandbox_...
Content-Type: application/json

Санбокс жана өндүрүш

Sandbox жана өндүрүш ачкычтары бири-биринен толугу менен изоляцияланган — sandbox ачкычы өндүрүш ачкычы түзгөн маалыматты эч качан окуй да, жаза да албайт, жана тескерисинче.

Көз айнектер

Ар бир ачкыч берилген чөйрөлөр менен гана чектелет — ачкыч аны түзгөн өнөктөш эсептен көбүрөөк мүмкүнчүлүккө ээ боло албайт.

API ачкычтары Жылдык жарнамалар командасы тарабынан бекитилген өнөктөш эсептерге берилет.

Серіктеш эсебин түзүңүз

Жарнама кирешесин бөлүшүү

Эгерде сиздин API ачкычтарыңыз өз колдонуучуларыңыз үчүн жарнама берүүчү аккаунттарды түзсө (Connect режими — жогорудагы Authentication бөлүмүнө караңыз), анда ошол жарнама берүүчүлөр жарнамалары үчүн төлөгөн сумманын бир бөлүгүн аласыз. Төмөндөгү бөлүштүрүү ушул эле endpointдон түз окулат, эч качан катуу коддолбойт жана бул барактын төмөн жагындагы рефералдык комиссиядан толугу менен өзүнчө.

GET https://api.adhub365.com/v1/partner-program
{
  "partner_share_percentage": 0.7,
  "platform_share_percentage": 0.3
}

70%

Сага тиешелүү

Тандалган төлөм капчыгыңызга автоматтык түрдө төлөнөт — каражат чыгаруу үчүн өтүнүч жиберүүнүн кереги жок.

30%

Жылдык жарнамаларга өтөт

Бул жарнамаларыңыз жайгашкан модерация, хостинг жана рейтинг инфраструктурасын камтыйт.

Ал кандайча иштейт

  1. Сиздин Connect-режиминдеги жарнама берүүчүлөрдүн бири сиздин интеграцияңыз аркылуу жарнама үчүн төлөйт.
  2. Жарнама каралып, бекитилет — автоматтык түрдө же модерация командасы тарабынан.
  3. Сиздин үлүшүңүз капчыгыңызга автоматтык төлөнүү үчүн кезекке коюлду, бул ылдыйдагы рефералдык программа сыяктуу эле механизм.
Жарнама чындап бекитилгенге чейин киреше эч качан түзүлбөйт — эгер модерация аны четке какса, бул төлөм боюнча эч нерсе төлөнбөйт. Ал эми буга чейин активдүү болуп турган жарнамага кошумча каражат салуу мындай тобокелдикке ээ эмес жана киреше дароо бөлүштүрүлөт.

Төлөө шарттары

  • Сиздин өнөктөш эсебиңизде крипто төлөм капчыгы конфигурацияланган.
  • Сиздин тараптан KYC талап кылынбайт — өнөктөш эсебиңиз түзүлгөндө эле текшерилген.

Мисал: топтолгон акцияларды окуу

GET https://api.adhub365.com/v1/partner/ad-revenue/earnings
Authorization: Bearer sk_sandbox_...
{
  "shares": [
    {
      "id": "share_1a2b...",
      "payment_id": "pay_9f2a...",
      "ad_id": "ad_7c31...",
      "partner_amount_usd": 140.0,
      "platform_amount_usd": 60.0,
      "status": "paid",
      "payable_after": "2026-08-03T00:00:00Z",
      "paid_at": "2026-08-05T10:12:00Z"
    }
  ],
  "total_payable_pending_usd": 0.0,
  "total_payable_usd": 0.0,
  "total_processing_usd": 0.0,
  "total_paid_usd": 140.0
}

Аяк чекиттери

Эсептер

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/tiers

7 конфигурацияланган баа деңгээлдери (чектөө, ачылган артыкчылыктар).

Жалпы
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 аудитору — алар жылдык бирдиктүү баага кошумча жасалма интеллект кредиттери менен төлөнөт.

Булар жарнама берүүчүнүн өзүнүн башкаруу панелине кирүү (сессиялык кирүү токени) аркылуу иштейт, өнөктөш API ачкычы аркылуу эмес — үчүнчү тараптын интеграциясы жарнама берүүчүнүн атынан аларды чала албайт.
POST/v1/advertisers/{id}/ai/assistant

Ask 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 режими аркылуу алып келген жарнама берүүчүлөрдүн гана жарнамаларын көрсөтөт — так ушулар сиздин үлүшүңүздү түзөт.

Кирешени бөлүшүү

Партнердин тааныштыруу комиссиясы чындап эле кантип ага жетет — пайызы, төлөө механизми жана алдын ала шарттары.

GET https://api.adhub365.com/v1/referral-program
{
  "levels": [
    {
      "level": 1,
      "percentage": 0.1
    }
  ],
  "leaders_pool_percentage_of_gmv": 0.05,
  "founding_advertiser_pool_percentage_of_gmv": 0.05,
  "payout_verification_window_hours": 48,
  "min_payout_usd": 1
}

Туруктуу эмес сан

Комиссиянын пайызы биздин жакта конфигурацияланат жана өзгөрүп турушу мүмкүн — маанисин катуу коддоп жазуунун ордуна ар дайым ушул endpoint аркылуу түз агымда текшерип туруңуз.

Толук автоматтык

Акчаны чыгаруу чекити жок. Жоспарланган жумуш төлөнүүчү кирешелерди эсептеп чыгып, ар бир жарнама берүүчү боюнча топтойт жана төмөндөгү бардык шарттар аткарылгандан кийин автоматтык түрдө төлөп берет.

Төлөө шарттары

  • Жарнама берүүчүнүн төлөнүүчү жалпы кирешеси минималдуу төлөө суммасына жетти.
  • Алардын эсебинде крипто төлөм капчыгы орнотулган.
  • Алардын KYC статусу текшерилген.

Мисал: топтолгон кирешелерди окуу

GET https://api.adhub365.com/v1/partner/referrals/{code}/earnings
Authorization: Bearer sk_sandbox_...
{
  "code": "ann-2f8c",
  "earnings": [
    {
      "id": "earn_1a2b...",
      "payment_id": "pay_9f2a...",
      "amount_usd": 30.0,
      "status": "paid",
      "payable_after": "2026-08-01T00:00:00Z",
      "paid_at": "2026-08-03T14:22:00Z"
    }
  ],
  "total_payable_pending_usd": 0.0,
  "total_payable_usd": 0.0,
  "total_processing_usd": 0.0,
  "total_paid_usd": 30.0
}

Баа деңгээлдери (жандуу)

Бул endpointтен түз окуңуз — бул маанилерди эч качан түз кодго киргизбеңиз, алар биздин жактан өзгөрүшү мүмкүн. Акысыз сумма талаасынын ордуна колдонуучуларыңыз үчүн баа деңгээлин тандагыч түзүңүз: көрсөтүлгөн ар бир баа төлөмдү түзүүдө жөнөтүлө турган так сумма болуп саналат, ал эми бул жерде ачылган артыкчылыктар колдонуучуларга ошол баанын аларга эмнени берерин так көрсөтөт, ошондуктан алар санды болжоп эмес, түшүнгөн бааны тандашат.

КабатБааАчат
Bronze$50.00

Basic visibility

Silver$300.00

Clickable link unlocked

Басууга болуучу шилтеме
Gold$500.00

Animation unlocked

Басууга болуучу шилтемеАнимация
Platinum$1,000.00

Enhanced exposure

Басууга болуучу шилтемеАнимация
Diamond$2,500.00

Premium placement

Басууга болуучу шилтемеАнимация
Elite$5,000.00

Top-tier visibility

Басууга болуучу шилтемеАнимация
Legendary$10,000.00

Maximum visibility & branding

Басууга болуучу шилтемеАнимация

Квота чектөөлөрү

Сурамдар ар бир ачкыч үчүн мүнөтүнө чектелет. Ар бир аутентификацияланган жооп X-RateLimit-Limit, X-RateLimit-Remaining жана X-RateLimit-Reset заголовокторун камтыйт; лимиттен ашса, Retry-After заголовогу менен 429 Too Many Requests катасы кайтарылат.

IP уруксат тизмеси

Ар бир шериктеш үчүн ыктыярдуу. Жазуу кошконго чейин сиздин ачкычтарыңыз каалаган 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": "...",
    },
)