I-skip tungo sa nilalaman

MintOffice

Ang MintOffice ang Brand Partner portal para sa mintbot.ai. Hinahayaan ka nitong i-resell ang mintbot sa ilalim ng sarili mong brand: domain mo, bot mo, client list mo — habang mintbot ang bahala sa deployment, billing rails, at per-agent infrastructure sa likod ng lahat.

Ang live partner portal ay nasa mint.mintbot.ai.

Gagabayan ka ng guide na ito mula sa "ngayon ko lang narinig ang MintOffice" hanggang sa "live na ang una kong white-label agent sa sarili kong domain". Ang technical parts (DNS records, GitHub repo, bot token) ay mas mainam na ipa-handle sa isang mintbot agent para sa iyo — tingnan ang Hayaan ang agent na mag-setup para sa iyo bago ka magsimula.

Ikaw mismo ang gagawa ng integration?

Para sa developer-facing side — kung aling repositories ang i-fo-fork mo, paano tumatakbo ang deploy flow end-to-end, at paano nagsasama ang agent template + storefront — tingnan ang MintOffice — Technical.


Ano ang makukuha mo

  • I-resell ang bawat mintbot package (Trial, Starter, Pro, Max) sa ilalim ng sarili mong domain — makikita ng customers mo ang agent1.yourbrand.com, hindi *.mintbot.ai.
  • Gamitin ang sarili mong Telegram bot (@yourbrand_bot) para sa chat traffic, o humiram muna ng bot ng mintbot habang nagte-test ka pa.
  • Piliin ang customer-facing prices mo at ibulsa ang difference sa pagitan ng sisingilin mo sa kanila at ng sisingilin sa iyo ng mintbot (ang MintOffice wholesale floor).
  • Isang Brand Partner API para sa programmatic order creation, lifecycle status, at webhooks pabalik sa sarili mong systems.
  • Isang dashboard na nagpapakita ng active customer orders, bot-link health, pricing, payouts, at webhook delivery.

Pricing — Brand Partner setup fee

Ang pag-sign up para sa free trial portal account ay, siyempre, libre — pero ang Brand Partner signup fee ang isang payment na gagawin itong real brand-partner account. Magbabayad ka nang isang beses sa reception.mintbot.ai/mintoffice (o reception.mintbot.dev/mintoffice para sa dev/test environment) at ang parehong payment ang mag-u-unlock sa parehong portals:

Tier Price What's included
Free trial (default para sa bawat bagong partner) $0 10 disposable DEV deploys para sa pag-test ng portal + template mo
Brand Partner — launch promo $49 one-off 42 disposable DEV deploys, Brand Partner status sa parehong mint.mintbot.ai + mint.mintbot.dev, thorough setup guide (kayang patakbuhin ng agent ang buong wizard para sa iyo)
Brand Partner — standard $99 one-off Pareho sa launch — walang promo

Ano ang mangyayari pagkatapos mong magbayad:

  1. Ipo-process ng Stripe ang payment sa reception.mintbot.ai/mintoffice (o .dev kung nasa test environment ka) — parehong card / Apple Pay / Google Pay flow tulad ng ordinary mintbot tier orders.
  2. Magpapadala agad ang Reception ng signed grant sa parehong mint.mintbot.ai at mint.mintbot.dev, at iko-convert ang account mo sa Brand Partner status sa parehong portals.
  3. Makakatanggap ka ng welcome email mula sa pigeon@mintbot.ai (o pigeon@mintbot.dev kung bumili ka sa test env) na naglalaman ng parehong signin links at pointer papunta sa guide na ito.
  4. Mag-sign in sa alinmang portal na gusto mong simulan. Kung sakaling hindi umabot ang cross-env push sa alinmang portal sa anumang dahilan, ang unang signin sa portal na iyon ay magtatanong sa reception ng "did this email pay?" at ia-apply ang grant on the spot.

