88API88API
User GuideAI ApplicationsAPI ReferenceHelp & Support
API Module Guide

Module d'information publique

Description des fonctionnalités

Le préfixe de l'API est uniformément http(s)://<your-domain>

HTTPS doit être utilisé dans les environnements de production pour sécuriser les jetons d'authentification. HTTP n'est recommandé que pour les environnements de développement.

Fournit des informations système accessibles sans authentification ou avec de faibles privilèges, notamment des listes de modèles, des détails sur les prix, le contenu des annonces, etc. Prend en charge l'affichage multilingue et la configuration dynamique. La page d'accueil frontale et le marché des modèles s'appuient principalement sur ces interfaces pour récupérer les données d'affichage.

🔐 Authentification non requise

Obtenir le contenu de l'annonce

  • Nom de l'interface: obtenir le contenu de l'annonce
  • Méthode HTTP: GET
  • Chemin: /api/notice
  • Exigence d'authentification: publique
  • Résumé des fonctions: récupère le contenu des annonces du système, prenant en charge le format Markdown

💡 Exemple de demande:

const response = await fetch('/api/notice', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json'
  }
});
const data = await response.json();

✅ Exemple de réponse réussie:

{
  "success": true,
  "message": "",
  "data": "# System Announcement\n\nWelcome88APIsystem!"
}

❗ Exemple de réponse en cas d'échec:

{
  "success": false,
  "message": "Failed to get announcement"
}

🧾 Description du champ:

data (String): contenu d'annonce, prenant en charge le format Markdown

À propos des informations sur la page

  • Nom de l'interface: informations sur la page À propos
  • Méthode HTTP: GET
  • Chemin: /api/about
  • Exigence d'authentification: publique
  • Résumé des fonctions: récupère le contenu personnalisé pour la page À propos

💡 Exemple de demande:

const response = await fetch('/api/about', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json'
  }
});
const data = await response.json();

✅ Exemple de réponse réussie:

{
  "success": true,
  "message": "",
  "data": "# about Us\n\n88APIis a powerfulAIgateway system..."
}

❗ Exemple de réponse en cas d'échec:

{
  "success": false,
  "message": "Failed to get information about"
}

🧾 Description du champ:

data (Chaîne): À propos du contenu de la page, prenant en charge le format Markdown ou le lien URL

Contenu personnalisé de la page d'accueil

  • Nom de l'interface: contenu personnalisé de la page d'accueil
  • Méthode HTTP: GET
  • Chemin: /api/home_page_content
  • Exigence d'authentification: publique
  • Résumé des fonctions: récupère le contenu personnalisé pour la page d'accueil, qui peut être du texte Markdown ou une URL iframe

💡 Exemple de demande:

const response = await fetch('/api/home_page_content', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json'
  }
});
const data = await response.json();

✅ Exemple de réponse réussie:

{
  "success": true,
  "message": "",
  "data": "# Welcome88API\n\nThis is a powerfulAIgateway system..."
}

❗ Exemple de réponse en cas d'échec:

{
  "success": false,
  "message": "Failed to obtain home page content"
}

🧾 Description du champ:

data (String): contenu de la page d'accueil, qui peut être du texte Markdown ou un lien URL commençant par "https://"

Configuration du rapport du modèle

  • Nom de l'interface: configuration du rapport du modèle
  • Méthode HTTP: GET
  • Chemin: /api/ratio_config
  • Exigence d'authentification: publique
  • Résumé des fonctions: récupère les informations de configuration du rapport de modèle public pour la synchronisation par les systèmes en amont

💡 Exemple de demande:

const response = await fetch('/api/ratio_config', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json'
  }
});
const data = await response.json();

✅ Exemple de réponse réussie:

{
  "success": true,
  "data": {
    "model_ratio": {
      "gpt-3.5-turbo": 1.0,
      "gpt-4": 15.0,
      "claude-3-sonnet": 3.0
    },
    "completion_ratio": {
      "gpt-3.5-turbo": 1.0,
      "gpt-4": 1.0
    },
    "model_price": {
      "gpt-3.5-turbo-instruct": 0.002
    }
  }
}

❗ Exemple de réponse en cas d'échec:

{
  "success": false,
  "message": "Failed to obtain magnification configuration"
}

🧾 Description du champ:

