Annual Ads

Dasturchi hujjatlari

Annual Ads platformasida to'g'ridan-to'g'ri ishlang — reklama beruvchilarni yarating, reklamalarni joylashtiring, to'lovlarni ishga tushiring va reytingni kuzating, bularning barchasini API orqali bajaring.

To'liq narxlar jadvalini ko'ring

Siz 70%ni saqlab qolasiz Connect-režimidagi reklamachilaringiz reklamalari uchun to'laydigan summa — avtomatik ravishda hamyoningizga o'tkaziladi. Qanday ishlashini quyida ko'ring.

Asosiy URL manzili

https://api.adhub365.com
OpenAPI 3

Avtorizatsiya

Har bir so'rov Authorization sarlavhasidagi Bearer sxemasi yordamida maxfiy kalit bilan autentifikatsiya qilinadi.

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

Sinov muhiti va ishlab chiqarish

Sandbox va ishlab chiqarish kalitlari bir-biridan to'liq ajratilgan — sandbox kaliti hech qachon ishlab chiqarish kaliti tomonidan yaratilgan ma'lumotlarni o'qiy olmaydi va yozolmaydi, va aksincha.

Ko'zluklar

Har bir kalit faqat unga berilgan doiralar bilan cheklangan — kalit uni yaratgan hamkor hisobidan ko'proq huquqqa ega bo'lmaydi.

API kalitlari Yillik Reklama jamoasi tomonidan tasdiqlangan hamkor hisoblariga beriladi.

Hamkor hisobini yarating

Reklama daromadlarini taqsimlash

Agar API kalitlaringiz o'z foydalanuvchilaringiz uchun reklama beruvchi hisoblarini yaratadigan bo'lsa (Connect rejimi — yuqoridagi Avtentifikatsiya bo'limiga qarang), siz o'sha reklama beruvchilar o'z reklamalari uchun to'laydigan summadan ulush olasiz. Quyidagi ulush shu bir xil endpointdan jonli ravishda o'qiladi, hech qachon qattiq kodlanmaydi va bu sahifaning keyingi qismidagi tavsiya komissiyasidan butunlay alohida.

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

70%

Senga tegishli

Sozlangan to'lov hamyoningizga avtomatik ravishda o'tkaziladi — pul yechish uchun ariza berish shart emas.

30%

Yillik e'lonlarga o'tadi

Reklamalaringizning moderatsiyasi, joylashtirilishi va reyting infratuzilmasini qamrab oladi.

U qanday ishlaydi

  1. Connect-rejimidagi reklama beruvchilaringizdan biri integratsiyangiz orqali reklama uchun to'lov qiladi.
  2. Reklama ko'rib chiqilib, ma'qullanadi — avtomatik ravishda yoki moderatsiya jamoasi tomonidan.
  3. Sizning ulushingiz avtomatik ravishda hamyoningizga to'lov uchun navbatga qo'yildi, bu quyidagi tavsiya dasturidagi mexanizmga o'xshaydi.
Reklama haqiqatan tasdiqlanmasidan oldin hech qanday ulush yaratilmaydi — agar moderatsiya uni rad etsa, o'sha to'lov bo'yicha hech narsa to'lanmaydi. Allaqachon faoliyat yuritayotgan reklamaga qo'shimcha to'lov bunday xavf tug'dirmaydi va darhol taqsimlanadi.

To'lov shartlari

  • Sizning hamkor hisobingizda kriptovalyuta to'lov hamyon sozlangan.
  • Siz tomondan KYC talab qilinmaydi — hamkor hisobingiz yaratilganda allaqachon tekshirilgan.

Misol: to'plangan ulushlarni o'qish

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
}

Oxirgi nuqtalar

Hisoblar

POST/v1/partner/advertisers

Foydalanuvchilaringizdan birining nomidan reklama beruvchi hisobini yarating (Ulanish rejimi).

advertisers:write
GET/v1/partner/advertisers/{id}

Ushbu hamkor tomonidan yaratilgan reklama beruvchi hisobini tekshiring.

advertisers:read

