### Integrantes
* Villa Mera, Jasmin
* Chavez Sanchez, Jose Raul
* Fernandez Alva, Edu
### TABLA: USUARIO
| Columna | Tipo de dato |
| -------- | -------- |
|**id_usuario** |Integer |
|**Nombres** |varchar(30)|
|**Apellido** |varchar(40)|
|**Email**|varchar(60)|
|**Nombre Usuario**|varchar(20)|
|**Contraseña**|varchar(30)|
|**Telefono**|varchar(11)|
|**Tipo**|char(1)|
|**Vigencia**|boolean|
#### Obtener Usuario
|Nombre |Obtener Usuario|
| -------- | -------- |
|**Método** |GET|
|**URL**| team03.pythonanywhere.com/api_obtenerusuarios|
##### Response
```
[
{
"apellido": "fernandez", ---> En este campo se obtiene el apellido del usuario
"contraseña": "edu123", ---> En este campo se obtiene la contraseña del usuario
"email": "edu8@gmail.com", ---> En este campo se obtiene el correo electrónico del usuario
"id_usuario": 2, ---> En este campo se obtiene el identificador único del usuario en el sistema
"nombre": "edu", ---> En este campo se obtiene el nombre del usuario
"nombre_usuario" : "edu", ---> En este campo se obtiene el nombre de usuario que el cual utiliza para iniciar sesión
"telefono": "912203789", ---> En este campo se obtiene el número de teléfono del usuario
"tipo": "V", ---> En este campo se obtiene el tipo de usuario
"vigencia": "Vigente" ---> En este campo se obtiene el vigencia de la cuenta del usuario
}
]
```
#### Obtener Usuario Por ID
|**Nombre**| Obtener Usuario por ID|
| -------- | -------- |
|**Método**| GET|
|**URL**| team03.pythonanywhere.com/api_obtenerusuario/2|
##### Response
```
{
"apellido": "fernandez", ---> En este campo se obtiene por id el apellido del usuario
"contraseña": "edu123", ---> En este campo se obtiene por id la contraseña del usuario
"email": "edu8@gmail.com", ---> En este campo se obtiene por id el correo electrónico del usuario
"id_usuario": 2, ---> En este campo se obtiene por id el identificador único del usuario
"nombre": "edu", ---> En este campo se obtiene por id el nombre del usuario
"nombre_usuario" : "edu", ---> En este campo se obtiene el nombre de usuario que el cual utiliza para iniciar sesión
"telefono": "912203789", ---> En este campo se obtiene por id el número de teléfono del usuario
"tipo": "V", ---> En este campo se obtiene por id el tipo de usuario
"vigencia": 1 ---> En este campo se obtiene por id la vigencia de la cuenta del usuario
}
```
#### Guardar Usuario
|**Nombre**| Guardar Usuario|
| -------- | -------- |
|**Método** |POST|
|**URL** |team03.pythonanywhere.com/api_guardarusuario|
##### Request
```
{
"nombres": "edu", ---> En este campo se guarda el nombre del usuario
"apellido": "fernandez", ---> En este campo se guarda el apellido del usuario
"email": "edu8@gmail.com", ---> En este campo se guarda el correo electrónico del usuario
"contraseña": "edu123", ---> En este campo se guarda la contraseña del usuario
"telefono": "912203789", ---> En este campo se guarda el número de teléfono del usuario
"tipo": "V" ---> En este campo se guarda el tipo de usuario
"nombre_usuario": "admin" ---> En este campo se guarda el nombre de usuario utilizado para iniciar sesión
}
```
##### Response
```
{
"Mensaje": "usuario registrado correctamente"
}
```
#### Actualizar Usuario
|**Nombre**| Actualizar Usuario|
| -------- | -------- |
|**Método**| POST|
|**URL**| team03.pythonanywhere.com/api_actualizarusuario|
##### Request
{
"id_usuario": 4, ---> En este campo se actualiza el identificador único del usuario
"nombres": "Pedro", ---> En este campo se actualiza el nombre del usuario
"apellido": "Nuñez Perez", ---> En este campo se actualiza el apellido del usuario
"email": "n@gmail.com", ---> En este campo se actualiza el correo electrónico del usuario
"contraseña": "123456789", ---> En este campo se actualiza la contraseña del usuario
"telefono": "912203700", ---> En este campo se actualiza el número de teléfono del usuario,
"tipo": "C", ---> En este campo se actualiza el tipo de usuario, en este caso "C"
"vigencia": 1, ---> En este campo se actualiza la vigencia de la cuenta del usuario
"nombre_usuario": "pepe001" ---> En este campo se actualiza el nombre de usuario utilizado para iniciar sesión
}
##### Response
```
{
"Mensaje": "usuario actualizado correctamente"
}
```
#### Eliminar Usuario
|**Nombre** |Eliminar Usuario|
| -------- | -------- |
|**Método** |POST|
|**URL** |team03.pythonanywhere.com/api_eliminarusuario|
##### Request
```
{
"id_usuario" : 3 ---> En este campo se elimina por el id del usuario
}
```
##### Response
```
{
"Mensaje": "Usuario eliminado correctamente"
}
```
### TABLA: CLIENTE
| Columna | Tipo de dato |
| -------- | -------- |
|**id_cliente**|Integer|
|**Nombres**|varchar(30)|
|**Apellido**|varchar(40)|
|**DNI**|vachar(8)|
|**Email**|varchar(60)|
|**Telefono**|varchar(11)|
|**Vigencia**|boolean|
#### Obtener Cliente
|Nombre |Obtener Cliente|
| -------- | -------- |
|**Método** |GET|
|**URL**| team03.pythonanywhere.com/api_obtenerclientes|
##### Response
```
[
{
"apellido": "Villa Mera", ---> En este campo se obtiene el apellido del cliente
"dni": "76937008", ---> En este campo se obtiene el número de identificación del cliente
"email": "xxxxxxxx@gmail.com", ---> En este campo se obtiene el correo electrónico del cliente
"id_cliente": 3, ---> En este campo se obtiene el identificador único del cliente en el sistema
"nombres": "Jasmin Elizaaa", ---> En este campo se obtiene el nombre del cliente
"telefono": "902430969", ---> En este campo se obtiene el número de teléfono del cliente
"vigencia": "No Vigente" ---> En este campo se obtiene la vigencia de la cuenta del cliente
},
{
"apellido": "Villa Mera", ---> En este campo se obtiene el apellido del cliente
"dni": "43724679", ---> En este campo se obtiene el número de identificación del cliente
"email": "jasminvm@gmail.com", ---> En este campo se obtiene el correo electrónico del cliente
"id_cliente": 6, ---> En este campo se obtiene el identificador único del cliente en el sistema
"nombres": "Jasmin", ---> En este campo se obtiene el nombre del cliente
"telefono": "902430969", ---> En este campo se obtiene el número de teléfono del cliente
"vigencia": "Vigente" ---> En este campo se obtiene la vigencia de la cuenta del cliente
}
]
```
#### Obtener Cliente Por ID
|**Nombre**| Obtener Cliente por Id|
| -------- | -------- |
|**Método**| GET|
|**URL**| team03.pythonanywhere.com/api_obtenercliente/3
##### Response
```
[
{
"apellido": "Villa Mera", ---> En este campo se obtiene por id el apellido del cliente
"dni": "76937008", ---> En este campo se obtiene por id el número de identificación del cliente
"email": "xxxxxxxx@gmail.com", ---> En este campo se obtiene por id el correo electrónico del cliente
"id_cliente": 3, ---> En este campo se obtiene por id el identificador único del cliente en el sistema
"nombres": "Jasmin Elizaaa", ---> En este campo se obtiene por id el nombre del cliente
"telefono": "902430969", ---> En este campo se obtiene por id el número de teléfono del cliente
"vigencia": 0 ---> En este campo se obtiene por id la vigencia de la cuenta del cliente
}
]
```
#### Guardar Cliente
|**Nombre**| Guardar Cliente|
| -------- | -------- |
|**Método** |POST|
|**URL** |team03.pythonanywhere.com/api_guardarcliente|
##### Request
```
{
"nombres" : "Jose", ---> En este campo se guarda el nombre del cliente
"apellido" : "Chavez Sanchez", ---> En este campo se guarda el apellido del cliente
"dni" : "71116809", ---> En este campo se guarda el el número de identificación del cliente
"email" : "joseraulchavezsanchez12345678@gmail.com", ---> En este campo se guarda el correo del cliente
"telefono" : "978420505" ---> En este campo se guarda el telefono del cliente
}
```
##### Response
```
{
"Mensaje": "cliente registrado correctamente"
}
```
---
#### Actualizar Cliente
|**Nombre**| Actualizar Cliente|
| -------- | -------- |
|**Método**| POST|
|**URL**| team03.pythonanywhere.com/api_actualizarcliente|
##### Request
```
{
"id_cliente" : "3", ---> En este campo se actualiza el identificador único del cliente en el sistema
"nombres" : "Jasmin Elizaaa", ---> En este campo se actualiza el nombre del cliente
"apellido" : "Villa Mera", ---> En este campo se actualiza el apellido del cliente
"dni" : "76937008", ---> En este campo se actualiza el número de identificación del cliente
"email" : "xxxxxxxx@gmail.com", ---> En este campo se actualiza el correo del cliente
"telefono" : "902430969", ---> En este campo se actualiza el telefono del cliente
"vigencia" : 0 ---> En este campo se actualiza la vigencia de la cuenta del cliente
}
```
##### Response
```
{
"Mensaje": "Cliente actualizado correctamente"
}
```
#### Eliminar Cliente
|**Nombre** |Eliminar Cliente|
| -------- | -------- |
|**Método** |POST|
|**URL** |team03.pythonanywhere.com/api_eliminarcliente|
##### Request
```
{
"id_cliente": 5 ---> En este campo se elimina por el id del cliente
}
```
##### Response
```
{
"Mensaje": "Cliente eliminado correctamente"
}
```
### TABLA: METODO DE PAGO
| Columna | Tipo de dato |
| -------- | -------- |
|**id_metodo_pago**|Integer|
|**Nombre**|varchar(30)|
|**Vigencia**|Boolean|
#### Obtener Metodo de Pago
|Nombre |Obtener Metodo de Pago|
| -------- | -------- |
|**Método** |GET|
|**URL**| team03.pythonanywhere.com/api_obtenermetodopagos|
##### Response
```
[
{
"id_metodo_pago": 1, ---> En este campo se obtiene el identificador único del metodo de pago en el sistema
"nombre": "efectivo", ---> En este campo se obtiene el nombre del metodo de pago
"vigencia": "No Vigente" ---> En este campo se obtiene la vigencia del metodo de pago
}
]
```
#### Obtener Metodo de Pago Por ID
|**Nombre**| Obtener Metodo de Pago por Id|
| -------- | -------- |
|**Método**| GET|
|**URL**|team03.pythonanywhere.com/api_obtenermetodopago/1|
##### Response
```
[
{
"id_metodo_pago": 1, -->En este campo se obtiene por id el identificador único del metodo de pago
"nombre": "efectivo", ---> En este campo se obtiene por id el nombre del metodo de pago
"vigencia": 0 ---> En este campo se obtiene por id la vigencia del metodo de pago
}
]
```
---
#### Guardar Metodo de Pago
|Nombre| Guardar Metodo de Pago|
| -------- | -------- |
|**Método** |POST|
|**URL** | team03.pythonanywhere.com/api_guardarmetodopago|
##### Request
```
{
"nombre" : "credito" ---> En este campo se guarda el nombre del metodo de pago
}
```
##### Response
```
{
"Mensaje": "Metodo pago registrado correctamente"
}
```
#### Actualizar Metodo de Pago
|**Nombre**| Actualizar Metodo de Pago|
| -------- | -------- |
|**Método**| POST|
|**URL**|team03.pythonanywhere.com/api_actualizarmetodopago|
##### Request
```
{
"id_metodo_pago": 1, ---> En este campo se actualiza el identificador único del metodo de pago
"nombre": "efectivo", ---> En este campo se actualiza el nombre del metodo de pago
"vigencia": 0 ---> En este campo se actualiza la vigencia del metodo de pago
}
```
##### Response
```
{
"Mensaje": "Metodo pago actualizado correctamente"
}
```
#### Eliminar Metodo de Pago
|Nombre |Eliminar Metodo de Pago|
| -------- | -------- |
|**Método** |POST|
|**URL** | team03.pythonanywhere.com/api_eliminarmetodopago|
##### Request
```
{
"id_metodo_pago" : "2" ---> En este campo se elimina por el id del metodo de pago
}
```
##### Response
```
{
"Mensaje": "Metodo de pago eliminado correctamente"
}
```
### TABLA: TIPO DE VENTA
|Columna| Tipo de dato|
| -------- | -------- |
|**id_tipo_venta**|Integer|
|**Nombre**|varchar(30)|
|**Vigencia**|Boolean|
#### Obtener Tipo de Venta
|**Nombre**|Obtener Tipo de Venta|
| -------- | -------- |
|**Método**|GET|
|**URL**|team03.pythonanywhere.com/api_obtenertipoventa|
##### Response
```
[
{
"id_tipo_venta": 1, ---> En este campo se obtiene el identificador único del tipo de venta
"nombre": "directa", ---> En este campo se obtiene el nombre del tipo de venta
"vigencia": "No Vigente" ---> En este campo se obtiene la vigencia del tipo de venta
}
]
```
#### Obtener Tipo de Venta por ID
|**Nombre**| Obtener Tipo de Venta por ID|
| -------- | -------- |
|**Método**|GET|
|**URL**|team03.pythonanywhere.com/api_obtenertipoventa/1|
##### Response
```
[
{
"id_tipo_venta": 1, ---> En este campo se obtiene por id el identificador único del tipo de venta
"nombre": "directa", ---> En este campo se obtiene por id el nombre del tipo de venta
"vigencia": 0 ---> En este campo se obtiene por id la vigencia del tipo de venta
}
]
```
#### Guardar Tipo de Venta
|**Nombre**| Guardar Tipo de Venta|
| -------- | -------- |
|**Método**|POST|
|**URL**|team03.pythonanywhere.com/api_guardartipoventa|
##### Request
```
{
"nombre" : "directa" ---> En este campo se guarda el nombre del tipo de venta
}
```
##### Response
```
{
"Mensaje": "Tipo venta registrada correctamente"
}
```
#### Actualizar Tipo de Venta
|**Nombre**| Actualizar Tipo de Venta|
| -------- | -------- |
|**Método**|POST|
|**URL**|team03.pythonanywhere.com/api_actualizartipoventa|
##### Request
```
{
"id_marca": 5, ---> En este campo se actualiza el identificador único del tipo de venta
"nombre": "nike", ---> En este campo se actualiza el nombre del tipo de venta
"vigencia": 0 ---> En este campo se actualiza la vigencia del tipo de venta
}
```
##### Response
```
{
"Mensaje": "Tipo venta actualizada correctamente"
}
```
#### Eliminar Tipo de Venta
|**Nombre**| Eliminar Tipo de Venta|
| -------- | -------- |
|**Método**|POST|
|**URL**|team03.pythonanywhere.com/api_eliminartipoventa|
##### Request
```
{
"id_tipo_venta" : "2" ---> En este campo se elimina por el id del tipo de venta
}
```
##### Response
```
{
"Mensaje": "Tipo venta eliminada correctamente"
}
```
### TABLA: MARCA
| Columna | Tipo de dato |
| -------- | -------- |
|**id_marca** |Integer |
|**Nombre** |varchar(30)|
|**Vigencia**|boolean|
#### Obtener Marca
|Nombre |Obtener Marca|
| -------- | -------- |
|**Método** |GET|
|**URL**| team03.pythonanywhere.com/api_obtenermarcas|
##### Response
```
[
{
"id_marca": 1, ---> En este campo se obtiene el identificador único de la marca
"nombre": "adidas", ---> En este campo se obtiene el nombre de la marca
"vigencia": "Vigente" ---> En este campo se obtiene la vigencia de la marca
},
{
"id_marca": 2, ---> En este campo se obtiene el identificador único de la marca
"nombre": "nike", ---> En este campo se obtiene el nombre de la marca
"vigencia": "Vigente" ---> En este campo se obtiene la vigencia de la marca
}
]
```
#### Obtener Marca Por ID
|**Nombre**| Obtener Marca por ID|
| -------- | -------- |
|**Método**| GET|
|**URL**| team03.pythonanywhere.com/api_obtenermarca/3|
##### Response
```
[
{
"id_marca": 3, ---> En este campo se obtiene por id el identificador único de la marca
"nombre": "puma", ---> En este campo se obtiene por id el nombre de la marca
"vigencia": 1 ---> En este campo se obtiene por id la vigencia de la marca
}
]
```
#### Guardar Marca
|**Nombre**| Guardar Marca|
| -------- | -------- |
|**Método** |POST|
|**URL** |team03.pythonanywhere.com/api_guardarmarca|
##### Request
```
{
"nombre": "puma" ---> En este campo se guarda el nombre de la marca
}
```
##### Response
```
{
"Mensaje": "Marca registrada correctamente"
}
```
#### Actualizar Marca
|**Nombre**| Actualizar Marca|
| -------- | -------- |
|**Método**| POST|
|**URL**| team03.pythonanywhere.com/api_actualizarmarca|
##### Request
{
"id_marca": 2, ---> En este campo se actualiza el identificador único de la marca
"nombre": "adidas", ---> En este campo se actualiza el nombre de la marca
"vigencia": 0 ---> En este campo se actualiza la vigencia de la marca
}
##### Response
```
{
"Mensaje": "Marca actualizada correctamente"
}
```
#### Eliminar Marca
|**Nombre** |Eliminar Marca|
| -------- | -------- |
|**Método** |POST|
|**URL** |team03.pythonanywhere.com/api_eliminarmarca|
##### Request
```
{
"id_marca": 2 ---> En este campo se elimina por el id de la marca
}
```
##### Response
```
{
"Mensaje": "Marca eliminada correctamente"
}
```
### TABLA: CATEGORIA
| Columna | Tipo de dato |
| -------- | -------- |
|**id_categoria**|Integer|
|**Nombre**|varchar(30)|
|**Vigencia**|boolean|
#### Obtener Categoria
|Nombre |Obtener Categoria|
| -------- | -------- |
|**Método** |GET|
|**URL**| team03.pythonanywhere.com/api_obtenercategorias|
##### Response
```
[
{
"id_categoria": 1, ---> En este campo se obtiene el identificador único de la categoria
"nombre": "fiesta", ---> En este campo se obtiene el nombre de la categoria
"vigencia": "Vigente" ---> En este campo se obtiene la vigencia de la categoria
}
]
```
#### Obtener Categoria Por ID
|**Nombre**| Obtener Categoria por Id|
| -------- | -------- |
|**Método**| GET|
|**URL**| team03.pythonanywhere.com/api_obtenercategoria/1
##### Response
```
[
{
"id_categoria": 1, ---> En este campo se obtiene por id el identificador único de la categoria
"nombre": "fiesta", ---> En este campo se obtiene por id el nombre de la categoria
"vigencia": 1 ---> En este campo se obtiene por id la vigencia de la categoria
}
]
```
#### Guardar Categoria
|**Nombre**| Guardar Categoria|
| -------- | -------- |
|**Método** |POST|
|**URL** |team03.pythonanywhere.com/api_guardarcategoria|
##### Request
```
{
"nombre": "elegante" ---> En este campo se guarda el nombre de la categoria
}
```
##### Response
```
{
"Mensaje": "Categoria registrada correctamente"
}
```
---
#### Actualizar Categoria
|**Nombre**| Actualizar Categoria|
| -------- | -------- |
|**Método**| POST|
|**URL**| team03.pythonanywhere.com/api_actualizarcategoria|
##### Request
```
{
"id_categoria": 1, ---> En este campo se actualiza el identificador único de la categoria
"nombre": "fiestas", ---> En este campo se actualiza el nombre de la categoria
"vigencia": 1 ---> En este campo se actualiza la vigencia de la categoria
}
```
##### Response
```
{
"Mensaje": "Categoria actualizada correctamente"
}
```
#### Eliminar Categoria
|**Nombre** |Eliminar Categoria|
| -------- | -------- |
|**Método** |POST|
|**URL** |team03.pythonanywhere.com/api_eliminarcategoria|
##### Request
```
{
"id_categoria": 3 ---> En este campo se elimina por el id de la categoria
}
```
##### Response
```
{
"Mensaje": "Categoria eliminada correctamente"
}
```
### TABLA: PRODUCTO
| Columna | Tipo de dato |
| -------- | -------- |
|**id_producto**|Integer|
|**id_marca**|Integer|
|**id_categoria**|Integer|
|**nombre**|varchar(40)|
|**descripcion**|varchar(150)|
|**precio**|numeric(10,2)|
|**stock**|Integer|
|**modelo**|varchar(30)|
|**vigencia**|boolean|
#### Obtener Producto
|Nombre |Obtener Producto|
| -------- | -------- |
|**Método** |GET|
|**URL**| team03.pythonanywhere.com/api_obtenerproductos|
##### Response
```
[
{
"descripcion": "de cuero", ---> En este campo se obtiene la descripción del producto
"id_producto": 1, ---> En este campo se obtiene el identificador único del producto en el sistema
"marca_id": "adidas", ---> En este campo se obtiene la marca del producto
"modelo": "dd-34", ---> En este campo se obtiene el modelo del producto
"nombre": "chanclas", ---> En este campo se obtiene el nombre del producto
"precio ": "60.00", ---> En este campo se obtiene el precio del producto
"stock": 100, ---> En este campo se obtiene el stock del producto disponibles en el inventario
"vigencia": "Vigente" ---> En este campo se obtiene la vigencia del producto
}
]
```
#### Obtener Producto Por ID
|**Nombre**| Obtener Producto por Id|
| -------- | -------- |
|**Método**| GET|
|**URL**|team03.pythonanywhere.com/api_obtenerproducto/1|
##### Response
```
[
{
"descripcion": "de cuero", ---> En este campo se obtiene por id la descripción del producto
"id_producto": 1, ---> En este campo se obtiene por id el identificador único del producto en el sistema
"marca_id": 1, ---> En este campo se obtiene por id la marca del producto
"modelo": "", ---> En este campo se obtiene por id el modelo del producto
"nombre": "chanclas", ---> En este campo se obtiene por id el nombre del producto
"precio ": "60.00", ---> En este campo se obtiene por id el precio del producto
"stock": 100, ---> En este campo se obtiene por id el stock del producto disponibles en el inventario
"vigencia": 1 ---> En este campo se obtiene por id la vigencia del producto
}
]
```
---
#### Guardar Producto
|Nombre| Guardar Producto|
| -------- | -------- |
|**Método** |POST|
|**URL** | team03.pythonanywhere.com/api_guardarproducto|
##### Request
```
{
"nombre" : "chanclas", ---> En este campo se guarda el nombre del producto
"descripcion" : "de cuero", ---> En este campo se guarda la descripción del producto
"precio" : "60", ---> En este campo se guarda el precio del producto
"stock" : "100", ---> En este campo se guarda el stock del producto disponibles en el inventario
"modelo" : "" , ---> En este campo se guarda el modelo del producto
"marca_id" : "1", ---> En este campo se guarda el identificador de la marca del producto en el sistema
"categoria_id" : "1" ---> En este campo se guarda el identificador de la categoría del producto en el sistema
}
```
##### Response
```
{
"message": "Producto registrado correctamente",
"status": "1"
}
```
---
#### Actualizar Producto
|**Nombre**| Actualizar Producto|
| -------- | -------- |
|**Método**| POST|
|**URL**|team03.pythonanywhere.com/api_actualizarproducto|
##### Request
```
{
"id_producto" : "1", ---> En este campo se actualiza el identificador único del producto en el sistema
"nombre" : "zapatos", ---> En este campo se actualiza el nombre del producto
"descripcion" : "bamba", ---> En este campo se actualiza la descripción del producto
"precio" : "70", ---> En este campo se actualiza el precio del producto
"stock" : "100", ---> En este campo se actualiza el stock del producto disponibles en el inventario
"modelo" : "ddd" , ---> En este campo se actualiza el modelo del producto
"marca_id" : "1", ---> En este campo se actualiza el identificador de la marca del producto en el sistema
"categoria_id" : "1", ---> En este campo se actualizael identificador de la categoría del producto en el sistema
"vigencia" : "true" ---> En este campo se actualiza la vigencia del producto
}
```
##### Response
```
{
"message": "Producto actualizado correctamente",
"status": "1"
}
```
#### Eliminar Producto
|Nombre |Eliminar Producto|
| -------- | -------- |
|**Método** |POST|
|**URL** | team03.pythonanywhere.com/api_eliminarproducto|
##### Request
```
{
"id_producto" : "2" ---> En este campo se elimina por el id del producto
}
```
##### Response
```
{
"Mensaje": "Producto eliminado correctamente"
}
```
### TABLA: VENTA
|Columna| Tipo de dato|
| -------- | -------- |
|**id_metodo_pago**|Integer|
|**id_cliente**|Integer|
|**id_usuario**|Integer|
|**id_tipo_venta**|Integer|
|**fecha**|date|
|**total**|numeric(10,2)|
#### Obtener Venta
|**Nombre**|Obtener Venta|
| -------- | -------- |
|**Método**|GET|
|**URL**|team03.pythonanywhere.com/api_obtenerventas|
##### Response
```
[
{
"cliente_id": 3, ---> En este campo se obtiene el identificador único del cliente en el sistema que realizó la venta
"fecha": "Sat, 17 Jun 2023 00:00:00 GMT", ---> En este campo se obtiene la fecha y hora en que se realizó la venta
"id_venta": 1, ---> En este campo se obtiene el identificador único de la venta en el sistema
"metodo_pago_id": 1, ---> En este campo se obtiene el identificador único del método de pago utilizado en la venta
"total": "100.00", ---> En este campo se obtiene el monto total de la venta
"usuario_id": 2 ---> En este campo se obtiene el identificador único del usuario en el sistema que realizó la venta
}
]
```
#### Obtener Venta por ID
|**Nombre**| Obtener Venta por ID|
| -------- | -------- |
|**Método**|GET|
|**URL**|team03.pythonanywhere.com/api_obtenerventa/1|
##### Response
```
[
{
"cliente_id": 3, ---> En este campo se obtiene por id el identificador único del cliente en el sistema que realizó la venta
"fecha": "Sat, 17 Jun 2023 00:00:00 GMT", ---> En este campo se obtiene por id la fecha y hora en que se realizó la venta
"id_venta": 1, ---> En este campo se obtiene por id el identificador único de la venta en elsistema
"metodo_pago_id": 1, ---> En este campo se obtiene por id el identificador único del método de pago utilizado en la venta
"total": "100.00", ---> En este campo se obtiene por id el monto total de la venta
"usuario_id": 2 ---> En este campo se obtiene por id el identificador único del usuario en el sistema que realizó la venta
}
]
```
#### Guardar Venta
|**Nombre**| Guardar Tipo de Venta|
| -------- | -------- |
|**Método**|POST|
|**URL**|team03.pythonanywhere.com/api_guardarventa|
##### Request
```
{
"cliente_id" : 3, ---> En este campo se guarda el identificador único del cliente en el sistema que realizó la venta
"metodo_pago_id" : 1, ---> En este campo se guarda el identificador único del método de pago utilizado en la venta
"tipo_venta_id" : 1, ---> En este campo se guarda el identificador único del tipo de venta utilizado en la venta
"usuario_id" : 2, ---> En este campo se guarda el identificador único del usuario en el sistema que realizó la venta
"fecha" : "2023-06-17", ---> En este campo se guarda la fecha y hora en que se realizó la venta
"total" : "100.00" ---> En este campo se guarda el monto total de la venta
}
```
##### Response
```
{
"message": "Venta registrada correctamente",
"status": "1"
}
```
#### Actualizar Venta
|**Nombre**| Actualizar Venta|
| -------- | -------- |
|**Método**|POST|
|**URL**|team03.pythonanywhere.com/api_actualizarventa|
##### Request
```
{
"id_venta" : 2, ---> En este campo se actualiza el identificador único de la venta en elsistema
"cliente_id": 3, ---> En este campo se actualiza el identificador único del cliente en el sistema que realizó la venta
"metodo_pago_id": 1, ---> En este campo se actualiza el identificador único del método de pago utilizado en la venta
"tipo_venta_id":1, ---> En este campo se actualiza el identificador único del tipo de venta utilizado en la venta
"usuario_id": 2, ---> En este campo se actualiza el identificador único del usuario en el sistema que realizó la venta
"fecha": "2023-06-01", ---> En este campo se actualiza la fecha y hora en que se realizó la venta
"total": 120.00 ---> En este campo se actualiza el monto total de la venta
}
```
##### Response
```
{
"Mensaje": "Tipo venta actualizada correctamente"
}
```
#### Eliminar Venta
|**Nombre**| Eliminar Venta|
| -------- | -------- |
|**Método**|POST|
|**URL**|team03.pythonanywhere.com/api_eliminarventa|
##### Request
```
{
"id_venta" : 2 ---> En este campo se elimina por el id de la venta
}
```
##### Response
```
{
"Mensaje": "Venta eliminada correctamente"
}
```
#### Eliminar Venta Total
|**Nombre**| Eliminar Venta Total|
| -------- | -------- |
|**Método**|POST|
|**URL**|team03.pythonanywhere.com/api_eliminarventatotal|
##### Request
```
{
"id_venta":"20" ---> En este campo se elimina por el id de la venta
}
```
##### Response
```
{
"Mensaje": "Venta y Detalles eliminados correctamente"
}
```
### TABLA: DETALLE VENTA
|Columna| Tipo de dato|
| -------- | -------- |
|**id_venta**|Integer|
|**id_producto**|Integer|
|**cantidad**|Integer|
|**precio_unitario**|numeric(10,2)|
|**subtotal**|numeric(10,2)|
#### Obtener Detalle de Venta
|**Nombre**|Obtener Detalle de Venta|
| -------- | -------- |
|**Método**|GET|
|**URL**|team03.pythonanywhere.com/api_obtenerdetalleventas|
##### Response
```
[
{
"cantidad": 2, ---> En este campo se obtiene la cantidad de unidades del producto vendidas en la venta
"precio_unitario": "60.00", ---> En este campo se obtiene el precio unitario del producto vendido en la venta
"producto_id": 1, ---> En este campo se obtiene el identificador único del producto vendido en la venta
"subtotal": "120.00", ---> En este campo se obtiene el subtotal de la venta del producto
"venta_id": 1 ---> En este campo se obtiene el identificador único de la venta en la que se vendió el producto
}
]
```
#### Obtener Detalle de Venta por ID
|**Nombre**| Obtener Venta por ID|
| -------- | -------- |
|**Método**|GET|
|**URL**|team03.pythonanywhere.com/api_obtenerdetalleventa/1/1|
##### Response
```
[
{
"cantidad": 2, ---> En este campo se obtiene por id la cantidad de unidades del producto vendidas en la venta
"precio_unitario": "60.00", ---> En este campo se obtiene por id el precio unitario del producto vendido en la venta
"producto_id": 1, ---> En este campo se obtiene por id el identificador único del producto vendido en la venta
"subtotal": "120.00", ---> En este campo se obtiene por id el subtotal de la venta del producto
"venta_id": 1 ---> En este campo se obtiene por id el identificador único de la venta en la que se vendió el producto
}
]
```
#### Guardar Detalle de Venta
|**Nombre**| Guardar Detalle de Venta|
| -------- | -------- |
|**Método**|POST|
|**URL**|team03.pythonanywhere.com/api_guardardetalleventa|
##### Request
```
{
"venta_id": 1, ---> En este campo se guarda el identificador único de la venta en la que se vendió el producto
"producto_id" : 1, ---> En este campo se guarda el identificador único del producto vendido en la venta
"cantidad": 2, ---> En este campo se guarda la cantidad de unidades del producto vendidas en la venta
"precio_unitario" : 60.00, ---> En este campo se guarda el precio unitario del producto vendido en la venta
"subtotal" : 120.00 ---> En este campo se guarda el subtotal de la venta del producto
}
```
##### Response
```
{
"message": "Detalle de Venta registrada correctamente",
"status": "1"
}
```
#### Actualizar Detalle de Venta
|**Nombre**| Actualizar Detalle de Venta|
| -------- | -------- |
|**Método**|POST|
|**URL**|team03.pythonanywhere.com/api_actualizardetalleventa|
##### Request
```
{
"venta_id": 1, ---> En este campo se actualiza el identificador único de la venta en la que se vendió el producto
"producto_id" : 1, ---> En este campo se actualiza el identificador único del producto vendido en la venta
"cantidad": 2, ---> En este campo se actualiza la cantidad de unidades del producto vendidas en la venta
"precio_unitario" : 70.00, ---> En este campo se actualiza el precio unitario del producto vendido en la venta
"subtotal" : 150.00 ---> En este campo se actualiza el subtotal de la venta del producto
}
```
##### Response
```
{
"Mensaje": "Detalle venta actualizada correctamente"
}
```
#### Eliminar Detalle de Venta
|**Nombre**| Eliminar Detalle de Venta|
| -------- | -------- |
|**Método**|POST|
|**URL**|team03.pythonanywhere.com/api_eliminardetalleventa|
##### Request
```
{
"venta_id": 2, ---> En este campo se elimina por el id del detalle de venta
"producto_id" : 1 ---> En este campo se elimina por el id del producto
}
```
##### Response
```
{
"Mensaje": "Detalle Venta eliminada correctamente"
}
```
### APIS DE REFUERZO
#### API DE SEGURIDAD
|**Nombre**| Api Seguridad|
| -------- | -------- |
|**Método**|POST|
|**URL**|http://team03.pythonanywhere.com/auth|
##### Request
```
{
"username":"admin", ---> Es un campo que se utiliza para identificar al usuario en el sistema
"password":"edu123" ---> Es un campo que se utiliza para autenticar al usuario en el sistema
}
```
##### Response
```
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2ODg3OTEwNjUsImlhdCI6MTY4ODc5MDc2NSwibmJmIjoxNjg4NzkwNzY1LCJpZGVudGl0eSI6Mn0.YIsYwFRyGFC31KIu9ELiWmuFhfZu4irWBN4i-4rRtmU"
}
```