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

認証方法

Report Flow API は appkey ヘッダ認証OAuth 2.0 / OpenID Connect の 2 方式をサポートします。用途に応じて選択してください。

用途別の選択指針

用途推奨方式
単一ワークスペースの自動化(cURL、社内バッチ)appkey ヘッダ
サーバー間連携(バックエンド → Report Flow)OAuth 2.0 Client Credentials
ユーザー個別の認可(Make.com、外部 SaaS、個人アプリ)OAuth 2.0 Authorization Code + PKCE

OAuth 2.0 の詳細は OAuth 2.0 認証 を参照してください。本ページでは appkey 方式を中心に説明します。

appkey 方式の仕組み

appkey ヘッダで認証するリクエストは、以下のヘッダーを付与します:

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": "認証情報が不正です",
"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'
}

OAuth 2.0 認証

サーバー間連携や、ユーザー個別の認可が必要な場合は、appkey の代わりに OAuth 2.0 を利用できます。

  • Authorization Code + PKCE: Make.com、独自アプリ等のユーザー認可フロー
  • Client Credentials: バックエンドから Report Flow へのサーバー間連携

詳細は OAuth 2.0 認証 を参照してください。

次のステップ