Reklamalar

POST/v1/partner/ads

Reklama yarating. U loyiha holatida boshlanadi. Ixtiyoriy advertiser_type, promotion_type, link_type va promoted_brand maydonlari affiliate, referral, creator yoki individual reklama turini tavsiflaydi — quyidagi eslatmani ko'ring.

ads:write
GET/v1/partner/ads/{id}

E'lonni qidiring.

ads:read
PATCH/v1/partner/ads/{id}

Tahririy kontentni yangilang — sarlavha, tavsif, havola, reklama beruvchi turi, aksiya turi, havola turi va targ'ib qilingan brend. Toifa, geografiya va reyting dvigateli tomonidan o'qiladigan har qanday ma'lumotni bu yerda hech qachon o'zgartirib bo'lmaydi.

ads:write
POST/v1/partner/ads/{id}/image

Reklama tasvirini to'g'ridan-to'g'ri yuklang (JPEG/PNG/WebP, maksimal 5 MB). Birinchi to'lovdan oldin talab etiladi — quyidagi to'lovlar guruhiga qarang.

ads:write
POST/v1/partner/ads/{id}/image-url

Reklama tasvirini faylni yuklash o'rniga URL manzilidan o'rnatish — server uni o'zi olib, qayta joylashtiradi. Xuddi shu talab: birinchi to'lovdan oldin bajarilishi kerak.

ads:write
GET/v1/partner/ads/{id}/rank

Reklama uchun joriy reyting, toifa va geografik qamrov.

ads:read
GET/v1/partner/ads/{id}/stats

Reklama uchun jami ko'rishlar va bosishlar — o'tgan/qolgan kunlar allaqachon GET /{id} bo'yicha mavjud activated_at/expires_at maydonlaridan olinadi, reyting esa GET /{id}/rank orqali olinadi.

ads:read

To'lovlar

POST/v1/partner/payments

Dastlabki xarid yoki to'ldirish uchun kripto to'lovni boshlang. Dastlabki to'lov 422 xatosi bilan muvaffaqiyatsiz tugaydi, agar reklama allaqachon rasmga ega bo'lmasa — yuqoridagi uploadAdImage/setAdImageUrl ni ko'ring.

payments:write
GET/v1/partner/payments/{id}

To'lov holatini tekshiring.

payments:read

Yo'naltirishlar

POST/v1/partner/referrals

Referal havolasi yarating.

referrals:write
GET/v1/partner/referrals/{code}/earnings

Maqom bo'yicha taqsimlangan umumiy referal daromadlari.

referrals:read

Reklama daromadlarini taqsimlash

GET/v1/partner/ad-revenue/earnings

Connect rejimida yaratgan reklamachilaringiz reklamalari uchun to'lagan summaning sizga tegishli 70% ulushi, holatlar bo'yicha taqsimlangan.

ad-revenue:read

Kirish jurnali

GET/v1/partner/access-log

Ushbu kalit — metod, yo'l, IP, vaqt tamg'asi bo'yicha to'liq qo'ng'iroq tarixi.

U yerda

Jamoat oxirgi nuqtalari

GET/v1/rankings?category={id}&geo={scope}

Faqat o'qish uchun reyting: toifa va geografik doira bo'yicha.

Jamoat
GET/v1/tiers

7 ta sozlangan narxlash bosqichlari (chegarasi, ochilgan imtiyozlar).

Jamoat
GET/v1/referral-program

Hozirda referal kaskadi va Rahbarlar hovuzi uchun amal qilayotgan komissiya foizlari.

Jamoat
GET/v1/partner-program

Joriy reklama daromadlari taqsimoti (Connect rejimi) siz va Annual Ads o'rtasida.

Jamoat
GET/v1/search?q={query}

Tabiiy til qidiruvi — masalan, "Keniyadagi mebel reklamachilari" kabi so'rovni mos keladigan toifa va geografik doiraga yo'naltiradi, so'ngra shu reytingni uning haqiqiy tartibida qaytaradi.

Jamoat

sheriklik va tavsiya asosidagi reklama

