Empleados
Listar empleados
A continuación se explica el método con el cual podremos consultar los empleados que tenemos registrados para nuestras nóminas
Importante
El método para listar empleados nos muestra todos los empleados que existen en nuestra cuenta ordenados por la fecha de creacion de estos, mostrando los mas antiguos primero
Construcción de la URL
Importante
El método que se utiliza para listar empleados es de tipo GET
Host: https://facturaonline.com.mx/api (producción) / https://sandbox.facturaonline.com.mx/api (sandbox)
Endpoint: /payroll/employee/list
Ejemplo: https://facturaonline.com.mx/api/payroll/employee/list
Tip
Para probar el ejemplo de código, necesitas cambiar "Tu API key" por la clave de API de tu cuenta, y "Tu Secret key" por la clave secreta correspondiente.
Ejemplo para listar empleados
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '{ HOST }/payroll/employee/list',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'F-PLUGIN: 9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key: Tu API key',
'F-Secret-Key: Tu Secret key'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
var request = require('request');
var options = {
'method': 'GET',
'url': '{ HOST }/payroll/employee/list',
'headers': {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
import json
url = "{ HOST }/payroll/employee/list"
payload = ""
headers = {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("{ HOST }/payroll/employee/list")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Content-Type"] = "application/json"
request["F-PLUGIN"] = "9d4095c8f7ed5785cb14c0e3b033eeb8252416ed"
request["F-Api-Key"] = "Tu API key"
request["F-Secret-Key"] = "Tu Secret key"
response = http.request(request)
puts response.read_body
Respuesta
Ejemplo de respuesta exitosa.
{
"status": "success",
"data": [
{
"uid": "61c4b7a5c2fb8",
"nombre": "OMAR",
"paterno": "ROSALES",
"materno": "RIOS",
"puesto": "Operador",
"departamento": "Almacén",
"inicio": "2021-12-01",
"salario": "2000.0000",
"metodo_pago": "01",
"periodo_pago": "05",
"banco": "019",
"clabe": "123456789098765432",
"numero_empleado": "03",
"patronal": "1234567890987654321",
"riesgo": 3,
"regimen": "02",
"email": "[email protected]",
"curp": "XEXX010101HNEXXXA4",
"imss": "123456789098765",
"rfc": "XAXX010101000",
"calle": "Calle Prueba",
"colonia": "San Francisco",
"no_int": 0,
"no_ext": 1,
"cp": 87050,
"localidad": "undefined",
"municipio": "",
"estado": "Tamaulipas",
"tipo_contrato": "08",
"asimilados": 0,
"sindicalizado": "Sí",
"entidad_emite": "TAM",
"cuota_diaria": "0.00"
},
{
"uid": "6531b76632543",
"nombre": "FERNANDO",
"paterno": "SANCHEZ",
"materno": "SANTIAGO",
"puesto": "PROGRAMADOR",
"departamento": "Desarrollo",
"inicio": "2022-08-03",
"salario": "250.0000",
"metodo_pago": "03",
"periodo_pago": "04",
"banco": "012",
"clabe": "1236547890",
"numero_empleado": "100",
"patronal": "Y6468923104",
"riesgo": 99,
"regimen": "02",
"email": "[email protected]",
"curp": "XEXX010101HNEXXXA4",
"imss": "1234567890",
"rfc": "XAXX010101000",
"calle": "GUADALUPE CALLEJON JAZMIN",
"colonia": "7a Seccion",
"no_int": 0,
"no_ext": 0,
"cp": 70020,
"localidad": "Juchitlan (Juchitlan de Zaragoza)",
"municipio": "Juchitlan de Zaragoza",
"estado": "Oaxaca - OAX",
"tipo_contrato": "01",
"asimilados": 0,
"sindicalizado": "No",
"entidad_emite": "OAX",
"cuota_diaria": "80.00"
}
]
}
Ejemplo de respuesta erronea.
{
"status": "error",
"message": "La cuenta que intenta autenticarse no existe",
"Data": "$2y$10$8a9S8o8WeiRhPh1YT6bnXun6uPs1ZdiZBUHjGwSqn3X44mbYSmY4.",
"Secret": "$2y$10$c5KNUW06w8r9OhH4MVPNz.BgpQfjHVZjPPYsVbX13WPQZomnYtxq"
}
Aviso
El mensaje de error puede variar dependiendo el nodo en el que haya información incorrecta. Te sugerimos leer cuidadosamente el mensaje del error ya que en el mismo se indica donde es necesario corregir la información.
Listar empleados por UID
A continuación se explica el método con el cual podremos consultar un empleado en especifico por medio de su UID
Podemos consultar un empleado por su UID con los siguientes parametros
Parámetro | Tipo | Requerido | Detalles |
---|---|---|---|
UID | String | Requerido | Es el identificador unico asignado a cada empleado en nuestra cuenta |
Construcción de la URL
Importante
El método que se utiliza para listar empleados es de tipo GET
Host: https://facturaonline.com.mx/api (producción) / https://sandbox.facturaonline.com.mx/api (sandbox)
Endpoint: /payroll/employee/{UID}/view
Ejemplo: https://facturaonline.com.mx/api/payroll/employee/6531b76632543/view
Tip
Para probar el ejemplo de código, necesitas cambiar "Tu API key" por la clave de API de tu cuenta, y "Tu Secret key" por la clave secreta correspondiente.
Ejemplo para listar los empleados
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '{ HOST }/payroll/employee/6531b76632543/view',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'F-PLUGIN: 9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key: Tu API key',
'F-Secret-Key: Tu Secret key'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
var request = require('request');
var options = {
'method': 'GET',
'url': '{ HOST }/payroll/employee/6531b76632543/view',
'headers': {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
import json
url = "{ HOST }/payroll/employee/6531b76632543/view"
payload = ""
headers = {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("{ HOST }/payroll/employee/6531b76632543/view")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Content-Type"] = "application/json"
request["F-PLUGIN"] = "9d4095c8f7ed5785cb14c0e3b033eeb8252416ed"
request["F-Api-Key"] = "Tu API key"
request["F-Secret-Key"] = "Tu Secret key"
response = http.request(request)
puts response.read_body
Respuesta
Ejemplo de respuesta exitosa.
{
"status": "success",
"data": {
"uid": "6531b76632543",
"nombre": "FERNANDO",
"paterno": "SANCHEZ",
"materno": "SANTIAGO",
"puesto": "PROGRAMADOR",
"departamento": "Desarrollo",
"inicio": "2022-08-03",
"salario": "250.0000",
"metodo_pago": "03",
"periodo_pago": "04",
"banco": "012",
"clabe": "1236547890",
"numero_empleado": "100",
"patronal": "Y6468923104",
"riesgo": 99,
"regimen": "02",
"email": "[email protected]",
"curp": "XEXX010101HNEXXXA4",
"imss": "1234567890",
"rfc": "XAXX010101000",
"calle": "GUADALUPE CALLEJON JAZMIN",
"colonia": "7a Seccion",
"no_int": 0,
"no_ext": 0,
"cp": 70020,
"localidad": "Juchitlan (Juchitlan de Zaragoza)",
"municipio": "Juchitlan de Zaragoza",
"estado": "Oaxaca - OAX",
"tipo_contrato": "01",
"asimilados": 0,
"sindicalizado": "No",
"entidad_emite": "OAX",
"cuota_diaria": "80.00"
}
}
Ejemplo de respuesta erronea.
{
"response": "error",
"message": "Empleado no encontrado"
}
Aviso
El mensaje de error puede variar dependiendo el nodo en el que haya información incorrecta. Te sugerimos leer cuidadosamente el mensaje del error ya que en el mismo se indica donde es necesario corregir la información.
Crear empleado
A continuación se explica el método con el cual podremos crear un empleado
Aviso
Es importante tener en cuenta que para crear un empleado es necesario contar al menos con un grupo de empleados y este debe estar activo, puedes consultar como crear un grupo de empleados en el siguiente link. Como crear un grupo de empleados
Podemos crear un empleado haciendo uso de los siguientes parametros:
Parámetro | Tipo | Requerido | Detalles |
---|---|---|---|
grupo | String | Requerido | Indica el grupo de empleados al que va a pertenecer el nuevo empleado Es necesario ingresar el UID correspondiente al grupo de empleados ejemplo: "grupo": "619ead8d6427a" |
no_empleado | Numerico | Requerido | Indica el numero que asignaremos a nuestro empleado |
nombre | String | Requerido | Nombre de nuestro empleado |
paterno | StringString | Requerido | Apellido paterno de nuestro empleado |
materno | String | Requerido | Apellido materno de nuestro empleado |
metodo_pago | string | Requerido | Indica la clave del método de pago Esta puedes consultarla en el catálogo de métodos de pago de nómina. Ejemplo:
|
periodo | String | Requerido | Se utiliza para definir el tipo de periodo que abarca el CFDI global puede contener alguno de los siguientes valores: "01", "02", "03", "04" o "05" Los valores corresponden a: 01 - Diario 02 - Semanal 03 - Quincenal 04 - Mensual 05 - Bimestral |
regimen | String | Requerido | Indica el regimen fiscal a el que pertenece nuestro empleado Este puedes consultarlo en el catálogo de regimen. |
puesto | String | Requerido | Descripcion del puesto que desempeña nuestro empleado |
departamento | String | Requerido | Departamento a el cual pertenece nuestro empleado |
curp | String | Requerido | CURP de nuestro empleado |
imss | String | Requerido | Numerp de seguro social de nuestro empleado |
rfc | String | Requerido | RFC correspondiente a nuestro empleado |
calle | String | Requerido | Indica la calle donde reside nuestro empleado |
colonia | String | Requerido | Colonia de el lugar donde reside nuestro empleado |
no_ext | Numerico | Requerido | Numero exterior de donde reside nuestro empleado |
cp | Numerico | Requerido | Codigo postal de donde reside nuestro empleado |
municipio | String | Requerido | Municipio donde reside nuestro empleado |
estado | String | Requerido | Estado donde reside nuestro empleado |
tipo_contrato | String | Requerido | Indica el tipo de contrato que tiene nuestro empleado Ésta puedes consultarla en el catálogo de tipo contrato. |
asimilados | String | Requerido | Indica si nuestro empleado tiene salario por asimilados Este campo admite los valores "0" y "1" 0 - Cuando no tiene salario por asimilados 1 - Cuando si tiene salario por asimilados |
sindicalizado | String | Requerido | Se utiliza para señalar si el empleado a registrar es sindicalizado Este campo admite los valores "0" y "1" 0 - Cuando no es sindicalizado 1- Cuando si es sindicalizado |
entidad_emite | String | Requerido | Indica la entidad que emite el recibo de nómina
|
banco | String | Opcional | Estos puedes consultarlos en el catálogo de bancos. |
clabe | String | Opcional | Indica la clabe interbancaria del empleado ¡Este campo es requerido si se envia la bandera "banco"! |
no_int | String | Opcional | Numero interior de el lugar de residencia del empleado |
localidad | String | Opcional | Localidad donde reside el empleado |
String | Opcional | Dirección de correo electronico del empleado donde se enviaran los recibos de nómina | |
tipo_jornada | String | Opcional | Indica el tipo de jornada de nuestro empleado Esta puedes consultarla en el catálogo de tipo jornada. ¡Este campo es obligatorio si el campo asimilados es "0"! |
patronal | String | Opcional | Indica el registro patronal a el que pertenece el empleado ¡Este campo es obligatorio si el campo asimilados es "0"! |
cuota_diaria | Numerico | Opcional | Indica la cuota diaria correspondiente al empleado ¡Este campo es obligatorio si el campo asimilados es "0"! |
salario | Numerico | Opcional | Indica el salario del empleado ¡Este campo es obligatorio si el campo asimilados es "0"! |
riesgo | String | Opcional | Indica el riesgo relacionado a el empleado Este puedes consultarlo en el catálogo de riesgo. ¡Este campo es obligatorio si el campo asimilados es "0"! |
inicio | String | Opcional | Indica la fecha en la que el empleado comienza a laborar, utiliza un formato de fecha como el siguiente Ejemplo: "inicio": "2022-12-02", ¡Este campo es obligatorio si el campo asimilados es "0"! |
Construcción de la URL
Importante
El método que se utiliza para la creación de un empleado es de tipo POST
Host: https://facturaonline.com.mx/api (producción) / https://sandbox.facturaonline.com.mx/api (sandbox)
Endpoint: /payroll/employee/create
Ejemplo: https://facturaonline.com.mx/api/payroll/employee/create
Tip
Para probar el ejemplo de código, necesitas cambiar "Tu API key" por la clave de API de tu cuenta, y "Tu Secret key" por la clave secreta correspondiente.
Ejemplo para crear un nuevo empleado
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '{ HOST }/payroll/employee/create',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"grupo": "619ead8d6427a",
"no_empleado": "100",
"nombre": "FERNANDO",
"paterno": "SANCHEZ ",
"materno": "SANTIAGO",
"metodo_pago": "03",
"periodo": "04",
"regimen": "02",
"puesto": "PROGRAMADOR",
"departamento": "Desarrollo",
"curp": "XEXX010101HNEXXXA4",
"imss": "1234567890",
"rfc": "XAXX010101000",
"calle": "GUADALUPE CALLEJON JAZMIN",
"colonia": "7a Seccion",
"no_ext": "0",
"cp": "70020",
"municipio": "Juchitlan de Zaragoza",
"estado": "Oaxaca - OAX",
"tipo_contrato": "01",
"asimilados": "0",
"sindicalizado": "No",
"entidad_emite": "OAX",
"banco": "012",
"clabe": "1236547890",
"no_int": "0",
"localidad": "Juchitlan (Juchitlan de Zaragoza)",
"email": "[email protected]",
"tipo_jornada": "01",
"patronal": "Y6468923104",
"cuota_diaria": "80",
"salario": "250",
"riesgo": "99",
"inicio": "2023-08-03"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'F-PLUGIN: 9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key: Tu API key',
'F-Secret-Key: Tu Secret key'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
var request = require('request');
var options = {
'method': 'POST',
'url': '{ HOST }/payroll/employee/create',
'headers': {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
},
body: JSON.stringify({
"grupo": "619ead8d6427a",
"no_empleado": "100",
"nombre": "FERNANDO",
"paterno": "SANCHEZ ",
"materno": "SANTIAGO",
"metodo_pago": "03",
"periodo": "04",
"regimen": "02",
"puesto": "PROGRAMADOR",
"departamento": "Desarrollo",
"curp": "XEXX010101HNEXXXA4",
"imss": "1234567890",
"rfc": "XAXX010101000",
"calle": "GUADALUPE CALLEJON JAZMIN",
"colonia": "7a Seccion",
"no_ext": "0",
"cp": "70020",
"municipio": "Juchitlan de Zaragoza",
"estado": "Oaxaca - OAX",
"tipo_contrato": "01",
"asimilados": "0",
"sindicalizado": "No",
"entidad_emite": "OAX",
"banco": "012",
"clabe": "1236547890",
"no_int": "0",
"localidad": "Juchitlan (Juchitlan de Zaragoza)",
"email": "[email protected]",
"tipo_jornada": "01",
"patronal": "Y6468923104",
"cuota_diaria": "80",
"salario": "250",
"riesgo": "99",
"inicio": "2023-08-03"
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
import json
url = "{ HOST }/payroll/employee/create"
payload = json.dumps({
"grupo": "619ead8d6427a",
"no_empleado": "100",
"nombre": "FERNANDO",
"paterno": "SANCHEZ ",
"materno": "SANTIAGO",
"metodo_pago": "03",
"periodo": "04",
"regimen": "02",
"puesto": "PROGRAMADOR",
"departamento": "Desarrollo",
"curp": "XEXX010101HNEXXXA4",
"imss": "1234567890",
"rfc": "XAXX010101000",
"calle": "GUADALUPE CALLEJON JAZMIN",
"colonia": "7a Seccion",
"no_ext": "0",
"cp": "70020",
"municipio": "Juchitlan de Zaragoza",
"estado": "Oaxaca - OAX",
"tipo_contrato": "01",
"asimilados": "0",
"sindicalizado": "No",
"entidad_emite": "OAX",
"banco": "012",
"clabe": "1236547890",
"no_int": "0",
"localidad": "Juchitlan (Juchitlan de Zaragoza)",
"email": "[email protected]",
"tipo_jornada": "01",
"patronal": "Y6468923104",
"cuota_diaria": "80",
"salario": "250",
"riesgo": "99",
"inicio": "2023-08-03"
})
headers = {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("{ HOST }/payroll/employee/create")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["F-PLUGIN"] = "9d4095c8f7ed5785cb14c0e3b033eeb8252416ed"
request["F-Api-Key"] = "Tu API key"
request["F-Secret-Key"] = "Tu Secret key"
request.body = JSON.dump({
"grupo": "619ead8d6427a",
"no_empleado": "100",
"nombre": "FERNANDO",
"paterno": "SANCHEZ ",
"materno": "SANTIAGO",
"metodo_pago": "03",
"periodo": "04",
"regimen": "02",
"puesto": "PROGRAMADOR",
"departamento": "Desarrollo",
"curp": "XEXX010101HNEXXXA4",
"imss": "1234567890",
"rfc": "XAXX010101000",
"calle": "GUADALUPE CALLEJON JAZMIN",
"colonia": "7a Seccion",
"no_ext": "0",
"cp": "70020",
"municipio": "Juchitlan de Zaragoza",
"estado": "Oaxaca - OAX",
"tipo_contrato": "01",
"asimilados": "0",
"sindicalizado": "No",
"entidad_emite": "OAX",
"banco": "012",
"clabe": "1236547890",
"no_int": "0",
"localidad": "Juchitlan (Juchitlan de Zaragoza)",
"email": "[email protected]",
"tipo_jornada": "01",
"patronal": "Y6468923104",
"cuota_diaria": "80",
"salario": "250",
"riesgo": "99",
"inicio": "2023-08-03"
})
response = http.request(request)
puts response.read_body
Respuesta
Ejemplo de respuesta exitosa.
{
"response": "success",
"message": "Empleado creado",
"data": {
"uid": "6532ae2e8c6b9",
"nombre": "FERNANDO",
"paterno": "SANCHEZ",
"materno": "SANTIAGO",
"puesto": "PROGRAMADOR",
"departamento": "Desarrollo",
"inicio": "2023-08-03",
"salario": "250",
"metodo_pago": "03",
"periodo_pago": "04",
"banco": "012",
"clabe": "1236547890",
"numero_empleado": "100",
"patronal": "Y6468923104",
"riesgo": "99",
"regimen": "02",
"email": "[email protected]",
"curp": "XEXX010101HNEXXXA4",
"imss": "1234567890",
"rfc": "XAXX010101000",
"calle": "GUADALUPE CALLEJON JAZMIN",
"colonia": "7a Seccion",
"no_int": "0",
"no_ext": "0",
"cp": "70020",
"localidad": "Juchitlan (Juchitlan de Zaragoza)",
"municipio": "Juchitlan de Zaragoza",
"estado": "Oaxaca - OAX",
"tipo_contrato": "01",
"asimilados": "0",
"sindicalizado": "No",
"entidad_emite": "OAX",
"cuota_diaria": "80"
}
}
Ejemplo de respuesta erronea.
{
"response": "error",
"message": "El campo nombre es requerido "
}
Aviso
El mensaje de error puede variar dependiendo el nodo en el que haya información incorrecta. Te sugerimos leer cuidadosamente el mensaje del error ya que en el mismo se indica donde es necesario corregir la información.
Editar un empleado
A continuación se explica el método con el cual podremos editar un empleado de nuestro catalogo
Para modificar un empleado podemos hacerlo con ayuda de los siguientes parametros para modificar el campo que necesitamos.
Parámetro | Tipo | Requerido | Detalles |
---|---|---|---|
grupo | String | Opcional | Indica el grupo de empleados al que va a pertenecer el nuevo empleado Es necesario ingresar el UID correspondiente al grupo de empleados ejemplo: "grupo": "619ead8d6427a" |
no_empleado | Numerico | Opcional | Indica el numero que asignaremos a nuestro empleado |
nombre | String | Opcional | Nombre de nuestro empleado |
paterno | StringString | Opcional | Apellido paterno de nuestro empleado |
materno | String | Opcional | Apellido materno de nuestro empleado |
metodo_pago | string | Opcional | Indica la clave del método de pago Esta puedes consultarla en el catálogo de métodos de pago de nómina. Ejemplo:
|
periodo | String | Opcional | Se utiliza para definir el tipo de periodo que abarca el CFDI global puede contener alguno de los siguientes valores: "01", "02", "03", "04" o "05" Los valores corresponden a: 01 - Diario 02 - Semanal 03 - Quincenal 04 - Mensual 05 - Bimestral |
regimen | String | Opcional | Indica el regimen fiscal a el que pertenece nuestro empleado Este puedes consultarlo en el catálogo de regimen. |
puesto | String | Opcional | Descripcion del puesto que desempeña nuestro empleado |
departamento | String | Opcional | Departamento a el cual pertenece nuestro empleado |
curp | String | Opcional | CURP de nuestro empleado |
imss | String | Opcional | Numerp de seguro social de nuestro empleado |
rfc | String | Opcional | RFC correspondiente a nuestro empleado |
calle | String | Opcional | Indica la calle donde reside nuestro empleado |
colonia | String | Opcional | Colonia de el lugar donde reside nuestro empleado |
no_ext | Numerico | Opcional | Numero exterior de donde reside nuestro empleado |
cp | Numerico | Opcional | Codigo postal de donde reside nuestro empleado |
municipio | String | Opcional | Municipio donde reside nuestro empleado |
estado | String | Opcional | Estado donde reside nuestro empleado |
tipo_contrato | String | Opcional | Indica el tipo de contrato que tiene nuestro empleado Ésta puedes consultarla en el catálogo de tipo contrato. |
asimilados | String | Opcional | Indica si nuestro empleado tiene salario por asimilados Este campo admite los valores "0" y "1" 0 - Cuando no tiene salario por asimilados 1 - Cuando si tiene salario por asimilados |
sindicalizado | String | Opcional | Se utiliza para señalar si el empleado a registrar es sindicalizado Este campo admite los valores "0" y "1" 0 - Cuando no es sindicalizado 1- Cuando si es sindicalizado |
entidad_emite | String | Opcional | Indica la entidad que emite el recibo de nómina
|
banco | String | Opcional | Estos puedes consultarlos en el catálogo de bancos. |
clabe | String | Opcional | Indica la clabe interbancaria del empleado ¡Este campo es requerido si se envia la bandera "banco"! |
no_int | String | Opcional | Numero interior de el lugar de residencia del empleado |
localidad | String | Opcional | Localidad donde reside el empleado |
String | Opcional | Dirección de correo electronico del empleado donde se enviaran los recibos de nómina | |
tipo_jornada | String | Opcional | Indica el tipo de jornada de nuestro empleado Esta puedes consultarla en el catálogo de tipo jornada. ¡Este campo es obligatorio si el campo asimilados es "0"! |
patronal | String | Opcional | Indica el registro patronal a el que pertenece el empleado ¡Este campo es obligatorio si el campo asimilados es "0"! |
cuota_diaria | Numerico | Opcional | Indica la cuota diaria correspondiente al empleado ¡Este campo es obligatorio si el campo asimilados es "0"! |
salario | Numerico | Opcional | Indica el salario del empleado ¡Este campo es obligatorio si el campo asimilados es "0"! |
riesgo | String | Opcional | Indica el riesgo relacionado a el empleado Este puedes consultarlo en el catálogo de riesgo. ¡Este campo es obligatorio si el campo asimilados es "0"! |
inicio | String | Opcional | Indica la fecha en la que el empleado comienza a laborar, utiliza un formato de fecha como el siguiente Ejemplo: "inicio": "2022-12-02", ¡Este campo es obligatorio si el campo asimilados es "0"! |
Construcción de la URL
Importante
El método que se utiliza para editar un empleado es de tipo POST
Host: https://facturaonline.com.mx/api (producción) / https://sandbox.facturaonline.com.mx/api (sandbox)
Endpoint: /payroll/employee/{UID}/update
Ejemplo: https://facturaonline.com.mx/api/payroll/employee/6532ae2e8c6b9/update
Tip
Para probar el ejemplo de código, necesitas cambiar "Tu API key" por la clave de API de tu cuenta, y "Tu Secret key" por la clave secreta correspondiente.
Ejemplo para actualizar un empleado de nuestro catalogo
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '{ HOST }/payroll/employee/6532ae2e8c6b9/update',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"grupo": "619ead8d6427a",
"no_empleado": "100",
"nombre": "FERNANDO",
"paterno": "SANCHEZ ",
"materno": "SANTIAGO",
"metodo_pago": "03",
"periodo": "04",
"regimen": "02",
"puesto": "PROGRAMADOR",
"departamento": "Desarrollo",
"curp": "XEXX010101HNEXXXA4",
"imss": "1234567890",
"rfc": "XAXX010101000",
"calle": "GUADALUPE CALLEJON JAZMIN",
"colonia": "7a Seccion",
"no_ext": "0",
"cp": "70020",
"municipio": "Juchitlan de Zaragoza",
"estado": "Oaxaca - OAX",
"tipo_contrato": "01",
"asimilados": "0",
"sindicalizado": "No",
"entidad_emite": "OAX",
"banco": "012",
"clabe": "1236547890",
"no_int": "0",
"localidad": "Juchitlan (Juchitlan de Zaragoza)",
"email": "[email protected]",
"tipo_jornada": "01",
"patronal": "Y6468923104",
"cuota_diaria": "80",
"salario": "250",
"riesgo": "99",
"inicio": "2023-08-03"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'F-PLUGIN: 9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key: Tu API key',
'F-Secret-Key: Tu Secret key'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
var request = require('request');
var options = {
'method': 'POST',
'url': '{ HOST }/payroll/employee/6532ae2e8c6b9/update',
'headers': {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
},
body: JSON.stringify({
"grupo": "619ead8d6427a",
"no_empleado": "100",
"nombre": "FERNANDO",
"paterno": "SANCHEZ ",
"materno": "SANTIAGO",
"metodo_pago": "03",
"periodo": "04",
"regimen": "02",
"puesto": "PROGRAMADOR",
"departamento": "Desarrollo",
"curp": "XEXX010101HNEXXXA4",
"imss": "1234567890",
"rfc": "XAXX010101000",
"calle": "GUADALUPE CALLEJON JAZMIN",
"colonia": "7a Seccion",
"no_ext": "0",
"cp": "70020",
"municipio": "Juchitlan de Zaragoza",
"estado": "Oaxaca - OAX",
"tipo_contrato": "01",
"asimilados": "0",
"sindicalizado": "No",
"entidad_emite": "OAX",
"banco": "012",
"clabe": "1236547890",
"no_int": "0",
"localidad": "Juchitlan (Juchitlan de Zaragoza)",
"email": "[email protected]",
"tipo_jornada": "01",
"patronal": "Y6468923104",
"cuota_diaria": "80",
"salario": "250",
"riesgo": "99",
"inicio": "2023-08-03"
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
import json
url = "{ HOST }/payroll/employee/6532ae2e8c6b9/update"
payload = json.dumps({
"grupo": "619ead8d6427a",
"no_empleado": "100",
"nombre": "FERNANDO",
"paterno": "SANCHEZ ",
"materno": "SANTIAGO",
"metodo_pago": "03",
"periodo": "04",
"regimen": "02",
"puesto": "PROGRAMADOR",
"departamento": "Desarrollo",
"curp": "XEXX010101HNEXXXA4",
"imss": "1234567890",
"rfc": "XAXX010101000",
"calle": "GUADALUPE CALLEJON JAZMIN",
"colonia": "7a Seccion",
"no_ext": "0",
"cp": "70020",
"municipio": "Juchitlan de Zaragoza",
"estado": "Oaxaca - OAX",
"tipo_contrato": "01",
"asimilados": "0",
"sindicalizado": "No",
"entidad_emite": "OAX",
"banco": "012",
"clabe": "1236547890",
"no_int": "0",
"localidad": "Juchitlan (Juchitlan de Zaragoza)",
"email": "[email protected]",
"tipo_jornada": "01",
"patronal": "Y6468923104",
"cuota_diaria": "80",
"salario": "250",
"riesgo": "99",
"inicio": "2023-08-03"
})
headers = {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("{ HOST }/payroll/employee/6532ae2e8c6b9/update")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["F-PLUGIN"] = "9d4095c8f7ed5785cb14c0e3b033eeb8252416ed"
request["F-Api-Key"] = "Tu API key"
request["F-Secret-Key"] = "Tu Secret key"
request.body = JSON.dump({
"grupo": "619ead8d6427a",
"no_empleado": "100",
"nombre": "FERNANDO",
"paterno": "SANCHEZ ",
"materno": "SANTIAGO",
"metodo_pago": "03",
"periodo": "04",
"regimen": "02",
"puesto": "PROGRAMADOR",
"departamento": "Desarrollo",
"curp": "XEXX010101HNEXXXA4",
"imss": "1234567890",
"rfc": "XAXX010101000",
"calle": "GUADALUPE CALLEJON JAZMIN",
"colonia": "7a Seccion",
"no_ext": "0",
"cp": "70020",
"municipio": "Juchitlan de Zaragoza",
"estado": "Oaxaca - OAX",
"tipo_contrato": "01",
"asimilados": "0",
"sindicalizado": "No",
"entidad_emite": "OAX",
"banco": "012",
"clabe": "1236547890",
"no_int": "0",
"localidad": "Juchitlan (Juchitlan de Zaragoza)",
"email": "[email protected]",
"tipo_jornada": "01",
"patronal": "Y6468923104",
"cuota_diaria": "80",
"salario": "250",
"riesgo": "99",
"inicio": "2023-08-03"
})
response = http.request(request)
puts response.read_body
Respuesta
Ejemplo de respuesta exitosa.
{
"response": "success",
"message": "Empleado actualizado correctamente",
"data": {
"uid": "6532ae2e8c6b9",
"nombre": "FERNANDO",
"paterno": "SANCHEZ",
"materno": "SANTIAGO",
"puesto": "PROGRAMADOR",
"departamento": "Desarrollo",
"inicio": "2023-08-03",
"salario": "250.0000",
"metodo_pago": "03",
"periodo_pago": "04",
"banco": "012",
"clabe": "1236547890",
"numero_empleado": "10001",
"patronal": "Y6468923104",
"riesgo": 99,
"regimen": "02",
"email": "[email protected]",
"curp": "XEXX010101HNEXXXA4",
"imss": "1234567890",
"rfc": "XAXX010101000",
"calle": "GUADALUPE CALLEJON JAZMIN",
"colonia": "7a Seccion",
"no_int": 0,
"no_ext": 0,
"cp": 70020,
"localidad": "Juchitlan (Juchitlan de Zaragoza)",
"municipio": "Juchitlan de Zaragoza",
"estado": "Oaxaca - OAX",
"tipo_contrato": "01",
"asimilados": 0,
"sindicalizado": "No",
"entidad_emite": "OAX",
"cuota_diaria": "80.00"
}
}
Ejemplo de respuesta erronea.
{
"status": "error",
"message": "La cuenta que intenta autenticarse no existe",
"Data": "$2y$10$8a9S8o8WeiRhPh1YT6bnXun6uPs1ZdiZBUHjGwSqn3X44mbYSmY4.",
"Secret": "$2y$10$c5KNUW06w8r9OhH4MVPNz.BgpQfjHVZjPPYsVbX13WPQZomnYtxq"
}
Aviso
El mensaje de error puede variar dependiendo el nodo en el que haya información incorrecta. Te sugerimos leer cuidadosamente el mensaje del error ya que en el mismo se indica donde es necesario corregir la información.
Eliminar un empleado
A continuación se explica el método con el cual podremos eliminar un empleado.
Podemos eliminar un empleado utilizando los siguientes parametros
Parámetro | Tipo | Requerido | Detalles |
---|---|---|---|
UID | String | Requerido | Es el identificador unico asignado a el empleado |
Construcción de la URL
Importante
El método que se utiliza para la eliminación de un empleado es de tipo POST
Host: https://facturaonline.com.mx/api (producción) / https://sandbox.facturaonline.com.mx/api (sandbox)
Endpoint: /payroll/employee/{UID}/delete
Ejemplo: https://facturaonline.com.mx/api/payroll/employee/6531b76632543/delete
Tip
Para probar el ejemplo de código, necesitas cambiar "Tu API key" por la clave de API de tu cuenta, y "Tu Secret key" por la clave secreta correspondiente.
Ejemplo para eliminar un empleado
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '{ HOST }/payroll/employee/6255b67bc0457/delete',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'F-PLUGIN: 9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key: Tu API key',
'F-Secret-Key: Tu Secret key'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
var request = require('request');
var options = {
'method': 'POST',
'url': '{ HOST }/payroll/employee/6255b67bc0457/delete',
'headers': {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
import json
url = "{ HOST }/payroll/employee/6255b67bc0457/delete"
payload = ""
headers = {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("{ HOST }/payroll/employee/6255b67bc0457/delete")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["F-PLUGIN"] = "9d4095c8f7ed5785cb14c0e3b033eeb8252416ed"
request["F-Api-Key"] = "Tu API key"
request["F-Secret-Key"] = "Tu Secret key"
response = http.request(request)
puts response.read_body
Respuesta
Ejemplo de respuesta exitosa.
{
"response": "success",
"message": "Empleado eliminado"
}
Ejemplo de respuesta erronea.
{
"status": "error",
"message": "La cuenta que intenta autenticarse no existe",
"Data": "$2y$10$8a9S8o8WeiRhPh1YT6bnXun6uPs1ZdiZBUHjGwSqn3X44mbYSmY4.",
"Secret": "$2y$10$c5KNUW06w8r9OhH4MVPNz.BgpQfjHVZjPPYsVbX13WPQZomnYtxq"
}
Aviso
El mensaje de error puede variar dependiendo el nodo en el que haya información incorrecta. Te sugerimos leer cuidadosamente el mensaje del error ya que en el mismo se indica donde es necesario corregir la información.
Desactivar un empleado
A continuación se explica el método con el cual podremos desactivar a un empleado de nuestra cuenta.
Importante
Es importante tomar en cuenta que al crear un empleado este se genera activado por default
Podemos desactivar un empleado con ayuda de los siguientes parametros
Parámetro | Tipo | Requerido | Detalles |
---|---|---|---|
UID | String | Requerido | Es el identificador unico asignado a el empleado |
Construcción de la URL
Importante
El método que se utiliza para desactivar a un empleado es de tipo POST
Host: https://facturaonline.com.mx/api (producción) / https://sandbox.facturaonline.com.mx/api (sandbox)
Endpoint: /payroll/employee/{UID}/down
Ejemplo: https://facturaonline.com.mx/api/payroll/employee/6531b76632543/down
Tip
Para probar el ejemplo de código, necesitas cambiar "Tu API key" por la clave de API de tu cuenta, y "Tu Secret key" por la clave secreta correspondiente.
Ejemplo para desactivar a un empleado
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '{ HOST }/payroll/employee/62571c9798aae/down',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'F-PLUGIN: 9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key: Tu API key',
'F-Secret-Key: Tu Secret key'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
var request = require('request');
var options = {
'method': 'POST',
'url': '{ HOST }/payroll/employee/62571c9798aae/down',
'headers': {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
import json
url = "{ HOST }/payroll/employee/62571c9798aae/down"
payload = ""
headers = {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("{ HOST }/payroll/employee/62571c9798aae/down")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["F-PLUGIN"] = "9d4095c8f7ed5785cb14c0e3b033eeb8252416ed"
request["F-Api-Key"] = "Tu API key"
request["F-Secret-Key"] = "Tu Secret key"
response = http.request(request)
puts response.read_body
Respuesta
Ejemplo de respuesta exitosa.
{
"response": "success",
"message": "El empleado ha sido desactivado exitosamente"
}
Ejemplo de respuesta erronea.
{
"status": "error",
"message": "La cuenta que intenta autenticarse no existe",
"Data": "$2y$10$8a9S8o8WeiRhPh1YT6bnXun6uPs1ZdiZBUHjGwSqn3X44mbYSmY4.",
"Secret": "$2y$10$c5KNUW06w8r9OhH4MVPNz.BgpQfjHVZjPPYsVbX13WPQZomnYtxq"
}
Aviso
El mensaje de error puede variar dependiendo el nodo en el que haya información incorrecta. Te sugerimos leer cuidadosamente el mensaje del error ya que en el mismo se indica donde es necesario corregir la información.
Activar un empleado
A continuación se explica el método con el cual podremos activar a un empleado de nuestra cuenta.
Importante
Es importante tomar en cuenta que al crear un empleado este se genera activado por default
Podemos activar a un empleado con la ayuda de los siguientes parametros
Parámetro | Tipo | Requerido | Detalles |
---|---|---|---|
UID | String | Requerido | Es el identificador unico asignado a el empleado |
Construcción de la URL
Importante
El método que se utiliza para activar a un empleado es de tipo POST
Host: https://facturaonline.com.mx/api (producción) / https://sandbox.facturaonline.com.mx/api (sandbox)
Endpoint: /payroll/employee/{UID}/up
Ejemplo: https://facturaonline.com.mx/api/payroll/employee/6531b76632543/up
Tip
Para probar el ejemplo de código, necesitas cambiar "Tu API key" por la clave de API de tu cuenta, y "Tu Secret key" por la clave secreta correspondiente.
Ejemplo para activar un empleado
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '{ HOST }/payroll/employee/62571c9798aae/up',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'F-PLUGIN: 9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key: Tu API key',
'F-Secret-Key: Tu Secret key'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
var request = require('request');
var options = {
'method': 'POST',
'url': '{ HOST }/payroll/employee/62571c9798aae/up',
'headers': {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
import json
url = "{ HOST }/payroll/employee/62571c9798aae/up"
payload = ""
headers = {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("{ HOST }/payroll/employee/62571c9798aae/up")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["F-PLUGIN"] = "9d4095c8f7ed5785cb14c0e3b033eeb8252416ed"
request["F-Api-Key"] = "Tu API key"
request["F-Secret-Key"] = "Tu Secret key"
response = http.request(request)
puts response.read_body
Respuesta
Ejemplo de respuesta exitosa.
{
"response": "success",
"message": "El empleado ha sido activado exitosamente"
}
Ejemplo de respuesta erronea.
{
"status": "error",
"message": "La cuenta que intenta autenticarse no existe",
"Data": "$2y$10$8a9S8o8WeiRhPh1YT6bnXun6uPs1ZdiZBUHjGwSqn3X44mbYSmY4.",
"Secret": "$2y$10$c5KNUW06w8r9OhH4MVPNz.BgpQfjHVZjPPYsVbX13WPQZomnYtxq"
}
Aviso
El mensaje de error puede variar dependiendo el nodo en el que haya información incorrecta. Te sugerimos leer cuidadosamente el mensaje del error ya que en el mismo se indica donde es necesario corregir la información.