Annual Ads

Amaxwebhu omphuhlisi

Yakha ngqo kwiqonga le-Annual Ads — yenza abathengisi-ntengiso, upapashe iintengiso, uqalise iintlawulo, kwaye ulandelele isikhundla, ngokupheleleyo nge-API.

Bona i-gridi epheleleyo yamaxabiso

Ugcina i-70% yento abayihlawulayo abathengisi bakho be-Connect-mode ngeentengiso zabo — ihlawulelwa ngokuzenzekelayo kwipheshukana lakho. Bona indlela esebenza ngayo ngezantsi.

I-URL esisiseko

https://api.adhub365.com
OpenAPI 3

Ukuqinisekiswa kobunini

Yonke isicelo siqinisekiswa ngesitshixo esiyimfihlo kwi-Authorization header, kusetyenziswa i-Bearer scheme.

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

Indawo yokuvavanya nokuvelisa

Izitshixo ze-sandbox nezemveliso zahlulwe ngokupheleleyo — isitshixo se-sandbox asisoze sikwazi ukufunda okanye ukubhala idatha eyenziwe sisitshixo semveliso, kwaye kungenjalo nangakwelinye icala.

Izikrozo

Isitshixo ngasinye sinqunyelwe kwiindawo esikhutshwe kuzo — isitshixo asinakuze sibe nokufikelela okungaphezulu kunokwe-akhawunti yomlingane eyisidale.

Ii-API keys zikhutshwa kwi-akhawunti zamaqabane ezivunyiweyo liqela le-Annual Ads.

Dala i-akhawunti yomlingane

Ukwabiwa kwengeniso yentengiso

Ukuba i-API keys zakho zenza ii-akhawunti zabathengisi kubasebenzisi bakho (i-Connect mode — bona i-Authentication apha ngasentla), ufumana isabelo sento abayihlawulayo abo bathengisi ngeentengiso zabo. Ukwabiwa okungezantsi kufundwa ngqo kule endpoint inye, akukhe kwafakwa ngokungaguqukiyo kwikhowudi, kwaye kwahluke ngokupheleleyo kwikhomishini yokuthumela ekuzantsi kweli phepha.

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

70%

Iya kuwe

Ihlawulwa ngokuzenzekelayo kwipokotho yakho yokuhlawulwa esetiweyo — akukho mfuneko yesicelo sokurhoxisa.

30%

Iya kwiZibhengezo zoNyaka

Iquka ulawulo, ubungxoxi, kunye neziseko zokubeka ngokwezinga apho iintengiso zakho ziqhuba khona.

Indlela esebenza ngayo

  1. Omnye wabathengisi bakho be-Connect-mode uhlawulela isibhengezo ngokusebenzisa ukudityaniswa kwakho.
  2. Isibhengezo sihlolwa size samkelwe — ngokuzenzekelayo, okanye liqela lethu lolawulo.
  3. Isabelo sakho si kuluhlu lokuhlawulwa ngokuzenzekelayo kwisipaji sakho, ngendlela efanayo neyeprogram yokuthumela abantu engezantsi.
Isabelo asikhe sidalwe phambi kokuba isibhengezo sivunywe ngokwenene — ukuba abalawuli basikhaba, akukho nto ihlawulelwayo kuloo ntlawulo. Ukongeza imali kwisibhengezo esele sisebenza akunabo obo bungozi kwaye kwabelwana ngako kwangoko.

Imiqathango yokuhlawulwa

  • I-wallet yokuhlawula nge-crypto isetiwe kwi-akhawunti yomlingane wakho.
  • Akukho KYC ifunekayo kwicala lakho — i-akhawunti yomlingane wakho sele ihlolwe xa yayisenzwa.

Umzekelo: ukufunda izabelo ezidibeneyo

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
}

Iindawo zokuphela

Ii-akhawunti

POST/v1/partner/advertisers

Yenza iakhawunti yomthengisi-ntengiso egameni lomnye wabasebenzisi bakho (Indlela yokuQhagamshela).

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