Ang fee ay one-time payment, hindi subscription. Naka-on by default ang launch promo habang niro-roll out namin ang MintOffice; ito ay controlled ng MINTOFFICE_SETUP_PROMO server flag, kaya ang price na makikita mo sa checkout ang price na babayaran mo.

Refunds

14-day refund window, no questions asked — kung hindi sulit ang tier para sa use case mo, mag-email sa support@mintbot.ai at ibabalik namin ang fee.

Ang wholesale per-agent pricing (ang rate na sisingilin sa iyo ng mintbot para sa bawat customer order na imi-mint mo) ay independent sa setup fee at nasa Step 5 — Pricing sa ibaba.


Let an agent set you up

Karamihan sa technical work — pagbili ng domain, pag-configure ng DNS, paggawa ng Telegram bot, pag-fork ng template repo — ay mechanical. Kaya mo itong gawin manually, pero ang pinakasmooth na path ay i-delegate ito sa isang mintbot agent.

Recommended path

Mag-spin up ng mintbot agent at sabihin dito: "Set me up as a MintOffice brand partner under domain yourbrand.com — walk me through the onboarding wizard and fill in everything you can on my behalf."

May access ang agent sa terminal, browser, DNS API, GitHub auth, at knowledge ng guide na ito. Sasabihin nito sa iyo kung eksaktong aling step ang kailangan ng iyong intervention (hal. pag-click sa confirmation ng BotFather sa Telegram) at ito ang bahala sa natitira.

Ang sarili mong Hermes, isang OpenCode / OpenClaw install, Cursor agent mode, o kahit anong coding agent ay gagana rin equally well — ibigay dito ang page na ito bilang context at sabihin ang goal.

Kung mas gusto mong ikaw mismo ang magpatakbo ng wizard, ang steps sa ibaba ay eksaktong gagawin ng agent.


Step 0 — Gumawa ng account mo

  1. Buksan ang mint.mintbot.ai.
  2. I-type ang email address na gusto mong gamitin bilang operator login.
  3. I-click ang Send me a sign-in link.
  4. Buksan ang email mula sa pigeon@mintbot.ai at i-click ang magic link (valid for 24 h, single-use).

Walang password — bawat susunod na login ay isa pang magic link. Intentional ito: nagle-leak ang passwords, hindi ang magic links, at madali ang mga ito para sa agent na i-automate later kung magse-set up ka ng email access.


Step 1 — Domain

Ang unang tanong ng wizard ay saan titira ang agents mo. May dalawang choices ka:

Ang agents ay nasa subdomains ng domain na pagmamay-ari mo — hal. agent1.yourbrand.com, agent2.yourbrand.com, … Ito ang branded experience na makikita ng customers mo.

