# Webhooks en Events voor Asynchrone AI-taken | llmnet API

[Naar de inhoud](#lm-inhoud)Netwerk/NL[EN](/en/webhooks-async-taken)[Hubhub.llmnet.nlModellen vergelijken op taak, taal, kosten en licentie.](https://hub.llmnet.nl/)[Communitycommunity.llmnet.nlPrompttechnieken, patronen en systeemprompts.](https://community.llmnet.nl/)[APIapi.llmnet.nlLLM's robuust in software: rate limits, routing, structured output.](https://api.llmnet.nl/)[Consultancyconsultancy.llmnet.nlAI invoeren in een organisatie, van pilot tot productie.](https://consultancy.llmnet.nl/)[Nieuwsnieuws.llmnet.nlOntwikkelingen in AI, geduid voor Nederland.](https://nieuws.llmnet.nl/)[Benchmarkbenchmark.llmnet.nlZelf meten wat AI-kwaliteit is, voor jouw taken.](https://benchmark.llmnet.nl/)[Vacaturesvacatures.llmnet.nlAI-rollen, salarissen en carrièrepaden in Nederland.](https://vacatures.llmnet.nl/)[Lerenleren.llmnet.nlAI-concepten in gewoon Nederlands, van beginner tot bouwer.](https://leren.llmnet.nl/)[Gidsgids.llmnet.nlAI privé draaien op eigen Mac, pc, NAS of thuisserver.](https://gids.llmnet.nl/)[Directorydirectory.llmnet.nlHet AI-ecosysteem in kaart: tools, modellen, bedrijven.](https://directory.llmnet.nl/)[Radarradar.llmnet.nlSignalen uit X, onderzoek en communities voor indie developers.](https://radar.llmnet.nl/)[Appsapps.llmnet.nlReviews van AI-apps en open-source repo's, met tips voor wie zelf bouwt.](https://apps.llmnet.nl/)[llmnet.nl — hoofdsite](https://llmnet.nl/)[](https://x.com/intent/post?url=https%3A%2F%2Fapi.llmnet.nl%2Fwebhooks-async-taken&text=Webhooks%20en%20Events%20voor%20Asynchrone%20AI-taken)[](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fapi.llmnet.nl%2Fwebhooks-async-taken)[](https://www.reddit.com/submit?url=https%3A%2F%2Fapi.llmnet.nl%2Fwebhooks-async-taken&title=Webhooks%20en%20Events%20voor%20Asynchrone%20AI-taken)[](#)[](https://x.com/intent/post?url=https%3A%2F%2Fapi.llmnet.nl%2Fwebhooks-async-taken&text=Webhooks%20en%20Events%20voor%20Asynchrone%20AI-taken)[](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fapi.llmnet.nl%2Fwebhooks-async-taken)[](https://www.reddit.com/submit?url=https%3A%2F%2Fapi.llmnet.nl%2Fwebhooks-async-taken&title=Webhooks%20en%20Events%20voor%20Asynchrone%20AI-taken)[](#)Door Ivo Donker — samengesteld met AI-ondersteuning (Claude & Gemini) · Laatst bijgewerkt: 27 juli 2026

 
 
# Webhooks en Events

 Efficiënt omgaan met asynchrone AI-taken via het callback-patroon.

 
 
 
 
## Waarom Asynchrone Verwerking?

 Het genereren van output via geavanceerde AI-modellen vergt aanzienlijke rekenkracht. Zeker wanneer dit gepaard gaat met het verwerken van grote hoeveelheden context of het doorzoeken van vector databases (RAG), kan een antwoord even op zich laten wachten. Een HTTP-verzoek dat seconden of minuten open blijft staan, is onwenselijk. Het blokkeert resources en verhoogt de kans op netwerk time-outs. Om uw applicatie responsief te houden, maakt de API voor de zwaarste rekentaken gebruik van asynchrone verwerking.

 
 
## Statuspolling versus Webhooks

 Wanneer u een asynchrone taak start, krijgt u direct een task_id terug. Er zijn twee manieren om het uiteindelijke resultaat te verkrijgen:

 
 
- Statuspolling: Uw applicatie vraagt periodiek (bijv. elke 5 seconden) via een apart endpoint de status van de taak op. Dit leidt tot veel onnodige netwerkverzoeken en inefficiënt gebruik van bandbreedte.
 
- Webhooks (Aanbevolen): Uw applicatie levert vooraf een webhook-URL aan. Zodra de inferentie of taak is afgerond, "pusht" de server de resultaten direct via een POST-verzoek naar uw server. Dit bespaart rekenkracht en levert het resultaat exact op het moment dat het beschikbaar is.
 

 
## Het Callback-patroon in de Praktijk

 Het implementeren van een robuuste webhook-integratie is verrassend eenvoudig en bestaat uit twee stappen.

 
### 1. De Taak Initialiseren

 Bij het versturen van uw prompt geeft u een callback_url mee in de body. In dit voorbeeld illustreren we een complex verzoek aan een DeepSeek model in combinatie met RAG.

import requests

api_url = "https://api.llmnet.nl/v1/completions/async"
payload = {
 "model": "deepseek-coder-v2-instruct",
 "messages": [{"role": "user", "content": "Analyseer de bijgevoegde documentatie..."}],
 "use_rag": True,
 "callback_url": "https://uw-applicatie.nl/webhooks/llm-ready"
}
headers = {"Authorization": "Bearer sk-dummy-key-xxxx"}

response = requests.post(api_url, json=payload, headers=headers)
print(response.json())
# Output: {"task_id": "req_a8b9c0d1e2", "status": "processing"}

 
### 2. Het Event Ontvangen

 U stelt op uw eigen server een POST-endpoint beschikbaar. Zodra de payload arriveert, verwerkt u de data en stuurt u direct een HTTP 200 (OK) response terug.

from flask import Flask, request

app = Flask(__name__)

@app.route('/webhooks/llm-ready', methods=['POST'])
def handle_webhook():
 event = request.json
 
 # Controleer de status van de afgeronde taak
 if event.get('status') == 'completed':
 # Haal de gegenereerde tekst of vectoren op
 resultaat = event['data']['choices'][0]['message']['content']
 
 # Voer uw bedrijfslogica uit, zoals opslaan of websocket broadcast
 print(f"Taak {event['task_id']} is succesvol afgerond!")
 
 return "OK", 200 # Voorkom time-outs door snel te antwoorden

 
## Betrouwbaarheid en Retries

 Om te garanderen dat geen enkele inferentie verloren gaat, hebben we een failsafe mechanisme ingebouwd. Indien uw applicatie geen HTTP 200-statuscode retourneert of onbereikbaar is wanneer wij de webhook sturen, maken wij gebruik van een exponential backoff strategie. Wij proberen het event na 1 minuut opnieuw af te leveren, dan na 5 minuten, en vervolgens elk uur tot een maximum van 24 uur.

 
 Best Practice: Zorg ervoor dat uw webhook-endpoint idempotent is. Zo voorkomt u dat hetzelfde bericht dubbel verwerkt wordt bij een netwerk hapering. Beheer uw actieve endpoints en roteer uw API keys veilig via het [llmnet Hub Dashboard](https://hub.llmnet.nl/).
 
 
 
 
 © 2026 llmnet.nl API — Documentatie voor ontwikkelaars
