Průvodce a náhled

Build a Customer-Facing AI Usage Reporting API for Resellers and SaaS Tenants

Praktický průvodce návrhem hlášení využití AI API API, kterému mohou následní zákazníci důvěřovat: dimenze na úrovni nájemců, předběžné a konečné náklady, stránkování kurzoru, úpravy, odsouhlasení a řízení přístupu bezpečného pro ochranu soukromí.

Vaše interní kniha brány není to samé jako přehledy pro zákazníky API. Kniha dokazuje, co se stalo uvnitř vaší platformy. Zákaznická zpráva vysvětluje, co může nájemník, klient, pracovní prostor nebo koncový zákazník bezpečně vidět, dotazovat se, odsouhlasovat a používat před fakturací.

Toto rozlišení je důležité pro prodejce, agentury, vestavěné produkty umělé inteligence a týmy SaaS, které vystavují používání umělé inteligence svým vlastním zákazníkům. Zákazníci se neptají pouze: „Kolik jsem utratil?“ Ptají se, který klíč, model, koncový bod, pracovní postup, kohorta uživatelů nebo časový úsek způsobily útratu; zda je číslo konečné; proč se faktura liší od včerejšího řídicího panelu; a zda jsou v procesu odhaleny výzvy nebo přihlašovací údaje poskytovatele.

Praktická odpověď je publikovat stabilní hlášení využití AI API API podporované neměnnými událostmi využití, verzovanými cenami, tokeny s rozsahem přístupu a koncovými body odsouhlasení. API by mělo být nudné, explicitní a těžko špatně interpretovatelné.

Definujte reportovací smlouvu před datovým modelem

Začněte problémem zákazníka, ne schématem úložiště. Přehled API by měl odpovědět na čtyři otázky:

  • Co tento nájemce použil?
  • Kolik to stálo podle pravidel pro stanovování cen viditelných pro zákazníky?
  • Je počet odhadovaný, upravený nebo konečný?
  • Jak to souvisí s fakturami, kredity, dobitími nebo marží partnera?

To se liší od interního ovládacího panelu. Interní systémy mohou odhalit ID požadavků poskytovatele, rozhodnutí o směrování, základní chybové zatížení, stav opakování nebo názvy fondů pověření. Zákazník čelící API by měl odhalit pouze pole potřebná pro atribuci, vysvětlení nákladů, audit a analýzu produktů.

Fakt: Poskytovatelé umělé inteligence a fakturační systémy vystavují údaje o využití a nákladech pomocí různých názvů polí, možností seskupování a chování při agregaci. Některá rozhraní API pro použití seskupují podle dimenzí, jako je model, pracovní prostor, klíč nebo úroveň služeb; ostatní povrchy se liší podle typu koncového bodu. Brána by to měla před publikováním zákaznických zpráv normalizovat.

Doporučení: Používejte přehledy API jako smlouvu o produktu. Verizujte ji z prvního vydání, i když má první verze jen několik koncových bodů.

Použít dimenze na úrovni tenanta

Vykazování API by mělo znemožnit obcházení hranic nájemců. Každý dotaz se musí vyřešit na autorizovaný rozsah tenanta, než se dotkne údajů o využití.

Mezi užitečné rozměry patří:

  • customer_id: následný zákazník nebo nájemce.
  • project_id: aplikace, prostředí, tým nebo pracovní prostor uvnitř zákazníka.
  • api_key_id: klíč vydaný bránou, nikdy klíč poskytovatele upstream.
  • model_alias: zákazníkem viditelný název modelu nebo profil.
  • provider: volitelné a pouze v případě, že součástí smlouvy je odhalení volby poskytovatele.
  • endpoint_family: chat, odpovědi, vkládání, obrázky, zvuk, dávka, v reálném čase, nástroje nebo jiná stabilní kategorie.
  • workflow_tag: značka dodaná zákazníkem, například support-bot, faktura-parser, coding-agent nebo qa-eval.
  • user_hash: ve výchozím nastavení pseudonymní identifikátor koncového uživatele pro uvedení zdroje bez odhalení osobních údajů.
  • time_bucket: hodinové, denní, měsíční nebo vlastní intervalové hranice.

