Zurück zur Startseite

API-Dokumentation

Integrieren Sie ZyloPro in Ihre Anwendungen

v1.0Basis-URL: https://api.zylopro.com

Schnellstart

1. Ihre Zugangsdaten erhalten

Registrieren Sie sich auf ZyloPro, um Ihr Konto und Ihre Organisation zu erstellen. Anschließend können Sie sich über die API anmelden, um ein Zugriffstoken zu erhalten.

2. Authentifizierung

Die API verwendet JWT-Token (Bearer). Fügen Sie das Token in den Authorization-Header Ihrer Anfragen ein:

Authorization: Bearer <votre-token>

3. Ihre erste Anfrage stellen

Nach der Authentifizierung können Sie verfügbare Agenten auflisten, Analysen ausführen und Ergebnisse abrufen.

Authentifizierung

Die Authentifizierungs-Endpoints verwalten Benutzerkonten, Zugriffstoken und Passwörter.

POST/api/auth/register
Public

Registrierung einer neuen Organisation mit ihrem Eigentümer

Anfrage-Body

{
  "email": "string",
  "password": "string",
  "firstName": "string",
  "lastName": "string",
  "organizationName": "string"
}

Antwort

{ success: boolean, token?: string, refreshToken?: string, user?: UserDto }
POST/api/auth/login
Public

Benutzeranmeldung

Anfrage-Body

{
  "email": "string",
  "password": "string"
}

Antwort

{ success: boolean, token?: string, refreshToken?: string, user?: UserDto }
POST/api/auth/refresh
Public

Zugriffstoken mit Refresh-Token erneuern

Anfrage-Body

{
  "refreshToken": "string"
}

Antwort

{ success: boolean, token?: string, refreshToken?: string }
POST/api/auth/revoke
Auth

Refresh-Token widerrufen (Abmeldung)

Anfrage-Body

{
  "refreshToken": "string"
}

Antwort

{ message: string }
GET/api/auth/verify-email
Public

E-Mail-Adresse mit dem per E-Mail erhaltenen Token verifizieren

Query-Parameter

{
  "token": "string"
}

Antwort

{ message: string }
POST/api/auth/forgot-password
Public

Passwortzurücksetzung anfordern

Anfrage-Body

{
  "email": "string"
}

Antwort

{ message: string }
POST/api/auth/reset-password
Public

Passwort mit dem per E-Mail erhaltenen Token zurücksetzen

Anfrage-Body

{
  "token": "string",
  "newPassword": "string"
}

Antwort

{ message: string }
POST/api/auth/change-password
Auth

Passwort ändern (angemeldeter Benutzer)

Anfrage-Body

{
  "currentPassword": "string",
  "newPassword": "string"
}

Antwort

{ message: string }

KI-Module

Die Agenten-Endpoints ermöglichen es, die 10 KI-Module der Plattform aufzulisten, zu abonnieren und auszuführen.

GET/api/agents
Auth

Alle verfügbaren Agenten auf der Plattform abrufen

Antwort

AgentDto[]
GET/api/agents/organization
Admin

Von der Organisation abonnierte Agenten abrufen (Admin)

Antwort

AgentDto[]
GET/api/agents/my
Auth

Vom angemeldeten Benutzer zugängliche Agenten abrufen

Antwort

AgentDto[]
POST/api/agents/{agentId}/subscribe
Owner

Einen Agenten abonnieren (Organisationsebene)

URL-Parameter

{
  "agentId": "int"
}

Antwort

{ message: string }
POST/api/agents/{agentId}/unsubscribe
Owner

Einen Agenten abbestellen

URL-Parameter

{
  "agentId": "int"
}

Antwort

{ message: string }
POST/api/agents/{code}/execute
Auth

Einen Agenten mit Eingabedaten ausführen

URL-Parameter

{
  "code": "string (ex: proposalcraft)"
}

Anfrage-Body

{
  "inputData": "string",
  "projectId": "guid? (optionnel)",
  "metadata": "Record<string, string>? (optionnel)"
}

Antwort

{ success: boolean, status: string, executionId: guid, outputData?: string, error?: string }
GET/api/agents/executions/{executionId}
Auth

Status einer Ausführung abrufen

URL-Parameter

{
  "executionId": "guid"
}

Antwort

AgentExecutionDto
POST/api/agents/executions/{executionId}/cancel
Auth

Eine laufende Ausführung abbrechen

URL-Parameter

{
  "executionId": "guid"
}

Antwort

{ message: string }
GET/api/agents/executions
Auth

Ausführungshistorie des Benutzers abrufen

Query-Parameter

{
  "limit": "int (défaut: 20)"
}

Antwort

AgentExecutionDto[]

Codebeispiele

Anmeldung und Token-Abruf
// 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;
Ausführung eines Agenten
// 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);
Ausführung verfolgen (Polling)
// 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));
  }
}

Datentypen

AgentDto

{
  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
}

AgentExecutionDto

{
  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
}

Fehlerbehandlung

HTTP-CodeBeschreibung
200Erfolg
400Ungültige Anfrage (fehlende oder falsche Parameter)
401Nicht authentifiziert (fehlendes oder abgelaufenes Token)
403Zugriff verweigert (unzureichende Berechtigungen)
404Ressource nicht gefunden
429Zu viele Anfragen (Rate-Limiting)
500Interner Serverfehler

Fehlerformat

{
  "message": "Description de l'erreur",
  "errors": {
    "fieldName": ["Détail de l'erreur de validation"]
  }
}

Limits und Kontingente

Rate-Limiting

Die API ist auf 100 Anfragen pro Minute pro Benutzer beschränkt. Die X-RateLimit-*-Header zeigen Ihren Kontingentstatus an.

Ausführungskontingente

Jeder Plan hat eine monatliche Ausführungsanzahl pro Agent. Prüfen Sie Ihr Dashboard, um Ihren Verbrauch zu verfolgen.

Brauchen Sie Hilfe?

Unser technisches Team steht Ihnen bei der Integration der ZyloPro-API zur Verfügung.