Ver como Markdown

SDKs y bibliotecas

Proctorio ofrece bibliotecas cliente y herramientas oficiales para la integración con la API.

SDKs oficiales

SDK de .NET

La biblioteca cliente oficial de Proctorio para .NET en aplicaciones C#.

Instalación

dotnet add package Proctorio.Client

O a través del administrador de paquetes:

Install-Package Proctorio.Client

Enlaces

Requisitos: .NET 8.0 o superior


Observe.js

Observe.js es un SDK de JavaScript para monitorear eventos de exámenes de Proctorio en tiempo real. Permite a las plataformas de aprendizaje suscribirse a eventos clave del ciclo de vida durante la administración de exámenes e implementar lógica personalizada.

Instalación

A través de npm:

npm install @proctorio/observe

A través de CDN:

<script src="https://cdn.jsdelivr.net/npm/@proctorio/observe@1/lib/index.min.js"></script>

Uso

import { Observe } from '@proctorio/observe';

const observe = new Observe();

// Listen for exam start
observe.startExam((data) => {
  console.log('Exam started at offset:', data.offset);
});

// Listen for security flags
observe.flags((data) => {
  console.log('Security flags detected:', data.flagsData);
});

// Listen for exam end
observe.endExam((data) => {
  console.log('Exam ended at offset:', data.offset);
});

// Listen for live proctor events
observe.proctorInterrupted((data) => {
  console.log('Exam interrupted at offset:', data.offset);
});

Eventos compatibles

EventoDescripción
startExamSe activa cuando comienza el examen supervisado
endExamSe activa cuando finaliza el examen
flagsSe activa cuando se detectan alertas de seguridad
proctorInterruptedEl supervisor en vivo interrumpió el examen
proctorResumedEl examen se reanudó tras la interrupción
proctorKickoutCandidato eliminado por el supervisor en vivo
deskScanEscaneo del escritorio completado
breakStartEl candidato inició una pausa
breakEndEl candidato regresó de la pausa

Enlaces


Ejemplos de código

cURL

curl -X POST https://us1.proctorapi.com/v2/candidate/launch \
  -H "api_key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d @request.json

Python (requests)

import requests

response = requests.post(
    "https://us1.proctorapi.com/v2/candidate/launch",
    headers={"api_key": "YOUR_API_KEY"},
    json=payload
)
candidate_url = response.json()

Node.js (fetch)

const response = await fetch("https://us1.proctorapi.com/v2/candidate/launch", {
  method: "POST",
  headers: {
    "api_key": process.env.PROCTORIO_API_KEY,
    "Content-Type": "application/json"
  },
  body: JSON.stringify(payload)
});
const candidateUrl = await response.json();

C# (HttpClient)

using var client = new HttpClient();
client.DefaultRequestHeaders.Add("api_key", apiKey);

var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync(
    "https://us1.proctorapi.com/v2/candidate/launch", content);
var candidateUrl = await response.Content.ReadAsStringAsync();