Integre a ZyloPro nas suas aplicações
https://api.zylopro.comRegiste-se na ZyloPro para criar a sua conta e organização. Em seguida, pode autenticar-se através da API para obter um token de acesso.
A API utiliza tokens JWT (Bearer). Inclua o token no header Authorization dos seus pedidos:
Uma vez autenticado, pode listar os agentes disponíveis, executar análises e recuperar resultados.
Os endpoints de autenticação gerem contas de utilizador, tokens de acesso e palavras-passe.
/api/auth/registerRegisto de uma nova organização com o seu proprietário
{
"email": "string",
"password": "string",
"firstName": "string",
"lastName": "string",
"organizationName": "string"
}{ success: boolean, token?: string, refreshToken?: string, user?: UserDto }/api/auth/loginInício de sessão de um utilizador
{
"email": "string",
"password": "string"
}{ success: boolean, token?: string, refreshToken?: string, user?: UserDto }/api/auth/refreshAtualizar o token de acesso com um refresh token
{
"refreshToken": "string"
}{ success: boolean, token?: string, refreshToken?: string }/api/auth/revokeRevogar um refresh token (terminar sessão)
{
"refreshToken": "string"
}{ message: string }/api/auth/verify-emailVerificar o endereço de email com o token recebido por email
{
"token": "string"
}{ message: string }/api/auth/forgot-passwordSolicitar uma reposição de palavra-passe
{
"email": "string"
}{ message: string }/api/auth/reset-passwordRepor a palavra-passe com o token recebido por email
{
"token": "string",
"newPassword": "string"
}{ message: string }/api/auth/change-passwordAlterar a palavra-passe (utilizador autenticado)
{
"currentPassword": "string",
"newPassword": "string"
}{ message: string }Os endpoints de agentes permitem listar, subscrever e executar os 10 módulos IA da plataforma.
/api/agentsObter todos os agentes disponíveis na plataforma
AgentDto[]/api/agents/organizationObter os agentes subscritos pela organização (Admin)
AgentDto[]/api/agents/myObter os agentes acessíveis pelo utilizador autenticado
AgentDto[]/api/agents/{agentId}/subscribeSubscrever um agente (nível organização)
{
"agentId": "int"
}{ message: string }/api/agents/{agentId}/unsubscribeCancelar a subscrição de um agente
{
"agentId": "int"
}{ message: string }/api/agents/{code}/executeExecutar um agente com dados 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}Obter o estado de uma execução
{
"executionId": "guid"
}AgentExecutionDto/api/agents/executions/{executionId}/cancelCancelar uma execução em curso
{
"executionId": "guid"
}{ message: string }/api/agents/executionsObter o histórico de execuções do utilizador
{
"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 | Descrição |
|---|---|
| 200 | Sucesso |
| 400 | Pedido inválido (parâmetros em falta ou incorretos) |
| 401 | Não autenticado (token em falta ou expirado) |
| 403 | Acesso proibido (permissões insuficientes) |
| 404 | Recurso não encontrado |
| 429 | Demasiados pedidos (limitação de taxa) |
| 500 | Erro interno do servidor |
{
"message": "Description de l'erreur",
"errors": {
"fieldName": ["Détail de l'erreur de validation"]
}
}A API está limitada a 100 pedidos por minuto por utilizador. Os headers X-RateLimit-* indicam o estado da sua quota.
Cada plano tem um número de execuções mensais por agente. Consulte o seu painel de controlo para acompanhar o seu consumo.
A nossa equipa técnica está disponível para o acompanhar na integração da API ZyloPro.