Portail partenaire
Créer avec l'Agent IA
Backend du portail partenaire API

Modèle Backend du portail partenaire API
Accès partenaire, Trafic API, et Documentation

Un backend de portail partenaire API prêt pour la production sur Back4app avec Utilisateur, PartnerOrganization, APIKey, UsageLog, et DeveloperDoc. Comprend un diagramme ER, un dictionnaire de données, un schéma JSON, un playground API, et une invite Agent IA pour une configuration rapide.

Points à retenir du portail

Ce modèle vous donne un backend de portail partenaire API avec gestion des APIKey, révision des UsageLog et publication de DeveloperDoc afin que les équipes internes et les partenaires externes partagent une surface de travail commune.

  1. Contrôle du cycle de vie des APIKeyModélisez les enregistrements des APIKey avec propriété partenaire, tokenPrefix, scopes, isActive et lastUsedAt.
  2. Visibilité des UsageLogSuivez les entrées des UsageLog par apiKey afin que vous puissiez examiner les appels d'endpoint, les pics de statusCode et les totaux de requestCount.
  3. Mises à jour de DeveloperDocMaintenez les enregistrements de DeveloperDoc alignés avec les conseils API publiés en utilisant le titre, slug, contenu, apiVersion et isPublished.
  4. Limites d'accès des partenairesUtilisez des ACL et des CLP pour garder les espaces de travail PartnerOrganization, les lignes APIKey et les enregistrements UsageLog limités au bon compte.
  5. Backend de portail multiplateformeServez des clients web et mobiles via une API REST et GraphQL pour l'utilisateur, PartnerOrganization, APIKey, UsageLog et DeveloperDoc.

Qu'est-ce que le modèle de portail API Partner ?

Les autorisations sont importantes dans le portail partenaire API : les partenaires, le personnel et les clients devraient voir exactement ce que leur rôle exige — rien de plus, rien de moins. La fiabilité est une fonctionnalité, pas une note de bas de page. Ce modèle modélise PartnerOrganization, APIKey, UsageLog et DeveloperDoc avec un accès basé sur les rôles sur Back4app afin que chaque membre de l'équipe du portail partenaire API voit la partie du pipeline qu'il possède. Le schéma couvre l'utilisateur (nom d'utilisateur, email, mot de passe, rôle), PartnerOrganization (nom, statut, contact principal, niveau de support), APIKey (keyName, tokenPrefix, scopes, isActive, lastUsedAt, partner, createdBy), UsageLog (partner, apiKey, endpoint, method, statusCode, requestCount, occurredAt) et DeveloperDoc (title, slug, content, apiVersion, isPublished, owner, partner) avec authentification, règles de visibilité et support des flux de travail partenaires intégrés. Connectez votre frontend préféré et expédiez plus rapidement.

Meilleur pour :

Portails partenaires APITableaux de bord du cycle de vie de l'APIKeyConsoles d'analytique UsageLogCentres de publication DeveloperDocIntégrations B2BÉquipes choisissant BaaS pour un accès API partagé

Aperçu du modèle de portail partenaire API

La plupart des erreurs de portail partenaire API sont ennuyeuses : un horodatage manqué, une ligne dupliquée ou un compte qui était juste hier et faux aujourd'hui.

Le schéma derrière PartnerOrganization, APIKey et UsageLog est partagé entre les centres et les pages techniques ; passer d'un framework à l'autre ne devrait pas signifier redessiner les enregistrements.

Fonctionnalités principales du portail

Chaque carte technologique dans ce hub utilise le même schéma de backend du portail partenaire avec User, PartnerOrganization, APIKey, UsageLog et DeveloperDoc.

Gestion de compte partenaire

PartnerOrganization conserve le nom, le statut, le contact principal et le niveau de support dans un seul enregistrement.

Suivi du cycle de vie de la clé API

APIKey stocke keyName, tokenPrefix, scopes, isActive, lastUsedAt, partner, et createdBy.

Examen du journal d'utilisation

Le journal d'utilisation capture le partenaire, apiKey, point d'accès, méthode, code d'état, nombre de requêtes et date/heure.

