Skip to main content

Empresas

GET: Obtener listado de compañías

Descripción del API
Este endpoint devuelve el listado de compañías asociadas.

Método HTTP

GET /api/companies

Parámetros de entrada

AtributoRequeridoTipoDescripciónEjemplo
Sin parámetros de entrada

####JSON de ejemplo (entrada)**

{}

Parámetros de salida

  • Respuesta 200 OK:
AtributoTipoDescripciónEjemplo
idintegerIdentificador único de la compañía100
namestringNombre de la compañía"Tech Solutions Inc."
business_namestringRazón social de la compañía"Tech Solutions Incorporated"
id_numberstringNúmero de identificación (RUC, etc.)"RUC/99887766"
emailstringCorreo electrónico de la compañía"info@techsolutions.com"
addressstringDirección de la compañía"Calle Falsa 123, Ciudad Futura"
phonestringTeléfono de la compañía"+51 987 654 321"
representative_namestringNombre del representante"Carlos Rodríguez"
representative_phonestringTeléfono del representante"+51 912 345 678"
representative_emailstringCorreo electrónico del representante"carlos.rodriguez@fakemail.com"
team_idintegerID del equipo asociado3000
created_attimestampFecha y hora de creación"2023-10-01T12:00:00.000Z"
updated_attimestampFecha y hora de última actualización"2023-11-01T15:30:00.000Z"
type_idintegerID del tipo de compañía2
representative_id_numberstringNúmero de identificación del representante"DNI/12345678"
country_idintegerID del país asociado5
specialty_idintegerID de la especialidad de la compañía8

JSON de ejemplo (salida)

[
{
"id": 100,
"name": "Tech Solutions Inc.",
"business_name": "Tech Solutions Incorporated",
"id_number": "RUC/99887766",
"email": "info@techsolutions.com",
"address": "Calle Falsa 123, Ciudad Futura",
"phone": "+51 987 654 321",
"representative_name": "Carlos Rodríguez",
"representative_phone": "+51 912 345 678",
"representative_email": "carlos.rodriguez@fakemail.com",
"team_id": 3000,
"created_at": "2023-10-01T12:00:00.000Z",
"updated_at": "2023-11-01T15:30:00.000Z",
"type_id": 2,
"representative_id_number": "DNI/12345678",
"country_id": 5,
"specialty_id": 8
},
{
"id": 101,
"name": "Future Tech Ltd.",
"business_name": "Future Technologies Limited",
"id_number": "RUC/11223344",
"email": "contact@futuretech.com",
"address": "Avenida Siempre Viva 742, Ciudad Alpha",
"phone": "+51 123 456 789",
"representative_name": "Lucía Torres",
"representative_phone": "+51 999 888 777",
"representative_email": "lucia.torres@fakemail.com",
"team_id": 3100,
"created_at": "2023-09-15T09:00:00.000Z",
"updated_at": "2023-10-20T17:45:00.000Z",
"type_id": 3,
"representative_id_number": "DNI/87654321",
"country_id": 7,
"specialty_id": 9
}
]

POST: Crear una nueva empresa

Descripción del API
Este endpoint permite crear una nueva empresa en el sistema. Se debe enviar la información completa de la empresa, como el nombre, número de identificación (RUC), dirección, teléfono, y datos del representante. El sistema valida que el número de identificación de la empresa (id_number) no esté ya registrado. Si el id_number ya existe en otra empresa, se devolverá un mensaje de error. Si la creación es exitosa, se devuelve un mensaje de éxito con el ID de la empresa recién creada.

Método HTTP

POST /api/companies

Parámetros de Entrada

AtributoRequeridoTipoDescripciónEjemplo
nameStringNombre de la empresa."INNOVATECH SOLUTIONS S.A.C."
business_nameStringRazón social de la empresa."INNOVATECH SOLUTIONS S.A.C."
id_numberStringNúmero de identificación tributaria (RUC, DNI, etc.)."RUC/20457281235"
emailNoStringCorreo electrónico de la empresa."contacto@innovatech.com.pe"
addressNoStringDirección de la empresa."Av. Las Palmas 1234, Lima, Perú"
phoneNoStringNúmero de teléfono de la empresa."+51 987 654 321"
representative_nameNoStringNombre del representante legal."Carlos Díaz"
representative_phoneNoStringTeléfono del representante legal."+51 912 345 678"
representative_emailNoStringCorreo electrónico del representante legal."carlos.diaz@innovatech.com.pe"
type_idNumberIdentificador del tipo de empresa.2
representative_id_numberNoStringNúmero de identificación del representante."DNI/12345678"
country_idNumberIdentificador del país.2
specialty_idNumberIdentificador de la especialidad de la empresa.5

JSON de Ejemplo

