API合作夥伴入口網站後端範本
合作夥伴訪問、API流量和文檔
一個準備投入生產的API合作夥伴入口網站後端在Back4app,包括用戶、合作夥伴組織、API金鑰、使用日誌和開發者文檔。包括ER圖、數據字典、JSON架構、API遊樂場,並提供AI代理提示快速設置。
門戶要點
此模板為您提供一個 API 夥伴門戶後端,具備 APIKey 管理、UsageLog 審查和 DeveloperDoc 發佈,使內部團隊和外部夥伴能夠共享一個工作界面。
- APIKey 生命週期控制 — 以夥伴擁有權、tokenPrefix、範圍、isActive 和 lastUsedAt 欄位建模 APIKey 記錄。
- UsageLog 可見性 — 按 apiKey 追蹤 UsageLog 條目,以便您可以審查端點呼叫、狀態碼峰值和請求計數總數。
- DeveloperDoc 更新 — 使用標題、slug、內容、apiVersion 和 isPublished 使 DeveloperDoc 記錄與已發佈的 API 指導保持一致。
- 合作夥伴存取範圍 — 使用 ACL 和 CLP 將 PartnerOrganization 工作區、APIKey 行及 UsageLog 紀錄範圍限定在正確的帳戶。
- 跨平台入口網站後端 — 透過一個 REST 和 GraphQL API 服務於網頁和行動客戶端,用於使用者、PartnerOrganization、APIKey、UsageLog 和 DeveloperDoc。
什麼是 API 合作夥伴入口網站模板?
在 API 合作夥伴入口網站中,權限很重要:合作夥伴、員工和客戶應該準確看到其角色所需的內容——不多也不少。可靠性是一項特性,而不是附註。此模板對 PartnerOrganization、APIKey、UsageLog 和 DeveloperDoc 進行角色基礎的存取模型設計,讓每位 API 合作夥伴入口網站成員都能看到自己所擁有的管道片段。該架構涵蓋使用者(使用者名稱、電子郵件、密碼、角色)、PartnerOrganization(名稱、狀態、主要聯絡人、支援層級)、APIKey(keyName、tokenPrefix、scopes、isActive、lastUsedAt、partner、createdBy)、UsageLog(partner、apiKey、endpoint、method、statusCode、requestCount、occurredAt)和 DeveloperDoc(標題、slug、內容、apiVersion、isPublished、擁有者、partner),內建身份驗證、可見性規則及合作夥伴工作流程支援。連接您偏好的前端並加快發佈速度。
最佳用途:
API合作夥伴入口網站模板概述
大多數API合作夥伴入口網站的錯誤都很無聊:錯過的時間戳、重複的行,或者昨天正確而今天錯誤的計數。
PartnerOrganization、APIKey和UsageLog背後的架構在各個中心和技術頁面之間共享;切換框架不應意味著重新設計記錄。
入口網站核心功能
此中心中的每個技術卡片都使用相同的夥伴門戶後端架構,包括用戶、夥伴組織、APIKey、使用日誌和開發者文檔。
合作夥伴帳戶管理
PartnerOrganization 在一個記錄中保留名稱、狀態、主要聯絡人和支援級別。
API 金鑰生命週期跟蹤
API 金鑰儲存 keyName、tokenPrefix、scopes、isActive、lastUsedAt、partner 和 createdBy。
使用日誌審查
使用日誌捕捉夥伴、apiKey、端點、方法、狀態碼、請求計數和發生時間。
開發者文檔發佈
開發者文檔存儲標題、slug、內容、apiVersion、isPublished、擁有者和夥伴。
為什麼使用 Back4app 建立您的 API 夥伴入口網站後端?
Back4app 為您提供使用者、夥伴組織、API 金鑰、使用記錄和開發者文檔的基本元素,因此您的團隊可以專注於入口網站體驗,而不是後端架構。
- •令牌和夥伴管理: API 金鑰直接與夥伴組織相關聯,這使得發行、輪換和停用的審計變得更加簡單。
- •使用情況的可見性可以回答實際問題: 使用記錄記錄端點、方法、狀態碼和請求計數,因此支持團隊可以在沒有猜測的情況下追蹤整合問題。
- •文檔更新無需發布瓶頸: 開發者文檔為您提供端點註釋、版本指導和面向夥伴的變更歷史的結構化位置。
首先圍繞 API 金鑰、使用記錄和開發者文檔建立入口網站,以便夥伴入職擁有明確的後端合約。
門戶優勢
一個夥伴門戶後端,將APIKey工作、使用日誌審查和開發者文檔發佈集中於一處。
更快的合作夥伴 onboarding
從 PartnerOrganization 和 APIKey 類別開始,而不是從零組裝 token 表和訪問規則。
支援團隊獲得可用的上下文
UsageLog 行顯示端點、方法、狀態碼、請求數和發生時間,當合作夥伴報告失敗的請求時。
更安全的金鑰處理
儲存 tokenPrefix 和範圍,避免暴露原始密鑰,並在金鑰狀態變更時旋轉 isActive。
版本化文件保持有序
DeveloperDoc 提供穩定的結構以顯示發布說明、apiVersion 目標和發布狀態。
每個客戶單一 API 界面
Web 入口網站、移動管理工具和內部儀表板可以讀取相同的 User、PartnerOrganization、APIKey、UsageLog 和 DeveloperDoc 數據。
AI 啟動工作流程
快速生成架構、訪問規則和入口網站骨架,只需一個結構化的提示。
準備好啟動您的 API 夥伴入口網站了嗎?
讓 Back4app AI 代理搭建您的 API 夥伴入口網站後端,並從一個提示生成 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
}
入口網站整合流程
登入、APIKey 查找、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 架構
原始 JSON 架構定義準備好可以複製到 Back4app 或用作實施參考。
{
"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 Agent 一起構建
使用 Back4app AI Agent 從此模板生成真正的 API 合作夥伴入口應用,包括前端、後端、身份驗證,以及 APIKey、UsageLog 和 DeveloperDoc 流程。
在 Back4app 上創建一個 API 合作夥伴門戶應用後端,具有這個確切的架構和行為。 架構: 1. 使用者:用戶名 (字符串,必填),電子郵件 (字符串,必填),密碼 (字符串,必填),角色 (字符串,必填);objectId、createdAt、updatedAt (系統)。 2. 合作夥伴組織:名稱 (字符串,必填),狀態 (字符串,必填),主要聯絡人 (指向使用者的指標,必填),支持層級 (字符串,選填);objectId、createdAt、updatedAt (系統)。 3. API金鑰:鍵名 (字符串,必填),令牌前綴 (字符串,必填),範圍 (陣列<字符串>,必填),是否活躍 (布林,必填),最後使用時間 (日期,選填),合作夥伴 (指向合作夥伴組織的指標,必填),創建者 (指向使用者的指標,必填);objectId、createdAt、updatedAt (系統)。 4. 使用日誌:合作夥伴 (指向合作夥伴組織的指標,必填),api金鑰 (指向APIKey的指標,必填),端點 (字符串,必填),方法 (字符串,必填),狀態碼 (數字,必填),請求計數 (數字,必填),發生時間 (日期,必填);objectId、createdAt、updatedAt (系統)。 5. 開發者文檔:標題 (字符串,必填),slug (字符串,必填),內容 (字符串,必填),api版本 (字符串,必填),是否已發布 (布林,必填),擁有者 (指向使用者的指標,必填),合作夥伴 (指向合作夥伴組織的指標,選填);objectId、createdAt、updatedAt (系統)。 安全性: - 只有門戶管理員或指定的擁有者可以更新合作夥伴數據。只有經批准的角色才能創建、旋轉或撤銷 API金鑰記錄。限制使用日誌的讀取僅限於擁有合作夥伴和支持角色。 認證: - 註冊、登錄、登出。 行為: - 列出合作夥伴、創建和旋轉 API金鑰記錄、審查使用日誌條目以及發布開發者文檔頁面。 交付: - Back4app 應用程序,具有架構、ACL、CLP;合作夥伴賬戶的前端,API金鑰管理、使用日誌和開發者文檔。
按下下面的按鈕以使用此模板提示預填充的內容打開 Agent。
這是沒有技術後綴的基本提示。您可以在後面調整生成的前端堆疊。
API 練習場
嘗試 REST 和 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 記錄而不失去所有權記錄。
支援團隊的使用情況可見性
檢查用戶日誌條目,根據端點、方法和狀態碼,當合作夥伴需要幫助時。
文檔版本跟踪
發布針對合作夥伴開發者的apiVersion特定說明的DeveloperDoc更新。
REST/GraphQL API供門戶客戶使用
通過一個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 夥伴入口網站後端的常見問題。