Publication de la documentation développeur

La documentation développeur stocke le titre, le slug, le contenu, la version API, estPublié, propriétaire et partenaire.

Pourquoi construire votre backend de portail partenaire API avec Back4app ?

Back4app vous fournit des primitives User, PartnerOrganization, APIKey, UsageLog et DeveloperDoc afin que votre équipe puisse se concentrer sur l'expérience du portail plutôt que sur la plomberie backend.

  • Gestion des jetons et des partenaires: APIKey est directement lié à PartnerOrganization, ce qui facilite l'audit de l'émission, de la rotation et de la désactivation.
  • Visibilité de l'utilisation qui répond à de vraies questions: UsageLog enregistre l'endpoint, la méthode, le statusCode et le requestCount afin que le support puisse tracer un problème d'intégration sans conjecture.
  • Mises à jour des docs sans goulot d'étranglement de publication: DeveloperDoc vous offre un endroit structuré pour les notes d'endpoint, les conseils versionnés et l'historique des changements orientés partenaires.

Construisez le portail autour d'APIKey, UsageLog et DeveloperDoc en premier afin que l'intégration des partenaires ait un contrat backend clair.

Avantages du portail

Un backend de portail partenaire qui garde le travail APIKey, l'examen du journal d'utilisation et la publication de la documentation développeur en un seul endroit.

Intégration des partenaires plus rapide

Commencez avec les classes PartnerOrganization et APIKey au lieu de créer des tables de jetons et des règles d'accès depuis zéro.

Les équipes de support obtiennent un contexte utilisable

Les lignes de UsageLog montrent le point de terminaison, la méthode, le statusCode, le requestCount et l'occurredAt lorsqu'un partenaire signale une demande échouée.

Gestion des clés plus sûre

Stockez tokenPrefix et scopes au lieu d'exposer des secrets bruts, et changez isActive lorsqu'une clé change d'état.

Des documents versionnés restent organisés

DeveloperDoc fournit des notes de version, le ciblage apiVersion et l'état de publication dans une structure stable.

Surface API unique pour chaque client

Les portails Web, les outils d'administration mobile et les tableaux de bord internes peuvent lire les mêmes données User, PartnerOrganization, APIKey, UsageLog et DeveloperDoc.

Flux de travail de démarrage AI

Générez rapidement des schémas, des règles d'accès et une structure de portail avec une seule invite structurée.

Prêt à lancer votre portail partenaire API ?

Laissez l'agent AI Back4app structurer le backend de votre portail partenaire API et générer des flux APIKey, UsageLog et DeveloperDoc à partir d'une seule invite.

Gratuit pour commencer — 50 invites d'agent AI/mois, aucune carte de crédit requise

Pile technologique du portail

Tout est inclus dans ce modèle de backend portail partenaire API.

Frontend
13+ technologies
Backend
Back4app
Base de données
MongoDB
Auth
Authentification intégrée + sessions
API
REST et GraphQL
Temps réel
Live Queries

Carte de relation partenaire

Modèle de relation d'entité pour le schéma backend du portail partenaire de l'API.

Voir la source du diagramme
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
    }

Flux d'intégration du portail

Flux d'exécution typique pour la connexion, la recherche de clé API, la révision du journal d'utilisation et les mises à jour de DeveloperDoc.

Voir la source du diagramme
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

Dictionnaire des champs

Référence complète au niveau des champs pour chaque classe dans le schéma du portail partenaire API.

ChampTypeDescriptionRequis
objectIdStringAuto-generated unique identifierAuto
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 timestampAuto
updatedAtDateAuto-generated last-update timestampAuto

7 champs dans User

Contrôles d'accès

Comment la stratégie ACL et CLP sécurise les partenaires, les enregistrements APIKey, les entrées UsageLog et les pages DeveloperDoc.

Comptes à portée partenaire

Chaque enregistrement PartnerOrganization ne devrait être modifiable que par les administrateurs du portail ou l'utilisateur primaryContact assigné.

Secret de clé et rotation

Stockez APIKey.tokenPrefix et les portées dans des vues publiques, et gardez le matériel clé brut en dehors du navigateur.

