Fakturace a tarify

Většina toho, co následuje, je pro člověka v dashboardu, ne pro agenta: POST /v1/billing/checkout, POST /v1/billing/portal, POST /v1/billing/addons/* a POST /v1/team/* vyžadují přihlášenou dashboardovou session (cookie prohlížeče) — API klíč MCP agenta je zavolat nemůže. Jediný fakturační endpoint, který agent zavolat může přímo, je GET /v1/usage — ten přijímá session i API klíč. Přechod na vyšší tarif, platba i zvaní kolegů do týmu musí proběhnout přes dashboard.

Srovnání tarifů

Funkce Free Solo Studio Agency
Cena měsíčně $0 $29 $50 $79
Aktivní sběry podkladů 1 15 30 60
Položek na sběr podkladů 10 Neomezeně Neomezeně Neomezeně
Uživatelů 1 1 1 3
Úložiště 1 GB 25 GB 50 GB 100 GB
Limit API 60 req/h 600 req/h 1 500 req/h 3 000 req/h
Trezor na přístupy Ne Ano Ano Ano
Žádosti o opravu položek Ne Ano Ano Ano
Vlastní branding „Powered by BriefGate“ + referral odkaz Vaše logo a barvy, bez referral odkazu + vlastní doména portálu + vlastní doména portálu
Vlastní doména pro odesílání Ne Ne Ano Ano
Rozvrhy upomínek default, off Všechny (gentle/default/aggressive/custom/off) Všechny Všechny
Šablony 3 veřejné 3 veřejné + vlastní 3 veřejné + vlastní 3 veřejné + vlastní + sdílené v týmu
Podpora Komunitní E-mail, 48 h Prioritní e-mail, 24 h Prioritní e-mail, 24 h
Roční platba — $23,20/měs (–20 %) $40/měs (–20 %) $63,20/měs (–20 %)

Roční platba se strhává jednorázově dopředu. Měsíční částky výše ukazují efektivní cenu za měsíc.

Studio je pro jednoho člověka, který potřebuje funkce z Agency — vlastní doménu, prioritní podporu — bez placení za další uživatele. Nese všechny funkce Agency kromě dalších uživatelů a vyšších kvót: obě vlastní domény jsou k dispozici a podpora má stejný cíl 24 h.

Doplňky

Doplněk Cena Tarif
Úložiště navíc +50 GB za $5 měsíčně Solo, Studio, Agency
Další uživatel v Agency +$15 za uživatele měsíčně Agency
Balíček SMS kreditů 50 SMS kreditů za balíček Studio, Agency

Změna úložiště navíc

Úložiště se obnovuje spolu s tarifem, takže je to položka na stávajícím předplatném, ne samostatný nákup. Nastavíte, kolik bloků po 50 GB chcete:

POST /v1/billing/addons/storage
json
{ "blocks": 2 }

Změna platí okamžitě a Stripe ji poměrně dopočítá. { "blocks": 0 } doplněk zruší. Vyžaduje aktivní placené předplatné.

Balíčky SMS kreditů

SMS kredity se čerpají za zprávu, takže balíček je jednorázový nákup přes Stripe, ne položka předplatného — dokoupíte, kdykoli dojdou. K dispozici u Studio a Agency, protože sms je funkce tarifů Studio a Agency:

POST /v1/billing/addons/sms-credits
json
{ "packs": 2 }

Odpověď:

json
{
  "url": "https://checkout.stripe.com/c/pay/cs_live_...",
  "packs": 2,
  "credits": 100
}

Jeden balíček je 50 kreditů (1–20 balíčků na nákup). Uživatele přesměrujte na url, kde platbu dokončí; kredity se přidělí, až Stripe platbu potvrdí přes webhook, ne z téhle odpovědi. Tarif bez funkce sms dostane plan_required; nasazení bez nakonfigurovaného odesílání SMS (chybějící přihlašovací údaje Twilio) nákup rovnou odmítne — prodávat kredity, které nejde doručit, by bylo braní peněz za nic.

Uživatelé navíc

Uživatele kupujete spolu s tarifem — pošlete seats do POST /v1/billing/checkout, nebo množství později změňte v zákaznickém portálu. Roční tarif účtuje uživatele ročně, protože všechny opakované položky jednoho předplatného musí mít stejný interval.

Sedadlo je člověk, který se přihlašuje do dashboardu. Klienti žádné nezabírají: svůj požadavek otevírají odkazem z e-mailu a účet nikdy nedostanou.

Koupené sedadlo se samo nezaplní — pozvěte do něj někoho v Nastavení → Tým, nebo:

POST /v1/team/invites
{ "email": "kolega@example.com" }

Přijde mu e-mail s jednorázovým odkazem, nastaví si vlastní heslo a ocitne se ve stejném účtu v roli member. Členové vidí požadavky a pracují s nimi; zvát, odebírat lidi, měnit fakturaci a smazat účet může jen vlastník.

Čekající pozvánky se do kvóty sedadel počítají, takže hromadou neotevřených pozvánek nejde jedno sedadlo obsadit dvakrát. GET /v1/team vrací aktuální seznam členů i to, co je ještě nevyřízené; GET /v1/usage hlásí seats.used proti seats.limit.

Odebrání člověka (Nastavení → Tým, nebo DELETE /v1/team/members/:id) mu okamžitě ukončí všechny relace a uvolní sedadlo. Vlastníka odebrat nelze.

Přechod na vyšší tarif

Checkout session založíte přes API:

POST /v1/billing/checkout
json
{
  "plan": "solo",
  "interval": "monthly"
}

Odpověď:

json
{
  "url": "https://checkout.stripe.com/c/pay/cs_live_..."
}

Uživatele přesměrujte na tuto adresu (nebo ji otevřete v prohlížeči), kde platbu dokončí přes Stripe. Po zaplacení je tarif aktivní okamžitě a stávajících sběrů podkladů se to nijak nedotkne.

Pro roční platbu nastavte "interval": "yearly". Přidáním "seats": 2 koupíte v témže checkoutu i uživatele navíc pro Agency (Studio má jediného uživatele a tento parametr nepřijímá).

Stránka Stripe Checkout přijímá promo kódy. Žádný parametr API pro ně není — kód zadá na stránce Stripe ten, kdo checkout dokončuje.

Aktuální veřejný kód: AGENT20 — sleva 20 % z faktur předplatného po dobu prvních 3 měsíců. U roční platby to znamená 20 % z první roční platby.

Správa předplatného

Zákaznický portál Stripe pro změnu tarifu, aktualizaci platební metody nebo zrušení:

POST /v1/billing/portal

Odpověď:

json
{
  "url": "https://billing.stripe.com/session/..."
}

Session portálu vyprší po 5 minutách. Pokud ji uživatel nestihne využít, vygenerujte novou.

Spotřebitelé z EU/ČR mají navíc zákonné právo na odstoupení od smlouvy do 14 dnů, nezávislé na tomhle zrušení — viz docs/terms.md. Řeší ho GET /v1/billing/withdrawal (náhled, co by se teď při odstoupení vrátilo) a POST /v1/billing/withdraw (odstoupení zaznamená a předplatné zruší); oba jen s dashboardovou session, vlastník i člen.

Kontrola spotřeby

Funguje s dashboardovou session i s API klíčem — žádný speciální scope není potřeba.

GET /v1/usage

Vrátí spotřebu za aktuální období proti limitům vašeho tarifu:

json
{
  "tier": "solo",
  "active_intakes": { "used": 7, "limit": 15 },
  "storage": { "used_bytes": 3221225472, "limit_bytes": 26843545600 },
  "seats": { "used": 2, "limit": 2 },
  "sms_credits": 0,
  "subscription": { "active": true },
  "rate_limit_per_hour": 600,
  "features": {
    "secrets_vault": true,
    "revisions": true,
    "sms": false,
    "custom_branding": true,
    "custom_domain": false,
    "custom_templates": true
  },
  "chase_schedules": ["default", "gentle", "aggressive", "custom", "off"]
}

Do active_intakes se počítají sběry podkladů ve stavu draft, sent nebo in_progress. Dokončené a archivované se do limitu nezapočítávají — a rozpracovaný (draft) se počítá záměrně, aby sběr podkladů skládaný přes několik volání nástroje pořád zabíral svoje místo.

subscription.active říká, jestli jde o skutečné, placené předplatné ve Stripe, nebo o tarif přidělený přímo (jako sleva/výjimka nastavená operátorem) — ze samotných limitů je nerozeznáte. features odráží stejné feature flagy jako GET /pricing.json, ale jen ty, které tenhle konkrétní účet může právě teď opravdu použít.

chase_schedules je to, co chase_schedule u POST /v1/intakes a PATCH /v1/intakes/:id právě teď skutečně přijme — na tarifu Free je to ["default", "off"]; viz Upomínkový systém.

Ceník čitelný strojem

Agenti si aktuální ceník načtou, aniž by museli scrapovat landing page:

GET https://api.briefgate.dev/pricing.json

Bez autentizace. Vrací objekt TIER_LIMITS se všemi funkcemi a číselnými limity tarifů. Odpověď lze cachovat 5 minut (Cache-Control: public, max-age=300) a CORS je otevřené, takže si ji může natáhnout přímo jakákoli origin.

Uchovávání dat

PATCH /v1/account
{"retention_days": 365}

Platný rozsah: 1 až 3650 dní.

DELETE /v1/intakes/:id

Tahle akce je nevratná. Smaže se sběr podkladů, všechny odeslané hodnoty, všechny soubory i celá historie upomínek.

Pro smazání celého účtu se obraťte na podporu. Všechna data zmizí do 30 dnů.

Když selže platba

Nic se nemaže a nic se okamžitě nevypíná.

Jakmile Stripe označí předplatné jako past_due nebo unpaid, účet si nechává tarif i všechny add-ony po dobu 14denní ochranné lhůty — propadlá karta přes víkend tak nikoho nestojí rozdělanou práci.

Dozvíte se o tom: každý vlastník účtu dostane e-mail ve chvíli, kdy ochranná lhůta začne — s částkou, která neprošla, datem konce lhůty a odkazem, kterým kartu na jedno kliknutí aktualizujete v zákaznickém portálu Stripe. Dashboard ukazuje stejné varování jako lištu na každé stránce, dokud platba neprojde, a druhý e-mail potvrdí, že prošla. Stripe během těch dvou týdnů kartu sám opakovaně zkouší (Smart Retries) a posílá i vlastní upozornění na neúspěšnou platbu. GET /v1/auth/me a GET /v1/account vrací stav v polích billing_grace_until (ISO datum nebo null) a billing_grace_expired, takže ho může zobrazit i agent.

Když lhůta skončí a platba stále neprošla, začnou se limity free tarifu uplatňovat jen na nové sběry podkladů. Ty existující běží dál: klienti pořád mohou odesílat, urgence pořád chodí a výsledky zůstávají dostupné. Po zaplacení se tarif obnoví při nejbližší události ze Stripe, ručně není potřeba dělat nic.

Data mizí jedině podle retenční politiky sběru podkladů, po výslovném smazání, nebo se zrušením účtu — nikdy kvůli neuhrazené platbě.