メインコンテンツまでスキップ

認証方法

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'
}

次のステップ