API認証とBearerトークン
Quote3DはAPIトークンを使用してAPIエンドポイントを保護します。外部リクエストは https://api.quote3d.com/v2 から開始し、同じトークンを Authorization: Bearer YOUR_TOKEN_HERE または X-API-Token: YOUR_TOKEN_HERE のいずれかの形式で送信してください。
認証の仕組み
- Quote3Dアカウントに登録してログインしてください。
- ダッシュボードの「Tokens」タブからAPIトークン(JWT)を生成してください。
- APIリクエストにトークンを含めます。Authorization: Bearer がサポートされており、X-API-Token も受け入れられます:
Authorization: Bearer YOUR_TOKEN_HERE - サーバーはあなたのトークンを検証し、有効で期限切れでない場合、アクセスを許可します。
トークンスコープ
トークンのスコープは、到達できるエンドポイントを決定します。スコープはトークン作成時に選択し、ダッシュボードのトークンページで確認できます。
- フルアクセス — サーバー側トークンの既定です。プランが許可するすべてのエンドポイントに到達します。
- ウィジェット — ストアに埋め込むトークン用のスコープです。埋め込みウィジェットに必要な範囲に限定され、Webhook、アカウント情報、分析、使用状況、割り当てには到達できません。
トークンのスコープ外のエンドポイントへの呼び出しは、トークン自体が有効でも403で拒否されます。同じトークンが他で動作するのに403で失敗する場合は、まずスコープを確認してください。
トークンのライフサイクル
- トークンの値は作成時に一度だけ表示されます。その後は復元できないため、すぐにシークレットマネージャーへ保存してください。紛失した場合はローテーションして新しい値を取得します。
- トークンには有効期限を設定できます。期限切れのトークンは機能を停止し401を返します。ダッシュボードには各トークンの有効期限が表示されます。
- トークンのローテーションは新しい値を発行し、古い値を直ちに無効化します。古いトークンを使用中のリクエストはすぐ失敗し始めるため、ローテーション前に新しい値をデプロイしてください。
- トークンはIPアドレスのリストに制限できます。それ以外のアドレスからの呼び出しは403で拒否されます — サーバー移設やNATゲートウェイ変更後によくある落とし穴です。
- 保有できるトークン数はプランによって制限されます。無料プランではサーバートークン1つとウィジェットトークン1つが利用できます。
認証が失敗したとき
拒否されたリクエストは、success: falseと短いメッセージを含む標準のエラーエンベロープを返します。文面は変更される可能性があるため、メッセージ本文ではなくHTTPステータスコードで分岐してください。
{
"success": false,
"error": "API token has expired"
}- 401 — トークンが欠落、形式不正、期限切れ、または失効しています。ヘッダー名と、コピー時に値が切れていないかを確認してください。
- 403 — トークンは有効ですが、この呼び出しには許可されていません。よくある原因はスコープ制限か、呼び出し元を含まないIP許可リストです。
トークン形式
Quote3Dのトークンは、ベアラースタイルのAPI認証情報です。クライアントは、トークンを不透明な秘密として扱い、トークンの内部構造に依存しないようにする必要があります。
JWTは3つの部分で構成されます:
- ヘッダー:署名アルゴリズムとトークンタイプを指定します。
- ペイロード:ユーザーデータとクレーム(ユーザーID、メールアドレス、有効期限など)が含まれます。
- 署名:トークンが改ざんされていないことを検証します。
JWTは次のようになります:
base64url(header).base64url(payload).base64url(signature)連携においては、重要なルールは単純です。トークンを安全に保管し、各リクエストで送信し、連携がクライアントサイドのトークンを明示的に必要としない限り、クライアントコードで解析または公開しないようにしてください。
例:トークンの使用方法
curlを使ってトークンを使用する方法は以下の通りです。認証ヘッダーのスタイルは一貫して使用してください。
curl -H "Authorization: Bearer YOUR_TOKEN_HERE" https://api.quote3d.com/v2/userまたは、API Playgroundで、認証モーダル(鍵アイコン)にトークンを貼り付けてセッションを認証してください。カスタム統合では、X-API-Tokenヘッダーをより適切に使用することもできます。
トークンは秘密にしてください!パスワードと同様に扱い、共有したり、公開コードリポジトリに公開したりしないでください。