夥伴入口網站
與 AI Agent 一起建設
API合作夥伴入口網站後端

API合作夥伴入口網站後端範本
合作夥伴訪問、API流量和文檔

一個準備投入生產的API合作夥伴入口網站後端在Back4app,包括用戶、合作夥伴組織、API金鑰、使用日誌和開發者文檔。包括ER圖、數據字典、JSON架構、API遊樂場,並提供AI代理提示快速設置。

門戶要點

此模板為您提供一個 API 夥伴門戶後端,具備 APIKey 管理、UsageLog 審查和 DeveloperDoc 發佈,使內部團隊和外部夥伴能夠共享一個工作界面。

  1. APIKey 生命週期控制以夥伴擁有權、tokenPrefix、範圍、isActive 和 lastUsedAt 欄位建模 APIKey 記錄。
  2. UsageLog 可見性按 apiKey 追蹤 UsageLog 條目,以便您可以審查端點呼叫、狀態碼峰值和請求計數總數。
  3. DeveloperDoc 更新使用標題、slug、內容、apiVersion 和 isPublished 使 DeveloperDoc 記錄與已發佈的 API 指導保持一致。
  4. 合作夥伴存取範圍使用 ACL 和 CLP 將 PartnerOrganization 工作區、APIKey 行及 UsageLog 紀錄範圍限定在正確的帳戶。
  5. 跨平台入口網站後端透過一個 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金鑰生命週期儀表板使用日誌分析控制台開發者文件發布中心企業對企業的整合團隊選擇BaaS以便於共享API訪問

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合作夥伴入口網站後端範本中包含所有內容。

前端
13+ 種技術
後端
Back4app
資料庫
MongoDB
身份驗證
內建身份驗證 + 會話
API
REST 和 GraphQL
即時
Live Queries

合作夥伴關係圖

API 合作夥伴入口網站後端架構的實體關係模型。

查看圖示來源
Mermaid
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 更新的典型運行流程。

查看圖示來源
Mermaid
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 夥伴入口網站架構中每個類別的完整欄位級參考。

欄位類型描述必填
objectIdStringAuto-generated unique identifier自動
usernameStringLogin name for a portal user
emailStringPrimary email address for portal access
passwordStringHashed password (write-only)
roleStringPortal role such as admin, partnerAdmin, or developer
createdAtDateAuto-generated creation timestamp自動
updatedAtDateAuto-generated last-update timestamp自動

7 欄位在 User 裡

訪問控制

如何通過 ACL 和 CLP 策略來保護合作夥伴、APIKey 記錄、UsageLog 條目和 DeveloperDoc 頁面。

合作夥伴範圍的帳戶

每個 PartnerOrganization 記錄僅應由入口網站管理員或指定的主要聯繫人用戶編輯。

金鑰保密和旋轉

將 APIKey.tokenPrefix 和範圍存儲在公共視圖中,並將原始金鑰材料保留在瀏覽器之外。

使用日誌讀取邊界

限制 UsageLog 讀取僅限擁有 APIKey 的合作夥伴以及需要故障排除訪問的支持角色。

JSON 架構

原始 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 Agent 一起構建

使用 Back4app AI Agent 從此模板生成真正的 API 合作夥伴入口應用,包括前端、後端、身份驗證,以及 APIKey、UsageLog 和 DeveloperDoc 流程。

Back4app AI Agent
準備構建
在 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。

這是沒有技術後綴的基本提示。您可以在後面調整生成的前端堆疊。

幾分鐘內部署每月 50 次免費提示無需信用卡

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 夥伴入口網站後端的常見問題。

當工作敏感且以截止日期為驅動時,健康的 API 夥伴入口網站管道看起來像什麼?
哪些 API 夥伴入口網站工作流程最能從結構化任務中獲益,而不是自由形式的筆記?
訪問模型對於 API 夥伴入口網站夥伴和承包商來說是否足夠細緻?
我如何使用 Flutter 查詢鍵和日誌?
我該如何管理 Next.js Server Actions 的 API 合作夥伴入口網站存取?
React Native 可以離線記錄快取使用日誌嗎?
我該如何防止未經授權的金鑰存取?
在 Android 上顯示合作夥伴使用情況的最佳方式是什麼?
API 金鑰輪換流程的端到端運作是怎樣的?

全球開發者值得信賴

使用 Back4app 模板,加入團隊更快地推出 API 合作夥伴入口網站產品

G2 Users Love Us Badge

準備好建立您的 API 合作夥伴入口網站應用程式了嗎?

幾分鐘內開始您的合作夥伴入口網站專案。不需要信用卡。

選擇技術