Khangela i-akhawunti yomthengisi eyadalwa ngulo mlingane.

advertisers:read

Izibhengezo

POST/v1/partner/ads

Yenza isibhengezo. Siqala sikwimeko yoyilo. Iinkalo ezinganyanzelekanga ze-advertiser_type, promotion_type, link_type, kunye ne-promoted_brand zichaza intengiso ye-affiliate, ye-referral, yomdali, okanye yomntu ngamnye — jonga inqaku elingezantsi.

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

Khangela isibhengezo.

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

Hlaziya umxholo wokuhlela — isihloko, inkcazelo, ikhonkco, uhlobo lomthengisi-ntengiso, uhlobo lwephromoshini, uhlobo lwekhonkco, kunye nebrendi ekhuthazwayo. Udidi, ijografi, kunye nayo nantoni na ifundwa yinjini yokukalisa azinakuze zitshintshwe apha.

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

Layisha umfanekiso wentengiso ngqo (JPEG/PNG/WebP, ubuninzi yi-5 MB). Kuyimfuneko phambi kwentlawulo yokuqala — jonga iqela leentlawulo apha ngezantsi.

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

Misa umfanekiso wesibhengezo usuka kwi-URL endaweni yokufaka ifayile — iseva iyawufumana kwaye iyawugcina kwakhona ngokwayo. Kufuneka kwenziwe oku kwangaphambili kuhlawulelo lokuqala.

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

Isikhundla sangoku, udidi, kunye nendawo yentengiso.

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

Inani lilonke lokujongwa nokucofwa kwesibhengezo — iintsuku ezidlulileyo/eziseleyo zivela kwiinkalo ze-activated_at/expires_at esele zikho kwi-GET /{id}, kwaye isikhundla sivela kwi-GET /{id}/rank.

ads:read

Iintlawulo

POST/v1/partner/payments

Qalisa intlawulo ye-crypto yokuthenga kokuqala okanye yokongeza imali. Intlawulo yokuqala iyasilela nge-422 ngaphandle kokuba isibhengezo sele sinomfanekiso — jonga uploadAdImage/setAdImageUrl apha ngasentla.

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

Jonga isimo sentlawulo.

payments:read

Iziphakamiso

POST/v1/partner/referrals

Yenza ikhonkco lokuthumela.

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

Ingeniso yokudlulisela eqokeleleneyo, icazululwe ngokwemo.

referrals:read

Ukwabiwa kwengeniso yentengiso

GET/v1/partner/ad-revenue/earnings

Isabelo sakho se-70% seentlawulo ezenziwe ngabathengisi abakhe nguwe kwi-Connect mode ngeentengiso zabo, ngokwe-status.

ad-revenue:read

Ilog yokufikelela

GET/v1/partner/access-log

Imbali epheleleyo yezimemo zale khiyi — indlela, ipath, i-IP, isitampu sexesha.

Kukho

Iindawo zokuphumela zikawonke-wonke

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

Isikhundla sokufunda kuphela soluhlu kunye nomda wejografi.

Esidlangalaleni
GET/v1/tiers

Amanqanaba asixhenxe amaxabiso alungiselelweyo (umda, iinzuzo ezivuliweyo).

Esidlangalaleni
GET/v1/referral-program

Iipesenti zekhomishini ezisebenzayo ngoku kwi-referral cascade nakwi-Leaders Pool.

Esidlangalaleni
GET/v1/partner-program

Ulwabiwo lwangoku lwengeniso yentengiso ( kwi-Connect mode ) phakathi kwakho ne-Annual Ads.

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

Uphando lwelwimi lendalo — luthumela umbuzo onjengowathi "abathengisi befenitshala eKenya" kudidi olufanelekileyo nakwingingqi yejografi, luze lubuyise olo luhlu, ngokweendlela zolwahlulo lwalo zokwenyani.

Esidlangalaleni

Intengiso yentsebenziswano neyokuthumela abantu

