Турыдан-туры 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 кырларыннан, ә рейтинг 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/earningsConnect режимында сез булдырган рекламодательләрнең рекламалары өчен түләгән сумманың сезгә тигән 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 билгесен партнёр IDыгыз белән өстәгез (аны үз дашбордыгыздагы Үсешчеләр битендә табыгыз):
<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 | Сезнең партнер 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": "...",
},
)