Pro distributory a agentury patří tato smlouva o podávání zpráv do blízkosti partnerské zřizovací plochy. Pokud jsou zákazníci a klíče vytvořeny prostřednictvím Partner API automatizace, měly by hlášení využití používat stejné identifikátory zákazníka a klíče, nikoli vymýšlet druhý systém pojmenování.

Vystavit jednotky použití a pole peněz samostatně

Dobrý přehled odděluje fyzické využití od cen. Tokeny, volání nástrojů, obrázky, zvukové sekundy a dávkové úlohy nejsou peníze. Peníze se počítají z použití, pravidel pro stanovování cen, slev, kreditů, marže a úprav.

Každý agregovaný řádek by měl obsahovat minimálně pole jako:

{
  "bucket_start": "2026-09-01T00:00:00Z",
  "bucket_end": "2026-09-02T00:00:00Z",
  "customer_id": "cus_123",
  "project_id": "proj_support",
  "api_key_id": "key_789",
  "model_alias": "support-fast",
  "endpoint_family": "chat",
  "request_count": 18420,
  "input_tokens": 9821000,
  "cached_input_tokens": 2410000,
  "output_tokens": 1268000,
  "reasoning_tokens": 310000,
  "tool_calls": 860,
  "estimated_cost": "142.36",
  "settled_cost": "141.91",
  "currency": "USD",
  "pricing_catalog_version": "2026-09-01",
  "invoice_status": "pending"
}

Neschovávejte kategorie tokenů jen proto, že je faktura vyjádřena v penězích. Zákazníci potřebují pole jednotek k ladění chování. Vstupní tokeny uložené v mezipaměti, tokeny uvažování, poplatky za hostované nástroje a mediální jednotky často vysvětlují, proč dva podobné pracovní postupy stojí různé částky.

Doporučení: Ukládejte desetinné peníze jako řetězce v API odpovědích. Vyhněte se hodnotám s pohyblivou řádovou čárkou pro nákladová pole. Použijte pole měny na každém řádku namísto předpokládané jedné globální měny.

Oddělené prozatímní, upravené a konečné použití

Přehledy AI pro zákazníky často selhávají, protože předstírají, že každé číslo je okamžitě konečné. V praxi se použití může změnit po dokončení prvního požadavku.

Mezi běžné příčiny patří:

  • Streamování odpovědí, kdy se klient odpojí, než poskytovatel vrátí konečné využití.
  • Zpožděné použití poskytovatele pro dávky, média nebo hostované nástroje.
  • Opakované pokusy, kdy aplikace vidí jeden logický požadavek, ale brána vidí více účtovaných pokusů.
  • Vrácení peněz, kredity, opravy cen nebo zrušení podvodu.
  • Změny aliasů modelu tam, kde se jména viditelná zákazníkům liší od předřazených ID modelů.

Nepřepisujte potichu řádky způsobem, který znemožňuje vysvětlit API včerejší odpověď. Místo toho publikujte model stavu:

  • provisional: vypočteno z odhadů brány nebo částečných údajů poskytovatele.
  • settled: vypočteno z normalizovaného využití poskytovatele a katalogu aktivních cen.
  • adjusted: změněno pozdější opravou, kreditem, refundací nebo událostí odsouhlasení.
  • invoiced: zahrnuto v zákazníkovi viditelné faktuře nebo výpisu.

Události nezpracovaného použití by měly být neměnné. Opravy by se měly objevit jako řádky úprav propojené s původní událostí nebo souhrnným obdobím.

{
  "adjustment_id": "adj_456",
  "original_event_id": "evt_abc",
  "customer_id": "cus_123",
  "reason": "provider_usage_correction",
  "cost_delta": "-0.45",
  "currency": "USD",
  "created_at": "2026-09-03T10:15:00Z"
}

Trade-off: Přehledy téměř v reálném čase jsou lepší pro upozornění na rozpočet a důvěru zákazníků, ale vyžadují viditelné provizorní stavy. Pouze konečné přehledy se snáze sladí, ale jsou mnohem méně užitečné, když se zákazníci snaží zastavit nadměrné utrácení před doručením faktury.

