Ver como Markdown

Límites de frecuencia

La API de Proctorio aplica límites de frecuencia para garantizar la fiabilidad del servicio para todos los clientes. Los límites varían según el endpoint en función de los patrones de uso habituales.

Límites predeterminados

Los límites de frecuencia se aplican por API key y por región. Si supera el límite, la API responde con HTTP 429 Too Many Requests.

ÁmbitoLímite
Frecuencia predeterminada60 solicitudes por minuto
Ráfaga10 solicitudes por segundo

Límites específicos por endpoint

Algunos endpoints tienen límites más altos para adaptarse a los patrones de uso reales.

Lanzamiento de candidato (/v2/candidate/launch)

El endpoint de lanzamiento de candidato admite inicios de exámenes de alto volumen. Los eventos de evaluación a gran escala (por ejemplo, exámenes de certificación, finales universitarios) a menudo requieren miles de lanzamientos simultáneos.

ÁmbitoLímite
Predeterminado2500 solicitudes por minuto
Ráfaga500 solicitudes por segundo

Esto permite escenarios en los que más de 2500 candidatos inician un examen en el mismo minuto.

Otros endpoints

Todos los demás endpoints utilizan los límites predeterminados (60/min, 10/seg en ráfaga).

Encabezados de límite de frecuencia

Cuando se aplica un límite de frecuencia, la API responde con HTTP 429 Too Many Requests e incluye:

EncabezadoDescripción
Retry-AfterSegundos de espera antes de reintentar

Gestión de los límites de frecuencia

Cuando reciba una respuesta 429, implemente un retroceso exponencial:

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")

Solicitar límites más altos

Cuándo solicitar límites más altos

  • Eventos de evaluación a gran escala: Exámenes de certificación, pruebas estandarizadas o finales universitarios con más de 5000 candidatos simultáneos
  • Plataformas multi-tenant: Proveedores de LMS que atienden a múltiples instituciones a través de una única integración

Cómo solicitarlo

  1. Contacte a su administrador de cuenta con:
    • El identificador de su API key (primeros 8 caracteres)
    • El/los endpoint(s) específico(s) que requieren límites más altos
    • Volumen máximo esperado de solicitudes (solicitudes por minuto)
    • Descripción del caso de uso y calendario (por ejemplo, "10 000 candidatos iniciando un examen de certificación en 5 minutos")
  2. Proporcione patrones de tráfico: Comparta datos históricos o proyecciones que muestren su uso habitual y pico
  3. Planifique con anticipación: Solicite aumentos de límites con al menos 2 semanas de anticipación antes de eventos grandes para garantizar el aprovisionamiento adecuado

Límites empresariales

Los clientes empresariales pueden acceder a límites más altos según sus requisitos:

NivelLanzamiento de candidato
Estándar2500/min
EmpresarialPersonalizado

Contacte a [email protected] para precios empresariales.

Mejores prácticas

  • Almacene en caché las URL generadas — permanecen válidas hasta su tiempo de expire
  • Evite solicitudes duplicadas — no regenere URL para el mismo usuario y examen
  • Pre-genere las URL — para exámenes programados, genere las URL de candidatos con hasta 5 horas de anticipación y las URL de revisores/en vivo con hasta 1 hora de anticipación (valores máximos de expire)
  • Distribuya las operaciones masivas — distribuya las solicitudes a lo largo del tiempo en lugar de enviarlas en ráfagas
  • Implemente interruptores automáticos — pause las solicitudes después de recibir respuestas 429
  • Use webhooks — en lugar de sondear resultados, suscríbase a webhooks para actualizaciones asíncronas