Terug naar home

API-documentatie

Integreer ZyloPro in uw applicaties

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

Snelstart

1. Uw inloggegevens verkrijgen

Registreer u op ZyloPro om uw account en organisatie aan te maken. Vervolgens kunt u via de API inloggen om een toegangstoken te verkrijgen.

2. Authenticatie

De API gebruikt JWT (Bearer) tokens. Voeg het token toe in de Authorization-header van uw verzoeken:

Authorization: Bearer <votre-token>

3. Uw eerste verzoek doen

Eenmaal geauthenticeerd kunt u beschikbare agenten opvragen, analyses uitvoeren en resultaten ophalen.

Authenticatie

De authenticatie-endpoints beheren gebruikersaccounts, toegangstokens en wachtwoorden.

POST/api/auth/register
Public

Registratie van een nieuwe organisatie met eigenaar

Verzoekbody

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

Antwoord

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

Gebruiker inloggen

Verzoekbody

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

Antwoord

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

Toegangstoken vernieuwen met refresh token

Verzoekbody

{
  "refreshToken": "string"
}

Antwoord

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

Refresh token intrekken (uitloggen)

Verzoekbody

{
  "refreshToken": "string"
}

Antwoord

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

E-mailadres verifiëren met het per e-mail ontvangen token

Query Params

{
  "token": "string"
}

Antwoord

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

Wachtwoord reset aanvragen

Verzoekbody

{
  "email": "string"
}

Antwoord

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

Wachtwoord resetten met het per e-mail ontvangen token

Verzoekbody

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

Antwoord

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

Wachtwoord wijzigen (ingelogde gebruiker)

Verzoekbody

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

Antwoord

{ message: string }

AI-modules

De agent-endpoints stellen u in staat om de 10 AI-modules van het platform op te vragen, te abonneren en uit te voeren.

GET/api/agents
Auth

Alle beschikbare agenten op het platform ophalen

Antwoord

AgentDto[]
GET/api/agents/organization
Admin

Door de organisatie geabonneerde agenten ophalen (Admin)

Antwoord

AgentDto[]
GET/api/agents/my
Auth

Agenten toegankelijk voor de ingelogde gebruiker ophalen

Antwoord

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

Abonneren op een agent (organisatieniveau)

URL-parameters

{
  "agentId": "int"
}

Antwoord

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

Abonnement op een agent opzeggen

URL-parameters

{
  "agentId": "int"
}

Antwoord

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

Een agent uitvoeren met invoergegevens

URL-parameters

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

Verzoekbody

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

Antwoord

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

Status van een uitvoering ophalen

URL-parameters

{
  "executionId": "guid"
}

Antwoord

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

Een lopende uitvoering annuleren

URL-parameters

{
  "executionId": "guid"
}

Antwoord

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

Uitvoeringsgeschiedenis van de gebruiker ophalen

Query Params

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

Antwoord

AgentExecutionDto[]

Codevoorbeelden

Inloggen en token ophalen
// 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;
Een agent uitvoeren
// 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);
Een uitvoering volgen (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));
  }
}

Gegevenstypen

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
}

Foutafhandeling

HTTP-codeBeschrijving
200Succes
400Ongeldig verzoek (ontbrekende of onjuiste parameters)
401Niet geauthenticeerd (ontbrekend of verlopen token)
403Toegang geweigerd (onvoldoende machtigingen)
404Bron niet gevonden
429Te veel verzoeken (rate limiting)
500Interne serverfout

Foutformaat

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

Limieten en quota

Rate Limiting

De API is beperkt tot 100 verzoeken per minuut per gebruiker. De X-RateLimit-*-headers geven uw quotumstatus aan.

Uitvoeringsquota

Elk plan heeft een maandelijks aantal uitvoeringen per agent. Controleer uw dashboard om uw verbruik te volgen.

Hulp nodig?

Ons technisch team staat klaar om u te begeleiden bij de integratie van de ZyloPro API.