Annual Ads

Izstrādātāju dokumentācija

Veidojiet tieši uz „Annual Ads“ platformas — izveidojiet reklāmdevējus, publicējiet reklāmas, iniciējiet maksājumus un sekojiet līdzi reitingam, izmantojot tikai API.

Skatīt pilnu cenu tabulu

Jums paliek 70% no summas, ko jūsu „Connect“ režīma reklāmdevēji maksā par savām reklāmām — nauda tiek automātiski ieskaitīta jūsu elektroniskajā makā. Uzziniet, kā tas darbojas, tālāk tekstā.

Bāzes URL

https://api.adhub365.com
OpenAPI 3

Autentifikācija

Katrs pieprasījums tiek autentificēts, izmantojot slepeno atslēgu autorizācijas galvenē saskaņā ar „Bearer“ shēmu.

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

Testēšanas vide un ražošanas vide

Testēšanas vides un ražošanas atslēgas ir pilnībā nošķirtas viena no otras — testēšanas vides atslēga nekad nevar ne lasīt, ne rakstīt datus, ko radījusi ražošanas atslēga, un otrādi.

Darbības jomas

Katra atslēga ir ierobežota ar tām darbības jomām, kurām tā tika izsniegta — atslēgai nekad nav plašākas piekļuves tiesības nekā partnera kontam, kas to izveidoja.

API atslēgas apstiprinātiem partneru kontiem izsniedz „Annual Ads“ komanda.

Izveidot partnera kontu

Reklāmu ieņēmumu sadale

Ja jūsu API atslēgas izveido reklāmdevēju kontus jūsu lietotājiem (režīms „Connect“ — skatiet sadaļu „Autentifikācija“ iepriekš), jūs saņemat daļu no summas, ko šie reklāmdevēji maksā par savām reklāmām. Zemāk norādītais sadalījums tiek nolasīts reāllaikā no šī paša galapunkta, tas nekad nav ieprogrammēts kodā un ir pilnīgi atsevišķs no rekomendācijas komisijas, kas aprakstīta tālāk šajā lapā.

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

70%

Tas attiecas uz tevi

Nauda tiek automātiski pārskaitīta uz jūsu norādīto izmaksu maku — nav nepieciešams iesniegt izmaksas pieprasījumu.

30%

Pāriet uz ikgadējām reklāmām

Apsver moderēšanu, hostingu un reitinga infrastruktūru, kurā tiek rādītas jūsu reklāmas.

Kā tas darbojas

  1. Viens no jūsu „Connect” režīma reklāmdevējiem apmaksā reklāmu, izmantojot jūsu integrāciju.
  2. Reklāma tiek pārbaudīta un apstiprināta — automātiski vai ar mūsu moderatoru komandas palīdzību.
  3. Jūsu daļa ir iekļauta rindā automātiskai izmaksai uz jūsu elektronisko maku — tas notiek pēc tā paša principa kā zemāk aprakstītajā ieteikumu programmā.
Peļņas daļa netiek aprēķināta, kamēr reklāma nav faktiski apstiprināta — ja moderatori to noraida, par šo maksājumu nekas nav jāmaksā. Papildinājums jau aktīvai reklāmai nerada šādu risku, un peļņas daļa tiek izmaksāta nekavējoties.

Izmaksas nosacījumi

  • Jūsu partnera kontā ir iestatīta kriptovalūtas izmaksu maku.
  • No jūsu puses nav nepieciešama KYC pārbaude — jūsu partnera konts jau ir pārbaudīts tā izveides brīdī.

Piemērs: uzkrāto akciju skaita nolasīšana

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
}

Galapunkti

Konti

POST/v1/partner/advertisers

Izveidojiet reklāmdevēja kontu kāda no jūsu lietotājiem vārdā (režīms „Connect”).

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

Apskatiet šī partnera izveidoto reklāmdevēja kontu.

advertisers:read

Reklāmas

POST/v1/partner/ads

Izveidojiet reklāmu. Sākotnēji tai tiek piešķirts „uzmetuma” statuss. Iespējamie lauki „advertiser_type”, „promotion_type”, „link_type” un „promoted_brand” raksturo partnerprogrammas, ieteikumu, satura veidotāja vai individuālo reklāmu — skatiet piezīmi zemāk.

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

Apskatiet sludinājumu.

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

Atjauniniet redakcionālo saturu — virsrakstu, aprakstu, saiti, reklāmdevēja veidu, reklāmas veidu, saites veidu un reklamēto zīmolu. Kategoriju, ģeogrāfisko atrašanās vietu un jebkuru citu informāciju, ko ņem vērā reitinga sistēma, šeit nekad nevar mainīt.

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

Augšupielādējiet reklāmas attēlu tieši (JPEG/PNG/WebP, ne vairāk kā 5 MB). Tas ir jāizdara pirms pirmā maksājuma — skatiet sadaļu par maksājumiem zemāk.

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