advertiser_type, promotion_type, link_type va promoted_brand POST va PATCH /v1/partner/ads bo'yicha ixtiyoriy maydonlardir — Annual Ads faqat o'zini reklama qilayotgan korxonalar bilan cheklanmaydi. link_type affiliate_link yoki referral_invitation_link bo'lganda, yoki promotion_type affiliate_offer yoki referral_opportunity bo'lganda, affiliate_terms_accepted qiymati true bo'lishi kerak, aks holda so'rov 422 bilan rad etiladi. title 35 belgiga, description esa 80 belgiga cheklangan — bu cheklovlar faqat boshqaruv paneli foydalanuvchi interfeysida emas, balki server tomonida ham qo'llaniladi.

AI vositalari

Har bir reklama beruvchi hisobiga o'rnatilgan sun'iy intellekt vositalar to'plami beriladi — reklama kontenti va vizual generator, suhbatli yordamchi, byudjet bo'yicha maslahatchi va tashqi SEO auditori — ularning barchasi yillik bir xil to'lovga qo'shimcha ravishda sun'iy intellekt kreditlari evaziga to'lanadi.

Ular reklama beruvchining o'z boshqaruv paneliga kirish (sessiya kirish tokeni) orqali ishlaydi, sherik API kaliti orqali emas — uchinchi tomon integratsiyasi reklama beruvchi nomidan ularni chaqira olmaydi.
POST/v1/advertisers/{id}/ai/assistant

Ask Annual Ads — suzuvchi muloqot yordamchisi, faqat ma'lumot berish uchun, hisob ma'lumotlarini faqat o'qish huquqiga ega.

Jamoat
POST/v1/advertisers/{id}/ai/creative-studio

Qisqa biznes tavsifidan reklama sarlavhasi, tavsifi va kalit so'zlarini yarating.

2 kredit(lar)
POST/v1/advertisers/{id}/ai/creative-studio/image

Xuddi shu biznes tavsifidan e'longa ilova qilishga tayyor, joylashtirilgan ro'yxat vizualini (PNG) yarating.

8 kredit(lar)
POST/v1/advertisers/{id}/ai/budget-advisor

Haqiqiy statistik prognoz — hech qachon generativ taxmin emas — ma'lum bir reytingni 30/90/365 kunda saqlab qolish ehtimolligi.

1 kredit(lar)
POST/v1/advertisers/{id}/ai/seo-audit

Reklama beruvchining tashqi veb-saytini tahlil qiling va aniq SEO takomillashtirishlar bo'yicha tavsiyalar bering.

2 kredit(lar)

Misol — reklama kontentini yaratish

Xuddi shu toifa va biznes tavsifi quyidagi tasvir yaratuvchisini ham quvvatlaydi.

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
}

Xuddi shu reklama uchun mos vizual yarating:

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
}

Vijetka

Tayyor reklama blokini o'zingizning saytga tortib tushiring — hech qanday o'rnatish bosqichi yoki iframe talab etilmaydi. Skript izolyatsiyalangan Shadow DOM ichida bevosita sahifada render qilinadi, shuning uchun uning uslublari hech qachon sizning saytga o'tmaydi, va sizning saytingiz uslublari ham unga o'tmaydi.

Uni sahifangizga qo'shing

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