Poskytování přístupu k agregátům a nezpracovaným událostem

Jeden koncový bod nemůže sloužit všem případům použití. Palubní desky potřebují levné agregáty. Finanční týmy a podnikoví zákazníci mohou potřebovat důkazy na úrovni řádků.

Praktický přehled API má obvykle alespoň tři skupiny koncových bodů:

GET /v1/usage/summary
GET /v1/usage/events
GET /v1/usage/reconciliation

Summary Endpoint

Souhrnný koncový bod by měl vrátit předem agregované využití podle malé sady dimenzí a časových intervalů.

GET /v1/usage/summary?customer_id=cus_123&from=2026-09-01T00:00:00Z&to=2026-09-08T00:00:00Z&bucket=day&group_by=model_alias,api_key_id

Používejte jej pro řídicí panely, stránky rozpočtu a rozpisy nákladů na zákazníky. Mělo by být dostatečně rychlé, aby bylo možné opakovaně volat bez skenování nezpracované tabulky událostí. Pokud produkt obsahuje panel analýzy využití AI API, je tímto koncovým bodem obvykle smlouva typu back-end, která udržuje uživatelské rozhraní konzistentní s exportovanými přehledy.

Koncový bod událostí

Koncový bod událostí by měl odhalit neměnné záznamy využití s kurzorovým stránkováním. Použijte jej pro zákazníky s velkým množstvím auditů, šetření podpory a exporty skladů.

GET /v1/usage/events?customer_id=cus_123&from=2026-09-01T00:00:00Z&limit=500&cursor=eyJpZCI6...

Každý řádek by měl obsahovat stabilní event_id, časová razítka, skupinu požadavků, alias modelu, ID klíče, jednotky normalizovaného využití, pole nákladů a stav. Ve výchozím nastavení by neměl obsahovat nezpracované výzvy ani dokončení.

Koncový bod odsouhlasení

Koncový bod odsouhlasení propojuje použití s fakturačními objekty viditelnými pro zákazníky.

GET /v1/usage/reconciliation?customer_id=cus_123&invoice_id=inv_2026_09

Vraťte řádkové položky faktury, součty využití, použité kredity, dobití, daně, pokud jsou relevantní, pravidla pro partnerské marže, pokud jsou viditelná pro zákazníky, a veškeré úpravy provedené po prvním odhadu. Zde se hlášení využití stává vysvětlitelnou fakturací, nikoli hromadou počítadel.

Doporučení: Udržujte faktury a zprávy o použití související, ale ne identické. Použití API vysvětluje spotřebu. Faktura vysvětluje splatné částky. Měly by se sladit prostřednictvím stabilních ID, nikoli se zhroutit do jednoho přetíženého koncového bodu.

Použít Cursor stránkování a stabilní řazení

Offsetové stránkování je pro události použití křehké, protože nové záznamy a pozdní úpravy mohou přicházet během stránkování zákazníka. Používejte stránkování kurzoru se stabilním řazením.

Trvalý vzor je:

  • Třídit podle event_time a event_id.
  • Vraťte next_cursor, když existuje více záznamů.
  • Zajistěte, aby byly kurzory neprůhledné.
  • Dokumentujte, zda se později přicházející události mohou objevit v již přečtených oknech.
  • Poskytněte filtr updated_since pro úlohy sesouhlasení.

Pro agregované koncové body mohou zákazníci chtít opakovatelné přehledy. Podporujte parametr finalized_before nebo report_version, takže exporty financí lze konzistentně opakovat.

GET /v1/usage/summary?customer_id=cus_123&month=2026-09&status=finalized&report_version=2026-10-02

Prediction: Schémata hlášení využití AI se budou neustále měnit, protože poskytovatelé přidávají nové typy tokenů, poplatky za nástroje, úrovně služeb a fakturační jednotky médií. Smlouvy sestav s verzemi stárnou lépe než koncové body, které odhalují vše, co odpověď aktuálního poskytovatele obsahuje.