Iestatiet reklāmas attēlu, izmantojot URL, nevis augšupielādējot failu — serveris pats to lejupielādē un ievieto savā serverī. Tā pati prasība: jāizpilda pirms pirmā maksājuma.

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

Reklāmas pašreizējais reitings, kategorija un ģeogrāfiskais pārklājums.

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

Reklāmas kopējais skatījumu un klikšķu skaits — pagājušo/atlikušo dienu skaits tiek iegūts no laukiem „activated_at” un „expires_at”, kas jau ir pieejami pieprasījumā GET /{id}, savukārt reitings — no pieprasījuma GET /{id}/rank.

ads:read

Maksājumi

POST/v1/partner/payments

Uzsāciet kriptovalūtas maksājumu sākotnējam pirkumam vai konta papildināšanai. Sākotnējais maksājums neizdosies ar kļūdu 422, ja vien reklāmai jau nav attēla — skatiet iepriekš minēto „uploadAdImage/setAdImageUrl“.

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

Pārbaudiet maksājuma statusu.

payments:read

Ieteikumi

POST/v1/partner/referrals

Izveidojiet ieteikuma saiti.

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

Kopējie ienākumi no ieteikumiem, sadalīti pēc statusa.

referrals:read

Reklāmu ieņēmumu sadale

GET/v1/partner/ad-revenue/earnings

Jūsu 70 % daļa no summas, ko reklāmdevēji, kurus esat izveidojuši „Connect“ režīmā, samaksājuši par savām reklāmām, sadalīta pēc statusa.

ad-revenue:read

Piekļuves žurnāls

GET/v1/partner/access-log

Pilna izsaukumu vēsture šai atslēgai — metode, ceļš, IP, laika zīmogs.

Tur

Publiskie galapunkti

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

Tikai lasāms reitings konkrētajai kategorijai un ģeogrāfiskajai teritorijai.

Publisks
GET/v1/tiers

7 konfigurētie cenu līmeņi (sliekšņa līmenis, atbloķētās priekšrocības).

Publisks
GET/v1/referral-program

Pašreiz spēkā esošās komisijas procentu likmes ieteikumu kaskādei un līderu fondam.

Publisks
GET/v1/partner-program

Pašreizējais reklāmu ieņēmumu sadalījums (režīmā „Connect“) starp jums un „Annual Ads“.

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

Meklēšana dabiskā valodā — novirza tādu vaicājumu kā „mēbeļu reklāmdevēji Kenijā” uz atbilstošo kategoriju un ģeogrāfisko apgabalu, pēc tam atgriež šo rezultātu sarakstu precīzi tādā secībā, kādā tas ir reāli.

Publisks

Partneru un ieteikumu reklāma

advertiser_type, promotion_type, link_type un promoted_brand ir neobligāti lauki POST un PATCH pieprasījumos uz /v1/partner/ads — pakalpojums „Annual Ads” nav paredzēts tikai uzņēmumiem, kas reklamē paši sevi. Ja link_type ir affiliate_link vai referral_invitation_link, vai arī promotion_type ir affiliate_offer vai referral_opportunity, tad affiliate_terms_accepted jābūt vērtībai „true”, citādi pieprasījums tiek noraidīts ar kļūdas kodu 422. title garums nedrīkst pārsniegt 35 rakstzīmes, bet description — 80 rakstzīmes — abi ierobežojumi tiek piemēroti servera pusē, nevis tikai vadības paneļa lietotāja saskarnē.

AI rīki

Katram reklāmdevēja kontam tiek nodrošināts iebūvētu AI rīku komplekts — reklāmas satura un vizuālo elementu ģenerators, sarunu palīgs, budžeta konsultants un ārējais SEO auditors —, kuru izmantošana tiek apmaksāta ar AI kredītiem papildus fiksētajai gada cenai.

Tās tiek izpildītas, izmantojot reklāmdevēja paša vadības paneļa pieteikšanās datus (sesijas piekļuves žetonu), nevis partnera API atslēgu — trešās puses integrācija nevar tās izsaukt reklāmdevēja vārdā.
POST/v1/advertisers/{id}/ai/assistant

„Ask Annual Ads“ — peldošs sarunu palīgs, kas sniedz tikai informāciju un kuram ir tikai lasīšanas tiesības attiecībā uz konta datiem.

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

No īsa uzņēmuma apraksta izveidojiet reklāmas virsrakstu, aprakstu un atslēgvārdus.

2 kredītpunkts(-i)
POST/v1/advertisers/{id}/ai/creative-studio/image

Izveidojiet vizuālo attēlu (PNG) pēc tā paša uzņēmuma apraksta, kas jau ir sagatavots un gatavs pievienošanai sludinājumam.

