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
Atributo | Requerido | Tipo | Descripción | Ejemplo |
---|---|---|---|---|
Sin parámetros de entrada |
####JSON de ejemplo (entrada)**
{}
Parámetros de salida
- Respuesta 200 OK:
Atributo | Tipo | Descripción | Ejemplo |
---|---|---|---|
id | integer | Identificador único de la compañía | 100 |
name | string | Nombre de la compañía | "Tech Solutions Inc." |
business_name | string | Razón social de la compañía | "Tech Solutions Incorporated" |
id_number | string | Número de identificación (RUC, etc.) | "RUC/99887766" |
email | string | Correo electrónico de la compañía | "info@techsolutions.com" |
address | string | Dirección de la compañía | "Calle Falsa 123, Ciudad Futura" |
phone | string | Teléfono de la compañía | "+51 987 654 321" |
representative_name | string | Nombre del representante | "Carlos Rodríguez" |
representative_phone | string | Teléfono del representante | "+51 912 345 678" |
representative_email | string | Correo electrónico del representante | "carlos.rodriguez@fakemail.com" |
team_id | integer | ID del equipo asociado | 3000 |
created_at | timestamp | Fecha y hora de creación | "2023-10-01T12:00:00.000Z" |
updated_at | timestamp | Fecha y hora de última actualización | "2023-11-01T15:30:00.000Z" |
type_id | integer | ID del tipo de compañía | 2 |
representative_id_number | string | Número de identificación del representante | "DNI/12345678" |
country_id | integer | ID del país asociado | 5 |
specialty_id | integer | ID de la especialidad de la compañía | 8 |
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
Atributo | Requerido | Tipo | Descripción | Ejemplo |
---|---|---|---|---|
name | Sí | String | Nombre de la empresa. | "INNOVATECH SOLUTIONS S.A.C." |
business_name | Sí | String | Razón social de la empresa. | "INNOVATECH SOLUTIONS S.A.C." |
id_number | Sí | String | Número de identificación tributaria (RUC, DNI, etc.). | "RUC/20457281235" |
email | No | String | Correo electrónico de la empresa. | "contacto@innovatech.com.pe" |
address | No | String | Dirección de la empresa. | "Av. Las Palmas 1234, Lima, Perú" |
phone | No | String | Número de teléfono de la empresa. | "+51 987 654 321" |
representative_name | No | String | Nombre del representante legal. | "Carlos Díaz" |
representative_phone | No | String | Teléfono del representante legal. | "+51 912 345 678" |
representative_email | No | String | Correo electrónico del representante legal. | "carlos.diaz@innovatech.com.pe" |
type_id | Sí | Number | Identificador del tipo de empresa. | 2 |
representative_id_number | No | String | Número de identificación del representante. | "DNI/12345678" |
country_id | Sí | Number | Identificador del país. | 2 |
specialty_id | Sí | Number | Identificador 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
Atributo | Tipo | Descripción | Ejemplo |
---|---|---|---|
status | String | Estado de la operación (exitoso o error). | "error" / "success" |
message | String | Mensaje con información detallada sobre el resultado de la operación. | "El ID de la empresa (RUC/20457281235) ya está registrado." / "Empresa creada exitosamente." |
id | Number | ID 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
Atributo | Requerido | Tipo | Descripción | Ejemplo |
---|---|---|---|---|
id | Sí | Número | ID único de la empresa a actualizar | 123 |
name | Sí | Cadena | Nombre de la empresa. | "INNOVATECH SOLUTIONS S.A.C." |
business_name | Sí | Cadena | Razón social de la empresa. | "INNOVATECH SOLUTIONS S.A.C." |
id_number | No | Cadena | Número de identificación de la empresa (RUC/DNI). | "RUC/20457281235" |
email | No | Cadena | Correo electrónico de la empresa. | "contacto@innovatech.com.pe" |
address | No | Cadena | Dirección de la empresa. | "Av. Las Palmas 1234, Lima, Perú" |
phone | No | Cadena | Teléfono de la empresa. | "+51 987 654 321" |
representative_name | No | Cadena | Nombre del representante legal de la empresa. | "Carlos Díaz" |
representative_phone | No | Cadena | Teléfono del representante legal. | "+51 912 345 678" |
representative_email | No | Cadena | Correo electrónico del representante. | "carlos.diaz@innovatech.com.pe" |
type_id | No | Número | ID del tipo de empresa. | 2 |
representative_id_number | No | Cadena | Número de identificación del representante (DNI). | "DNI/12345678" |
country_id | No | Número | ID del país donde se ubica la empresa. | 2 |
specialty_id | No | Número | ID 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
Atributo | Tipo | Descripción | Ejemplo |
---|---|---|---|
status | Cadena | Estado de la operación (success o error). | "success" |
message | Cadena | Mensaje que describe el resultado de la operación. | "Empresa actualizada exitosamente." |
id | Número | ID 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
Atributo | Requerido | Tipo | Descripción | Ejemplo |
---|---|---|---|---|
id | Sí | Número | ID de la empresa que se desea eliminar. | 123 |
JSON de Ejemplo
{}
Parámetros de Salida
Atributo | Tipo | Descripción | Ejemplo |
---|---|---|---|
status | Cadena | Estado de la operación (success o error). | "success" |
message | Cadena | Mensaje que describe el resultado de la operación. | "Empresa eliminada exitosamente." |
id | Número | ID de la empresa que fue eliminada o null en caso de error. | 123 |
JSON de Ejemplo
{
"status": "success",
"message": "Empresa eliminada exitosamente.",
"id": 123
}