Api ABC Colaboradores

Api ABC Colaboradores

Para las altas, cambios y bajas masivas de colaboradores utilizaremos el endpoint:

                            /api/Suscripciones/{SuscripcionID}/Colaboradores/Interfaz

Con este endpoint mediante un Post podemos hacer la alta, cambio o borrado de un colaborador.

Alta.-  Para poder crear un nuevo colaborador debemos de colocar un linkID que no exista aun para que la api registre dicho colaborador o dejar en null el valor para que se genere uno de forma automática.

Baja.- Para poder realizar una baja del colaborador debemos primero incluir su respectivo linkID y colocar la propiedad “borrado” en true,
           de esta manera se borrara el colaborador.

Cambio.- Para poder realizar un cambio de los datos de algún colaborador debemos de incluir su respectivo linkID del colaborador y mandar en el body los datos que deseamos cambiar.

Cabe mencionar que el linkID es el numero de empleado.

El cuerpo del post es un JSon con el siguiente formato:
{
  "listado": [
    {
      "linkID": "3479",
      "nombre": "Francisco",
      "apellidoP": "Ávila",
      "apellidoM": "Camacho",
     "correo": "prueba@correo.com",
      "correoOtro": "",
      "telOficina": "",
      "telMovilOficina": "",
      "telMovilPersonal": "",
      "nacionalidad": "MEX",     
      "departamentoID""IT",
      "puestoID""Desarrollador Jr.",
      "borrado": false
    }
  ]
}


Notas:
  1. Los datos en blanco (null) no serán sustituidos si es que se incluye un linkID ya existente.
  2. En el json se pueden enviar varios registros por lo que es capaz de realizar altas, bajas o cambios masivos.
 
Modelo de datos que pueden ser incluidos en el json:

