Annual Ads platformasynda göni işläň — reklam berijileri dörediň, reklamlary çap ediň, tölegleri işlediň we reýtingi yzarlaň, hemmesi API arkaly.
Doly bahalar tablisasyny görüňSiz 70%-i saklaýarsyňyz Connect-režimindäki reklam berijileriň reklamalary üçin tölän pullary — awtomatik usulda siziň pul sumkanyňyza geçiriler. Aşakda munuň nähili işleýändigini görüň.
Her bir haýyş Authorization başlygyndaky gizlin açar bilen Bearer skemasy ulanylyp awtentifikasiýa edilýär.
POST https://api.adhub365.com/v1/partner/ads
Authorization: Bearer sk_sandbox_...
Content-Type: application/jsonAPI açarlary Iňlis Reklamalar topary tarapyndan tassyklanan hyzmatdaş hasaplaryna berilýär.
Partner hasabyny dörediň| POST | /v1/partner/advertisersUlanyjylaryňyzdan biriniň adyndan reklam beriji hasabyny dörediň (Connect režiminde). | advertisers:write |
| GET | /v1/partner/advertisers/{id}Bu hyzmatdaş tarapyndan döredilen reklam beriji hasabyny gözläň. | advertisers:read |
| POST | /v1/partner/adsReklamany dörediň. Ol başlangyçda taslama ýagdaýynda bolýar. Ihtiyary advertiser_type, promotion_type, link_type we promoted_brand meýdanlary hyzmatdaş, salgylanma, dörediji ýa-da şahsy reklama görnüşini beýan edýär — aşakdaky belliklere serediň. | ads:write |
| GET | /v1/partner/ads/{id}Bir reklamany gözläň. | ads:read |
| PATCH | /v1/partner/ads/{id}Redaksiýa mazmunyny täzeläň — başlyk, düşündiriş, baglanyşyk, reklam beriji görnüşi, mahabatlandyryş görnüşi, baglanyşyk görnüşi we mahabatlandyrylan marka. Kategoriýa, geografiýa we reýting motorunyň okaýan islendik maglumatlary bu ýerde hiç haçan üýtgedilip bilinmez. | ads:write |
| POST | /v1/partner/ads/{id}/imageReklama suratyny göni ýükle (JPEG/PNG/WebP, iň köp 5 MB). Ilkinji tölegden öň talap edilýär — aşakdaky tölegler toparyna serediň. | ads:write |
| POST | /v1/partner/ads/{id}/image-urlReklamanyň suratyny faýl ýüklemek ýerine URL salgysyndan kesgitläň — server ony alyp, özü täzeden ýerleşdirýär. Şol bir talap: ilkinji tölegden öň zerurdyr. | ads:write |
| GET | /v1/partner/ads/{id}/rankReklamanyň häzirki derejesi, kategoriýasy we geografik gerimi. | ads:read |
| GET | /v1/partner/ads/{id}/statsReklamanyň jemi görme sany we basyş sany — geçen/galan günler GET /{id} ugrunda eýýäm bar bolan activated_at we expires_at meýdanlaryndan gelýär, reýting bolsa GET /{id}/rank ugrundan alynýar. | ads:read |
| POST | /v1/partner/paymentsIlkinji satyn alyş ýa-da hasaba pul goşmak üçin kriptopul tölegini başlat. Ilkinji töleg, reklama eýýäm surat ýok bolsa, 422 hatasy bilen şowsuz bolýar — ýokardaky uploadAdImage/setAdImageUrl-e gar. | payments:write |
| GET | /v1/partner/payments/{id}Tölegiň ýagdaýyny barlaň. | payments:read |
| POST | /v1/partner/referralsReferal baglanyşygyny dörediň. | referrals:write |
| GET | /v1/partner/referrals/{code}/earningsStatuslara görä bölünýän jemleýin salgyt girdejileri. | referrals:read |
| GET | /v1/partner/ad-revenue/earningsConnect režiminde döreden reklam berijileriňiz reklamalary üçin tölän pullaryňyzyň 70% paýyňyň statuslara görä bölünmegi. | ad-revenue:read |
| GET | /v1/partner/access-logBu açar üçin jaňlaryň doly taryhy — metod, ýol, IP, wagt möhüri. | Şol ýerde |
| GET | /v1/rankings?category={id}&geo={scope}Kategooriýa we geografik çäk üçin diňe okamak reýtingi. | Jemagat |
| GET | /v1/tiers7 sany sazlanan bahalandyrma derejesi (sepgit, açylan artykmaçlyklar) | Jemagat |
| GET | /v1/referral-programŞu wagt referal kaskady we Liderler hovuzu üçin işjeň komissiýa göterimleri. | Jemagat |
| GET | /v1/partner-programHäzirki reklama girdejileriniň paýlaşygy (Connect režiminde) siziň bilen Annual Ads arasynda. | Jemagat |
| GET | /v1/search?q={query}Tebigy dilde gözleg — "Kenýadaky mebel reklamçylary" ýaly soragy degişli kategoriýa we geografik çäk boýunça ugrukdyrýar, soňra şol reýtingi takyk hakyky tertibinde gaýtaryp berýär. | Jemagat |
Partnerlik we salgylama reklamasy
advertiser_type, promotion_type, link_type we promoted_brand meýdanlary POST we PATCH /v1/partner/ads-de islege baglydyr — Annual Ads diňe özlerini reklama edýän kärhanalar bilen çäklenmeýär. link_type affiliate_link ýa-da referral_invitation_link bolanda, ýa-da promotion_type affiliate_offer ýa-da referral_opportunity bolanda affiliate_terms_accepted hak bolmaly, bolmasa haýyş 422 kody bilen ret edilýär. title 35 belgiden, description 80 belgiden köp bolmazlygy gerek — bu çäklendirmeler diňe dolandyryş paneliň interfeýsinde däl, eýsem serwer tarapyndan hem berjaý edilýär.
Her bir reklam beriji hasabyna gurnalan sun'iy aň gurallarynyň toplumy berilýär — reklama mazmuny we wizual generatori, gepleşikli kömekçi, býujet geňeşçisi we daşarky SEO barlagçysy — olar ýönekeý ýyllyk tölegden başga, sun'iy aň kreditleri bilen tölenýär.
| POST | /v1/advertisers/{id}/ai/assistantAsk Annual Ads — suzulyp duran gepleşikli kömekçi, diňe maglumat beriji, hasap maglumatlaryny diňe okamak üçin. | Jemagat |
| POST | /v1/advertisers/{id}/ai/creative-studioGysga iş beýanatyndan reklama başlygyny, düşündirişini we açar sözleri dörediň. | 2 kredit(ler) |
| POST | /v1/advertisers/{id}/ai/creative-studio/imageŞol bir iş beýanatyndan reklamanyň ýanyna goşmaga taýýar, ýerleşdirilen we sanaw görnüşli grafiki (PNG) döret. | 8 kredit(ler) |
| POST | /v1/advertisers/{id}/ai/budget-advisorHakyky statistiki proýeksiýa — hiç haçan generatiw çaklama däl — berlen derejäni 30/90/365 gün saklamagyň ähtimallygy. | 1 kredit(ler) |
| POST | /v1/advertisers/{id}/ai/seo-auditReklama berijiniň daşarky websaýtyny seljerip, anyk SEO kämilleşdirmelerini teklip ediň. | 2 kredit(ler) |
Şol bir kategoriýa we iş beýany aşakdaky surat generatoryny hem işledýär.
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
}Şol bir reklamanyň gabat gelýän görselini dörediň:
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
}Taýýar mahabat bölümini saýtyňyza salyň — gurmak ädimi ýok, iframe gerek däl. Skript sahypada gönüden-göni izolýasiýa edilen Shadow DOM içinde görkezilýär, şonuň üçin onuň stilleri hiç haçan saýtyňyza geçmeýär we saýtyňyzyň stilleri hem oňa geçmeýär.
<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>Öňünden bu kategoriýa boýunça doly açyk reýtingi görkezýär — platformadaky ähli mahabatçylary, diňe siziň getireniňiz bolmadyk. Connect režimi arkaly döreden mahabatçylaryň (sizden paý gazanýanlaryň) mahabatlaryny diňe görkezmek üçin data-partner elementini partner ID-ňiz bilen goşuň (ony öz paneliňiziň Ösüşçi sahypasynda tapyp bilersiňiz):
<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>Eger reklam berijileriňiz birnäçe kategoriýa degişli bolsa, data-category elementini düýbünden aýyryň — diňe data-partner bilen widget ähli kategoriýalardaky ähli reklamalaryňyzy bir gridde görkezýär, her kategoriýa üçin aýratyn widget bloky gerek bolmazdan:
<div
class="annualads-widget"
data-geo="global"
data-partner="YOUR_PARTNER_ID"
></div>
<script async src="https://adhub365.com/widget.js"></script>Mazmun içindäki bölüm bilen bir hatarda, her biri dürli reklamalary görkezjek footer-stilinde bir bölümi hem goşmak isleýärsiňizmi? Ikinji widget blokyny data-layout="compact" (bir sany reklama, kiçi tablet görnüşine öwrülip bilýän) we data-offset parametrini birinji widgetiňiz eýýäm näçe reklama görkezýändigine görä sazlap goşuň:
<!-- 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 | Görkeziljek kategoriýa ID-si. Zerur — eger data-partner sazlanyp goýlan bolmasa; şol ýagdaýda ony goýbermek partneriň ähli kategoriýalardaky reklamalaryny görkezýär. |
data-geo | Geografik gerimi: ýerli, sebitleýin ýa-da global. Öňbelgi boýunça global. |
data-count | Görkeziljek reklamalaryň sany. Öňbelgilenen gymmaty 4. |
data-columns | Tor sütünleriniň sany. Öňbelgi 2. |
data-layout | grid, list ýa-da compact. Öňbelgi grid. compact diňe bir reklama görkezýär (data-count nazara alynmaýar) we ony kiçi düwme görnüşinde ýygnap, soňra gaýtadan açmak üçin düwme hödürleýär — footer görnüşli birlik, skript tarapyndan hiç haçan berkidilmeýär, konteýner div-i sahypada islegiňize görä ýerleşdirip we stilini kesgitläp bilersiňiz. |
data-offset | Öňdebaryjy reklamalaryň gaçyny geçmegiň sany. Öňbelentlikde 0. Şol bir sahypada ýerleşýän ikinji widgete (meselem, sahypanyň aşagyndaky kompakt widget we ýokardaky grid widget) şol bir reklamany iki gezek gaýtalamak ýerine başga reklamalary görkezmäge mümkinçilik berýär — beýleki widgetiň eýýäm görkezýän reklamalarynyň sanyny geçir. |
data-partner | Partner ID-ňiz (ony öz dashboardyňyzyň Developers sahypasynda tapyp bilersiňiz). Islege bagly — ony ulanmazdan, widget şol kategoriýa boýunça doly açyk reýtingi, platformadaky ähli reklam berijileri görkezýär. Ony ulananyňyzda bolsa, diňe Connect režimi arkaly getiren reklam berijileriňizden — hakykatdan hem siziň paýyňyzy döredýän reklamalary görkezýär. |
Her açar üçin minutda haýyşlar çäklendirilýär. Her tassyklanan jogap X-RateLimit-Limit, X-RateLimit-Remaining we X-RateLimit-Reset başlyklaryny öz içine alýar; çägi aşan halatynda Retry-After başlygy bilen 429 Too Many Requests hatasy gaýtarylýar.
Her bir hyzmatdaş üçin islege bagly. Giriş goşýança, açarlaryňyz islendik IP-den gelýän haýyşlary kabul edýär — ilkinji giriş şol hyzmatdaşyň ähli açarlaryny diňe rugsat berlen sanawa girizýär.
Her webhook döredilen wagty bir gezek berlen gizlin açar bilen HMAC-SHA256 arkaly gol çekilýär — ýükleýini ynanmazdan ozal goly tassyklap geçiň. Hadysalar diňe degişli reklam beriji eýe bolan hyzmatdaşyna iberilýär.
payment.succeeded | Töleg tassyklanyldy. |
payment.refunded | Pul gaýtarylyp berilýär. |
ad.activated | Bir reklamanyň aktiwleşmegi awtomatik ýa-da administratoryň barlagyndan soň bolýar. |
invoice.issued | Hasap-faktura berilýär. |
referral.payout.completed | Referal komissiýasy tölenýän derejä ýetýär. |
referral.payout.failed | Täminleýjide salgylama töleg topary şowsuz bolýar — girdejiler tölenmäge gaýdyp gelýär we täzeden synanyşylýar. |
rank.changed | Bir reklamaň derejesi üýtgeýär — şol sanda başga bir reklam berijiniň tölegi sebäpli hem. |
ad.expiring_soon | Reklamanyň möhleti gutarmazdan 30, 7 ýa-da 1 gün öň. |
partner_ad_revenue.payout.completed | Reklama girdejilerini paýlaşmak töleg derejesine ýetýär. |
partner_ad_revenue.payout.failed | Täminleýjide reklama girdejisini paýlaşmak töleg topary şowsuz bolýar — paýlar tölenmeli hasaba gaýdyp gelýär we täzeden synanyşylýar. |
Şu birmeňzeş API spesifikasiýasyndan döredilen resmi JavaScript/TypeScript we Python SDK-lary meýilleşdirilýär, ýöne heniz neşir edilmedi — şol wagta çenli HTTP API-ni göni ulanyň.
Heniz SDK ýok — olar HTTP API-e göni jaň edýärler we şu gün islendik dilde işleýärler.
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": "...",
},
)