Annual Ads

Garatzailearen dokumentazioa

Eraiki zuzenean Annual Ads plataforman — sortu iragarki-emaileak, argitaratu iragarkiak, abiarazi ordainketak eta jarraitu sailkapena, guztiz API bidez.

Ikusi prezioen taula osoa

Zuk 70% gordetzen duzu. Zure Connect moduko iragarkigileek beren iragarkiengatik ordaintzen dutena — automatikoki zure zorroan sartzen da. Ikusi behean nola funtzionatzen duen.

Oinarrizko URL-a

https://api.adhub365.com
OpenAPI 3

Autentifikazioa

Eskaera bakoitza egiaztatzen da Authorization buruan dagoen gako sekretu batekin, Bearer eskema erabiliz.

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

Sandbox eta ekoizpena

Sandbox eta ekoizpen giltzak elkarrekin erabat isolatuta daude — sandbox giltzak ezin du inoiz ekoizpen giltzak sortutako datuak irakurri edo idatzi, eta alderantziz.

Helburu-tarteak

Gako bakoitza emandako esparruetara mugatuta dago — gako batek inoiz ez du sortu zuen bazkide kontuak baino sarbide gehiagorik izango.

Urteko Iragarkiak taldearen eskutik API gakoak ematen zaizkie onartutako bazkide kontuei.

Sortu bazkide kontu bat

Publizitate-sarrerak partekatzea

Zure API gakoek zure erabiltzaileentzat iragarkigile-kontuak sortzen badituzte (Connect modua — ikus goiko Autentifikazioa), iragarkigile horiek beren iragarkietarako ordaintzen dutena zati bat irabazten duzu. Beheko banaketa puntu berean zuzenean irakurtzen da, inoiz ez da kodetuta egon, eta orrialde honetako behean dagoen erreferentzia-komisioarekin erabat bereizita dago.

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

70%

Zuri dagokio

Zure konfiguratutako ordainketa-zorroan automatikoki ordaintzen da — ez da diru-ateratze eskaerarik behar.

30%

Urteko iragarkietara joaten da

Zure iragarkiek exekutatzen diren moderazio-, ostatu- eta sailkapen-azpiegitura estaltzen ditu.

Nola funtzionatzen duen

  1. Zure Connect moduko iragarki-emaileetako batek zure integrazioaren bidez iragarki baten ordainketa egiten du.
  2. Iragarkia berrikusi eta onartzen da — automatikoki edo gure moderazio-taldeak.
  3. Zure zatia zure zorroan automatikoki ordaintzeko ilaran dago, beheko erreferentzia-programaren mekanismo bera erabiliz.
Partekatzea ez da inoiz sortzen iragarkia benetan onartu arte — moderazioak baztertzen badu, ez dago inolako zorik ordainketa horretan. Dagoeneko martxan dagoen iragarki bati egindako osagarria ez du halako arriskurik eta berehala partekatzen da.

Ordainketa-baldintzak

  • Zure bazkide kontuan kripto-ordainketa-zorro bat konfiguratuta dago.
  • Zure aldetik ez da KYCrik behar — zure bazkide-kontua sortzean jada egiaztatuta dago.

Adibidea: pilatutako akzioak irakurtzea

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
}

Helburu-puntuak

Kontuak

POST/v1/partner/advertisers

Sortu iragarkigile kontu bat zure erabiltzaileetako baten izenean (Connect moduan).

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

Bilatu bazkide honek sortutako iragarkigile kontu bat.

advertisers:read

Iragarkiak

POST/v1/partner/ads

Sortu iragarki bat. Hasieran zirriborro egoeran dago. aukerako advertiser_type, promotion_type, link_type eta promoted_brand eremuak afiliazio-, erreferentzia-, sortzaile- edo banakako publizitatea deskribatzen dituzte — ikusi beheko oharra.

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

Bilatu iragarki bat.

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

Eguneratu edizio-edukia — izenburua, deskribapena, esteka, iragarkiaren mota, promozioaren mota, estekaren mota eta sustatutako marka. Kategoria, geografia eta sailkapen-motorrak irakurtzen duen edozer hemen inoiz ezin dira aldatu.

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

Igo ezazu iragarki-irudi bat zuzenean (JPEG/PNG/WebP, gehienez 5 MB). Lehen ordainketa baino lehen beharrezkoa da — ikusi beheko ordainketa-taldea.

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

