Saltar al contenido principal

Stock

Ver en Git


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​
  1. /transaction/buy
  2. /transaction/sale
  3. /transaction/between
  4. /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​

db_stock