Oddiy holatda bu kategoriya bo'yicha to'liq ommaviy reytingni ko'rsatadi — platformadagi barcha reklama beruvchilarni, faqat siz jalb qilganlarini emas. Connect rejimi orqali yaratgan reklama beruvchilaringizning (sizning ulushingizni hosil qilayotgan) reklamalarini ko'rsatish uchun data-partner atributiga o'zingizning hamkor ID-ingizni qo'shing (uni o'z boshqaruv panelingizdagi Ishlab chiquvchilar sahifasida topishingiz mumkin):

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

Agar reklamachilaringiz bir nechta toifalarga kirsa, data-category atributini butunlay olib tashlang — faqat data-partner bilan vidjet barcha toifalardagi reklamalaringizni bitta tarmoqda ko'rsatadi, har bir toifa uchun alohida vidjet bloki qo'yishga hojat yo'q:

<div
  class="annualads-widget"
  data-geo="global"
  data-partner="YOUR_PARTNER_ID"
></div>
<script async src="https://adhub365.com/widget.js"></script>

Mavzu ichidagi reklamangiz yonida, har biri turli reklamalarni ko'rsatadigan footer-uslubidagi blokni ham qo'shmoqchimisiz? Ikkinchi widget blokini data-layout="compact" (bitta reklama, kichik pillaga siqib qo'yilishi mumkin) va data-offset parametrini birinchi widgetingiz allaqachon nechta reklama ko'rsatayotganiga teng qilib o'rnating:

<!-- 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>

Xususiyatlar

data-categoryKo'rsatish uchun toifa ID. Majburiy — agar data-partner o'rnatilmagan bo'lsa; aks holda uni kiritmaslik sherikning barcha toifalar bo'yicha reklamalarini ko'rsatadi.
data-geoGeografik doira: mahalliy, mintaqaviy yoki global. Standart bo'yicha global.
data-countKo'rsatiladigan e'lonlar soni. Standart qiymati 4.
data-columnsTarmoq ustunlari soni. Standart qiymati 2.
data-layoutgrid, list yoki compact. Standart bo'yicha grid. compact bitta reklama (data-count e'tiborga olinmaydi) ko'rsatadi, uni kichik pillaga siqib qo'yish va qaytarish tugmasi bilan — bu footer uslubidagi blok bo'lib, skript uni hech qachon mustahkam joyga qo'ymaydi; konteyner divni o'zingizning sahifangizda xohlagancha joylashtirib, uslubini belgilaysiz.
data-offsetEng yuqori reytingli reklamalardan o'tkazib yuboriladigan son. Standart qiymati 0. Bu bir xil sahifadagi ikkinchi vidjetga (masalan, pastki qismdagi ixcham vidjet va sahifaning yuqori qismidagi tarmoqli vidjet) bir xil reklamaning ikki marta takrorlanish o'rniga boshqa reklamalarni ko'rsatishga imkon beradi — boshqa vidjet allaqachon ko'rsatayotgan reklamalar sonini o'tkazing.
data-partnerSizning hamkor identifikatori (uni o'z boshqaruv panelingizning Developerlar sahifasida toping). Ixtiyoriy — u bo'lmasa, vidjet o'sha kategoriya bo'yicha to'liq ommaviy reytingni, platformadagi barcha reklamachilarni ko'rsatadi. Uni qo'llaganingizda esa faqat Connect rejimi orqali olib kelgan reklamachilarning e'lonlari ko'rsatiladi — aynan ular sizning ulushingizni hosil qiladi.

Daromad ulushi

Sherikning tavsiya komissiyasi ularga qanday yetib boradi — foizi, to'lov mexanizmi va oldindan belgilangan shartlari.

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
}

Doimiy raqam emas

Komissiya foizi bizning tomondan sozlangan va o'zgarishi mumkin — qiymatni qattiq kodlash o'rniga uni har doim ushbu endpointdan jonli ravishda o'qing.

To'liq avtomatik

Pul yechish tugun nuqtasi yo'q. Rejalashtirilgan ish to'lanadigan daromadlarni hisoblab chiqadi, ularni har bir reklama beruvchi bo'yicha to'plamlarga ajratadi va quyidagi barcha shartlar bajarilgach avtomatik ravishda to'laydi.

To'lov shartlari

  • Reklama beruvchining to'lanishi kerak bo'lgan jami daromadi minimal to'lov miqdoriga yetdi.
  • Ularning hisobida kriptovalyuta to'lov hamyon sozlangan.
  • Ularning KYC maqomi tasdiqlangan.

Misol: to'plangan daromadlarni o'qish

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
}

Narxlash darajalari (jonli)