Cena verze a schéma společně

Pole použití a pravidla pro stanovování cen se mění nezávisle. Model může získat cenu tokenu uloženého v mezipaměti. Poskytovatel může zavést kontroly tokenu uvažování. Prodejce může změnit pravidla marže pro nové zákazníky a přitom dodržovat staré smlouvy.

Každý řádek nákladů by měl obsahovat:

  • pricing_catalog_version
  • schema_version
  • rate_effective_at
  • currency
  • cost_basis: odhadovaný, vypořádaný, upravený, fakturovaný

To je zvláště důležité, když platforma nabízí sjednocenou AI API fakturaci napříč více poskytovateli modelů. Jedna faktura je užitečná, pouze pokud zákazníci chápou, jak bylo heterogenní využití normalizováno do konzistentních cenových kategorií.

Fakt: Otevřená schémata nákladů a využití se vyvíjejí, aby pokryla AI, cloud, SaaS, datová centra a další dodavatele technologií. To podporuje verzovaný přístup spíše než pevné kódování jednoho trvalého tvaru exportu.

Kontrola přístupu k návrhu jako součást API

Údaje o využití jsou citlivé. Může odhalit růst zákazníků, uvedení produktů na trh, neúspěšnou automatizaci, incidenty zneužití nebo interní pracovní postupy. Řízení přístupu by mělo být součástí návrhu sestav, nikoli dodatečným nápadem.

Definujte role explicitně:

  • customer_admin: může zobrazit veškeré využití pro svůj rozsah zákazníků.
  • project_admin: může zobrazit využití pro přiřazené projekty.
  • billing_viewer: může zobrazit odsouhlasení nákladů a faktur, ale ne rozpisy na úrovni uživatele.
  • support_operator: dokáže načíst úzké řezy pro případ podpory pomocí protokolování auditu.
  • partner_operator: může zobrazit přiřazené tenanty, ve výchozím nastavení ne každého.

Používejte tokeny s rozsahem pro přístup ke stroji. Token, který může dotazovat využití pro cus_123, by neměl být schopen měnit klíče, upravovat ceny nebo číst využití jiným zákazníkem uhodnutím ID.

Také se rozhodněte, které dimenze jsou citlivé na soukromí. Pole user_hash může být pro některé zákazníky bezpečné a pro jiné příliš odhalující. Značky pracovního postupu mohou uniknout obchodnímu kontextu, pokud zákazníci vloží do metadat názvy, jako je akvizice-cíl nebo právní recenze. Uchovávání dokumentů a chování při redigování jasně.

Kontrolní seznam minimální implementace

Použijte tuto sekvenci, abyste se vyhnuli vytváření přehledů API, které vypadají jako úplné, ale nelze je sladit.

  1. Vytvářejte neměnné události použití. Přiřaďte každé zúčtovatelné události stabilní ID, rozsah tenanta, skupinu požadavků, alias modelu, normalizované jednotky, časová razítka a stav zdroje.
  2. Normalizovat využití poskytovatele do interních jednotek. V případě potřeby ponechat nezpracovaná data poskytovatele interně, ale odhalit stabilní pole zákazníků.
  3. Použijte katalog s verzemi cen. Uložte verzi katalogu použitou pro každý odhad, vypořádání a úpravu.
  4. Materializovat hodinové a denní agregáty. Nenechte dotazy na řídicím panelu skenovat nezpracované události na úrovni zákazníka.
  5. Přidat řádky úprav. Nikdy neschovávejte opravy změnou starých součtů nákladů bez vysvětlení.
  6. Vytvářejte exporty událostí stránkovaných kurzorem. Zahrňte neprůhledné kurzory, stabilní řazení a filtry aktualizované od té doby.
  7. Sestavení odsouhlasení faktur. Propojte řádky použití s řádky faktur, kredity, navýšeními a pravidly marže.
  8. Vynutit autorizaci na úrovni tenanta. Testovat nefunkční autorizaci na úrovni objektu ve všech koncových bodech sestavy.
  9. Publikovat verze schématu. Poskytněte klientům způsob, jak požádat o stabilní tvar sestavy.
  10. Ve výchozím nastavení je uchovávání bez nezpracovaných výzev. Hlášení o využití by nemělo vyžadovat úložiště pro rychlé nebo dokončení.