{

    listado [{

    linkID  :string

    nullable: true

    Identificador del registro del empleado, ej. No. de empleado,

    

    nombre  :string

    nullable: true

    Nombre o nombres del empleado

    

    apellidoP   :string

    nullable: true

    Apellido Paterno

    

    apellidoM   :string

    nullable: true

    Apellido Materno

    

    saludo  :string

    nullable: true

    Titulo, ej. Ing. Lic. CP., CPC, Dr.

    

    sobreNombre :string

    nullable: true

    Nombre o nombres del empleado

    

    etiqueta    :string

    nullable: true

    Nombre y apellido del colaborador, o como desee que aparezca en los listados

    

    rfc :string

    nullable: true

    Identificador impuestos

    

    nss :string

    nullable: true

    Identificador del numero de seguridad social

    

    curp    :string

    nullable: true

    Identificador unico de población

    

    correo  :string

    nullable: true

    correo electrónico del trabajador

    

    correoOtro  :string

    nullable: true

    Correo electrónico alterno, dejar vacio si no se conoce

    

    telOficina  :string

    nullable: true

    Teléfono de la oficina, para guardar extension utilizar "x" ej. +525518558899x525, dejar vacio si no se conoce

    

    telMovilOficina :string

    nullable: true

    Teléfono celular de la oficina, dejar vacio si no se conoce

    

    telMovilPersonal    :string

    nullable: true

    Teléfono celular personal, dejar vacio si no se conoce

    

    nacionalidad    :string

    maxLength: 3

    nullable: true

    Usar código de pais ej MEX, ver cátalogo de nacionalidades (ISO 3166-1 alfa-3 ej. MEX/Ciudad)

    

    noHijos :integer($int32)

    nullable: true

    Cantidad de hijos del colaborador, dejar vacio si no se conoce

    

    estadoCivil: string

    valores:

    [ Desconocido, Soltero, Casado, Divorciado, Separacion, Viudo, Concubinato, UnionLibre ]


    fechaBoda   :string($date-time) formato(yyyy-mm-dd) 

    nullable: true

    Fecha de la boda, dejar vacio si no se conoce o no tiene

    

    gradoEstudios :string

    Valores:

    [ Desconocido, Preescolar, Primaria, PrimariaInconclusa, Secundaria, SecundariaInconclusa, Bachillerato, BachilleratoInconcluso, 

    BachilleratoTecnico, BachilleratoTecnicoInconcluso, Tecnico, TecnicoInconcluso, Licenciatura, LicenciaturaInconcluso, Maestria, 

    MaestriaInconcluso, Doctorado, DoctoradoInconcluso, Especialidad, EspecialidadInconcluso, Ninguno ]


    especialidad    :string

    nullable: true

    Especialidad de estudios

    

    genero :string

    Valores:

    [ Desconocido, Masculino, Femenino, Otro ]


    fechaNacimiento :string($date-time) formato(yyyy-mm-dd)

    nullable: true

    Fecha de nacimiento, dejar vacio si no se conoce

    

    fechaIngreso    :string($date-time) formato(yyyy-mm-dd)

    nullable: true

    Fecha de inicio en el trabajo, dejar vacio si no se conoce

    

    fechaAntiguedad :string($date-time) formato(yyyy-mm-dd)

    nullable: true

    Fecha desde cuando se tomará la antiguedad si es nulo debería usarse la fecha de ingreso

    

    fechaVacaciones :string($date-time) formato(yyyy-mm-dd)

    nullable: true

    Fecha desde cuando se empezarán a calcular las vacaciones, si es nulo se tomará la fecha de ingreso

    

    fechaBaja   :string($date-time) formato(yyyy-mm-dd)

    nullable: true

    Fecha en que se dio de baja o en que deberá darse de baje el colaborador, dejar vacio si no se deberá dar de baja

    

 
Notes
*******Los siguientes campos pueden recibir como valor el id o una cadena, si la cadena no llegara a existir en el arreglo se agrega de manera automatica******

 

ejemplo:
departamentoID:  ”IT”  
                  o
departamentoID: De.M3.NEhlODkx01.72

  departamentoID  :string

    nullable: true

    llave del departamento al que esta asignado, dejar vacio si no se conoce

    

    puestoID    :string

    nullable: true

    llave del puesto al que esta asignado, dejar vacio si no se conoce

    

    centroCostoID   :string

    nullable: true

    llave del Centro de costos al que esta asignado, dejar vacio si no se conoce

    

    grupoID :string

    nullable: true

    llave del grupo al que esta asignado, dejar vacio si no se conoce

    

    regionID    :string

    nullable: true

    llave de la region al que esta asignado, dejar vacio si no se conoce

    

    empresaID   :string

    nullable: true

    llave de la empresa a la que esta asignado, dejar vacio si no se conoce

    

    ubicacionID :string

    nullable: true

    Ubicación predeterminada donde el colaborador trabaja

    

    asiento :string

    nullable: true

    Puesto de trabajo, Ubicación de asiento o lugar de trabajo

    

    divisionID  :string

    nullable: true

    llave de la Division a la que esta asignado, dejar vacio si no se conoce

    

    gestionID   :string

    nullable: true

    llave de la gestion a la que esta asignado, dejar vacio si no se conoce


Notes
 **********************************************************************************************************************************************

    

    tipoNomina :string

    Valores:

    [ Desconocido, Semanal, Catorcenal, Quincenal, Mensual, Otro, Diario, Bimestral, UnidadObra, Comision, PrecioAlzado, Docenal ]


    tipoTrabajador: string

    Valores:

    [ Desconocido, Base, Confianza, Externo, Eventual, Temporada, Otro ]


    tipoContrato: string

    Valores:

    [ Desconocido, Indeterminado, Obra, Determinado, Prueba, Temporada, Capacitacion, Otro, PorHora, Comision, SinRelacion, Retirado ]


    sueldoDiario: number($double)

    nullable: true

    Sueldo del trabajador por día Se utiliza para fines estadisticos

    

    sueldoMensual: number($double)

    nullable: true

    Sueldo mensual aproximado del trabajador por mes, para realizar estadisticas

    

    sueldoNetoDiario: number($double)

    nullable: true

    Sueldo del trabajador por día Se utiliza para fines estadisticos

    

    sueldoNetoMensual :number($double)

    nullable: true

    Sueldo mensual aproximado del trabajador por mes, para realizar estadisticas

    

    sueldoCambio :string($date-time) formato(yyyy-mm-dd)

    nullable: true

    Fecha en la que tuvo el ultimo ajuste salarial

    

    factorImss :number($double)

    nullable: true

    factor de integración para el calculo del SDI

    

    alergias: string

    nullable: true

    Listado de alergias separadas por coma, dejar en null si no se conoce y en vacio si no tiene

    

    tipoSangre :string

    maxLength: 4

    nullable: true

    Tipo de sangre: A+,A-,B+, B-, O+,O-, AB+ y AB-, dejar vacio si no se conoce https://www.carterbloodcare.org/sp/acerca-de-la-sangre/tipos-de-sangre/

    

    turnoID :string

    nullable: true

    Turno predeterminado que tiene el empleado, si no tiene otro temporal asignado en alguna fecha, se usará este

    

    reglaVacacionesID :string

    nullable: true

    Regla que se utilizará para el calculo de vacaciones disponibles

    

    domicilioCalle :string

    nullable: true

    domicilioNo :string

    nullable: true

    domicilioInterior :string

    nullable: true

    domicilioColonia :string

    nullable: true

    domicilioMunicipio :string

    nullable: true

    domicilioCiudad :string

    nullable: true

    domicilioEstado :string

    nullable: true

    domicilioCP :string

    nullable: true

    domicilioPais :string

    nullable: true

    cuentaBanco :string

    nullable: true

    Nombre del banco a mostrar

    

    cuentaABM :string

    nullable: true

    Identificador del banco, los 3 primeros dígitos de la clabe interbancaria

    

    cuentaCuenta :string

    nullable: true

    Numero de cuenta dentro del banco

    

    cuentaClabe :string

    nullable: true

    Clabe interbancaria

    

    cuentaTipoPago :string

    Valores:

    [ Desconocido, Efectivo, Cheque, Tarjeta, Monedero, SPEI, Otro ]


    borrado :boolean

    nullable: true

    Indica que es exempleado

    }]


Info
Ahora tambien se puede agregar los lideres del colaborador
lideres: [
{
linkID: string
nullable: true
Identificador del registro del empleado, ej. No. de empleado,

liderID: string
nullable: true
LinkID o número de empleado del lider

borrado: boolean
nullable: true
Quita el lider del listado de lideres del colaborador
}
]
Idea
Cualquier detalle con respecto a algun campo contactar a soporte al correo: soporte@Kaelia.mx 
Tipos de respuesta:
200: Indica que la peticion se realizo con exito, mandara un json de respuesta como se muestra a continuacion

{

  "nuevos": 0,

  "actualizados": 0,

  "borrados": 0,

  "erroneos": 0,

  "procesados": 0,

  "totales": 0,

  "errores": [

    "string"

  ]

}


400: Indica que algun dato en el json esta erroneo o en un formato no valido, manda como respuesta el campo con error.

401:Indica que no esta autorizado para usar la api, en la mayoría de casos es debido a que el token caduco, se debera de generar uno nuevo en ese caso.

404: Indica que no se encontro la suscripcion a la que se desea agregar el colaborador(es) o que no se cuenta con permisos para agregar uno.

500:indica un error en el servidor.