API認証
FluenzR APIへの認証方法を学びます。
API認証
FluenzR APIはAPIキーを使用して認証します。
APIキーの取得
前提条件
- アクティブなProプラン
- アカウントの管理者権限
キーの生成
- FluenzRにログイン
- 設定 > APIに移動
- 新しいキーを生成をクリック
- キーにわかりやすい名前を付ける
- 表示されたキーをすぐにコピー
⚠️ 注意 キーは一度だけ表示されます。安全な場所に保管してください。紛失した場合は、新しいキーを生成する必要があります。
APIキーの使用
Authorizationヘッダー
各リクエストのAuthorizationヘッダーにAPIキーを含めます:
curl -X GET "https://api.fluenzr.co/v1/contacts" \
-H "Authorization: Bearer flz_sk_your_api_key_here" \
-H "Content-Type: application/json"
キーの形式
FluenzR APIキーは以下の形式に従います:
flz_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
flz: FluenzRプレフィックスsk: シークレットキーxxx...: 32文字の英数字
言語別の例
cURL
curl -X GET "https://api.fluenzr.co/v1/contacts" \
-H "Authorization: Bearer flz_sk_abc123..." \
-H "Content-Type: application/json"
JavaScript (fetch)
const response = await fetch('https://api.fluenzr.co/v1/contacts', {
headers: {
'Authorization': 'Bearer flz_sk_abc123...',
'Content-Type': 'application/json'
}
});
const data = await response.json();
JavaScript (axios)
import axios from 'axios';
const client = axios.create({
baseURL: 'https://api.fluenzr.co/v1',
headers: {
'Authorization': 'Bearer flz_sk_abc123...'
}
});
const { data } = await client.get('/contacts');
Python (requests)
import requests
headers = {
'Authorization': 'Bearer flz_sk_abc123...',
'Content-Type': 'application/json'
}
response = requests.get(
'https://api.fluenzr.co/v1/contacts',
headers=headers
)
data = response.json()
PHP
<?php
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://api.fluenzr.co/v1/contacts',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer flz_sk_abc123...',
'Content-Type: application/json'
]
]);
$response = curl_exec($ch);
$data = json_decode($response, true);
Ruby
require 'net/http'
require 'json'
uri = URI('https://api.fluenzr.co/v1/contacts')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer flz_sk_abc123...'
request['Content-Type'] = 'application/json'
response = http.request(request)
data = JSON.parse(response.body)
APIキーの管理
既存のキーを表示
設定 > APIでキー一覧を確認:
| 名前 | 作成日 | 最終使用日 | アクション |
|---|---|---|---|
| 本番用 | 2025/01/01 | 2025/01/10 | 取り消し |
| 開発/テスト | 2025/01/05 | 2025/01/08 | 取り消し |
キーの取り消し
- キーの横にある取り消しをクリック
- 取り消しを確認
🚨 危険 取り消しは即時かつ取り消し不可です。このキーを使用しているすべてのアプリケーションが動作しなくなります。
ベストプラクティス
環境ごとに別のキー
| 環境 | キー | 権限 |
|---|---|---|
| 本番 | flz_sk_prod_xxx | すべて |
| ステージング | flz_sk_stag_xxx | すべて |
| 開発 | flz_sk_dev_xxx | 読み取り専用 |
キーを公開しない
❌ してはいけないこと:
- Gitリポジトリにコミット
- クライアントサイド(フロントエンド)に含める
- メール/チャットで共有
✅ すべきこと:
- 環境変数を使用
- シークレット管理システムに保存
- サーバーサイドのみで使用
環境変数
# .env (コミットしない)
FLUENZR_API_KEY=flz_sk_abc123...
// Node.js
const apiKey = process.env.FLUENZR_API_KEY;
# Python
import os
api_key = os.environ.get('FLUENZR_API_KEY')
認証エラー
401 Unauthorized
{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
}
考えられる原因:
- APIキーがない
- APIキーが無効
- APIキーが取り消されている
403 Forbidden
{
"success": false,
"error": {
"code": "FORBIDDEN",
"message": "API access requires Pro plan"
}
}
考えられる原因:
- お試し期間の終了後にアカウントが一時停止されている(APIは利用不可)
- 必要な権限のないAPIキー
セキュリティ
キーのローテーション
定期的にAPIキーを変更してください:
- 新しいキーを生成
- アプリケーションを更新
- すべて正常に動作することを確認
- 古いキーを取り消し
モニタリング
キーの使用状況を監視:
- 「最終使用日」を定期的に確認
- 未使用のキーを特定
- 不審な使用を検出
侵害された場合
キーが侵害された場合:
- FluenzRでキーをすぐに取り消し
- 新しいキーを生成
- アプリケーションを更新
- ログを分析して悪意ある使用を検出
- 必要に応じてサポートに連絡
