APIパートナーポータルバックエンドテンプレート
パートナーアクセス、APIトラフィック、ドキュメント
プロダクション対応のAPIパートナーポータルバックエンドがBack4appにあり、ユーザー、パートナー組織、APIキー、UsageLog、開発者ドキュメントを含みます。ER図、データ辞書、JSONスキーマ、APIプレイグラウンド、迅速なセットアップのためのAIエージェントプロンプトが含まれています。
ポータルの要点
このテンプレートは、APIキー管理、UsageLogレビュー、およびDeveloperDoc公開を備えたAPIパートナーポータルのバックエンドを提供し、内部チームと外部パートナーが1つの作業面を共有できるようにします。
- APIキーライフサイクル管理 — パートナー所有権、tokenPrefix、スコープ、isActive、およびlastUsedAtフィールドを持つAPIキーのレコードをモデル化します。
- UsageLogの可視化 — APIキーごとにUsageLogエントリを追跡し、エンドポイント呼び出し、statusCodeの急増、およびrequestCountの合計をレビューできます。
- DeveloperDocの更新 — タイトル、スラッグ、コンテンツ、apiVersion、およびisPublishedを使用して、DeveloperDocのレコードを公開APIガイダンスと整合させておきます。
- パートナーアクセス境界 — ACLとCLPを使用して、PartnerOrganizationのワークスペース、APIKeyの行、およびUsageLogのレコードを正しいアカウントにスコープします。
- クロスプラットフォームポータルバックエンド — ユーザー、PartnerOrganization、APIKey、UsageLog、およびDeveloperDocのための1つのRESTおよびGraphQL APIを通じて、Webおよびモバイルクライアントにサービスを提供します。
APIパートナーポータルテンプレートとは?
APIパートナーポータルでは、パートナー、スタッフ、およびクライアントは、役割に必要な情報だけを正確に見るべきです—それ以上もそれ以下もありません。信頼性は機能であり、脚注ではありません。このテンプレートは、Back4app上の役割ベースのアクセスを持つPartnerOrganization、APIKey、UsageLog、およびDeveloperDocをモデル化しているため、すべてのAPIパートナーポータルのチームメンバーは自分の所有するパイプラインの一部を見ます。スキーマは、User(ユーザー名、メール、パスワード、役割)、PartnerOrganization(名前、ステータス、主連絡先、サポートティア)、APIKey(キー名、トークンプレフィックス、スコープ、アクティブ、最終使用時間、パートナー、作成者)、UsageLog(パートナー、apiKey、エンドポイント、メソッド、ステータスコード、リクエスト数、発生時間)、およびDeveloperDoc(タイトル、スラッグ、コンテンツ、apiバージョン、公開状況、所有者、パートナー)を含み、認証、可視性ルール、およびパートナーのワークフローサポートが組み込まれています。お好みのフロントエンドを接続して、より早く出荷しましょう。
最適:
APIパートナーポータルテンプレートの概要
ほとんどのAPIパートナーポータルのミスは単調です:タイムスタンプの見落とし、重複した行、昨日は正しかったが今日は間違っているカウント。
PartnerOrganization、APIキー、UsageLogの背後にあるスキーマはハブや技術ページ間で共有されており、フレームワークを切り替えることはレコードの再設計を意味するべきではありません。
ポータルのコア機能
このハブのすべてのテクノロジーカードは、User、PartnerOrganization、APIKey、UsageLog、および DeveloperDoc を使用する同じパートナーポータルバックエンドスキーマを利用しています。
パートナーアカウント管理
PartnerOrganizationは、名前、ステータス、主連絡先、およびサポートティアを1つのレコードに保持します。
APIキーのライフサイクル追跡
APIキーは、keyName、tokenPrefix、scopes、isActive、lastUsedAt、partner、およびcreatedByを保存します。
UsageLog レビュー
UsageLog はパートナー、apiKey、エンドポイント、メソッド、statusCode、requestCount、および occurredAt をキャプチャします。
DeveloperDoc の公開
DeveloperDoc はタイトル、スラッグ、コンテンツ、apiVersion、isPublished、オーナー、およびパートナーを保存します。
なぜBack4appでAPIパートナーポータルバックエンドを構築するのか?
Back4appは、チームがバックエンドの配管作業ではなくポータル体験に集中できるように、User、PartnerOrganization、APIKey、UsageLog、およびDeveloperDocのプリミティブを提供します。
- •トークンおよびパートナー管理: APIKeyはPartnerOrganizationに直接結びついており、発行、ローテーション、無効化の監査が容易になります。
- •実際の質問に答える使用状況の可視性: UsageLogはエンドポイント、メソッド、ステータスコード、リクエストカウントを記録し、サポートが推測なしで統合の問題を追跡できるようにします。
- •公開ボトルネックなしのドキュメント更新: DeveloperDocは、エンドポイントノート、バージョン管理されたガイダンス、パートナー向けの変更履歴のための構造化された場所を提供します。
最初にAPIKey、UsageLog、DeveloperDocを中心にポータルを構築し、パートナーのオンボーディングに明確なバックエンド契約を持たせます。
ポータルの利点
APIKey 作業、UsageLog レビュー、および DeveloperDoc の公開を一つの場所にまとめるパートナーポータルバックエンド。
迅速なパートナーオンボーディング
トークンテーブルやアクセスルールをゼロから組み立てるのではなく、PartnerOrganizationクラスとAPIKeyクラスから始めます。
サポートチームが使えるコンテキストを取得
UsageLogの行には、パートナーが失敗したリクエストを報告したときに、エンドポイント、メソッド、ステータスコード、リクエスト数、および発生時刻が表示されます。
より安全なキー取り扱い
生のシークレットを公開するのではなく、tokenPrefixとスコープを保存し、キーの状態が変わるときにisActiveを切り替えます。
バージョン管理されたドキュメントが整理される
DeveloperDocはリリースノート、apiVersionターゲッティング、および公開状態に安定した構造を提供します。
すべてのクライアントのための単一のAPIインターフェース
ウェブポータル、モバイル管理ツール、および内部ダッシュボードは、同じUser、PartnerOrganization、APIKey、UsageLog、およびDeveloperDocデータを読み取ることができます。
AIブートストラップワークフロー
1つの構造化されたプロンプトでスキーマ、アクセスルール、およびポータルの足場を迅速に生成します。
APIパートナーポータルを立ち上げる準備はできましたか?
Back4app AIエージェントにAPIパートナーポータルのバックエンドを足場を組ませ、1つのプロンプトからAPIKey、UsageLog、およびDeveloperDocフローを生成させましょう。
無料で始められます — 月50のAIエージェントプロンプト、クレジットカードは不要
ポータルテクノロジースタック
このAPIパートナーポータルバックエンドテンプレートに含まれるすべて。
パートナー関係マップ
API パートナーポータルバックエンドスキーマのためのエンティティ関係モデル。
ユーザー、パートナー組織、APIキー、使用ログ、及び開発者ドキュメントを含むスキーマ。
図のソースを見る
erDiagram
User ||--o{ PartnerOrganization : "primaryContact"
User ||--o{ APIKey : "createdBy"
User ||--o{ DeveloperDoc : "owner"
PartnerOrganization ||--o{ APIKey : "partner"
PartnerOrganization ||--o{ UsageLog : "partner"
PartnerOrganization ||--o{ DeveloperDoc : "partner"
APIKey ||--o{ UsageLog : "apiKey"
User {
String objectId PK
String username
String email
String password
String role
Date createdAt
Date updatedAt
}
PartnerOrganization {
String objectId PK
String name
String status
String primaryContactId FK
String supportTier
Date createdAt
Date updatedAt
}
APIKey {
String objectId PK
String keyName
String tokenPrefix
Array scopes
Boolean isActive
Date lastUsedAt
String partnerId FK
String createdById FK
Date createdAt
Date updatedAt
}
UsageLog {
String objectId PK
String partnerId FK
String apiKeyId FK
String endpoint
String method
Number statusCode
Number requestCount
Date occurredAt
Date createdAt
Date updatedAt
}
DeveloperDoc {
String objectId PK
String title
String slug
String content
String apiVersion
Boolean isPublished
String ownerId FK
String partnerId FK
Date createdAt
Date updatedAt
}
ポータル統合フロー
サインイン、APIキーの検索、UsageLogの確認、DeveloperDocの更新のための典型的な実行フロー。
図のソースを見る
sequenceDiagram
participant User
participant Portal as API Partner Portal App
participant Back4app as Back4app Cloud
User->>Portal: Sign in with portal credentials
Portal->>Back4app: POST /login
Back4app-->>Portal: Session token
User->>Portal: Open APIKeys for a partner workspace
Portal->>Back4app: GET /classes/APIKey?include=partner,createdBy
Back4app-->>Portal: Token list with scopes and lastUsedAt
User->>Portal: Create a new APIKey
Portal->>Back4app: POST /classes/APIKey
Back4app-->>Portal: APIKey objectId and tokenPrefix
User->>Portal: Review UsageLog entries for the token
Portal->>Back4app: GET /classes/UsageLog?include=partner,apiKey&order=-occurredAt
Back4app-->>Portal: Usage history and statusCode totals
opt Publish developer notes
User->>Portal: Update a DeveloperDoc page
Portal->>Back4app: PUT /classes/DeveloperDoc/:objectId
Back4app-->>Portal: Updated markdown and publish state
endフィールド辞書
APIパートナーポータルスキーマ内のすべてのクラスの完全なフィールドレベル参照。
| フィールド | タイプ | 説明 | 必須 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自動 |
| username | String | Login name for a portal user | |
| String | Primary email address for portal access | ||
| password | String | Hashed password (write-only) | |
| role | String | Portal role such as admin, partnerAdmin, or developer | |
| createdAt | Date | Auto-generated creation timestamp | 自動 |
| updatedAt | Date | Auto-generated last-update timestamp | 自動 |
7 フィールドを User
アクセス制御
ACLおよびCLP戦略がパートナー、APIKeyレコード、UsageLogエントリ、およびDeveloperDocページをどのように保護するか。
パートナー範囲のアカウント
各PartnerOrganizationレコードはポータル管理者または割り当てられた主担当ユーザーのみが編集可能であるべきです。
キーの秘密とローテーション
APIKey.tokenPrefixとスコープを公開ビューに保存し、ブラウザから生のキー材料を除外してください。
使用ログの読み取り境界
UsageLogの読み取りをAPIKeyを所有するパートナーとトラブルシューティングアクセスが必要なサポートロールに制限します。
JSONスキーマ
コピーしてBack4appに入れるか、実装の参考として使用できる生のJSONスキーマ定義。
{
"classes": [
{
"className": "User",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"username": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": true
},
"password": {
"type": "String",
"required": true
},
"role": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "PartnerOrganization",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"name": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"primaryContact": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"supportTier": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "APIKey",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"keyName": {
"type": "String",
"required": true
},
"tokenPrefix": {
"type": "String",
"required": true
},
"scopes": {
"type": "Array",
"required": true
},
"isActive": {
"type": "Boolean",
"required": true
},
"lastUsedAt": {
"type": "Date",
"required": false
},
"partner": {
"type": "Pointer",
"required": true,
"targetClass": "PartnerOrganization"
},
"createdBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "UsageLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"partner": {
"type": "Pointer",
"required": true,
"targetClass": "PartnerOrganization"
},
"apiKey": {
"type": "Pointer",
"required": true,
"targetClass": "APIKey"
},
"endpoint": {
"type": "String",
"required": true
},
"method": {
"type": "String",
"required": true
},
"statusCode": {
"type": "Number",
"required": true
},
"requestCount": {
"type": "Number",
"required": true
},
"occurredAt": {
"type": "Date",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "DeveloperDoc",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"title": {
"type": "String",
"required": true
},
"slug": {
"type": "String",
"required": true
},
"content": {
"type": "String",
"required": true
},
"apiVersion": {
"type": "String",
"required": true
},
"isPublished": {
"type": "Boolean",
"required": true
},
"owner": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"partner": {
"type": "Pointer",
"required": false,
"targetClass": "PartnerOrganization"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}AIエージェントで構築
Back4app AIエージェントを使用して、このテンプレートからフロントエンド、バックエンド、認証、APIKey、UsageLog、DeveloperDocフローを含む実際のAPIパートナーポータルアプリを生成します。
Back4app上でこの正確なスキーマと動作を持つAPIパートナーポータルアプリのバックエンドを作成します。 スキーマ: 1. ユーザー: ユーザー名 (文字列, 必須), メール (文字列, 必須), パスワード (文字列, 必須), ロール (文字列, 必須); objectId, createdAt, updatedAt (システム). 2. パートナー組織: 名前 (文字列, 必須), ステータス (文字列, 必須), プライマリコンタクト (ユーザーへのポインタ, 必須), サポートティア (文字列, オプション); objectId, createdAt, updatedAt (システム). 3. APIキー: キー名 (文字列, 必須), トークン接頭辞 (文字列, 必須), スコープ (文字列の配列, 必須), 活動中 (真偽値, 必須), 最終使用時 (日付, オプション), パートナー (パートナー組織へのポインタ, 必須), 作成者 (ユーザーへのポインタ, 必須); objectId, createdAt, updatedAt (システム). 4. 使用ログ: パートナー (パートナー組織へのポインタ, 必須), apiKey (APIキーへのポインタ, 必須), エンドポイント (文字列, 必須), メソッド (文字列, 必須), ステータスコード (数値, 必須), リクエストカウント (数値, 必須), 発生時 (日付, 必須); objectId, createdAt, updatedAt (システム). 5. 開発者ドキュメント: タイトル (文字列, 必須), スラッグ (文字列, 必須), コンテンツ (文字列, 必須), APIバージョン (文字列, 必須), 公開済み (真偽値, 必須), 所有者 (ユーザーへのポインタ, 必須), パートナー (パートナー組織へのポインタ, オプション); objectId, createdAt, updatedAt (システム). セキュリティ: - ポータル管理者または指定された所有者だけがパートナーデータを更新できます。承認されたロールのみがAPIキーのレコードを作成、回転、または取り消すことができます。使用ログの読み取りを所有するパートナーとサポートロールに制限します。 認証: - サインアップ、ログイン、ログアウト。 動作: - パートナーをリストし、APIキーのレコードを作成および回転させ、使用ログのエントリをレビューし、開発者ドキュメントページを公開します。 デリバリー: - Back4appアプリがスキーマ、ACL、CLPを持ち; パートナーアカウント、APIキー管理、使用ログ、開発者文書用のフロントエンド。
以下のボタンを押して、このテンプレートプロンプトが事前に入力された状態でエージェントを開きます。
これはテクノロジーのサフィックスなしの基本プロンプトです。生成されたフロントエンドスタックは後で適応できます。
APIプレイグラウンド
GraphQLエンドポイントに対してAPIパートナーポータルスキーマを試す。レスポンスはモックデータを使用し、Back4appアカウントは必要ありません。
このテンプレートと同じスキーマを使用します。
スタックを選択
各カードを展開して、選択したスタックで PartnerOrganization、APIKey、UsageLog を統合する方法を確認してください。
Flutter APIパートナーポータルバックエンド
React APIパートナーポータルバックエンド
React ネイティブ APIパートナーポータルバックエンド
Next.js APIパートナーポータルバックエンド
JavaScript APIパートナーポータルバックエンド
Android APIパートナーポータルバックエンド
iOS APIパートナーポータルバックエンド
Vue APIパートナーポータルバックエンド
Angular APIパートナーポータルバックエンド
GraphQL APIパートナーポータルバックエンド
REST API APIパートナーポータルバックエンド
PHP APIパートナーポータルバックエンド
.NET APIパートナーポータルバックエンド
各テクノロジーで得られるもの
すべてのスタックは同じ API パートナーポータルバックエンドスキーマと API 契約を使用します。
統一されたポータルデータ構造
一貫したスキーマを使用して、ユーザー、PartnerOrganization、APIKey、UsageLog、および DeveloperDoc レコードを管理します。
API キーライフサイクル管理
所有権の履歴を失うことなく APIKey レコードを発行、回転、および取り消します。
サポートチームのための使用状況の可視性
パートナーが必要とする際に、エンドポイント、メソッド、およびステータスコードごとにUsageLogエントリを検査します。
ドキュメントのリリース追跡
パートナー開発者向けにapiVersion固有のノートを含むDeveloperDocの更新を公開します。
ポータルクライアントのためのREST/GraphQL API
1つのAPIレイヤーを通じて内部管理ツールとパートナー向けアプリを提供します。
パートナーのワークフローのための拡張可能なアーキテクチャ
ポータルコアを再構築することなく、アナウンスメントやWebhookサブスクリプションなどのクラスを追加します。
ポータルスタックの比較
すべてのサポートされている技術間でセットアップ速度、SDKスタイル、およびAIサポートを比較します。
| フレームワーク | セットアップ時間 | ポータル特典 | SDKタイプ | AIサポート |
|---|---|---|---|---|
| 約5分 | モバイルとウェブのパートナーポータル用の単一コードベース。 | 型付きSDK | フル | |
| 5分未満 | パートナーキーとログのための高速ウェブダッシュボード。 | 入力されたSDK | フル | |
| ~3〜7分 | パートナーサポートのためのクロスプラットフォームモバイルアプリ。 | 入力されたSDK | フル | |
| 迅速な(5分)セットアップ | キーとドキュメントのためのサーバーレンダリングされた管理ポータル。 | 入力されたSDK | フル | |
| ~3〜5分 | パートナーオペレーションのための軽量ウェブ統合。 | 入力されたSDK | フル | |
| 約5分 | パートナーオペレーションのためのネイティブ Android アプリ。 | 型付きSDK | フル | |
| 5分未満 | パートナーオペレーションのためのネイティブ iOS アプリ。 | 型付きSDK | フル | |
| 約3〜7分 | React的なウェブUIによる重要なレビューと文書。 | 型付きSDK | フル | |
| 迅速な(5分)セットアップ | アクセスおよび使用レビューのためのエンタープライズポータル。 | タイプされたSDK | フル | |
| 2分未満 | パートナーポータル用の柔軟なGraphQL API。 | GraphQL API | フル | |
| 迅速な(2分)セットアップ | パートナーポータル用のREST API統合。 | REST API | フル | |
| 約3分 | パートナーポータルのためのサーバーサイド PHP バックエンド。 | REST API | フル | |
| 約3~7分 | パートナーポータルのための .NET バックエンド。 | タイプされたSDK | フル |
セットアップ時間は、このテンプレートスキーマを使用してプロジェクトのブートストラップから最初のPartnerOrganization、APIKey、またはUsageLogクエリまでの予想される期間を反映します。
ポータルの質問
このテンプレートを使用してAPIパートナーポータルバックエンドを構築する際の一般的な質問。