autumn-add-usage-tracking について
autumn-add-usage-tracking は、アプリケーションへの Autumn の機能利用チェックと記録の組み込みを案内するスキルです。バックエンドでの制限適用、フロントエンドでの利用状況表示、従量制機能、クレジットシステムを扱います。
主な機能
- 01処理前の機能アクセス確認
- 02処理成功後の利用量記録
- 03バックエンドでの上限適用
- 04顧客の利用残高表示
- 05従量制機能とクレジットシステムの処理
- 06冪等キーと一括利用量の指定
活用シーン
- 01顧客が上限に達した際の操作制限
- 02完了した API や機能利用の記録
- 03React 画面での残り利用量の表示
- 04従量制機能の利用に応じたクレジット消費
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ useautumn/ skills --skill autumn-add-usage-trackingインストール後、Claude Code で/autumn-add-usage-trackingを入力して読み込まれたか確認します。
詳細
Autumn の使用状況追跡
コード例と最新の API については、常に docs.useautumn.com を参照してください。
Autumn は機能の使用状況を追跡し、制限を適用します。セキュリティのため、バックエンドでのチェックが必要です。
クイックリファレンス
基本パターン
check → work → track
チェックのレスポンス
| フィールド | 説明 |
|---|---|
allowed | 顧客が処理を続行できるかどうか |
balance | 残りのユニット数 |
included_usage | プランに含まれる合計使用量 |
unlimited | 制限が適用されていないこと |
機能の種類
| 種類 | 動作 |
|---|---|
boolean | アクセスを許可または拒否 |
metered | 制限に対する使用量を追跡 |
credit_system | 複数の機能で共有するプール |
セキュリティモデル
| レイヤー | 目的 | 信頼性 |
|---|---|---|
| フロントエンド | UX(UI の表示/非表示) | 信頼できない |
| バックエンド | 適用 | 必須 |
バックエンドの実装
import { Autumn } from "autumn-js";
const autumn = new Autumn({ secretKey: process.env.AUTUMN_SECRET_KEY });
// 1. Check
const { data } = await autumn.check({ customer_id, feature_id: "api_calls" });
if (!data.allowed) return { error: "Limit reached" };
// 2. Work
const result = await doWork();
// 3. Track
await autumn.track({ customer_id, feature_id: "api_calls", value: 1 });
return result;
from autumn import Autumn
autumn = Autumn('am_sk_test_xxx')
response = await autumn.check(customer_id="user_123", feature_id="api_calls")
if not response.allowed:
raise HTTPException(403, "Limit reached")
result = await do_work()
await autumn.track(customer_id="user_123", feature_id="api_calls", value=1)
React の実装
import { useCustomer } from "autumn-js/react";
const { check, refetch } = useCustomer();
const handleAction = async () => {
const { data } = await check({ featureId: "messages" });
if (!data?.allowed) {
showUpgradePrompt();
return;
}
await performAction();
await refetch();
};
使用状況の表示
const { customer } = useCustomer();
const feature = customer?.features?.api_calls;
<p>{feature?.balance} / {feature?.included_usage}</p>
クレジットシステム
クレジットシステムではなく、基盤となる従量制機能を追跡します。
// Config: credits → api_calls (1), image_gen (10)
// Wrong
await autumn.track({ customer_id, feature_id: "credits", value: 10 });
// Right - Autumn deducts 10 credits automatically
await autumn.track({ customer_id, feature_id: "image_gen", value: 1 });
よくある注意点
- 成功後に追跡する - 処理が正常に完了した場合にのみ追跡します
- バックエンドが必須 - フロントエンドのチェックは回避される可能性があります
- クレジットシステム - クレジットプールではなく、従量制機能を追跡します
- 冪等性 - 二重計上を防ぐため、
idempotency_keyを使用します - 一括追跡 - 一括操作では、より大きな
valueを渡します
リソース
コメント
Markdown 対応