Ezarri iragarkiaren irudia fitxategi bat igo beharrean URL batetik — zerbitzariak berak kargatu eta berrerosten du. Baldintza bera: lehen ordainketa baino lehen beharrezkoa da.

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

Iragarki baten egungo sailkapena, kategoria eta kokapen-eremua.

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

Iragarki baten ikustaldi eta klik kopuru osoa — igaro diren eta geratzen diren egunak jada GET /{id} eskuragarri dauden activated_at eta expires_at eremuetatik datoz, eta rank balioa GET /{id}/rank bidez lortzen da.

ads:read

Ordainketak

POST/v1/partner/payments

Egin kriptomoneta-ordainketa bat hasierako erosketa edo saldo-gehikuntza baterako. Hasierako ordainketa huts egiten du 422 errorearekin, iragarkiak jada irudi bat ez badu — ikus goiko uploadAdImage/setAdImageUrl.

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

Ordainketa baten egoera egiaztatu.

payments:read

Gomendioak

POST/v1/partner/referrals

Sortu erreferentzia-esteka bat.

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

Bidalketa-irabazi metatuak, egoeraren arabera banatuak.

referrals:read

Publizitate-errentaren banaketa

GET/v1/partner/ad-revenue/earnings

Connect moduan sortu zenituen iragarkigileek beren iragarkietan ordaindu zutena zure %70eko zatia, egoeraren arabera banatuta.

ad-revenue:read

Sarbide-erregistroa

GET/v1/partner/access-log

Gako honen dei-historia osoa — metodoa, ibilbidea, IP helbidea, denbora-marka.

Han

Publiko helmuga-puntuak

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

Kategoria eta esparru geografiko baterako soilik irakurtzeko sailkapena.

Publikoa
GET/v1/tiers

Konfiguratutako 7 prezio-maila (muga, desblokeatutako onurak).

Publikoa
GET/v1/referral-program

Erreferentzia-kaskadarako eta Liderren Poolerako une honetan indarrean dauden komisio-portzentajeak.

Publikoa
GET/v1/partner-program

Zure eta Annual Ads-en arteko iragarkien diru-sarreren banaketa egungo (Connect moduan).

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

Naturala hizkuntzako bilaketa — "Kenyan altzari-iragarkiak egiten dituztenak" bezalako kontsulta bat dagokion kategoria eta esparru geografikora bideratzen du, eta ondoren sailkapen hori bere benetako ordena zehatzean itzultzen du.

Publikoa

Afiliatu eta erreferentzia bidezko publizitatea

advertiser_type, promotion_type, link_type eta promoted_brand eremu aukerakoak dira POST eta PATCH /v1/partner/ads-en — Urteko iragarkiak ez daude beren burua iragartzen duten enpresetara mugatuta. link_type affiliate_link edo referral_invitation_link denean, edo promotion_type affiliate_offer edo referral_opportunity denean, affiliate_terms_accepted egia izan behar da, bestela eskaera 422 kodearekin baztertuko da. title 35 karakterez mugatuta dago eta description 80 karakterez — biak zerbitzari-aldetik betearazten dira, ez bakarrik kontrol-paneleko UI-an.

Adimen Artifizialeko Tresnak

Publizitate-kontu bakoitzak AI tresna integratuen multzo bat jasotzen du — iragarkien edukia eta irudiak sortzeko generadore bat, elkarrizketa-laguntzaile bat, aurrekontu-aholkulari bat eta SEO kanpoko auditori bat — AI kredituak erabiliz ordaintzen dena, urteko prezio finkoaren gainetik.

Hauek iragarkigilearen bere kontrol-paneleko saio-hasieraren bidez exekutatzen dira (saio-sarbide-token bat), ez bazkide baten API gako baten bidez — hirugarren baten integrazio batek ezin ditu iragarkigilearen izenean deitu.
POST/v1/advertisers/{id}/ai/assistant

Ask Annual Ads — elkarrizketa-laguntzaile flotagarria, informazio-helburuarako soilik, kontu-datuei dagokienez soilik irakurtzeko modukoa.

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

Negozioaren deskribapen labur batetik iragarki baten izenburua, deskribapena eta gako-hitzak sortu.

2 kreditu
POST/v1/advertisers/{id}/ai/creative-studio/image

Negozio-deskribapen beretik iragarki-zerrenda-irudi bat (PNG) sortu, ostatu hartuta eta iragarki bati eransteko prest.

8 kreditu
POST/v1/advertisers/{id}/ai/budget-advisor

Benetako proiekzio estatistiko bat — inoiz ez generatiboa — emandako maila bat 30/90/365 egunetan mantentzeko probabilitateena.