Běžné kompromisy

Aggregate-first nebo event-first: Aggregate-first API jsou pro většinu zákazníků bezpečnější a levnější. Exporty událostí jsou výkonnější, ale vytvářejí větší nároky na soukromí, stránkování a podporu. Pokud vaši kupující nemají požadavky na audit, nabídněte nejprve agregáty.

Odhalte názvy poskytovatelů nebo je skryjte: Odhalení předřazených poskytovatelů může pomoci sofistikovaným zákazníkům analyzovat výkon a náklady. Skrytí poskytovatelů udržuje abstrakci produktu čistší. Pokud je směrování součástí vaší hodnotové nabídky, zvažte vystavení poskytovatele jako volitelnou dimenzi řízenou plánem nebo rolí.

Odhady nebo závěrečné přehledy v reálném čase: Odhady v reálném čase pomáhají zákazníkům jednat dříve, než se útrata stane problémem s fakturací. Pro účetnictví jsou lepší závěrečné zprávy. Většina vyspělých systémů potřebuje obojí.

Přísné finanční schéma nebo schéma přátelské k produktu: Finančně orientovaná schémata mohou snížit práci na integraci, ale pro zákaznický produkt mohou být příliš náročná API. Praktickým kompromisem je interně používat pole inspirovaná financemi při publikování jednoduššího schématu zákazníka s verzemi.

Akční závěr

Hlášení využití umělé inteligence pro zákazníky API by nemělo být jen tenkým obalem odpovědí na fakturaci poskytovatele nebo interní tabulkou správce. Mělo by se jednat o stabilní smlouvu, která nájemcům umožní pochopit využití ještě před fakturací, ponořit se do správných dimenzí, odlišit provizorní od konečných nákladů a sladit poplatky bez odhalení výzev nebo předběžných přihlašovacích údajů.

Sestavte první verzi na třech koncových bodech: souhrny, události a odsouhlasení. Zálohujte je pomocí neměnných událostí použití, řádků úprav, verzovaných cen, stránkování kurzoru a přístupových tokenů v rozsahu tenanta. Tento základ stačí k podpoře řídicích panelů, exportů zákazníků, operací prodejců a fakturačních sporů, aniž by se každá otázka týkající se faktury proměnila v manuální šetření podpory.

Související čtení

FAQ

Často kladené otázky

Měl by uživatel API, který čelí zákazníkovi, odhalovat nezpracované výzvy?
Ne, standardně ne. Vykazování využití by mělo fungovat z normalizovaných metadat, jednotek využití, nákladů a dimenzí tenanta. Nezpracované rychlé uchování zvyšuje riziko ochrany soukromí, zabezpečení a podpory a je obvykle zbytečné pro vysvětlení fakturace.
Proč oddělovat odhadované náklady od vypořádaných nákladů?
Odhadované náklady jsou užitečné pro řídicí panely a upozornění týkající se rozpočtu téměř v reálném čase. Vyúčtované náklady jsou založeny na konečných údajích o využití a cenách. Když budou obě pole viditelná, zákazníci nebudou považovat provizorní čísla za konečnou fakturu.
Potřebují zákazníci nezpracované události využití nebo pouze souhrny?
Většina řídicích panelů by měla používat souhrnné koncové body, protože jsou levnější a snáze se ukládají do mezipaměti. Nezpracované exporty událostí jsou užitečné pro podnikový audit, šetření podpory a synchronizaci skladů, ale vyžadují silnější stránkování, ochranu soukromí a řízení přístupu.
Jak by se mělo řešit pozdní využití poskytovatele nebo vrácení peněz?
Vytvořte řádky úprav propojené s původní událostí, segmentem nebo řádkem faktury. Nepřepisujte tiše historické použití způsobem, který znemožňuje sladění dřívějších zpráv.