認証方法
Report Flow APIは、ヘッダーベースの認証を使用します。
認証の仕組み
すべてのAPIリクエストには、以下のヘッダーが必要です:
appkey: your-application-key
APIエンドポイント
Base URL: https://api.re-port-flow.com/v1
例:
- 単一PDF生成:
https://api.re-port-flow.com/v1/file/sync/single - デザインパラメータ取得:
https://api.re-port-flow.com/v1/file/design/parameter/{designId}
認証エラー
認証に失敗した場合、以下のエラーが返されます:
401 Unauthorized
{
"statusCode": 401,
"message": "Invalid credentials",
"error": "Unauthorized"
}
原因:
appkeyヘッダーが不正または無効
412 Precondition Failed
{
"statusCode": 412,
"message": "認証ヘッダーが不足しています",
"error": "Precondition Failed"
}
原因:
appkeyヘッダーが欠落
セキュリティのベストプラクティス
1. APIキーの安全な保管
// ❌ 悪い例:ソースコードにハードコード
const APP_KEY = 'hardcoded-key';
// ✅ 良い例:環境変数を使用
const APP_KEY = process.env.REPORT_FLOW_APP_KEY;
2. HTTPS通信の使用
すべてのAPIリクエストは必ずHTTPSを使用してください。HTTPでの通信は受け付けられません。
3. キーのローテーション
定期的にAPIキーを再生成し、古いキーを無効化することを推奨します。
4. スコープの制限
本番環境と開発環境で異なるAPIキーを使用し、環境ごとにアクセス権を分離してください。
サンプルコード
cURL
curl -X POST https://api.re-port-flow.com/v1/file/sync/single \
-H "appkey: your-application-key" \
-H "Content-Type: application/json" \
-d '{...}'
JavaScript
const headers = {
'appkey': process.env.REPORT_FLOW_APP_KEY,
'Content-Type': 'application/json'
};
Python
import os
headers = {
'appkey': os.environ['REPORT_FLOW_APP_KEY'],
'Content-Type': 'application/json'
}