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 tabuluJums 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ā.
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/jsonAPI atslēgas apstiprinātiem partneru kontiem izsniedz „Annual Ads“ komanda.
Izveidot partnera kontu| POST | /v1/partner/advertisersIzveidojiet 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 |
| POST | /v1/partner/adsIzveidojiet 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}/imageAugš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-urlIestatiet 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}/rankReklāmas pašreizējais reitings, kategorija un ģeogrāfiskais pārklājums. | ads:read |
| GET | /v1/partner/ads/{id}/statsReklā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 |
| POST | /v1/partner/paymentsUzsā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 |
| POST | /v1/partner/referralsIzveidojiet ieteikuma saiti. | referrals:write |
| GET | /v1/partner/referrals/{code}/earningsKopējie ienākumi no ieteikumiem, sadalīti pēc statusa. | referrals:read |
| GET | /v1/partner/ad-revenue/earningsJū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 |
| GET | /v1/partner/access-logPilna izsaukumu vēsture šai atslēgai — metode, ceļš, IP, laika zīmogs. | Tur |
| GET | /v1/rankings?category={id}&geo={scope}Tikai lasāms reitings konkrētajai kategorijai un ģeogrāfiskajai teritorijai. | Publisks |
| GET | /v1/tiers7 konfigurētie cenu līmeņi (sliekšņa līmenis, atbloķētās priekšrocības). | Publisks |
| GET | /v1/referral-programPašreiz spēkā esošās komisijas procentu likmes ieteikumu kaskādei un līderu fondam. | Publisks |
| GET | /v1/partner-programPaš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ē.
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.
| 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-studioNo īsa uzņēmuma apraksta izveidojiet reklāmas virsrakstu, aprakstu un atslēgvārdus. | 2 kredītpunkts(-i) |
| POST | /v1/advertisers/{id}/ai/creative-studio/imageIzveidojiet 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-advisorReā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-auditAnalizējiet reklāmdevēja paša ārējo tīmekļa vietni un ierosiniet konkrētus SEO uzlabojumus. | 2 kredītpunkts(-i) |
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
}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.
<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>data-category | Rā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-count | Rādāmo reklāmu skaits. Noklusējuma vērtība ir 4. |
data-columns | Tīkla kolonnu skaits. Noklusējuma vērtība ir 2. |
data-layout | tī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-offset | Augstā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-partner | Jū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. |
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”.
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.
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.succeeded | Maksājums ir apstiprināts. |
payment.refunded | Atmaksa ir veikta. |
ad.activated | Reklāma tiek publicēta automātiski vai pēc administratora pārbaudes. |
invoice.issued | Tiek izrakstīts rēķins. |
referral.payout.completed | Piesaistīšanas komisija ir sasniegusi „apmaksāta” statusu. |
referral.payout.failed | Pārveduma partija pie pakalpojuma sniedzēja neizdodas — ienākumi tiek atgriezti uzkrājumos un tiek mēģināts veikt pārvedumu no jauna. |
rank.changed | Reklāmas pozīcija mainās — tostarp arī tad, ja to izraisa cita reklāmdevēja veiktais maksājums. |
ad.expiring_soon | 30, 7 vai 1 diena(s) pirms sludinājuma termiņa beigām. |
partner_ad_revenue.payout.completed | Reklāmu ieņēmumu daļas izmaksa ir ieguvusi „apmaksāta” statusu. |
partner_ad_revenue.payout.failed | Reklā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. |
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.
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": "...",
},
)