8 kredītpunkts(-i)
POST/v1/advertisers/{id}/ai/budget-advisor

Reāla statistiska prognoze — nekad nevis spekulatīvs pieņēmums — par varbūtību saglabāt konkrētu rangu pēc 30, 90 un 365 dienām.

1 kredītpunkts(-i)
POST/v1/advertisers/{id}/ai/seo-audit

Analizējiet reklāmdevēja paša ārējo tīmekļa vietni un ierosiniet konkrētus SEO uzlabojumus.

2 kredītpunkts(-i)

Piemērs — reklāmas satura izveide

Tā pati kategorija un uzņēmuma apraksts tiek izmantoti arī zemāk redzamajam attēlu ģeneratoram.

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
}

Izveidojiet atbilstošu attēlu šai reklāmai:

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
}

Logrīks

Ievietojiet gatavu reklāmas bloku savā vietnē — bez izstrādes posma, bez iframe. Skripts tiek attēlots tieši lapā izolētā Shadow DOM vidē, tādējādi tā stili nekad neietekmē jūsu vietni, un jūsu vietnes stili nekad neietekmē to.

Pievieno to savai lapai

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

Pēc noklusējuma šeit tiek parādīts pilnais publiskais reitings šai kategorijai — visi platformas reklāmdevēji, nevis tikai tie, kurus esat piesaistījis. Lai parādītu tikai to reklāmdevēju reklāmas, kurus esat izveidojis, izmantojot „Connect“ režīmu (tie, kas ģenerē jūsu daļu), pievienojiet „data-partner“ ar savu partnera ID (to varat atrast savā vadības panelī sadaļā „Izstrādātāji”):

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

Ja jūsu reklāmdevēji pārstāv vairākas kategorijas, pilnībā izņemiet „data-category“ — izmantojot tikai „data-partner“, logrīks parādīs visas jūsu reklāmas no visām kategorijām vienā tabulā, tādējādi nav nepieciešams atsevišķs logrīka bloks katrai kategorijai:

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

Vēlaties, lai līdzās satura vidū esošajam blokam būtu arī apakšējās joslas stila bloks, kurā katrā tiktu rādītas atšķirīgas reklāmas? Pievienojiet otro logrīku bloku ar atribūtu data-layout="compact" (viena reklāma, ko var saspiest mazā „pill” formātā) un atribūtu data-offset, kurā norādiet, cik daudz reklāmu jau rāda jūsu pirmais logrīks:

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

Īpašības

data-categoryRādāmais kategorijas ID. Obligāts — ja vien nav norādīts „data-partner“, jo šādā gadījumā, to neiekļaujot, visās kategorijās tiek parādītas šī partnera reklāmas.
data-geoĢeogrāfiskais tvērums: vietējais, reģionālais vai globālais. Noklusējuma iestatījums ir globālais.
data-countRādāmo reklāmu skaits. Noklusējuma vērtība ir 4.
data-columnsTīkla kolonnu skaits. Noklusējuma vērtība ir 2.
data-layouttīklveida, saraksta vai kompakta izkārtojuma veidā. Noklusējuma iestatījums ir „tīklveida”. „Kompakta” izkārtojuma gadījumā tiek parādīts viens reklāmas bloks (parametru „data-count” vērtība netiek ņemta vērā) ar pogu, ar kuru to var saspiest mazā „pill” formā un atkal izvērst — tas ir apakšējās joslas stila elements, kuru skripts pats nekad nepozicionē kā fiksētu; jūs varat novietot un noformēt konteinera div elementu savā lapā pēc saviem ieskatiem.
data-offsetAugstākā ranga reklāmu skaits, kuras jāizlaiž. Noklusējuma vērtība ir 0. Ļauj otrajam logrīkam tajā pašā lapā (piemēram, kompaktajam logrīkam lapas apakšdaļā un režģveida logrīkam augstāk lapā) rādīt atšķirīgas reklāmas, nevis divreiz atkārtot vienu un to pašu — norādiet to reklāmu skaitu, kuras otrs logrīks jau rāda.
data-partnerJūsu partnera ID (to varat atrast savā vadības panelī sadaļā „Izstrādātāji”). Nav obligāti — ja to neievadāt, logrīks parādīs pilnu publisko reitingu šai kategorijai, iekļaujot visus platformas reklāmdevējus. Ja to ievadāt, tiks parādītas tikai tās reklāmas, kuras esat piesaistījis, izmantojot „Connect” režīmu — tās, kas faktiski ģenerē jūsu daļu.

Ienākumu daļa

Kā partnera komisija par ieteikumu faktiski nonāk pie viņa — procentuālā daļa, izmaksas mehānisms un priekšnosacījumi.

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
}

Nav fiksēts skaitlis

Komisijas procentuālā likme tiek konfigurēta no mūsu puses un var mainīties — vienmēr to pārbaudiet reāllaikā, izmantojot šo galapunktu, nevis ievadot vērtību kodā.