data (Objet): informations de configuration du rapport

  • model_ratio (Objet): Mappage du rapport du modèle, où la clé est le nom du modèle et la valeur est la valeur numérique du rapport
  • completion_ratio (Objet): Cartographie du taux d'achèvement
  • model_price (Objet): Mappage de prix du modèle, où la clé est le nom du modèle et la valeur est le prix (USD)

Informations sur les tarifs et les forfaits

  • Nom de l'interface: informations sur les prix et le forfait
  • Méthode HTTP: GET
  • Chemin: /api/pricing
  • Exigence d'authentification: Anonyme/Utilisateur
  • Résumé des fonctions: récupère les informations de tarification du modèle, les ratios de groupe et les groupes disponibles

💡 Exemple de demande:

const response = await fetch('/api/pricing', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer your_token', // Optional, logged-in users get more detailed information
    'New-Api-User': 'your_user_id' // Optional
  }
});
const data = await response.json();

✅ Exemple de réponse réussie:

{
  "success": true,
  "data": [
    {
      "model_name": "gpt-3.5-turbo",
      "enable_group": ["default", "vip"],
      "model_ratio": 1.0,
      "completion_ratio": 1.0,
      "model_price": 0.002,
      "quota_type": 1,
      "description": "GPT-3.5 TurboModel",
      "vendor_id": 1,
      "supported_endpoint_types": [1, 2]
    }
  ],
  "vendors": [
    {
      "id": 1,
      "name": "OpenAI",
      "description": "OpenAIofficial model",
      "icon": "openai.png"
    }
  ],
  "group_ratio": {
    "default": 1.0,
    "vip": 0.8
  },
  "usable_group": {
    "default": "Default grouping",
    "vip": "VIPGroup"
  },
  "supported_endpoint": {
    "1": {"method": "POST", "path": "/v1/chat/completions"},
    "2": {"method": "POST", "path": "/v1/embeddings"}
  },
  "auto_groups": ["default"]
}

❗ Exemple de réponse en cas d'échec:

{
  "success": false,
  "message": "Failed to obtain pricing information"
}

🧾 Description du champ:

  • data (Array): Liste des informations sur les prix du modèle

  • model_name (String): Nom du modèle

  • enable_group (Array): Liste des groupes disponibles

  • model_ratio (Nombre) : Rapport du modèle

  • completion_ratio (Nombre): Taux d'achèvement

  • model_price (Nombre): Prix du modèle (USD)

  • quota_type (Numéro) : Type de facturation, 0=Facturation au ratio, 1=Facturation au prix

  • description (Chaîne): Description du modèle

  • vendor_id (Numéro): ID du fournisseur

  • supported_endpoint_types (Array): types de points de terminaison pris en charge

  • vendors (Array): Liste des informations sur le fournisseur

  • id (Numéro): ID du fournisseur

  • name (Chaîne): Nom du fournisseur

  • description (Chaîne): Description du fournisseur

  • icon (Chaîne): icône du fournisseur

  • group_ratio (Objet): Cartographie du rapport de groupe

  • usable_group (Objet): Mappage de groupe utilisable

  • supported_endpoint (Objet): informations sur les points de terminaison pris en charge

  • auto_groups (Array) : Liste automatique des groupes

🔐 Authentification utilisateur requise

Obtenez la liste des modèles disponibles sur le frontend

  • Nom de l'interface: Obtenez la liste des modèles disponibles sur le frontend
  • Méthode HTTP: GET
  • Chemin: /api/models
  • Exigence d'authentification: Utilisateur
  • Résumé des fonctions: Récupère la liste des modèles d'IA accessibles à l'utilisateur actuel, utilisés pour l'affichage du tableau de bord frontend

💡 Exemple de demande:

const response = await fetch('/api/models', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer your_user_token',
    'New-Api-User': 'your_user_id'
  }
});
const data = await response.json();

✅ Exemple de réponse réussie:

{
  "success": true,
  "data": {
    "1": ["gpt-3.5-turbo", "gpt-4"],
    "2": ["claude-3-sonnet", "claude-3-haiku"]
  }
}

❗ Exemple de réponse en cas d'échec:

{
  "success": false,
  "message": "Unauthorized access"
}

🧾 Description du champ:

data (Objet): Mappage de l'ID de canal à la liste de modèles

  • Clé (chaîne) : ID de chaîne
  • Value (Array): Liste des noms de modèles pris en charge par ce canal