{
"name": "INNOVATECH SOLUTIONS S.A.C.",
"business_name": "INNOVATECH SOLUTIONS S.A.C.",
"id_number": "RUC/20457281235",
"email": "contacto@innovatech.com.pe",
"address": "Av. Las Palmas 1234, Lima, Perú",
"phone": "+51 987 654 321",
"representative_name": "Carlos Díaz",
"representative_phone": "+51 912 345 678",
"representative_email": "carlos.diaz@innovatech.com.pe",
"type_id": 2,
"representative_id_number": "DNI/12345678",
"country_id": 2,
"specialty_id": 5
}

Parámetros de Salida

AtributoTipoDescripciónEjemplo
statusStringEstado de la operación (exitoso o error)."error" / "success"
messageStringMensaje con información detallada sobre el resultado de la operación."El ID de la empresa (RUC/20457281235) ya está registrado." / "Empresa creada exitosamente."
idNumberID de la empresa afectada o creada.1

JSON de Ejemplo (Error)

{
"status": "error",
"message": "El ID de la empresa (RUC/20457281235) ya está registrado.",
"id": 1
}

JSON de Ejemplo (Success)

{
"status": "success",
"message": "Empresa creada exitosamente.",
"id": 2
}

PUT: Editar una empresa

Descripción del API
Este endpoint permite actualizar los datos de una empresa registrada en el sistema. Se requiere enviar el ID de la empresa a actualizar, junto con los nuevos datos que se desean modificar. Además, se realiza una validación para asegurar que el id_number no esté registrado en otra empresa, salvo que sea el mismo ID de la empresa que se está actualizando.

Método HTTP

PUT /api/companies/{id}

Parámetros de entrada

AtributoRequeridoTipoDescripciónEjemplo
idNúmeroID único de la empresa a actualizar123
nameCadenaNombre de la empresa."INNOVATECH SOLUTIONS S.A.C."
business_nameCadenaRazón social de la empresa."INNOVATECH SOLUTIONS S.A.C."
id_numberNoCadenaNúmero de identificación de la empresa (RUC/DNI)."RUC/20457281235"
emailNoCadenaCorreo electrónico de la empresa."contacto@innovatech.com.pe"
addressNoCadenaDirección de la empresa."Av. Las Palmas 1234, Lima, Perú"
phoneNoCadenaTeléfono de la empresa."+51 987 654 321"
representative_nameNoCadenaNombre del representante legal de la empresa."Carlos Díaz"
representative_phoneNoCadenaTeléfono del representante legal."+51 912 345 678"
representative_emailNoCadenaCorreo electrónico del representante."carlos.diaz@innovatech.com.pe"
type_idNoNúmeroID del tipo de empresa.2
representative_id_numberNoCadenaNúmero de identificación del representante (DNI)."DNI/12345678"
country_idNoNúmeroID del país donde se ubica la empresa.2
specialty_idNoNúmeroID de la especialidad de la empresa.5

JSON de ejemplo (salida)

{
"name": "INNOVATECH SOLUTIONS S.A.C.",
"business_name": "INNOVATECH SOLUTIONS S.A.C.",
"id_number": "RUC/20457281235",
"email": "contacto@innovatech.com.pe",
"address": "Av. Las Palmas 1234, Lima, Perú",
"phone": "+51 987 654 321",
"representative_name": "Carlos Díaz",
"representative_phone": "+51 912 345 678",
"representative_email": "carlos.diaz@innovatech.com.pe",
"type_id": 2,
"representative_id_number": "DNI/12345678",
"country_id": 1,
"specialty_id": 5
}

Parámetros de salida

AtributoTipoDescripciónEjemplo
statusCadenaEstado de la operación (success o error)."success"
messageCadenaMensaje que describe el resultado de la operación."Empresa actualizada exitosamente."
idNúmeroID de la empresa que fue actualizada.123

JSON de Ejemplo (Success)

{
"status": "success",
"message": "Empresa actualizada exitosamente.",
"id": 123
}

JSON de Ejemplo (Error)

{
"status": "error",
"message": "El ID de la empresa (RUC/20457281235) ya está registrado en otra empresa.",
"id": null
}

DELETE: Eliminar una Empresa

Este endpoint permite eliminar una empresa específica utilizando su id y el team_id. La empresa será eliminada de la base de datos si es encontrada.

Método HTTP

DELETE /api/companies/{id}

Parámetros de Entrada

AtributoRequeridoTipoDescripciónEjemplo
idNúmeroID de la empresa que se desea eliminar.123

JSON de Ejemplo

{}

Parámetros de Salida

AtributoTipoDescripciónEjemplo
statusCadenaEstado de la operación (success o error)."success"
messageCadenaMensaje que describe el resultado de la operación."Empresa eliminada exitosamente."
idNúmeroID de la empresa que fue eliminada o null en caso de error.123

JSON de Ejemplo

{
"status": "success",
"message": "Empresa eliminada exitosamente.",
"id": 123
}