MintOffice¶
MintOffice is het Brand Partner-portaal voor mintbot.ai. Het stelt je in staat om mintbot onder je eigen merk te verkopen: je eigen domein, je eigen bot, je eigen klantenlijst — terwijl mintbot de deployment, de betaalinfrastructuur en de infrastructuur per agent onder de motorkap verzorgt.
Het live partnerportaal staat op mint.mintbot.ai.
Deze gids neemt je mee van "ik heb net over MintOffice gehoord" tot "mijn eerste white-label agent draait live op mijn eigen domein". De technische onderdelen (DNS-records, GitHub-repo, bottoken) kun je het beste door een mintbot-agent voor je laten afhandelen — zie Laat een agent je instellen voordat je begint.
Bouw je de integratie zelf?
Voor de developer-kant — welke repositories je bezit, hoe de deploy-flow van begin tot eind verloopt, en hoe de Agent customization repo + storefront samenwerken — zie MintOffice — Technisch.
Wat je krijgt¶
- Verkoop elk mintbot-pakket (Trial, Starter, Pro, Max) onder je eigen
domein door — je klanten zien
agent1.yourbrand.com, niet*.mintbot.ai. - Gebruik je eigen Telegram-bot (
@yourbrand_bot) voor chatverkeer, of leen de bot van mintbot terwijl je nog aan het testen bent. - Kies je klantgerichte prijzen en steek het verschil op zak tussen wat jij hen rekent en wat mintbot jou rekent (de MintOffice-groothandelsbodem).
- Een Brand Partner API voor programmatische ordercreatie, lifecyclestatus en webhooks terug naar je eigen systemen.
- Een dashboard dat actieve klantorders, de gezondheid van de botkoppeling, prijzen, uitbetalingen en webhook-bezorging toont.
Prijzen — Brand Partner-instelkosten¶
Aanmelden voor een gratis proefaccount op het portaal is, nou ja, gratis —
maar de Brand Partner-aanmelding is de enige betaling die er een echt
brand-partneraccount van maakt. Je betaalt de eenmalige instelfee op
reception.mintbot.ai/mintoffice
(of reception.mintbot.dev/mintoffice voor de dev/test-omgeving) en
dezelfde betaling ontgrendelt beide portalen:
| Tier | Prijs | Wat is inbegrepen |
|---|---|---|
| Gratis proefperiode (standaard voor elke nieuwe partner) | €0 | 10 wegwerpbare DEV-deploys om je portaal + template te testen |
| Brand Partner — lanceringsactie | €49 eenmalig + €10/maand | 20 DEV-deploys (elk €1 aan agent-tegoed), eerste maand accountbeheer inbegrepen, Brand Partner-status op zowel mint.mintbot.ai als mint.mintbot.dev, uitgebreide instelgids (een agent kan de hele wizard voor je doorlopen) |
| Brand Partner — standaard | €99 eenmalig + €10/maand | Hetzelfde als lancering — zonder de actie |
Aanmelding is in bèta
Brand Partner-checkout staat momenteel open op de dev/test-omgeving
(reception.mintbot.dev/mintoffice).
De live .ai-checkout gaat binnenkort open.
Wat de instelfee dekt:
- 20 DEV-deploys, elk een wegwerpbare test-VPS van 24 uur met €1 aan agent-tegoed — genoeg om je portaal en customization-template van begin tot eind uit te proberen.
- Je eerste maand accountbeheer (de €10/maand-fee hieronder) — zo is maand één al betaald.
- Brand Partner-status op zowel
mint.mintbot.aialsmint.mintbot.dev.
De €10/maand-accountbeheerfee:
Vanaf de tweede maand draagt het Brand Partner-account een €10/maand- accountbeheerfee. De soepelste manier om die te betalen is een Stripe- of PayPal-abonnement (aanbevolen — het verlengt zichzelf); de eenmalige instelfee kun je ook met kaart of crypto betalen (BTC, XMR en vele coins via CCPayment).
Als de maandelijkse fee vervalt, gaat je MintOffice-account naar gepauzeerd: je kunt geen nieuwe agents deployen, maar je bestaande klantagents blijven draaien. We nemen contact met je op voordat er iets stopt, zodat je kunt hervatten.
Wat er gebeurt nadat je hebt betaald:
- Reception verwerkt de instelbetaling op
reception.mintbot.ai/mintoffice(of.devals je op de testomgeving zit) — kaart / Apple Pay / Google Pay, of crypto. - Reception stuurt onmiddellijk een ondertekende grant naar zowel
mint.mintbot.aialsmint.mintbot.dev, waardoor je account op beide portalen naar Brand Partner-status wordt omgezet. - Je ontvangt een welkomstmail van
pigeon@mintbot.ai(ofpigeon@mintbot.devals je op de testomgeving hebt gekocht) met beide inloglinks en een verwijzing naar deze gids. - Log in op het portaal waarmee je wilt beginnen. Als de cross-env-push om de een of andere reden een van beide portalen heeft gemist, vraagt de eerste login op dat portaal aan reception "heeft deze e-mail betaald?" en past de grant ter plekke toe.
De lanceringsactie staat standaard aan zolang we MintOffice uitrollen; deze
wordt geregeld door de serverflag MINTOFFICE_SETUP_PROMO, dus de prijs die
je bij het afrekenen ziet, is de prijs die je betaalt.
Terugbetalingen
Terugbetalingstermijn van 14 dagen, zonder vragen — als de tier het voor
jouw use case niet waard is, mail support@mintbot.ai en we storten de
fee terug.
De groothandelsprijs per agent (het tarief dat mintbot je rekent voor elke klantorder die je aanmaakt) staat los van de instelkosten en vind je in Stap 5 — Prijzen hieronder.
Laat een agent je instellen¶
Het meeste technische werk — een domein kopen, DNS configureren, een Telegram-bot aanmaken, de template-repo forken — is mechanisch. Je kunt het met de hand doen, maar de soepelste weg is om het aan een mintbot-agent te delegeren.
Aanbevolen aanpak
Start een mintbot-agent en vraag hem:
"Stel me in als MintOffice brand partner onder domein yourbrand.com
— loop met me door de onboardingwizard en vul namens mij alles in wat je
kunt."
De agent heeft toegang tot een terminal, een browser, een DNS-API, GitHub- authenticatie en kennis van deze gids. Hij vertelt je precies welke stap jouw tussenkomst vereist (bijvoorbeeld het bevestigen bij BotFather in Telegram) en regelt de rest.
Je eigen Hermes, een OpenCode-/ OpenClaw-installatie, Cursor agent-modus of elke andere coding-agent werkt net zo goed — geef hem deze pagina als context en vertel hem het doel.
Als je de wizard liever zelf doorloopt, zijn de onderstaande stappen precies wat de agent zou doen.
Stap 0 — Maak je account aan¶
- Open mint.mintbot.ai.
- Typ het e-mailadres dat je als operator-login wilt gebruiken.
- Klik op Send me a sign-in link.
- Open de e-mail van
pigeon@mintbot.aien klik op de magic link (24 uur geldig, eenmalig te gebruiken).
Er is geen wachtwoord — elke volgende login is opnieuw een magic link. Dit is bewust: wachtwoorden lekken, magic links niet, en ze zijn voor een agent later makkelijk te automatiseren als je e-mailtoegang instelt.
Stap 1 — Domein¶
De eerste vraag van de wizard is waar je agents komen te wonen. Je hebt twee keuzes:
Agents wonen op subdomeinen van een domein dat jij bezit — bijv.
agent1.yourbrand.com, agent2.yourbrand.com, … Dit is de gebrande
ervaring die je klanten zien.
Je hebt nodig:
- Apex-domein — een geregistreerd, kaal domein (geen
https://, geen subdomein):yourbrand.com. - DNS-provider — momenteel heeft alleen Zone.ee een werkende backend. Cloudflare en handmatige modi staan op de roadmap.
- Zone.ee API-sleutel + gebruikersnaam — aangevraagd via my.zone.eu → Account settings → API keys → Create new key. De agent gebruikt dit om automatisch A-records aan te maken wanneer je een agent provisiont.
Stijl voor subdomeinnummering
- Tekstprefix + nummer (standaard) —
agent1.yourbrand.com,agent2.yourbrand.com, … Best leesbaar. - Alleen numeriek —
1.yourbrand.com,2.yourbrand.com, … Kort. - Numeriek, met voorloopnullen —
001.yourbrand.com, … Vaste breedte.
De keuze is puur cosmetisch — de deploy-worker kan met alle drie overweg.
Agents wonen op *.mintbot.ai — geen setup, geen DNS, maar de URL draagt
je merk niet. Handig om even uit te proberen; schakel over naar je eigen
domein vóór een klantgerichte lancering.
Stap 2 — Bot¶
Elke agent krijgt een chatoppervlak. De standaardinstellingen gaan uit van Telegram — Discord en Slack zijn voorbereid maar nog niet aangesloten.
Je klanten chatten met @yourbrand_bot, waardoor het merk intact blijft.
- Open @BotFather in Telegram.
- Stuur
/newbot. Geef de bot een weergavenaam en een gebruikersnaam (moet eindigen opbot). - BotFather retourneert een token in de vorm
123456789:AA…(minstens 40 tekens). - Plak dat token in de wizard.
Zie Telegram's bot-tutorial als je de uitgebreidere versie wilt.
Klanten chatten met @mintbot_dev_bot. Snel voor een demo, maar zonder
merk. Schakel vóór de lancering over naar je eigen bot.
Sla Telegram helemaal over. Klanten benaderen agents alleen via het webpaneel. Je kunt later een bot toevoegen via Settings.
Stap 3 — Agent customization repo¶
Elke agent wordt door mintbot zelf gedeployd op een standaard, merkloze basis. Om jouw merk erbovenop te zetten — persona, paneelthema, teksten, extra tooling — wijs je de wizard naar een agent customization repo: een GitHub-repository die de eigen VPS van de agent na de standaard deploy kloont en uitvoert. Jij bepaalt de look; jij bezit de code.
Hoe de agent customization repo werkt
De root van de repo bevat twee scripts:
install.sh— draait één keer op de VPS van de agent, nadat de standaard deploy is voltooid en de agent gezond is. Hier pas je je maatwerk toe: thema, persona-aanpassingen, extra tools, elke klantspecifieke setup.update.sh— optioneel; draait na elke update van het basispakket, zodat je je laag opnieuw bovenop de zojuist bijgewerkte basis kunt toepassen.
Mintbot voert je repo nooit uit — alleen de eigen VPS van de agent doet dat, op de eigen machine van de klant. Plak de GitHub HTTPS-URL van je repo in de wizard; laat het leeg en je krijgt de kale, merkloze basis.
Maak een repo met een install.sh (en optioneel update.sh) in de root
die je CSS / strings / persona toepast, en plak vervolgens de GitHub
HTTPS-URL van de repo. De VPS van de agent kloont deze na de deploy en
draait je scripts om je merk bovenop de basis te leggen.
Een kapot script kan de agent van je klant niet breken
Je scripts zijn fail-geïsoleerd. Als install.sh of update.sh
ontbreekt, een fout geeft of traag draait, slaagt de deploy alsnog,
wordt de update van het basispakket nooit geblokkeerd of teruggedraaid,
en blijft de agent gezond. De fout wordt op de VPS gelogd en aan jou
getoond — nooit aan de eindklant. Het enige nadeel van een kapot script
is dat de agent op de kale basis blijft in plaats van op je gebrande
laag, dus test je repo eerst op een DEV-deploy.
Kale, merkloze basisstyling en -persona — geen agent customization repo. Je kunt later een repo-URL toevoegen via Settings.
Stap 4 — API¶
Met de Brand Partner API kun je het aanmaken van agents vanuit je eigen backend orkestreren in plaats van via het dashboard. De wizard slaat de API-setup standaard over — laat het voor later, tenzij je nu klaar bent om te integreren.
Wanneer je er klaar voor bent:
- Open in het dashboard Settings → API access.
- Klik op Generate key. De plaintext wordt één keer getoond — bewaar deze in je secret manager.
- (Optioneel) Configureer een webhook-URL om lifecycle-events te ontvangen.
- (Optioneel) Genereer een webhook signing secret zodra je ontvanger klaar is om handtekeningen te verifiëren.
Zie de Brand Partner API-referentie voor de volledige lijst met endpoints en de vormen van de webhook-payloads.
Webhook-URL en signing secret zijn optioneel
Geen van beide is vereist om te beginnen met verkopen — het dashboard en
de API werken prima zonder. Het veld voor de webhook-URL blijft leeg
totdat je een ontvanger hebt die naar https://<your-host>/... wijst; de
signing secret is pas nuttig zodra je die URL hebt ingesteld en de
X-Mintbot-Signature header wilt verifiëren. Beide kunnen op elk moment
worden toegevoegd (of geroteerd) via Settings → API access.
Laat een integratie-agent de setup ontdekken
Zodra je een API-sleutel hebt, kan een agent
GET /api/v1/settings aanroepen om in
één keer je volledige niet-geheime configuratie te lezen — domein,
DNS-provider, bot, agent customization repo, subdomeinpatroon, prijzen,
gereedheid. Er wordt nooit een secret geretourneerd (tokens en sleutels
verschijnen alleen als *_set-booleans), dus de sleutel is veilig te delen
met de agent die je white-label setup op een verse server installeert.
Sla het boilerplate over — fork het referentieportaal
Een compleet, uitvoerbaar voorbeeld-storefront staat op mintbot-ai/partner-portal-example. Zie Referentieportaal hieronder voor de volledige walkthrough.
Stap 5 — Prijzen¶
De laatste wizardstap is wat je klanten per pakket betalen. MintOffice splitst de prijsstelling in twee modi — je kunt later wisselen onder Settings → Pricing:
Klanten zien de door mintbot aanbevolen prijs per tier (Trial, Starter, Pro, Max). Jij verdient de partnermarge tussen die aanbevolen prijs en de groothandelsbodem — geen setup nodig. Kies dit als je gewoon wilt beginnen met verkopen.
Jij stelt de prijs in die elke klant voor elke tier betaalt. Je houdt elke cent boven de groothandelsbodem. Kies dit wanneer je een doelbewuste opslagstrategie hebt.
De groothandelsbodem is wat mintbot jou per order rekent — het absolute
minimum dat je kunt vragen. Jouw partneraandeel is
customer_price − wholesale_floor per order. De wizard toont een voorbeeld
van de berekende marges per tier voordat je indient.
Aangepaste prijzen kunnen gedeeltelijk zijn
Zelfs in de custom-modus hoef je niet elke tier te overschrijven — laat een tier op de standaard staan en deze erft de door mintbot aanbevolen prijs. Bewerk alleen de tiers waar je om geeft.
Live gaan¶
Na de wizard toont het dashboard een banner met de nog ontbrekende verplichte informatie. De drie verplichte velden zijn:
- Telegram-bottoken (of een andere botprovider)
- DNS-API-sleutel (bijv. Zone.ee-sleutel + gebruikersnaam)
- Apex-domein
De agent customization repo-URL is optioneel — laat het leeg en je agents worden gedeployd op de kale, merkloze basis.
Zodra de verplichte velden zijn ingevuld en de DNS-providercontrole slaagt,
wordt de knop Go Live geactiveerd. Erop klikken zet je partnerstatus van
onboarding → live, en de Brand Partner API begint ordercreatie-requests
te accepteren.
Activering is een eenrichtingshandshake
Je account blijft in onboarding totdat je op Go Live klikt. Tijdens
onboarding weigert de API writes met een 403 (reads blijven open zodat je
de status kunt inspecteren). Activeer niet voordat je domein-DNS is
geverifieerd in Zone.ee en (als je er een gebruikt) je je customization
repo hebt getest op een DEV-deploy.
Na Go Live: domein- + Telegram-botinstellingen vergrendelen
Zodra je partnerstatus live is, worden de secties Domain en
Telegram bot van Settings alleen-lezen. Bestaande klantagents wijzen
al naar je apex-domein en chatten via je bot — een stille wijziging zou ze
midden in hun leven verweesd achterlaten. De andere secties blijven
bewerkbaar:
| Sectie | Bewerkbaar terwijl live? |
|---|---|
| Domain / DNS / subdomeinpatroon | Nee — neem contact op met support als je moet migreren |
| Telegram bot | Nee — neem contact op met support als je moet migreren |
| Agent customization repo | Ja — nieuwe agents klonen de nieuwe repo-URL; bestaande agents draaien deze opnieuw via update.sh bij hun volgende basisupdate |
| API key / webhook | Ja — roteer wanneer je wilt |
| Pricing | Ja — geldt voor toekomstige orders |
De vergrendeling wordt afgedwongen in zowel de UI (fieldset uitgeschakeld,
banner die uitlegt waarom) als op de server (POST's naar /settings met
section=domain of section=bot retourneren 403).
Webhooks + uitbetalingen¶
- Webhook-bezorgingen — elk lifecycle-event (order aangemaakt, geactiveerd, verlopen) post naar de webhook-URL die je in Settings hebt ingesteld. De Webhook health-chip per partner in het dashboard toont het bezorgingssuccespercentage over de laatste 24 uur.
- Omzetgrootboek — elke betaalde order schrijft een rij met je bruto, jouw aandeel en het aandeel van mintbot. Het dashboard toont de totalen over de gehele looptijd en het onbetaalde saldo.
- Uitbetalingen — stapelen zich op. Het mintbot-team betaalt ze handmatig uit per partnerovereenkomst; het dashboard houdt de betaald-versus-onbetaald-status bij.
Referentieportaal¶
Als je geen storefront vanaf nul wilt bouwen, fork dan het officiële voorbeeld: mintbot-ai/partner-portal-example. Het is MIT-gelicenseerde FastAPI + SQLite + Docker, wordt geleverd met een fictieve "AcmeAI"-branding die je kunt vervangen, en dekt de volledige loop van begin tot eind:
- landingspagina met plankaarten,
/buy-formulier →POST /api/v1/orders→ Stripe checkout-redirect,- bedank- / annuleer-retourpagina's,
POST /webhooks/mintofficemet de HMAC-handtekeningverifier,/admin-eventbrowser met HTTP-Basic-auth,/healthzliveness-probe.
Setup-walkthrough¶
-
Fork de repo zodat je je brandingwijzigingen in git kunt bijhouden:
git clone https://github.com/mintbot-ai/partner-portal-example.git cd partner-portal-example cp .env.example .env -
Vul
.envin met waarden uit je MintOffice-dashboard:Variabele Wat hier komt PARTNER_BRANDVoor de klant zichtbare merknaam (ook gebruikt als label van het Stripe-regelitem). MINTOFFICE_API_URLhttps://mint.mintbot.aivoor live,https://mint.mintbot.devvoor testen.MINTOFFICE_API_KEYAPI-sleutel uit Settings → API access (formaat mo_live_…).MINTOFFICE_WEBHOOK_SECRETWebhook signing secret die bij het aanmaken één keer in hetzelfde dashboard wordt getoond. PUBLIC_BASE_URLDe HTTPS-URL waarop je portaal komt te staan (gebruikt om Stripe success_url/cancel_urlop te bouwen).ADMIN_USERNAME/ADMIN_PASSWORDBasic-auth-poort op /admin. Gebruik een lang willekeurig wachtwoord. -
Draai het — Docker is de makkelijkste weg; bare-metal werkt ook:
docker compose up --buildpip install -e . uvicorn app.main:app --reload -
Stel het beschikbaar via HTTPS — MintOffice weigert
http://voor zowel Stripe-redirect-URL's als de webhook-URL (privé-IP's enlocalhostworden geblokkeerd door de SSRF-guard). Gebruik voor lokale ontwikkeling Cloudflare Tunnel, Tailscale Funnel of ngrok. Deploy voor productie naar je eigen host. -
Wijs je partnerrij naar het portaal — terug in het dashboard:
- Stel Webhook URL in op
https://<your-host>/webhooks/mintoffice. - Dat is alles. Plaats een testorder via
/buyen kijk hoe de events binnenkomen in/admin.
- Stel Webhook URL in op
Rebranding¶
De standaardtemplates doen alsof ze AcmeAI zijn. Drie aanknopingspunten:
PARTNER_BRANDin.env— stroomt door naar Stripe, headers, footers.app/templates/base.html— CSS-variabelen voor kleuren / accent.app/templates/*.html— teksten en lay-out per pagina. Vertalingen (Ests, Spaans, …) bestaan als forks van deze bestanden.
Snelle deploy op dezelfde VPS als je agents
Het voorbeeldportaal is klein genoeg om naast je MintOffice-deploy-agent
te draaien. Als je al een mintbot-agent-VPS hebt, vraag hem dan:
"Deploy partner-portal-example als webhook-ontvanger onder
https://portal.<my-domain>/, vul MINTOFFICE_API_KEY en
MINTOFFICE_WEBHOOK_SECRET in vanuit GET /api/v1/settings, en stel de
webhook-URL in op mijn partnerrij." De agent heeft de documentatie en het
API-sleutelpad om dit van begin tot eind te doen.
Brand Partner API¶
Voor programmatische agentcreatie, statuspolling en webhook-events, zie de Brand Partner API-referentie. Voor de bredere architectuur (hoe je storefront, de API, de deploy-worker en de agent-VPS van elke klant samenwerken), zie MintOffice — Technisch.