advertiser_type, promotion_type, link_type, kunye ne-promoted_brand ngamacandelo onokukhetha ukuwagcwalisa kwi-POST kunye ne-PATCH /v1/partner/ads — Iintengiso zoNyaka azikhawulelwanga kumashishini azibhengeza. Xa i-link_type iyi-affiliate_link okanye i-referral_invitation_link, okanye i-promotion_type iyi-affiliate_offer okanye i-referral_opportunity, i-affiliate_terms_accepted kufuneka ibe yi-true kungenjalo isicelo siyaliwa nge-422. Isihloko sinqunyelwe kwi-35 yoonobumba kwaye inkcazelo inqunyelwe kwi-80 — zombini ziqinisekiswa kwicala leseva, hayi kuphela kwi-UI yedeshibhodi.

Izixhobo ze-AI

I-akhawunti nganye yomthengisi-ntengiso ifumana iseti yezixhobo ze-AI ezakhelwe ngaphakathi — umvelisi womxholo wentengiso nomfanekiso, umncedisi wencoko, umcebisi wohlahlo-lwabiwo-mali, kunye nomhloli we-SEO wangaphandle — ezihlawulelwa ngeekhredithi ze-AI, phezu kwentlawulo yonyaka engaguqukiyo.

Ezi zisebenza ngokungena kwedashboard yomthengisi-ntengiso ngokwakhe (i-session access token), hayi ngesitshixo se-API seqabane — udityaniso lomntu wesithathu alunakuzibiza egameni lomthengisi-ntengiso.
POST/v1/advertisers/{id}/ai/assistant

Ask Annual Ads — umncedisi othethayo ohambahambayo, unika ulwazi kuphela, ufunda kuphela idatha yeakhawunti.

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

Yenza isihloko sesibhengezo, inkcazelo, kunye namagama angundoqo usebenzisa inkcazelo emfutshane yeshishini.

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

Yenza umfanekiso woluhlu (PNG) usebenzisa inkcazelo yeshishini efanayo, ogciniweyo nokulungele ukufakwa kwisibhengezo.

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

Uqikelelo lwenyani lwezibalo — hayi tuqikelelo nje oluzivelisayo — lwamathuba okugcina isikhundla esithile kwiintsuku ezingama-30/90/365.

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

Hlalutya iwebhusayithi yangaphandle yomthengisi kwaye ucebise uphuculo lwe-SEO olucacileyo.

2 yamakhredithi

Umzekelo — yenza umxholo wentengiso

Udidi olufanayo kunye nenkcazelo yeshishini zikwenza usebenze isenzi somfanekiso esingezantsi.

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
}

Yenza umfanekiso ohambelanayo wesi sibhengezo sinye:

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
}

Iwijethi

Faka iyunithi yesibhengezo esele lenziwe kwisayithi yakho — akukho nyathelo lokwakha, akukho iframe. I-script ivelisa ngqo kwiphepha ngaphakathi kwi-Shadow DOM eyodwa, ngoko ke izitayile zayo azikhe zingene kwisayithi yakho, kwaye nezitayile zesayithi yakho azikhe zingene kuyo.

Yongeza kwiphepha lakho

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

Ngokwesiqhelo oku kubonisa uluhlu olupheleleyo loluntu lwekhathego — wonke umthengisi-ntengiso oqongeni, hayi nje abo ubazisileyo. Ukuze ubonise kuphela iintengiso ezivela kubathengisi-ntengiso obadale nge-Connect mode (abo benza isabelo sakho), yongeza i-data-partner kunye ne-partner ID yakho (yifumane kwiphepha labaPhuhlisi kwideshbhodi yakho):

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

Ukuba abathengisi bakho beentengiso babandakanya iindidi ezininzi, yilahle ngokupheleleyo i-data-category — usebenzisa i-data-partner yodwa, i-widget ibonisa zonke iintengiso zakho kuzo zonke iindidi kwigridi enye, endaweni yokuba ufune ibhloko enye ye-widget kwindidi nganye:

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

