Integre ZyloPro en sus aplicaciones
https://api.zylopro.comRegístrese en ZyloPro para crear su cuenta y organización. Luego podrá conectarse a través de la API para obtener un token de acceso.
La API utiliza tokens JWT (Bearer). Incluya el token en el header Authorization de sus peticiones:
Una vez autenticado, puede listar los agentes disponibles, ejecutar análisis y recuperar resultados.
Los endpoints de autenticación permiten gestionar cuentas de usuario, tokens de acceso y contraseñas.
/api/auth/registerRegistro de una nueva organización con su propietario
{
"email": "string",
"password": "string",
"firstName": "string",
"lastName": "string",
"organizationName": "string"
}{ success: boolean, token?: string, refreshToken?: string, user?: UserDto }/api/auth/loginInicio de sesión de un usuario
{
"email": "string",
"password": "string"
}{ success: boolean, token?: string, refreshToken?: string, user?: UserDto }/api/auth/refreshRefrescar el token de acceso con un refresh token
{
"refreshToken": "string"
}{ success: boolean, token?: string, refreshToken?: string }/api/auth/revokeRevocar un refresh token (cerrar sesión)
{
"refreshToken": "string"
}{ message: string }/api/auth/verify-emailVerificar la dirección de email con el token recibido por correo
{
"token": "string"
}{ message: string }/api/auth/forgot-passwordSolicitar un restablecimiento de contraseña
{
"email": "string"
}{ message: string }/api/auth/reset-passwordRestablecer la contraseña con el token recibido por correo
{
"token": "string",
"newPassword": "string"
}{ message: string }/api/auth/change-passwordCambiar la contraseña (usuario conectado)
{
"currentPassword": "string",
"newPassword": "string"
}{ message: string }Los endpoints de agentes permiten listar, suscribirse y ejecutar los 10 módulos IA de la plataforma.
/api/agentsObtener todos los agentes disponibles en la plataforma
AgentDto[]/api/agents/organizationObtener los agentes suscritos por la organización (Admin)
AgentDto[]/api/agents/myObtener los agentes accesibles por el usuario conectado
AgentDto[]/api/agents/{agentId}/subscribeSuscribirse a un agente (nivel organización)
{
"agentId": "int"
}{ message: string }/api/agents/{agentId}/unsubscribeDesuscribirse de un agente
{
"agentId": "int"
}{ message: string }/api/agents/{code}/executeEjecutar un agente con datos de entrada
{
"code": "string (ex: proposalcraft)"
}{
"inputData": "string",
"projectId": "guid? (optionnel)",
"metadata": "Record<string, string>? (optionnel)"
}{ success: boolean, status: string, executionId: guid, outputData?: string, error?: string }/api/agents/executions/{executionId}Obtener el estado de una ejecución
{
"executionId": "guid"
}AgentExecutionDto/api/agents/executions/{executionId}/cancelCancelar una ejecución en curso
{
"executionId": "guid"
}{ message: string }/api/agents/executionsObtener el historial de ejecuciones del usuario
{
"limit": "int (défaut: 20)"
}AgentExecutionDto[]// Exemple de connexion
const response = await fetch('https://api.zylopro.com/api/auth/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
email: 'user@example.com',
password: 'votre-mot-de-passe'
})
});
const data = await response.json();
// Stocker le token pour les requêtes ultérieures
const accessToken = data.token;// Exemple d'exécution d'un agent
const response = await fetch('https://api.zylopro.com/api/agents/proposalcraft/execute', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${accessToken}`
},
body: JSON.stringify({
inputData: "Contenu de l'appel d'offres à analyser...",
metadata: {
projectName: "Étude satisfaction client 2025",
clientName: "ACME Corp"
}
})
});
const result = await response.json();
console.log('Exécution ID:', result.executionId);
console.log('Statut:', result.status);// Exemple de polling pour suivre une exécution
async function waitForCompletion(executionId, accessToken) {
while (true) {
const response = await fetch(
`https://api.zylopro.com/api/agents/executions/${executionId}`,
{
headers: { 'Authorization': `Bearer ${accessToken}` }
}
);
const execution = await response.json();
if (execution.status === 'Completed') {
return execution;
}
if (execution.status === 'Failed') {
throw new Error(execution.errorMessage);
}
// Attendre 2 secondes avant le prochain check
await new Promise(resolve => setTimeout(resolve, 2000));
}
}{
id: number
code: string
name: string
shortDescription: string
longDescription: string
category: string
inputType: string
outputType: string
monthlyPrice: number
includedExecutions: number
extraExecutionPrice: number
iconName: string
color: string
isActive: boolean
isBeta: boolean
isSubscribed: boolean
hasAccess: boolean
}{
id: guid
agentCode: string
agentName: string
status: "Pending" | "Running" |
"Completed" | "Failed" |
"Cancelled"
createdAt: datetime
startedAt: datetime | null
completedAt: datetime | null
durationSeconds: number | null
inputTokens: number | null
outputTokens: number | null
outputFilePath: string | null
errorMessage: string | null
}| Código HTTP | Descripción |
|---|---|
| 200 | Éxito |
| 400 | Petición inválida (parámetros faltantes o incorrectos) |
| 401 | No autenticado (token faltante o expirado) |
| 403 | Acceso prohibido (permisos insuficientes) |
| 404 | Recurso no encontrado |
| 429 | Demasiadas peticiones (limitación de tasa) |
| 500 | Error interno del servidor |
{
"message": "Description de l'erreur",
"errors": {
"fieldName": ["Détail de l'erreur de validation"]
}
}La API está limitada a 100 peticiones por minuto por usuario. Los headers X-RateLimit-* indican el estado de su cuota.
Cada plan tiene un número de ejecuciones mensuales por agente. Consulte su panel de control para seguir su consumo.
Nuestro equipo técnico está disponible para acompañarle en la integración de la API ZyloPro.