Katalog srovnany s tim, co opravdu bezi na services.csbot.cz/apps: trinact sluzeb dostalo pristupove udaje a levne cteci overeni, opravena appId, ktera nikam nevedla (ppl, microsoft365, transcription), a GA4, Search Console, Google Ads i Sklik ted stoji na aplikaci analytics, kazda s vlastnimi udaji. Nove sluzby SAP Business One, Google Workspace a Meta Ads. K tomu 23 skriptu, ktere s nimi opravdu neco delaji. OpenAI jako prvni sluzba, ktera nebezi u nas: Service.baseUrl s absolutni adresou, prepis pres <SLUZBA>_BASE_URL nebo adresu u konektoru, predpona hlavicky u pole udaju (uzivatel vlepi holy klic, Bearer dopise runtime). Dotaz na model, nahrani souboru, otazka nad souborem, prepis zvuku. Skript umi odeslat soubor pres ctx.http.postForm (multipart, obsah Base64). Sluzba E-mail pres SMTP. Neni to skript, ale vnitrni krok - SMTP neni HTTP. Konektor nese schranku firmy, krok ma HTML telo, ve kterem se dosazene hodnoty escapuji (znacky autora sablony jsou zamer, ostre zavorky od zakaznika ne). Overeni konektoru se prihlasi na server a nic neodesle. Helpdesk: Ticket.helpdeskSourceId drzi firmu, ktera pozadavek poslala, vlastnikem zustava ta, ktera ho resi - jinak by ho resitel nemel ve sve fronte. Komu pozadavek pripadne, urcuje Tenant.helpdeskProviderId. Zadavatel vidi jen svoje pozadavky a smi k nim pripsat komentar. Opravy v portalu: - hlasky o ulozisti a odchozi IP vidi jen spravce platformy - typ ticketu se v automatizaci vybira ze seznamu firmy, nebo dosadi z dat - stav ticketu je otevreny naseptavac, ne ciselnik - ticket jde zalozit rucne, zakaznik u nej neni povinny - kanal se prejmenoval a parametry u webhooku jsou oznacene jako nepovinne - srovnane markdown tabulky v cele dokumentaci Co z teto davky jeste neni: prepinac firmy je porad jen stav uvnitr stranky Prehled, takze se prepnuti neprojevi v Lidech ani jinde. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
5.4 KiB
Návrh monetizace a cena za krok
Stav: návrh, není naprogramované. Zbytek dokumentace popisuje hotové věci, tenhle soubor ne - viz 99-zmeny.md.
Zadání bylo: chci si napsat vlastní automatizaci a hned vidět, kolik by mě měsíčně stála, když si k jednotlivým krokům zadám ceny (například iDoklad, odeslání objednávky, 0,10 Kč).
Co se dá účtovat
Čtyři věci, každá měří něco jiného:
| Základ | Co to znamená | Proč / proč ne |
|---|---|---|
| Za uživatele | Kolik lidí má přístup do portálu | Předvídatelné, ale nesouvisí s tím, co aplikace dělá. U automatizací platí zákazník za lidi, kteří tam nemusí chodit. |
| Za automatizaci | Kolik má zapnutých stromů | Trestá to rozdělení jednoho velkého stromu na tři přehledné. Špatná motivace. |
| Za krok | Kolik kroků se skutečně vykonalo | Odpovídá naší práci: každý krok je jedno volání služby, jeden zápis, jeden běh skriptu. Zákazník vidí, za co platí. |
| Za objem dat | Kolik toho proteče | Nesouvisí s náklady, u nás jsou to kilobajty. |
Doporučení: paušál plus kroky. Paušál kryje portál, tickety, úložiště a podporu, kroky kryjí provoz automatizací. Bez paušálu je zákazník, který má automatizace vypnuté, zdarma, a přesto mu běží ticketovací systém.
Ceník kroků
Cena patří k operaci v katalogu, ne ke službě. Zápis faktury do iDokladu a jeho dotaz na kontakt stojí jinak, protože nás jinak stojí.
Tři pásma:
| Pásmo | Příklady | Návrh ceny |
|---|---|---|
| Obecné | pauza, zápis do logu, podmínka, transformace dat | 0 Kč. Účtovat podmínku je jako účtovat mezeru v textu. |
| Naše práce | webhook, plánovač, založení ticketu, přiřazení řešitele, HTTP požadavek | 0,02 Kč |
| Cizí služba | iDoklad, Shoptet, SAP, CRM, hlasová brána, AI | 0,05 až 0,50 Kč podle toho, co za to platíme sami |
Číslo je jedno pole u operace, takže se dá měnit bez zásahu do kódu. Ceník je verzovaný: změna ceny nepřepíše historii, jinak by se zpětně změnila i vyúčtovaná částka.
Odhad ceny v editoru
Co k tomu je potřeba:
- Cena u operace. Do katalogu (
src/data/services.ts) přidatpriceCzkkServiceOperation. Chybějící cena znamená 0, ne chybu - nová operace nesmí rozbít odhad. - Očekávaný počet běhů. Jedno číslo u automatizace, které zadá uživatel ("čekám 400 objednávek denně"). Bez něj nejde nic spočítat a hádat to za uživatele by dalo číslo, kterému nebude věřit.
- Součet přes strom. Podmínka má dvě větve a projde se vždycky jen jedna. Pro odhad se bere dražší větev, aby výsledek byl horní hranice, ne příjemné číslo, které se pak překročí. Vedle se ukáže i levnější varianta.
- Zobrazení. V editoru u každého kroku jeho cena, nahoře součet za běh a za měsíc. Jedna funkce, obě čísla, žádný druhý výpočet na klientovi.
Odhad je záměrně jen odhad: skutečná fakturace se počítá ze skutečně vykonaných kroků zapsaných při běhu, ne z toho, co editor předpověděl.
Skutečné vyúčtování
Každý vykonaný krok už teď zapisuje řádek do logu ticketu nebo běhu automatizace. Na fakturaci z toho chybí:
- u řádku evidovat firmu, operaci a cenu platnou v tu chvíli,
- denní součet za firmu (aby se faktura nepočítala přes miliony řádků),
- měsíční uzávěrka, která součty zamkne.
Model je stejný jako u auditu: připisovací tabulka, nic se nepřepisuje. Uzavřený měsíc se nedá změnit, jen opravit dobropisem.
Balíčky
Cena za krok samotná zákazníka děsí, protože nezná svoje čísla. Proto balíčky s předplacenými kroky a stejnou cenou nad limit:
| Balíček | Paušál | Kroků v ceně | Nad limit |
|---|---|---|---|
| Start | 490 Kč | 5 000 | 0,05 Kč |
| Provoz | 1 900 Kč | 40 000 | 0,04 Kč |
| Firma | 6 900 Kč | 200 000 | 0,03 Kč |
Nad limit se nevypíná. Zastavit zákazníkovi fakturaci objednávek kvůli překročení limitu je horší než mu to dofakturovat. Limit hlásí varování v portálu a e-mailem.
Co je potřeba rozhodnout
- Účtují se kroky, které skončily chybou? Návrh: ne u naší chyby, ano u chyby cizí služby, protože volání jsme opravdu zaplatili. Musí to být v ceníku vidět, jinak to vypadá jako počítání chyb ve svůj prospěch.
- Účtuje se opakování po chybě? Návrh: první opakování zdarma, další ano.
- Účtují se kroky v testovacím režimu? Návrh: ne, ale s denním limitem, aby se testem ceník neobcházel.