型安全
TypeScript で型補完。Zod ベースのスキーマで安全に。
シンプル API
直感的なメソッド設計で最短経路の実装。
拡張可能
機能単位でインポートし、必要な箇所だけを利用可能。
インストール
Shell
npm install credix環境変数に API キー等を設定してください(例: CREDIX_API_KEY / CREDIX_SECRET_KEY)。
APIキーとIDの取得場所
- プロジェクトページで API キーを取得・コピーできます。
- 定義(Definitions)ページで Meter ID と Allocation ID を作成・コピーできます。
クイックスタート(Node.js)
quickstart.ts
import { CredixClient } from 'credix'
import 'dotenv/config'
// Set CREDIX_API_KEY / CREDIX_SECRET_KEY in environment variables
const credix = new CredixClient({
apiKey: process.env.CREDIX_API_KEY!,
secretKey: process.env.CREDIX_SECRET_KEY!,
})
async function main() {
// Example: Get a list of meters
const meters = await credix.meters.list()
}
main().catch((e) => {
console.error(e)
process.exit(1)
})Node.js クイックスタート(フルフロー)
ユーザーの作成 → 使用量の記録 → アロケーション実行まで、最小コードで一通り試せます。
前提条件
- Node.js 18 以上
- Credix の API キー
インストール
Shell
npm install credix環境変数の設定
プロジェクト直下に .env を作成し、API キー等を設定します。
.env
CREDIX_API_KEY=your_api_key_here
CREDIX_SECRET_KEY=your_secret_key_here以降の例では externalUserId を同一の値に揃えてください。meterId と allocationId はダッシュボードで作成・確認できます。
1) ユーザー作成
create-user.ts
import 'dotenv/config'
import { CredixClient } from 'credix'
const credix = new CredixClient({
apiKey: process.env.CREDIX_API_KEY!,
secretKey: process.env.CREDIX_SECRET_KEY!,
})
const user = await credix.users.create({
externalUserId: 'ext_123',
name: 'Taro',
email: 'taro@example.com',
initialCredits: 1000, // Optional
})
2) メーター記録
record-usage.ts
import 'dotenv/config'
import { CredixClient } from 'credix'
const credix = new CredixClient({
apiKey: process.env.CREDIX_API_KEY!,
secretKey: process.env.CREDIX_SECRET_KEY!,
})
const result = await credix.meters.record({
meterId: 'meter_gpt4', // Replace with your meter ID
externalUserId: 'ext_123',
units: 120,
metadata: { source: 'quickstart' },
})
3) アロケーション付与
trigger-allocation.ts
import 'dotenv/config'
import { CredixClient } from 'credix'
const credix = new CredixClient({
apiKey: process.env.CREDIX_API_KEY!,
secretKey: process.env.CREDIX_SECRET_KEY!,
})
const res = await credix.allocations.trigger({
allocationId: 'alloc_signup_bonus', // Replace with your allocation ID
externalUserId: 'ext_123',
metadata: { campaign: 'spring' },
})
実行
Shell
# Execute each step using tsx
npx tsx create-user.ts
npx tsx record-usage.ts
npx tsx trigger-allocation.ts