CMS Link - API

Documentación de endpoints, parámetros y JSON requerido.

Flujo recomendado: POST /v1/auth/token ➜ usar Bearer token en endpoints protegidos.

POST /v1/auth/token Pública

Generar token

Valida credenciales del cliente y devuelve access_token.

Body JSON

{
  "client_id": "mi_cliente",
  "client_secret": "mi_secreto"
}

Respuesta ejemplo

{
  "access_token": "<jwt>",
  "token_type": "Bearer",
  "expires_in": 3600
}
GET /v1/asistencias Bearer JWT

Consultar asistencias

Consulta asistencias por rango de fechas del tenant autenticado. inicio/fin en formato YYYY-MM-DD.

Query: inicio=2026-03-01&fin=2026-03-31&empleado=123

Respuesta ejemplo

{
  "items": [
    {
      "CLIENTE": "Cliente Demo",
      "EMPLEADO": "Juan Pérez",
      "FECHA_INICIO": "2026-03-20",
      "ENTRADA": "08:00",
      "SALIDA": "17:00"
    }
  ]
}
GET /v1/listado-vacantes Bearer JWT

Listado de vacantes

Obtiene vacantes activas del tenant autenticado.

Respuesta ejemplo

{
  "items": [
    {
      "EMPRESA": "Empresa XYZ",
      "GRUPO_COMERCIAL": "Grupo ABC",
      "CLIENTE_ID": 1,
      "CLIENTE": "Cliente Demo",
      "INSTALACION_ID": 10,
      "INSTALACION": "Planta Norte",
      "PUESTO_ID": 44,
      "UBICACION": "Acceso principal",
      "CARGO": "Guardia de seguridad",
      "SALARIO": "9524.32",
      "PLAZA_ID": 95,
      "POSICION": "A",
      "PROGRAMACION": "Programación 1"
    }
  ]
}
POST /v1/agregar-empleado Bearer JWT

Agregar empleado

Inserta un empleado en integracion_empleados para el tenant del token. El campo "adicional" es un JSON con datos extra que se guardan tal cual en la base de datos para ese empleado, útil para integraciones personalizadas.

Body JSON

{
  "codemp": 123,
  "apaterno": "Pérez",
  "amaterno": "Gómez",
  "nombres": "Juan Carlos",
  "fecnac": "1995-08-21",
  "rfc": "PEGJ950821ABC",
  "curp": "PEGJ950821HDFRMR09",
  "imss": "12345678901",
  "correo": "juan.perez@empresa.com",
  "telefono": "5512345678",
  "fecing": "2026-03-30",
  "adicional": {
    "fuente": "integracion_MAAT",
    "comentarios": "Ingreso por API",
    "empresa": "Empresa XYZ",
    "grupo_comercial": "Grupo ABC",
    "cliente_id": 1,
    "cliente": "Cliente Demo",
    "instalacion_id": 10,
    "instalacion": "Planta Norte",
    "puesto_id": 44,
    "ubicacion": "Acceso principal",
    "cargo": "Guardia de seguridad",
    "salario": "9524.32",
    "plaza_id": 95,
    "posicion": "A",
    "programacion": "Programación 1"
  }
}

Respuesta ejemplo

{
  "id": 456,
  "message": "Empleado agregado correctamente."
}