Ushbu endpointdan jonli o'qing — bu qiymatlarni hech qachon qattiq kodlamang, ular biz tomondan o'zgarishi mumkin. Bepul miqdor maydoni o'rniga foydalanuvchilaringiz uchun bosqich tanlovchisini yarating: ko'rsatilgan har bir narx to'lovni yaratishda yuborilishi kerak bo'lgan aniq summadir, bu yerda ko'rsatilgan ochilgan imtiyozlar esa foydalanuvchilarga aynan shu narx evaziga nimaga ega bo'lishlarini ko'rsatadi, shunda ular raqamni taxmin qilish o'rniga tushunadigan narxni tanlaydilar.

QavatNarxiOchadi
Bronze$50.00

Basic visibility

Silver$300.00

Clickable link unlocked

Bosiladigan havola
Gold$500.00

Animation unlocked

Bosiladigan havolaAnimasiya
Platinum$1,000.00

Enhanced exposure

Bosiladigan havolaAnimasiya
Diamond$2,500.00

Premium placement

Bosiladigan havolaAnimasiya
Elite$5,000.00

Top-tier visibility

Bosiladigan havolaAnimasiya
Legendary$10,000.00

Maximum visibility & branding

Bosiladigan havolaAnimasiya

Reyting chegaralari

Har bir kalit bo'yicha daqiqada so'rovlar soni cheklangan. Har bir autentifikatsiyalangan javob X-RateLimit-Limit, X-RateLimit-Remaining va X-RateLimit-Reset sarlavhalarini o'z ichiga oladi; limitni oshirish 429 Too Many Requests xatosini Retry-After sarlavhasi bilan qaytaradi.

IP ruxsat berilganlar ro'yxati

Ixtiyoriy, har bir hamkor uchun. Siz yozuv qo'shmaguningizcha, kalitlaringiz har qanday IP manzildan keladigan so'rovlarni qabul qiladi — birinchi yozuv esa o'sha hamkorning barcha kalitlarini faqat ruxsat berilgan manzillardan keladigan so'rovlarni qabul qiladigan holatga o'tkazadi.

Veb-hooklar

Har bir webhook yaratilgan paytda bir marta berilgan sirli kalit yordamida HMAC-SHA256 bilan imzolanadi — yuklamaga ishonishdan oldin imzoni tekshiring. Voqealar faqat tegishli reklama beruvchiga egalik qiluvchi hamkorga yetkaziladi.

payment.succeededTo'lov tasdiqlandi.
payment.refundedQaytarib berish amalga oshiriladi.
ad.activatedReklama avtomatik ravishda yoki ma'mur tasdiqlagach faol bo'ladi.
invoice.issuedHisob-faktura chiqariladi.
referral.payout.completedYo'naltirish komissiyasi to'lanadigan maqomga erishadi.
referral.payout.failedProvayderda referal to'lov partiyasi muvaffaqiyatsiz tugadi — daromadlar to'lanishi kerak bo'lgan hisobga qaytadi va qayta uriniladi.
rank.changedReklamaning reytingi o'zgaradi — bunda boshqa reklama beruvchining to'lovi ham sabab bo'lishi mumkin.
ad.expiring_soonE'lon muddati tugashidan 30, 7 yoki 1 kun oldin.
partner_ad_revenue.payout.completedReklama daromadlarini bo'lishish to'lovi to'langan maqomga yetadi.
partner_ad_revenue.payout.failedProvayderda reklama daromadlarini taqsimlash bo'yicha to'lov partiyasi muvaffaqiyatsiz tugadi — ulushlar to'lanishi kerak bo'lganlar ro'yxatiga qaytarilib, qayta uriniladi.

Dasturiy ta'minotni ishlab chiqish to'plamlari

Ushbu bir xil API spetsifikatsiyasidan hosil qilingan rasmiy JavaScript/TypeScript va Python SDKlari rejalashtirilgan, ammo hali e'lon qilinmagan — shu vaqtgacha HTTP APIga to'g'ridan-to'g'ri murojaat qiling.

Tez boshlash

Hali SDK yo'q — ular HTTP APIga to'g'ridan-to'g'ri murojaat qiladi va hozirda istalgan dasturlash tilida ishlaydi.

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": "...",
    },
)