Credix SDK

Credix をコードからシンプルに扱うための公式 SDK。数行で認証・データ取得を開始できます。

型安全

TypeScript で型補完。Zod ベースのスキーマで安全に。

シンプル API

直感的なメソッド設計で最短経路の実装。

拡張可能

機能単位でインポートし、必要な箇所だけを利用可能。

インストール

Shell
npm install credix

環境変数に API キー等を設定してください(例: CREDIX_API_KEY / CREDIX_SECRET_KEY)。

APIキーと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 を同一の値に揃えてください。meterIdallocationId はダッシュボードで作成・確認できます。

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