---
# System prepended metadata

title: DOCUMENTACION GRUPO 3 - TRABAJO FINAL DE WEB

---

### 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"
}
```