Limites de lecture du journal d'utilisation

Limitez les lectures du UsageLog au partenaire qui possède l'APIKey et aux rôles de support nécessitant un accès au dépannage.

Schéma JSON

Définition brute du schéma JSON prête à être copiée dans Back4app ou utilisée comme référence d'implémentation.

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
        }
      }
    }
  ]
}

Construire avec l'Agent IA

Utilisez l'Agent IA Back4app pour générer une véritable application de portail partenaire API à partir de ce modèle, y compris le frontend, le backend, l'authentification, et les flux APIKey, UsageLog, et DeveloperDoc.

Agent IA Back4app
Prêt à construire
Créez un backend d'application portail partenaire API sur Back4app avec ce schéma et ce comportement exacts.

Schéma :
1. Utilisateur : nom d'utilisateur (String, requis), email (String, requis), mot de passe (String, requis), rôle (String, requis) ; objectId, createdAt, updatedAt (système).
2. OrganisationPartenaire : nom (String, requis), statut (String, requis), contactPrincipal (Pointeur vers Utilisateur, requis), niveauDeSupport (String, optionnel) ; objectId, createdAt, updatedAt (système).
3. CléAPI : nomDeClé (String, requis), préfixeDeJeton (String, requis), portées (Array<String>, requis), estActif (Boolean, requis), dernièrementUtiliséÀ (Date, optionnel), partenaire (Pointeur vers OrganisationPartenaire, requis), crééPar (Pointeur vers Utilisateur, requis) ; objectId, createdAt, updatedAt (système).
4. JournalDUtilisation : partenaire (Pointeur vers OrganisationPartenaire, requis), cléAPI (Pointeur vers CléAPI, requis), pointDeTerminaison (String, requis), méthode (String, requis), codeStatut (Number, requis), nombreDeRequêtes (Number, requis), s'estProduitÀ (Date, requis) ; objectId, createdAt, updatedAt (système).
5. DocumentationDéveloppeur : titre (String, requis), slug (String, requis), contenu (String, requis), versionAPI (String, requis), estPublié (Boolean, requis), propriétaire (Pointeur vers Utilisateur, requis), partenaire (Pointeur vers OrganisationPartenaire, optionnel) ; objectId, createdAt, updatedAt (système).

Sécurité :
- Seuls les administrateurs du portail ou les propriétaires désignés peuvent mettre à jour les données des partenaires. Seuls les rôles approuvés peuvent créer, faire tourner ou révoquer des enregistrements de CléAPI. Limitez les lectures de JournalDUtilisation au partenaire propriétaire et aux rôles de support.

Auth :
- Inscription, connexion, déconnexion.

Comportement :
- Lister les partenaires, créer et faire tourner des enregistrements de CléAPI, examiner les entrées de JournalDUtilisation et publier des pages de DocumentationDéveloppeur.

Livraison :
- Application Back4app avec schéma, ACLs, CLPs ; frontend pour comptes partenaires, gestion de clés API, journaux d'utilisation et documentation pour développeurs.

Appuyez sur le bouton ci-dessous pour ouvrir l'Agent avec ce modèle de prompt pré-rempli.

Ceci est le prompt de base sans suffixe technologique. Vous pouvez adapter la pile frontend générée par la suite.

Déployer en quelques minutes50 prompts gratuits / moisPas de carte de crédit requise

API Playground

Essayez les REST et les points de terminaison GraphQL contre le schéma du portail partenaire API. Les réponses utilisent des données fictives et ne nécessitent pas de compte Back4app.

Chargement du playground…

Utilise le même schéma que ce modèle.

Choisissez votre stack

Développez chaque carte pour voir comment intégrer PartnerOrganization, APIKey et UsageLog avec la stack de votre choix.

Portail partenaire API Flutter Backend

Portail partenaire API React Backend

Portail partenaire API React Native Backend

Portail partenaire API Next.js Backend

Portail partenaire API JavaScript Backend

Portail partenaire API Android Backend

Portail partenaire API iOS Backend

Portail partenaire API Vue Backend

Portail partenaire API Angular Backend