Ufuna iyunithi yohlobo lwe-footer ecaleni kweyona ikwimixholo yakho, zombini zibonisa izibhengezo ezahlukeneyo? Yongeza ibhloko yewijethi yesibini ene data-layout="compact" (isibhengezo esinye, esinokuthi sincitshiswe sibe yipilisi encinci) kunye ne data-offset emiselwe kwinani lezibhengezo esele ziboniswa ywijethi yakho yokuqala:

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

Iimpawu

data-categoryI-ID yodidi ekufuneka iboniswe. Kuyimfuneko — ngaphandle kokuba i-data-partner imiselwe, apho ukuyishiya ngaphandle kubonisa iintengiso zolo nxulumano kuwo onke amadidi.
data-geoUmda wejografi: wengingqi, wezithili, okanye wehlabathi jikelele. Ngokungagqibekanga, yiwehlabathi jikelele.
data-countInani leentengiso eziza kuboniswa. Ngokungagqibekanga yi-4.
data-columnsInani leekholamu zegridi. Ngokungagqibekanga yi-2.
data-layoutigridi, uluhlu, okanye icwecwe. Ngokungagqibekanga ibe yigridi. Icwecwe libonisa isibhengezo esinye (i-data-count ayihoywa) esinqwaba yokusicinezela sibe yipilisi encinci nokusibuyisa — iyunithi yohlobo lwe-footer, engaze imiselwe ngokungagungqiyo yiskripthi ngokwayo, ubeka kwaye ulungise i-container div ngendlela oyithandayo kwiphepha lakho.
data-offsetInani leentengiso ezikwinqanaba eliphezulu ekufuneka zitsibiwe. Ngokungagqibekanga yi-0. Ivumela iwijethi yesibini kwiphepha elinye (umz. encinci ekumazantsi ephepha kunye nenye engumgca-ngumgca phezulu) ukuba ibonise iintengiso ezahlukileyo endaweni yokuphinda eyona inye kabini — nika inani leentengiso esele ziboniswa yenye iwijethi.
data-partnerI-ID yomlingane wakho (yifumane kwiphepha labaPhuhlisi kwideshbhodi yakho). Akunyanzelekanga — ngaphandle kwayo, iwijethi ibonisa uluhlu olupheleleyo loluntu lweso sigaba, bonke abathengisi abakweli qonga. Nayo, ziya kubonakala kuphela iintengiso zabathengisi obazisile nge-Connect mode — ezo zikwaziyo ukwenza isabelo sakho.

Ukwabiwa kwengeniso

Indlela ikhomishini yokuthumela umntu enyanzeleka ngayo kumthengi wobambiswano — ipesenti, indlela yokuhlawula, kunye neemeko ezifunekayo.

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
}

Asiyiyo inani elimiselweyo

Ipesenti yekhomishini ilungiselelwe kwicala lethu kwaye ingatshintsha — soloko uyifunda ngqo kule endpoint endaweni yokufaka ixabiso elisisigxina.

Ngokuzenzekelayo ngokupheleleyo

Akukho ndawo yokurhoxisa. Umsebenzi ocwangcisiweyo uqokelela ingeniso ehlawulwayo, ayidibanise ngokwe-advertiser nganye, aze ahlawule ngokuzenzekelayo xa zonke iimeko ezingezantsi zifezekisiwe.

Imiqathango yokuhlawulwa

  • Ingeniso iyonke yomthengisi-ntengiso ehlawulwayo ifikelela kwinani elincinci elihlawulwayo.
  • I-wallet yokuhlawula nge-crypto isetiwe kwi-akhawunti yabo.
  • Isimo sabo se-KYC siqinisekisiwe.

Umzekelo: ukufunda imivuzo eqokelelweyo

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
}

Amanqanaba amaxabiso (akwabelwa ngoku)

