Stock
Apis de stock
url_base = https://api.auravant.com/activities
url_base_testing = https://api.testing.auravant.com/juli/activities
url_base_testing = https://api.testing.auravant.com/nico/activities
swagger_testing = https://api.testing.auravant.com/juli/activities/apidocs
swagger_testing = https://api.testing.auravant.com/nico/activities/apidocs
Para tener detalle de los parametros y respuestas de las apis mirar el swagger, que se mantiene actualizado con el schema de validacion.
FX_ID es id de permisos
Que es product_id?
Podemos asociar a esto cultivos, variedades y insumos, product_id es un string que nos indentifica que es y cual es su id
- cultivos='crops.$cultivo_id'
- variedad='crops_varieties.$variedad_id'
- inputs='inputs.$insumo_uuid'
Esta manera de indentificar a los productos trae algunos problema sobre todo en la base de datos (No nos permite hacer un join a la tabla de forma eficiente) por esto esta limitado a insumo del maestro de Auravant. Se deberia cambiar a futuro.
Warehouse Apis
- El owner(creador del deposito) es el unico que puede editarlo, modificarlo o agregar y quitar campos del deposito
- tipo de deposito nos indica si se puede cargar solo un prodcuto o varios
- En caso de que sea de un solo producto, sera obligatorio setear la capacidad y su unidad
- stock_negative= bool que indica si podes quedar con un producto con cantidades negativas
/warehouse
- POST: FX_ID=801, valida sobre los campos que se intenta asociar, no se puede tener un deposito sin campo asociado
- PATCH: Solo el creador del deposito puede modificar, esta api no permite agregar o quitar campos
- GET: FX_ID=800, Si tenes el permiso sobre un lote de los campos asociados
- DELETE: Solo el creador del deposito puede eliminar
/warehouse/farm
- POST: FX_ID=801
- DELETE: FX_ID=801
/warehouse/types
- GET: Listo tipo de depositos, no se validan permisos
/products/warehouse
- GET: FX_ID=800, Si tenes permisos sobre un lote tenes acceso al deposito. (El deposito se relaciona al campo no al lote)
- Dentro de la respuesta hay un json "products" que tiene como claves los products_id, Este es una lista de los depositos que tenes con este y sus cantidades.
- La api se hizo para que mobile tenga todos los depositos con los productos, evitar usar la api son filtro de campo
resp:
{
"products": {
"$product_id":[{
"quantity": float,
"warehouse_name": "str,
"warehouse_uuid": uuid,
"unit": str,
"weighted_price": float
}, ....
]
}
}
Transactions
Para tener permiso de transaciones tenes que tener el permiso en al menos 1 campo del deposito
/transaction
- GET: FX_ID=803, Lista todos los movimientos de un producto en un deposito
Apis segun tipo transaciones
- /transaction/buy
- /transaction/sale
- /transaction/between
- /transaction/loss
- POST: FX_ID=804, permiste crear multiples movimientos aun solo deposito
- PATCH: FX_ID=805
- DELETE: FX_ID=806
transaciones en labores
- Se hacen desde labores
- El permiso se valida sobre el lote de la labor
Base de datos