Portail partenaire API GraphQL Backend

Portail partenaire API REST API Backend

Portail partenaire API PHP Backend

Portail partenaire API .NET Backend

Ce que vous obtenez avec chaque technologie

Chaque stack utilise le même schéma de backend du portail partenaire API et les contrats API.

Structure de données de portail unifiée

Gérez les enregistrements User, PartnerOrganization, APIKey, UsageLog et DeveloperDoc avec un schéma cohérent.

Contrôles du cycle de vie des clés API

Émettez, faites pivoter et révoquez les enregistrements APIKey sans perdre la trace de la propriété.

Visibilité de l'utilisation pour les équipes de support

Inspecter les entrées UsageLog par point de terminaison, méthode et statusCode lorsque les partenaires ont besoin d'aide.

Suivi de publication de documentation

Publier des mises à jour de DeveloperDoc avec des notes spécifiques à la apiVersion pour les développeurs partenaires.

APIs REST/GraphQL pour les clients du portail

Servir des outils administratifs internes et des applications destinées aux partenaires via une couche API unique.

Architecture extensible pour les flux de travail des partenaires

Ajouter des classes telles que des annonces ou des abonnements webhook sans réécrire le cœur du portail.

Comparaison des stacks de portail

Comparez la vitesse de configuration, le style SDK et le support AI à travers toutes les technologies prises en charge.

CadreTemps de configurationAvantage du portailType de SDKSupport IA
Environ 5 minBase de code unique pour le portail partenaire sur mobile et web.SDK typéComplet
Moins de 5 minutesTableau de bord web rapide pour les clés et les journaux des partenaires.SDK typéComplet
~3–7 minApplication mobile multiplateforme pour le support des partenaires.SDK typéComplet
Configuration rapide (5 min)Portail admin rendu côté serveur pour les clés et les documents.SDK typéComplet
~3–5 minIntégration web légère pour les opérations partenaires.SDK typéComplet
Environ 5 minApplication native Android pour les opérations partenaires.SDK typéComplet
Moins de 5 minutesApplication native iOS pour les opérations partenaires.SDK typéComplet
~3–7 minInterface web Reactive pour la révision clé et la documentation.SDK typéComplet
Configuration rapide (5 min)Portail d'entreprise pour accès et révision d'utilisation.SDK tapéComplet
Moins de 2 minAPI flexible GraphQL pour le portail partenaire.API GraphQLComplet
Configuration rapide (2 min)Intégration REST API pour le portail partenaire.REST APIComplet
~3 minBackend PHP côté serveur pour le portail partenaires.REST APIComplet
~3–7 minBackend .NET pour le portail partenaires.SDK typéComplet

Le temps de configuration reflète la durée prévue depuis le démarrage du projet jusqu'à la première requête PartnerOrganization, APIKey ou UsageLog utilisant ce schéma de modèle.

Questions du portail

Questions courantes sur la création d'un backend de portail partenaire API avec ce modèle.

À quoi ressemble une pipeline de portail partenarial API saine lorsque le travail est sensible et axé sur les délais ?
Quels flux de travail de portail partenaires API bénéficient le plus de tâches structurées par rapport à des notes libres ?
Le modèle d'accès est-il suffisamment granulaire pour les partenaires et les sous-traitants du portail partenaires API ?
Comment puis-je exécuter des requêtes pour des clés et des journaux avec Flutter ?
Comment puis-je gérer l'accès au portail partenaire API avec Next.js Server Actions ?
React peut-il enregistrer les journaux d'utilisation du cache natif hors ligne ?
Comment puis-je empêcher un accès non autorisé à la clé ?
Quelle est la meilleure façon de montrer l'utilisation du partenaire sur Android ?
Comment fonctionne le flux de rotation de clé API de bout en bout ?

Fiable par des développeurs du monde entier

Rejoignez des équipes qui livrent des produits de portail API partenaires plus rapidement avec les modèles Back4app

G2 Users Love Us Badge

Prêt à construire votre application de portail partenaires API ?

Démarrez votre projet de portail partenaires en quelques minutes. Aucune carte de crédit requise.

Choisir la technologie