Kakailanganin mo ng:

  • Apex domain — isang registered, bare domain (walang https://, walang subdomain): yourbrand.com.
  • DNS provider — sa ngayon, Zone.ee lang ang may working backend. Nasa roadmap ang Cloudflare at manual modes.
  • Zone.ee API key + username — ini-issue mula sa my.zone.euAccount settings → API keys → Create new key. Ginagamit ito ng agent para gumawa ng A-records automatically kapag nagpo-provision ka ng agent.

Subdomain numbering style

  • Text prefix + number (default) — agent1.yourbrand.com, agent2.yourbrand.com, … Pinaka human-readable.
  • Numeric only1.yourbrand.com, 2.yourbrand.com, … Maikli.
  • Numeric, zero-padded001.yourbrand.com, … Stable ang width.

Purely cosmetic ang choice — okay ang deploy worker sa lahat ng tatlo.

Ang agents ay nasa *.mintbot.ai — walang setup, walang DNS, pero hindi dala ng URL ang brand mo. Useful para sa quick testing; lumipat sa sarili mong domain bago ang customer-facing launch.


Step 2 — Bot

Bawat agent ay may chat surface. Telegram ang ina-assume ng defaults — naka-scaffold ang Discord at Slack pero hindi pa wired.

Makikipag-chat ang customers mo sa @yourbrand_bot, kaya intact ang brand.

  1. Buksan ang @BotFather sa Telegram.
  2. I-send ang /newbot. Bigyan ang bot ng display name at username (dapat nagtatapos sa bot).
  3. Magbabalik ang BotFather ng token na may hugis na 123456789:AA… (kahit 40 characters).
  4. I-paste ang token na iyon sa wizard.

Tingnan ang bot tutorial ng Telegram kung gusto mo ng mas mahabang version.

Makikipag-chat ang customers sa @mintbot_dev_bot. Mabilis para sa demo, pero unbranded. Lumipat sa sarili mong bot bago mag-launch.

I-skip muna ang Telegram nang buo. Maa-access ng customers ang agents sa pamamagitan lang ng web panel. Maaari kang magdagdag ng bot later mula sa Settings.


Step 3 — Template

Bawat agent ay binubuo mula sa isang template repository na naglalaman ng CSS, copy, default persona, at plugin set ng agent. Ikaw ang magdedesisyon ng itsura.

Default template — mintbot-ai/agent-template

Ito ang default template na nifo-fork para sa bawat bagong client agent. Kinokontrol nito ang SOUL.md (agent persona), config.yaml (Hermes settings), at panel theme (CSS variables at copy). I-fork ito, gawin ang changes mo, at ituro ang wizard sa URL ng fork mo. Bawat deploy ay humihila ng fresh copy, kaya palaging nakukuha ng clients mo ang latest revision.

I-branch ang mintbot-ai/agent-template, i-edit ang CSS / strings / persona para tumugma sa brand mo, at i-paste ang URL ng fork mo.

Safety net

Bawat deploy ay humihila ng fresh copy ng fork mo at nagpapatakbo ng contract tests. Kung mag-fail ang mga ito, mag-a-abort ang deploy — hindi kailanman makikita ng customer mo ang broken build.

Plain mintbot styling. Maaari kang lumipat sa sarili mong fork later mula sa Settings.


Step 4 — API

Pinapayagan ka ng Brand Partner API na i-orchestrate ang paggawa ng agent mula sa sarili mong backend sa halip na gamitin ang dashboard. Nilalaktawan ng wizard ang API setup bilang default — iwan mo muna ito para sa susunod maliban kung handa ka nang mag-integrate ngayon.

Kapag handa ka na:

  1. Mula sa dashboard, buksan ang Settings → API access.
  2. I-click ang Generate key. Ipapakita ang plaintext nang isang beses lang — itago ito sa iyong secret manager.
  3. (Optional) Mag-configure ng webhook URL para makatanggap ng lifecycle events.
  4. (Optional) Gumawa ng webhook signing secret kapag handa na ang receiver mo na mag-verify ng signatures.

Tingnan ang Brand Partner API reference para sa buong listahan ng endpoints at ang mga hugis ng webhook payload.

Optional ang Webhook URL at signing secret

Hindi kailangan ang alinman para magsimulang magbenta — gumagana nang maayos ang dashboard at API kahit wala ang mga ito. Mananatiling walang laman ang webhook URL field hanggang mayroon kang receiver na nakaturo sa https://<your-host>/...; kapaki-pakinabang lang ang signing secret kapag na-set mo na ang URL na iyon at gusto mong i-verify ang X-Mintbot-Signature header. Pareho itong puwedeng idagdag (o i-rotate) anumang oras mula sa Settings → API access.

Hayaan ang integration agent na i-discover ang setup

Kapag mayroon ka nang API key, maaaring tumawag ang agent sa GET /api/v1/settings para basahin ang iyong buong non-secret configuration sa isang request — domain, DNS provider, bot, template, subdomain pattern, pricing, readiness. Walang secret na kailanman ibinabalik (lumalabas lang ang tokens at keys bilang *_set booleans), kaya ligtas ibahagi ang key sa agent na nag-i-install ng white-label setup mo sa bagong server.

Laktawan ang boilerplate — i-fork ang reference portal

May kumpleto at runnable na example storefront sa mintbot-ai/partner-portal-example. Tingnan ang Reference portal sa ibaba para sa buong walkthrough.


Step 5 — Pricing

Ang huling step ng wizard ay kung magkano ang babayaran ng customers mo kada package. Hinahati ng MintOffice ang pricing sa dalawang mode — puwede kang magpalit mamaya sa ilalim ng Settings → Pricing:

Makikita ng customers ang recommended price ng mintbot kada tier (Trial, Starter, Pro, Max). Kikita ka ng partner margin sa pagitan ng recommended price na iyon at ng wholesale floor — zero setup. Piliin ito kung gusto mo lang magsimulang magbenta.

Ikaw ang magse-set ng presyong babayaran ng bawat customer para sa bawat tier. Mapupunta sa iyo ang bawat sentimo na lampas sa wholesale floor. Piliin ito kapag mayroon kang sadyang markup strategy.

Ang wholesale floor ang sinisingil ng mintbot sa iyo kada order — ito ang absolute minimum na puwede mong singilin. Ang partner cut mo ay customer_price − wholesale_floor kada order. Ipinapakita muna ng wizard ang preview ng calculated margins kada tier bago ka mag-submit.

Puwedeng partial ang custom pricing

Kahit nasa custom mode, hindi mo kailangang i-override ang bawat tier — iwan ang tier sa default at mamanahin nito ang recommended price ng mintbot. I-edit lang ang mga mahalaga sa iyo.


Going live

Pagkatapos ng wizard, magpapakita ang dashboard ng banner na naglilista ng anumang kulang pa na required info. Ang apat na required fields ay:

  1. Telegram bot token (o ibang bot provider)
  2. DNS API key (hal. Zone.ee key + username)
  3. Template repo URL
  4. Apex domain

Kapag napunan na ang apat at pumasa ang DNS provider check, maa-activate ang Go Live button. Kapag na-click ito, lilipat ang partner status mo mula onboardinglive, at magsisimulang tumanggap ang Brand Partner API ng order-creation requests.

One-way handshake ang activation

Mananatili ang account mo sa onboarding hanggang i-click mo ang Go Live. Habang onboarding, nire-reject ng API ang writes gamit ang 403 (mananatiling bukas ang reads para ma-inspect mo ang state). Huwag mag-activate hanggang verified ang domain DNS mo sa Zone.ee at green ang tests ng template repo mo.

Pagkatapos ng Go Live: naka-lock ang domain + Telegram bot settings

Kapag live na ang partner status mo, magiging read-only ang Domain at Telegram bot sections ng Settings. Nakaturo na ang existing customer agents sa apex domain mo at nakikipag-chat na sila sa pamamagitan ng bot mo — ang tahimik na pagbabago ay mag-oorphan sa kanila habang active pa sila. Mananatiling editable ang ibang sections:

Section Editable habang live?
Domain / DNS / subdomain pattern No — makipag-ugnayan sa support kung kailangan mong mag-migrate
Telegram bot No — makipag-ugnayan sa support kung kailangan mong mag-migrate
Agent template Yes — gagamitin ng bagong orders ang bagong template; pananatilihin ng existing agents ang seeded template nila
API key / webhook Yes — puwedeng i-rotate anumang oras
Pricing Yes — nalalapat sa future orders

Ipinapatupad ang lock pareho sa UI (disabled ang fieldset, may banner na nagpapaliwanag kung bakit) at sa server (ang POSTs sa /settings na may section=domain o section=bot ay nagbabalik ng 403).


Webhooks + payouts

  • Webhook deliveries — bawat lifecycle event (order created, activated, expired) ay nagpo-post sa webhook URL na itinakda mo sa Settings. Ipinapakita ng per-partner Webhook health chip sa dashboard ang delivery success rate sa nakaraang 24 h.
  • Revenue ledger — bawat paid order ay nagsusulat ng row na may gross mo, cut mo, at cut ng mintbot. Ipinapakita ng dashboard ang lifetime totals at unpaid balance.
  • Payouts — naiipon. Manu-manong ibinabayad ito ng mintbot team ayon sa partner agreement; sinusubaybayan ng dashboard ang paid vs unpaid status.

Reference portal

Kung ayaw mong gumawa ng storefront mula sa simula, i-fork ang official example: mintbot-ai/partner-portal-example. MIT-licensed itong FastAPI + SQLite + Docker, may kasamang fictional "AcmeAI" branding na puwede mong palitan, at sakop nito ang buong loop end-to-end:

  • landing page na may plan cards,
  • /buy form → POST /api/v1/orders → Stripe checkout redirect,
  • thank-you / cancel return pages,
  • POST /webhooks/mintoffice gamit ang HMAC signature verifier,
  • HTTP-Basic-auth /admin event browser,
  • /healthz liveness probe.

Setup walkthrough

  1. I-fork ang repo para maitago mo sa git ang branding changes mo:

    git clone https://github.com/mintbot-ai/partner-portal-example.git
    cd partner-portal-example
    cp .env.example .env
    
  2. Punan ang .env gamit ang values mula sa MintOffice dashboard mo:

    Variable Ano ang ilalagay dito
    PARTNER_BRAND Brand name na makikita ng customer (ginagamit din bilang Stripe line-item label).
    MINTOFFICE_API_URL https://mint.mintbot.ai para sa live, https://mint.mintbot.dev para sa testing.
    MINTOFFICE_API_KEY API key mula sa Settings → API access (format mo_live_…).
    MINTOFFICE_WEBHOOK_SECRET Webhook signing secret na ipinakita nang isang beses sa creation sa parehong dashboard.
    PUBLIC_BASE_URL Ang HTTPS URL kung saan titira ang portal mo (ginagamit para buuin ang Stripe success_url / cancel_url).
    ADMIN_USERNAME / ADMIN_PASSWORD Basic-auth gate sa /admin. Gumamit ng mahaba at random na password.
  3. Patakbuhin ito — Docker ang pinakamadaling path; gumagana rin ang bare-metal:

    docker compose up --build
    
    pip install -e .
    uvicorn app.main:app --reload
    
  4. I-expose ito sa HTTPS — nire-reject ng MintOffice ang http:// para sa parehong Stripe redirect URLs at webhook URL (blocked ng SSRF guard ang private IPs at localhost). Para sa local development, gumamit ng Cloudflare Tunnel, Tailscale Funnel, o ngrok. Para sa production, i-deploy sa sarili mong host.

  5. Ituro ang partner row mo sa portal — bumalik sa dashboard:

    • I-set ang Webhook URL sa https://<your-host>/webhooks/mintoffice.
    • Iyon lang. Mag-place ng test order mula sa /buy, at panoorin ang events na dumating sa /admin.

Rebranding

Nagpapanggap ang default templates bilang AcmeAI. Tatlong touch-points:

  • PARTNER_BRAND sa .env — dumadaloy sa Stripe, headers, footers.
  • app/templates/base.html — CSS variables para sa colours / accent.
  • app/templates/*.html — copy at per-page layout. Ang translations (Estonian, Spanish, …) ay nabubuhay bilang forks ng files na ito.

Quick deploy sa parehong VPS ng agents mo

Sapat na maliit ang example portal para patakbuhin kasama ng MintOffice deploy agent mo. Kung mayroon ka nang mintbot agent VPS, hilingin dito: "Deploy partner-portal-example as a webhook receiver under https://portal.<my-domain>/, fill in MINTOFFICE_API_KEY and MINTOFFICE_WEBHOOK_SECRET from GET /api/v1/settings, and set the webhook URL on my partner row." Nasa agent ang docs at API key path para gawin ito end-to-end.


Brand Partner API

Para sa programmatic agent creation, status polling, at webhook events, tingnan ang Brand Partner API reference. Para sa mas malawak na architecture (kung paano nagfi-fit together ang storefront mo, API, deploy worker, at bawat customer agent VPS), tingnan ang MintOffice — Technical.