1 kreditu
POST/v1/advertisers/{id}/ai/seo-audit

Iragarkigilearen kanpoko webgunea aztertu eta SEO hobekuntza zehatzak proposatu.

2 kreditu

Adibidea — iragarkien edukia sortu

Kategoria bera eta negozioaren deskribapen bera beheko irudi-sortzailea ere elikatzen dute.

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
}

Sortu iragarki berarentzako ikusizko material egokia:

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
}

Gailu txiki

Zure webgunean prestaturiko iragarki-unitate bat jarri — ez dago eraikuntza-urratsik, ez iframe-rik. Scriptak orrian zuzenean itzal-DOM isolatu baten barruan bistaratzen du, beraz, bere estiloek ez dute inoiz zure webgunera ihes egiten, eta zure webguneko estiloek ere ez dute inoiz horretara.

Gehitu zure orrialdean

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

Lehenetsita, honek kategoria osorako sailkapen publiko osoa erakusten du — plataformako iragarki-emaile guztiak, ez bakarrik zuk ekarritakoak. Connect moduan sortu dituzun iragarki-emaileek soilik (zure kuota sortzen dutenek) bidalitako iragarkiak erakusteko, gehitu data-partner zure bazkide-IDarekin (aurki dezakezu zure kontrol-paneleko Garatzaileen orrialdean):

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

Zure iragarki-emaileek kategoria anitz hartzen badituzte, kendu erabat data-category — data-partner bakarrik erabilita, widget-ak zure iragarki guztiak kategoria guztietakoak sare bakar batean erakusten ditu, kategoria bakoitzeko widget-bloke bat behar izatearen ordez:

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

Eduki barruko unitatearen ondoan oin-ohar estiloko beste unitate bat nahi duzu, bakoitzak iragarki desberdinak erakutsiko dituena? Gehitu bigarren widget bloke bat data-layout="compact" (iragarki bakarra, pilula txiki batean tolestu daitekeena) eta data-offset lehen widgetak dagoeneko zenbat iragarki erakusten dituen arabera ezarrita:

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

Ezaugarriak

data-categoryErakutsi beharreko kategoria ID-a. Beharrezkoa — data-partner ezarrita ez badago; bestela, hura ezartzeak bazkidearen iragarkiak kategoria guztietan erakusten dituela adierazten du.
data-geoGeo-esparrua: tokikoa, eskualdekoa edo globala. Lehenetsia globala da.
data-countErakutsi beharreko iragarkien kopurua. 4ra lehenetsita dago.
data-columnsSareko zutabe kopurua. 2ra lehenetsita dago.
data-layoutgrid, list edo compact. Lehenetsia grid da. compact-ek iragarki bakarra erakusten du (data-count balioa kontuan hartu gabe), eta botoi batekin iragarkia pilula txiki batean tolestu eta berriro agerrarazi daiteke — oin-ohar estiloko unitate bat, inoiz ez da script-ak finkatuta kokatzen; zuk nahi duzun moduan kokatu eta estiloa eman diezaiokezu edukiontzi-div-ari zure orrialdean.
data-offsetGoi-mailako iragarkiak saltzeko kopurua. 0 lehenetsita dago. Orrialde berean dagoen bigarren widget bati (adibidez, oin-oharrean dagoen konpaktu bat eta orrialdearen goialdean dagoen sarea bat) iragarki desberdinak erakusteko aukera ematen dio, iragarki bera bi aldiz errepikatu beharrean — pasatu beste widgetak dagoeneko erakusten dituen iragarkien kopurua.
data-partnerZure bazkide ID-a (aurki ezazu zure kontrol-taularen Garatzaileen orrian). Aukerakoa — hori gabe, widget-ak kategoria horretako sailkapen publiko osoa erakusten du, plataformako iragarki-emaile guztiekin. Horrela, Connect moduan ekarritako iragarki-emaileen iragarkiak bakarrik agertuko dira — benetan zure kuota sortzen dutenak.

Errenta-banaketa

Nola iristen zaien benetan bazkide baten erreferentzia-komisioa — ehunekoa, ordainketa-mekanismoa eta aurre-baldintzak.

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
}

Ez da zenbaki finkoa

Komisioaren ehunekoa gure aldetik konfiguratuta dago eta aldatu daiteke — balio bat zuzenean kodetzen beharrean, beti irakurri zuzenean endpoint honetatik.

Erabat automatikoa