Funda ngqo kweli candelo — ungaze uzibhalele ngqo ezi xabiso, zinokutshintsha kwicala lethu. Yakha isikhethi seenqanaba sabasebenzisi bakho endaweni yomhlaba wemali yasimahla: ixabiso ngalinye eliboniswayo sele liyinkcitho kanye ekufuneka ithunyelwe xa kwenziwa intlawulo, kwaye iinzuzo ezivuliweyo eziboniswe apha zixelela abasebenzisi kanye ukuba lixabiso libaphi, ukuze bakhethe ixabiso abalisiqondayo endaweni yokuqikelela inani.

InqanabaIxabisoUvula
Bronze$50.00

Basic visibility

Silver$300.00

Clickable link unlocked

Ikhonkco elicofekayo
Gold$500.00

Animation unlocked

Ikhonkco elicofekayoUshukumiso lwemifanekiso
Platinum$1,000.00

Enhanced exposure

Ikhonkco elicofekayoUshukumiso lwemifanekiso
Diamond$2,500.00

Premium placement

Ikhonkco elicofekayoUshukumiso lwemifanekiso
Elite$5,000.00

Top-tier visibility

Ikhonkco elicofekayoUshukumiso lwemifanekiso
Legendary$10,000.00

Maximum visibility & branding

Ikhonkco elicofekayoUshukumiso lwemifanekiso

Imida yezantya

Iicelo zilinganiselwe ngokwekhiyi, ngomzuzu. Yonke impendulo eqinisekisiweyo iphethe ii-headers ze-X-RateLimit-Limit, i-X-RateLimit-Remaining, kunye ne-X-RateLimit-Reset; ukugqitha umda kubuyisa i-429 Too Many Requests ene-headers ye-Retry-After.

Uluhlu oluvumelekileyo lwe-IP

Okuzikhethelayo, ngomlingane ngamnye. De wongeze ungeniso, izitshixo zakho zamkela izicelo ezivela kuyo nayiphi na i-IP — ungeniso wokuqala utshintsha zonke izitshixo zaloo mlingane zibe zovumela uluhlu oluvumelekileyo kuphela.

Webhooks

I-webhook nganye isayinwe nge-HMAC-SHA256 kusetyenziswa imfihlo ekhutshwe kanye ngexesha lokudala — qinisekisa isayini phambi kokuba uthembe ipayload. Iziganeko zihanjiswa kuphela kwiqabane elingumnini welo nxulumene nomthengisi.

payment.succeededIntlawulo iqinisekisiwe.
payment.refundedImbuyekezo iyaphunyezwa.
ad.activatedIsibhengezo siqala ukusebenza, ngokuzenzekelayo okanye emva kokuba sihlolwe ngumlawuli.
invoice.issuedI-invoyisi ikhutshiwe.
referral.payout.completedIkhomishini yokuthumela ifikelela kwinqanaba lokuhlawulwa.
referral.payout.failedIqela leentlawulo zokuthumela liyasilela kumboneleli — ingeniso iyabuyela kwicandelo elihlawulwayo kwaye kuphinda kuzanywe.
rank.changedIsikhundla sesibhengezo siyatshintsha — kuquka xa esi tshintsho sibangelwa luhlawulo lomnye umthengisi.
ad.expiring_soon30, 7, okanye usuku olunye phambi kokuba isibhengezo siphelelwe lixesha.
partner_ad_revenue.payout.completedIntlawulo yabelwana ngayo yengeniso yentengiso ifikelela kwisimo sokuhlawulwa.
partner_ad_revenue.payout.failedIqela leentlawulo zokwabiwa kwengeniso yentengiso liyasilela kwumboneleli — izabelo zibuyela kuluhlu oluhlawulwayo kwaye zizanywa kwakhona.

Iikhithi zophuhliso lwesoftware

Ii-SDK ezisemthethweni zeJavaScript/TypeScript nePython, ezenziwe ngesi sichazi-nkcazo se-API sinye, zicwangcisiwe kodwa azikapapashwa — sebenzisa i-HTTP API ngokuthe ngqo okwangoku.

Ukuqalisa ngokukhawuleza

Akukho SDK okwangoku — ezi zibiza i-HTTP API ngokuthe ngqo kwaye zisebenza namhlanje kulo naluphi na ulwimi.

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