Pilnībā automātisks

Nav noteikts izmaksas termiņš. Plānotais uzdevums aprēķina izmaksājamos ienākumus, sagrupē tos pa reklāmdevējiem un automātiski veic izmaksu, tiklīdz ir izpildīti visi zemāk minētie nosacījumi.

Izmaksas nosacījumi

  • Reklāmdevēja kopējie izmaksājamie ienākumi sasniedz minimālo izmaksas summu.
  • Viņu kontā ir iestatīta kriptovalūtas izmaksu maku.
  • Viņu KYC statuss ir pārbaudīts.

Piemērs: uzkrāto peļņu nolasīšana

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
}

Cenu līmeņi (aktīvi)

Lasiet datus tiešsaistē no šī galapunkta — nekad neiekļaujiet šīs vērtības kodā, jo tās var mainīties no mūsu puses. Izveidojiet saviem lietotājiem pakalpojuma līmeņu izvēlni, nevis lauku, kurā jāievada brīvi izvēlēta summa: katra norādītā cena jau ir precīza summa, kas jānosūta, veicot maksājumu, un šeit norādītās atbloķētās priekšrocības lietotājiem precīzi paskaidro, ko viņi saņem par šo cenu, tādējādi viņi izvēlas cenu, kuru saprot, nevis mēģina uzminēt skaitli.

LīmenisCenaAtbloķē
Bronze$50.00

Basic visibility

Silver$300.00

Clickable link unlocked

Klikšķināmā saite
Gold$500.00

Animation unlocked

Klikšķināmā saiteAnimācija
Platinum$1,000.00

Enhanced exposure

Klikšķināmā saiteAnimācija
Diamond$2,500.00

Premium placement

Klikšķināmā saiteAnimācija
Elite$5,000.00

Top-tier visibility

Klikšķināmā saiteAnimācija
Legendary$10,000.00

Maximum visibility & branding

Klikšķināmā saiteAnimācija

Lietojuma ierobežojumi

Pieprasījumu skaitam ir noteikts ierobežojums katrai atslēgai katru minūti. Katrai autentificētajai atbildei ir pievienoti galvenes X-RateLimit-Limit, X-RateLimit-Remaining un X-RateLimit-Reset; ja tiek pārsniegts ierobežojums, tiek atgriezts kļūdas kods 429 „Too Many Requests” ar galveni „Retry-After”.

IP atļauto saraksts

Pēc izvēles, katram partnerim. Kamēr neievadi ierakstu, tavi atslēgas pieņem pieprasījumus no jebkuras IP adreses — pirmais ieraksts pārslēdz visas šī partnera atslēgas uz režīmu, kurā tiek pieļautas tikai atļautajā sarakstā iekļautās adreses.

Webhooki

Katrs webhook tiek parakstīts ar HMAC-SHA256, izmantojot slepeno atslēgu, kas tiek izsniegta vienreiz — izveides brīdī —; pirms uzticēties datu saturam, pārbaudiet parakstu. Notikumi tiek nosūtīti tikai tam partnerim, kuram pieder attiecīgais reklāmdevējs.

payment.succeededMaksājums ir apstiprināts.
payment.refundedAtmaksa ir veikta.
ad.activatedReklāma tiek publicēta automātiski vai pēc administratora pārbaudes.
invoice.issuedTiek izrakstīts rēķins.
referral.payout.completedPiesaistīšanas komisija ir sasniegusi „apmaksāta” statusu.
referral.payout.failedPārveduma partija pie pakalpojuma sniedzēja neizdodas — ienākumi tiek atgriezti uzkrājumos un tiek mēģināts veikt pārvedumu no jauna.
rank.changedReklāmas pozīcija mainās — tostarp arī tad, ja to izraisa cita reklāmdevēja veiktais maksājums.
ad.expiring_soon30, 7 vai 1 diena(s) pirms sludinājuma termiņa beigām.
partner_ad_revenue.payout.completedReklāmu ieņēmumu daļas izmaksa ir ieguvusi „apmaksāta” statusu.
partner_ad_revenue.payout.failedReklāmu ieņēmumu sadales maksājumu partija neizdodas pie pakalpojuma sniedzēja — daļas tiek atgrieztas uzkrājumos, un maksājums tiek mēģināts veikt atkārtoti.

Programmatūras izstrādes komplekti

Ir plānots izlaist oficiālos JavaScript/TypeScript un Python SDK, kas izstrādāti, pamatojoties uz šo pašu API specifikāciju, taču tie vēl nav publicēti — līdz tam brīdim izmantojiet HTTP API tieši.

Ātrsākums

SDK pagaidām nav pieejams — šīs funkcijas izmanto tiešu HTTP API un jau šobrīd darbojas jebkurā programmēšanas valodā.

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