Ez dago ateratze-helmugarik. Ordutegi zehatz batean programatutako lanak ordaindu beharreko irabaziak sortzen ditu, iragarle bakoitzeko multzokatu eta, beheko baldintza guztiak bete ondoren, automatikoki ordaintzen ditu.

Ordainketa-baldintzak

  • Iragarkiaren ordaindu beharreko irabazi osoek gutxieneko ordainketa-kopurua lortzen dute.
  • Haien kontuan kripto-ordainketa-zorro bat konfiguratuta dago.
  • Haien KYC egoera egiaztatuta dago.

Adibidea: pilatutako irabaziak irakurtzea

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
}

Prezio-mailak (zuzenekoa)

Irakurri zuzenean endpoint honetatik — ez ezazu balio hauek inoiz kode gogorrean idatzi, gure aldetik aldatu daitezke. Erabili maila-auketagailu bat zure erabiltzaileentzat zenbateko-eremu libre baten ordez: erakusten den prezio bakoitza ordainketa sortzean bidali beharreko zenbateko zehatza da, eta hemen agertzen diren desblokeatutako onurak erabiltzaileei zehazki azaltzen diete prezio horrek zer eskaintzen dien, beraz, zenbaki bat asmatu beharrean ulertzen duten prezio bat hautatzen dute.

MailaPrezioaDesblokeatzen
Bronze$50.00

Basic visibility

Silver$300.00

Clickable link unlocked

Eklika daitekeen esteka
Gold$500.00

Animation unlocked

Eklika daitekeen estekaAnimazioa
Platinum$1,000.00

Enhanced exposure

Eklika daitekeen estekaAnimazioa
Diamond$2,500.00

Premium placement

Eklika daitekeen estekaAnimazioa
Elite$5,000.00

Top-tier visibility

Eklika daitekeen estekaAnimazioa
Legendary$10,000.00

Maximum visibility & branding

Eklika daitekeen estekaAnimazioa

Tasa-mugak

Eskaerak gako bakoitzeko minutuko mugatuta daude. Erantzun autentifikatu bakoitzak X-RateLimit-Limit, X-RateLimit-Remaining eta X-RateLimit-Reset buru-ilarak daramatza; muga gainditzeak 429 Eskaera Gehiegi akats-kodea itzultzen du Retry-After buru-ilara batekin.

IP onartutako zerrenda

Aukerakoa, bazkide bakoitzeko. Sarrera bat gehitu arte, zure gakoek edozein IP helbidetatik datozen eskaerak onartzen dituzte — lehen sarrerak bazkide horren gako guztiak soilik onartzeko zerrendan egotera aldatzen ditu.

Web-hook-ak

Webhook bakoitza HMAC-SHA256 bidez sinatzen da, sortze unean behin emandako sekretu batekin — sinadura egiaztatu karga konfiantzaz onartu aurretik. Ekitaldiak soilik jasotzen ditu iragarleari dagokion bazkideak.

payment.succeededOrdainketa bat baieztatuta dago.
payment.refundedItzulketa gauzatu da.
ad.activatedIragarki bat aktibo jartzen da, automatikoki edo administratzailearen berrikuspenaren ondoren.
invoice.issuedFaktura bat igorri da.
referral.payout.completedErreferentzia-komisio batek ordaindutako egoerara iristen da.
referral.payout.failed hornitzailean erreferentzia-ordainketa-multzo bat huts egiten du — irabaziak ordainketa-egoerara itzuli eta berriro saiatzen dira.
rank.changedIragarki baten sailkapena aldatzen da — beste iragarki-emaile baten ordainketak eraginda ere.
ad.expiring_sooniragarki bat iraungi baino 30, 7 edo 1 egun lehenago.
partner_ad_revenue.payout.completedIragarkien diru-sarreren banaketaren ordainketa ordaindutako egoerara iristen da.
partner_ad_revenue.payout.failedProban hornitzailean iragarkien diru-sarreren banaketa-ordainketa multzo bat huts egiten du — kuotak ordainketa-egoerara itzuli eta berriro saiatzen dira.

Software garapen kitak

Ofizial JavaScript/TypeScript eta Python SDK-ak, API zehaztapenean bertan oinarrituta sortuak, aurreikusita daude baina oraindik ez dira argitaratu — bitartean, deitu zuzenean HTTP APIari.

Hasiera azkarra

Oraindik ez dago SDK-rik — hauek HTTP APIari zuzenean dei egiten diote eta gaur egun edozein hizkuntzatan funtzionatzen dute.

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