Integrate ZyloPro nelle vostre applicazioni
https://api.zylopro.comRegistratevi su ZyloPro per creare il vostro account e organizzazione. Potrete poi accedere tramite l'API per ottenere un token di accesso.
L'API utilizza token JWT (Bearer). Includete il token nell'header Authorization delle vostre richieste:
Una volta autenticati, potete elencare gli agenti disponibili, eseguire analisi e recuperare i risultati.
Gli endpoint di autenticazione gestiscono account utente, token di accesso e password.
/api/auth/registerRegistrazione di una nuova organizzazione con il suo proprietario
{
"email": "string",
"password": "string",
"firstName": "string",
"lastName": "string",
"organizationName": "string"
}{ success: boolean, token?: string, refreshToken?: string, user?: UserDto }/api/auth/loginAccesso di un utente
{
"email": "string",
"password": "string"
}{ success: boolean, token?: string, refreshToken?: string, user?: UserDto }/api/auth/refreshAggiornare il token di accesso con un refresh token
{
"refreshToken": "string"
}{ success: boolean, token?: string, refreshToken?: string }/api/auth/revokeRevocare un refresh token (disconnessione)
{
"refreshToken": "string"
}{ message: string }/api/auth/verify-emailVerificare l'indirizzo email con il token ricevuto via email
{
"token": "string"
}{ message: string }/api/auth/forgot-passwordRichiedere un reset della password
{
"email": "string"
}{ message: string }/api/auth/reset-passwordReimpostare la password con il token ricevuto via email
{
"token": "string",
"newPassword": "string"
}{ message: string }/api/auth/change-passwordModificare la password (utente connesso)
{
"currentPassword": "string",
"newPassword": "string"
}{ message: string }Gli endpoint degli agenti permettono di elencare, sottoscrivere ed eseguire i 10 moduli IA della piattaforma.
/api/agentsOttenere tutti gli agenti disponibili sulla piattaforma
AgentDto[]/api/agents/organizationOttenere gli agenti sottoscritti dall'organizzazione (Admin)
AgentDto[]/api/agents/myOttenere gli agenti accessibili dall'utente connesso
AgentDto[]/api/agents/{agentId}/subscribeSottoscrivere un agente (livello organizzazione)
{
"agentId": "int"
}{ message: string }/api/agents/{agentId}/unsubscribeAnnullare la sottoscrizione di un agente
{
"agentId": "int"
}{ message: string }/api/agents/{code}/executeEseguire un agente con dati di input
{
"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}Ottenere lo stato di un'esecuzione
{
"executionId": "guid"
}AgentExecutionDto/api/agents/executions/{executionId}/cancelAnnullare un'esecuzione in corso
{
"executionId": "guid"
}{ message: string }/api/agents/executionsOttenere lo storico delle esecuzioni dell'utente
{
"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
}| Codice HTTP | Descrizione |
|---|---|
| 200 | Successo |
| 400 | Richiesta non valida (parametri mancanti o errati) |
| 401 | Non autenticato (token mancante o scaduto) |
| 403 | Accesso vietato (permessi insufficienti) |
| 404 | Risorsa non trovata |
| 429 | Troppe richieste (rate limiting) |
| 500 | Errore interno del server |
{
"message": "Description de l'erreur",
"errors": {
"fieldName": ["Détail de l'erreur de validation"]
}
}L'API è limitata a 100 richieste al minuto per utente. Gli header X-RateLimit-* indicano lo stato della vostra quota.
Ogni piano ha un numero di esecuzioni mensili per agente. Consultate la vostra dashboard per monitorare il consumo.
Il nostro team tecnico è disponibile per accompagnarvi nell'integrazione dell'API ZyloPro.