API de prueba de Agent (actualizar / publicar)
Permite a los desarrolladores, en herramientas de IA como CodeX, Claude, etc. (con el GPTBots Agent Skill instalado), importar la configuración del archivo .bot generada por las Skills a un Agent de destino en la plataforma GPTBots y publicarlo.
⚠️ Solo se pueden invocar los Agents en «modo de prueba». Las invocaciones en modo formal devuelven
403200. El modo de prueba se selecciona al crear el Agent y no se puede modificar después de la creación.
API de actualización de Agent (importar .bot para reemplazar la versión actual)
Importa el archivo .bot al Agent de destino (modo de prueba) y guarda la configuración actual reemplazada como una nueva versión de borrador (que pasa a ser también la «versión actual»). Las reglas concretas son las siguientes:
- Bases de conocimiento (grupos de datos) / tablas de base de datos / documentos de conocimiento: según la dimensión AgentID, se conservan los que sigan perteneciendo al Agent de destino; en caso contrario, se descartan;
- Workflows / herramientas (plugins) asociados: según la dimensión organización, se conservan los que sigan siendo válidos; en caso contrario, se descartan;
- Los montajes de bases de conocimiento de nivel superior no se exportan junto con el
.bot; al importar se conservan las bases de conocimiento que el propio Agent de destino ya tenga montadas; - Credenciales de terceros: al importar a un Agent existente, se rellenan las credenciales ya configuradas en el destino según el «mismo ID de componente/nodo/plugin», sin vaciar los componentes ya autenticados, para garantizar su disponibilidad;
Método de solicitud
POST
URL de solicitud
https://api-${endpoint}.gptbots.ai/v1/agent/version/import
Solicitud
Ejemplo de solicitud
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'
Cabeceras de la solicitud
| Campo | Tipo | Descripción |
|---|---|---|
| Authorization | Bearer {API Key} | Use Authorization: Bearer {API Key} para la autenticación de la invocación; obtenga la clave en el canal «Integración / API» del Agent de destino y úsela como API Key. |
| Content-Type | multipart/form-data | Tipo de datos; su valor es multipart/form-data. |
Parámetros de la solicitud
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| file | file | Sí | Archivo .bot binario. |
| versionDesc | text | No | Descripción de la versión. |
El número de versión lo genera automáticamente el servidor (se toma el último segmento de la versión más reciente +1; si no hay versiones históricas, será
1.0.0).
Respuesta
Ejemplo de respuesta
{
"code": 0,
"msg": "OK",
"data": {
"botId": "xxx",
"botType": "QuestionAnswer",
"version": "1.0.3"
}
}
Respuesta de éxito
| Campo | Tipo | Descripción |
|---|---|---|
| botId | string | ID del Agent de destino. |
| botType | string | Tipo de Agent (QuestionAnswer / Flow / LoopAgent). |
| version | string | Número de versión guardado en esta operación (es decir, la versión actual). |
Respuesta de error
| Campo | Tipo | Descripción |
|---|---|---|
| code | int | Código de error. |
| msg | string | Detalles del error. |
API de publicación de Agent (publicar como versión en producción según el número de versión)
Publica el número de versión especificado del Agent de destino (modo de prueba) como versión de producción en línea (esa versión pasa a estar «en línea» y las demás versiones vuelven al estado de borrador).
Método de solicitud
POST
URL de solicitud
https://api-${endpoint}.gptbots.ai/v1/agent/version/release
Solicitud
Ejemplo de solicitud
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"
}'
Cabeceras de la solicitud
| Campo | Tipo | Descripción |
|---|---|---|
| Authorization | Bearer {API Key} | Use Authorization: Bearer {API Key} para la autenticación de la invocación; obtenga la clave en el canal «Integración / API» del Agent de destino y úsela como API Key. |
| Content-Type | application/json | Tipo de datos; su valor es application/json. |
Parámetros de la solicitud
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| version | string | Sí | Número de versión que se publicará en línea (por ejemplo, 1.0.3); normalmente se toma del version devuelto por la interfaz de «actualización». |
Respuesta
Ejemplo de respuesta
{
"code": 0,
"msg": "OK"
}
Respuesta de éxito
Sin cuerpo de datos; si code es 0, la publicación se ha realizado correctamente.
Respuesta de error
| Campo | Tipo | Descripción |
|---|---|---|
| code | int | Código de error. |
| msg | string | Detalles del error. |
Códigos de error
Las interfaces de actualización y publicación comparten el mismo conjunto de códigos de error:
| Code | Message |
|---|---|
| 0 | Éxito |
| 20055 | El canal API de este Agent no está habilitado. Active primero el interruptor de API en «Integración / API» |
| 40000 | Parámetro no válido. La API de publicación se llamó sin version; o los valores de Loop Control del LoopAgent importado no son válidos (maxTurns debe estar entre 1 y 100, maxErrors entre 0 y 50, maxBudgetInputTokens ≥ 0, y todos deben ser enteros) |
| 40001 | Demasiadas solicitudes: esta interfaz está limitada a 30 solicitudes por minuto y por Agent |
| 40008 | Demasiadas solicitudes: se superó el límite de RPM del plan para «Otras API» (no se activa si el plan no define ese límite) |
| 40101 | La cabecera Authorization está vacía |
| 40127 | Error de autenticación del desarrollador: API Key no válida |
| 40348 | El Agent no existe. Solo se devuelve si el Agent se elimina de forma concurrente tras la autenticación; una API Key no válida devuelve 40127 y un Agent eliminado devuelve 40378 |
| 40353 | La función solo está disponible tras actualizar el plan. API de publicación: la cantidad publicada alcanzó el límite del plan (la respuesta contiene este mensaje genérico y no incluye el límite) |
| 40355 | La regla de Flow no es válida. API de publicación: el destino es un Flow-Agent cuyo diagrama de flujo no es válido |
| 40378 | El Agent ha sido eliminado |
| 200268 | El número de versión de Agent/Workflow ya existe: el número de versión generado automáticamente entra en conflicto con una versión existente (el estado HTTP de este código es 200) |
| 403200 | No está en modo de prueba: solo los Agents en modo de prueba pueden actualizarse o publicarse mediante esta API |
| 403201 | El tipo de archivo importado no coincide con el tipo del Agent de destino |
| 403202 | Error al analizar el archivo .bot importado |
| 403203 | El número de versión especificado no existe |
| 403204 | El tipo de API Key no coincide con la interfaz: esta interfaz solo acepta Agent Key |
