Weergeven als Markdown

Snelheidslimieten

De Proctorio API hanteert snelheidslimieten om de betrouwbaarheid van de dienst voor alle klanten te waarborgen. Limieten variëren per endpoint op basis van gangbare gebruikspatronen.

Standaardlimieten

Snelheidslimieten worden toegepast per API key per regio. Als u de limiet overschrijdt, reageert de API met HTTP 429 Too Many Requests.

BereikLimiet
Standaardsnelheid60 verzoeken per minuut
Burst10 verzoeken per seconde

Endpoint-specifieke limieten

Sommige endpoints hebben hogere limieten om aan te sluiten bij praktijkgebruikspatronen.

Kandidaat lancering (/v2/candidate/launch)

Het endpoint voor kandidaat lancering ondersteunt examenstarts met een hoog volume. Grootschalige toetsevenementen (bijv. certificeringsexamens, universitaire eindexamens) vereisen vaak duizenden gelijktijdige lanceringen.

BereikLimiet
Standaard2500 verzoeken per minuut
Burst500 verzoeken per seconde

Dit maakt scenario's mogelijk waarin meer dan 2500 kandidaten binnen dezelfde minuut een examen starten.

Overige endpoints

Alle overige endpoints gebruiken de standaardlimieten (60/min, 10/sec burst).

Headers voor snelheidslimieten

Wanneer een snelheidslimiet wordt bereikt, reageert de API met HTTP 429 Too Many Requests en bevat:

HeaderBeschrijving
Retry-AfterAantal seconden wachten voordat u het opnieuw probeert

Omgaan met snelheidslimieten

Wanneer u een 429-respons ontvangt, implementeer exponentiële backoff:

import time
import requests

def call_api_with_retry(url, headers, payload, max_retries=3):
    for attempt in range(max_retries):
        response = requests.post(url, headers=headers, json=payload)
        if response.status_code == 429:
            retry_after = int(response.headers.get("Retry-After", 2 ** attempt))
            time.sleep(retry_after)
            continue
        return response
    raise Exception("Rate limit exceeded after retries")

Hogere limieten aanvragen

Wanneer hogere limieten aanvragen

  • Grootschalige toetsevenementen: Certificeringsexamens, gestandaardiseerde toetsen of universitaire eindexamens met meer dan 5000 gelijktijdige kandidaten
  • Multi-tenant platformen: LMS-aanbieders die meerdere instellingen bedienen via één enkele integratie

Hoe aan te vragen

  1. Neem contact op met uw accountmanager met:
    • Uw API key-identificatie (eerste 8 tekens)
    • De specifieke endpoint(s) waarvoor hogere limieten nodig zijn
    • Verwacht piekvolume aan verzoeken (verzoeken per minuut)
    • Beschrijving van het gebruiksscenario en planning (bijv. "10.000 kandidaten die binnen 5 minuten een certificeringsexamen starten")
  2. Verstrek verkeerspatronen: Deel historische gegevens of prognoses die uw gangbare en piekgebruik weergeven
  3. Plan vooruit: Vraag limietverhogingen ten minste 2 weken vóór grote evenementen aan om een juiste inrichting te garanderen

Enterprise-limieten

Enterprise-klanten hebben toegang tot hogere limieten op basis van hun vereisten:

NiveauKandidaat lancering
Standaard2500/min
EnterpriseAangepast

Neem contact op met [email protected] voor enterprise-prijzen.

Best practices

  • Cache gegenereerde URL's — ze blijven geldig tot hun expire-tijd
  • Vermijd dubbele verzoeken — genereer geen nieuwe URL's voor dezelfde gebruiker en hetzelfde examen
  • Genereer URL's vooraf — genereer voor geplande examens kandidaat-URL's tot 5 uur van tevoren en reviewer-/live-URL's tot 1 uur van tevoren (maximale expire-waarden)
  • Spreid bulkbewerkingen — verdeel verzoeken over de tijd in plaats van ze in bursts te versturen
  • Implementeer circuit breakers — pauzeer verzoeken na het ontvangen van 429-responsen
  • Gebruik webhooks — in plaats van te pollen naar resultaten, abonneer u op webhooks voor asynchrone updates