Plan Enterprise

Integración Completa

Implementación: 7-10 días
Requiere conocimiento técnico

Descripción

Integración completa con APIs REST para sincronización bidireccional. Incluye migración inicial por lotes y sincronización continua automática.

Arquitectura de Integración

PushPull
Universidad(Sistema interno)
PATCH
JSON
API
Endpoints
/students
JSON
GET
MyWorkIn(Portal)
Middleware
IP Whitelist + API Key
Firebase
collections
Migración Inicial
Carga por lotes (Excel)
Peticiones (POST/PATCH/GET)
Respuestas JSON

Requisitos Técnicos

Importante

El área de TI de la universidad debe poder:

  • • Enviar peticiones POST para crear estudiantes
  • • Enviar peticiones PATCH para actualizar estudiantes
  • • Manejar autenticación mediante API keys
  • • Integrar desde sus sistemas internos

Autenticación y seguridad

Todas las peticiones requieren un token de autenticación enviado en el header:

Header de autenticación
x-api-key: {api_key}

Además, la API cuenta con una lista blanca de direcciones IP (IP Whitelist). Solo las peticiones provenientes de IPs autorizadas podrán acceder a los endpoints protegidos.

IPs permitidas
ALLOWED_IPS=127.0.0.1,190.12.xxx.xxx

Si una solicitud proviene de una IP no autorizada, la API responderá con un error 403 – Forbidden, incluso si el API Key es válido.

Endpoints Disponibles

Estudiantes

POST/api/students/push/{universidad}

Crear o actualizar información de un estudiante (Upsert)

UPSERT - Estudiante
POST /api/students/push/ulima
{
    "status": 201,
    "success": true,
    "message": "Estudiante creado exitosamente",
    "result": "created",
    "data": {
        "coIdPs": "20201234"
    }
}
GET/api/students/{universidad}

Consultar información de estudiantes

Get - Estudiante
GET /api/students/{universidad}?coIdPs=20201234
{
  "success": true,
  "data": {
    "userId": "abc123xyz",
    "co_id_ps": "20201234",
    "email": "juan.perez@ulima.pe",
    "displayName": "Juan Carlos Pérez García",
    "carrera": "Ingeniería de Software",
    "ciclo": 9,
    "facultad": "Ingeniería",
    "estado": "egresado",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-20T14:45:00Z"
  }
}

Empleadores

POST/api/employers/push/{universidad}

Crear o actualizar información de un empleador (Upsert)

UPSERT - Empleador
POST /api/employers/push/ulima
{
    "status": 201,
    "success": true,
    "message": "Employer creado exitosamente",
    "result": "created",
    "data": {
        "taxId": "2010005523144"
    }
}
GET/api/employers/{universidad}

Consultar información de empleadores

Get - Empleador
GET /api/employers/{universidad}?taxId=2010005523144
{
    "status": 200,
    "success": true,
    "message": "Empleador obtenido correctamente",
    "data": {
        "importedId": "",
        "industries": [
            {
                "id": "298",
                "label": "INDUSTRIAS MANUFACTURERAS"
            }
        ],
        "description": null,
        "label": "ALICORP SAA",
        "name": "ALICORP SAA",
        ...
    }
}

Manejo de Errores

La API responde con códigos de estado HTTP claros y mensajes descriptivos ante cualquier error. Es fundamental que las integraciones manejen adecuadamente estos errores, validando los datos enviados y gestionando respuestas como se muestra a continuación.

CódigoDescripción
400Datos inválidos
401API key inválida
403Forbidden (IP no permitida)
404No encontrado
429Rate limit excedido
Errores API
Datos inválidos
{
    "status": 400,
    "label": "Bad Request",
    "description": "Datos inválidos",
    "body": {
        "error": "Bad Request",
        "message": "El cuerpo de la petición contiene datos inválidos o mal formateados.",
        "details": [
            {
                ...
            }
        ]
    }
}

Rate Limiting

3000
requests/min (POST)
10
requests/min (GET)

Fases de Implementación

Fase 1: Migración (días 1-3)

Excel inicial + creación masiva en Firebase

Fase 2: APIs (días 4-7)

Configuración de endpoints y autenticación

Fase 3: Go-live (días 8-10)

Capacitación, pruebas y monitoreo

Ventajas

Sincronización en tiempo real
Control total de datos
Escalable
Actualización automática
Integración con sistemas existentes
Soporte técnico dedicado

¿Listo para integrar?

Contacta a nuestro equipo técnico para comenzar.

Solicitar Integración