API de test Agent (mise à jour / publication)
Permet aux développeurs, depuis des outils d'IA comme CodeX, Claude, etc. (ayant installé le GPTBots Agent Skill), d'importer la configuration du fichier .bot générée par les Skills dans un Agent cible sur la plateforme GPTBots et de la publier en ligne.
⚠️ Seuls les Agents en « mode test » peuvent être appelés. Un appel en mode officiel retourne
403200. Le mode test est sélectionné lors de la création de l'Agent et ne peut pas être modifié après la création.
API de mise à jour de l'Agent (importer .bot pour remplacer la version actuelle)
Importe le fichier .bot dans l'Agent cible (mode test) et enregistre la configuration actuelle après remplacement en tant que nouvelle version brouillon (qui devient également la « version actuelle »). Les règles sont les suivantes :
- Bases de connaissances (groupes de données) / tables de base de données / documents de connaissances : selon la dimension AgentID, ceux qui appartiennent toujours à l'Agent cible sont conservés, sinon ils sont supprimés ;
- Workflow / outils (plugins) associés : selon la dimension organisation, ceux qui restent valides sont conservés, sinon ils sont supprimés ;
- Le montage de bases de connaissances de premier niveau n'est pas exporté avec le
.bot; lors de l'importation, les bases de connaissances déjà montées sur l'Agent cible lui-même sont conservées ; - Identifiants tiers : lors de l'importation dans un Agent existant, les identifiants déjà configurés sur la cible sont réinjectés selon « **le même ID de composant / nœud / plugin », sans vider les composants déjà authentifiés, afin de garantir la disponibilité ;
Méthode de requête
POST
URL de la requête
https://api-${endpoint}.gptbots.ai/v1/agent/version/import
Requête
Exemple de requête
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/agent/version/import' \
-H 'Authorization: Bearer {AGENT_API_KEY}' \
-H 'Content-Type: multipart/form-data' \
-F 'file=@my-agent.bot' \
-F 'versionDesc=Imported by AI tool'
En-têtes de la requête
| Champ | Type | Description |
|---|---|---|
| Authorization | Bearer {API Key} | Utilisez Authorization: Bearer {API Key} pour l'authentification de l'appel. Obtenez la clé dans le canal « Intégration / API » de l'Agent cible et utilisez-la comme API Key. |
| Content-Type | multipart/form-data | Type de données, à définir sur multipart/form-data. |
Paramètres de la requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| file | file | Oui | Fichier .bot binaire. |
| versionDesc | text | Non | Description de la version. |
Le numéro de version est généré automatiquement par le serveur (dernier segment de la version la plus récente +1 ; en l'absence de version historique, il est
1.0.0).
Réponse
Exemple de réponse
{
"code": 0,
"msg": "OK",
"data": {
"botId": "xxx",
"botType": "QuestionAnswer",
"version": "1.0.3"
}
}
Réponse réussie
| Champ | Type | Description |
|---|---|---|
| botId | string | ID de l'Agent cible. |
| botType | string | Type d'Agent (QuestionAnswer / Flow / LoopAgent). |
| version | string | Numéro de la version enregistrée lors de cette opération (c'est-à-dire la version actuelle). |
Réponse en cas d'échec
| Champ | Type | Description |
|---|---|---|
| code | int | Code d'erreur. |
| msg | string | Détails de l'erreur. |
API de publication de l'Agent (publier en ligne par numéro de version)
Publie le numéro de version spécifié de l'Agent cible (mode test) en tant que version de production en ligne (cette version devient « en ligne », les autres versions reviennent à l'état brouillon).
Méthode de requête
POST
URL de la requête
https://api-${endpoint}.gptbots.ai/v1/agent/version/release
Requête
Exemple de requête
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/agent/version/release' \
-H 'Authorization: Bearer {AGENT_API_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"version": "1.0.3"
}'
En-têtes de la requête
| Champ | Type | Description |
|---|---|---|
| Authorization | Bearer {API Key} | Utilisez Authorization: Bearer {API Key} pour l'authentification de l'appel. Obtenez la clé dans le canal « Intégration / API » de l'Agent cible et utilisez-la comme API Key. |
| Content-Type | application/json | Type de données, à définir sur application/json. |
Paramètres de la requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| version | string | Oui | Numéro de version à publier en ligne (par ex. 1.0.3), généralement le version retourné par l'interface « mise à jour ». |
Réponse
Exemple de réponse
{
"code": 0,
"msg": "OK"
}
Réponse réussie
Aucun corps de données ; un code égal à 0 signifie que la publication a réussi.
Réponse en cas d'échec
| Champ | Type | Description |
|---|---|---|
| code | int | Code d'erreur. |
| msg | string | Détails de l'erreur. |
Codes d'erreur
Les interfaces de mise à jour et de publication partagent le même ensemble de codes d'erreur :
| Code | Message |
|---|---|
| 0 | Succès |
| 20055 | Le canal API de cet Agent n'est pas activé. Activez d'abord l'interrupteur API dans « Intégration / API » |
| 40000 | Paramètre non valide. L'API de publication a été appelée sans version ; ou les valeurs Loop Control du LoopAgent importé ne sont pas valides (maxTurns doit être compris entre 1 et 100, maxErrors entre 0 et 50, maxBudgetInputTokens ≥ 0, et tous doivent être des entiers) |
| 40001 | Trop de requêtes : cette interface est limitée à 30 requêtes par minute et par Agent |
| 40008 | Trop de requêtes : la limite RPM du forfait pour les « autres API » est dépassée (non déclenchée si le forfait ne définit pas cette limite) |
| 40101 | L'en-tête Authorization est vide |
| 40127 | Échec de l'authentification développeur : API Key non valide |
| 40348 | L'Agent n'existe pas. Renvoyé uniquement si l'Agent est supprimé de manière concurrente après l'authentification ; une API Key non valide renvoie 40127 et un Agent supprimé renvoie 40378 |
| 40353 | La fonctionnalité n'est disponible qu'après une mise à niveau du forfait. API de publication : le nombre de publications a atteint la limite du forfait (la réponse contient ce message générique et n'inclut pas la limite) |
| 40355 | La règle Flow n'est pas valide. API de publication : la cible est un Flow-Agent dont le graphe de flux n'est pas valide |
| 40378 | L'Agent a été supprimé |
| 200268 | Le numéro de version Agent/Workflow existe déjà : le numéro de version généré automatiquement entre en conflit avec une version existante (le statut HTTP de ce code est 200) |
| 403200 | Mode non test : seuls les Agents en mode test peuvent être mis à jour ou publiés par cette API |
| 403201 | Le type du fichier importé ne correspond pas au type de l'Agent cible |
| 403202 | Échec de l'analyse du fichier .bot importé |
| 403203 | Le numéro de version spécifié n'existe pas |
| 403204 | Le type de l'API Key ne correspond pas à l'interface : cette interface n'accepte que la Agent Key |
