Ir al contenido principal
REST Api. Mermas

Como listar y recuperar las mermas

Rafel Tugues avatar
Escrito por Rafel Tugues
Actualizado hace más de 2 años

1. Funcionamiento de las mermas

El usuario puede registrar las mermas que se producen en su restaurante. Tanto de productos (verduras, carnes o pescados) como de elaboraciones intermedias y finales.

Cada día se registran las mermas generadas y se valoran con el coste del producto o escandallo

1.1. Rest API : Login

Para poder hacer llamadas a nuestras api's lo primero que necesitamos es identificarnos mediante una llamada de login

Esa llamada nos retornara una token que después debemos asociar en cada llamada posterior.

Este shell script muestra como autenticar-nos mediante curl

[email protected]
password=XXXXXXX

url=https://www.tspoonlab.com/recipes/api
authenticate='username='$username'&password='$password

echo -n 'rememberme:' > rememberme.txt
curl -v --data $authenticate $url/login >> rememberme.txt

En las llamadas posteriores debemos añadir a nuestros headers el token recibido de la llamada de login

curl -X PUT -v -H "$(cat rememberme.txt)" $url/integration/llamada

1.2. Rest API : Seleccionar un centro de coste/restaurante

Las peticiones que se describen en los apartados siguientes hacen referencia a un centro de coste. Que en la mayoría de los casos se correspondería con un restaurante

Para recuperar la lista de centros de costes y sus identificadores consulta el documento

El identificador de cenetro de coste se corresponde al campo idOrderCenter de la classe UserOrderCenter

Una vez tenemos el identificador este deberá añadirse a los headers para que sea utilizado en llamadas posteriores

echo -n 'order:351583444167656299610202XXXXXXXXXXXX' >> rememberme.txt

Por tanto en nuestros request headers debemos especificar tanto el token devuelto por el login como el identificador del centro de coste

rememberme:aGVucnkudXBzYWxsLmRAZXXXXXXXXXXXXXXXXXX
order:351583444167656299610202XXXXXXXXXXXX

1.3. Rest API : Recuperar las mermas

Para recuperar las mermas diarias

https://www.tspoonlab.com/recipes/api/listThrownPaged?filter=&rows=50&start=0

filter nos permite filtrar por descripción, start y rows nos permiten la paginación y

retorna una lista de las mermas diarias

retorna un List<ThrownEntry>

class ThrownEntry {

private String id;
private String descr;
private String codi;
private String date;

}

nos retorna el id y la descripción (id, descr) el código codi y la fecha en formato de visualización date

1.4. Rest API : Recuperar una merma diaria

Para recuperar una merma diaria

GET https://www.tspoonlab.com/recipes/api/thrown/{id}

id es es el identificador de la agrupación de mermas diarias

Retorna

public class ThrownData  {
private String id;
private String descr
private String codi;
private String dateFormatted;
private String comment;
private Date dateGenerated;
private String currency;
private Double cost;
private List<ThrownComponentData> listThrownComponents;
}


class ThrownComponentData {

String id;
String descr;
String idComponent;
String idThrown;
short type;
Long color;

Double quantity;
String unit;
String idUnit;
Double cost;
String currency;

String idUse;
String use;

String idThrownType;
String thrownType;
String thrownTypeCodi;

}

Donde en ThrownData

id es el identificador de la agrupación de mermas diarias

descr el nombre que le hemos dado

codi el código

dateGenerated la fecha

cost el coste de las mermas de ese dia

currency el símbolo de la moneda

La lista de productos tirados nos la detalla listThrownComponents

En ThrownComponentData

id es el identificador de la merma

descr nombre del producto tirado

idComponent identificador del producto tirado

idThrown el identificador de la agrupación de mermas diarias

type el tipo de producto (producto, material, elaboración intermedia o final)

color en caso de producto el color de la familia principial

quantity cantidad tirada

idUnit/unit identificador y descripción de la unidad tirada

cost es el coste unitario. Por tanto para saber el coste de la merma tenemos que multiplicarlo por quantity

currency es el símbolo de la moneda

idUse/use en caso que no se haya mermado el producto en bruto sino con un corte o despiece idUse/use identifican el corte o despiece. Por ejemplo no tiro cebolla sino que tiro cebolla juliana

idThrownType Identifica el tipo de merma

thrownType es el nombre del tipo de merma

thrownTypeCodi es el código del tipo de merma

1.5. Rest API : Listar los tipos de mermas

Para recuperar los tipos de mermas

https://www.tspoonlab.com/recipes/api/listThrownTypesPaged?filter=&rows=50&start=0

filter nos permite filtrar por descripción, start y rows nos permiten la paginación y

retorna una lista de los tipos de mermas

retorna un List<ThrownTypeEntry>

class ThrownTypeEntry {

private String id;
private String descr;
private String codi;

}

nos retorna el id y la descripción (id, descr) y el código codi del tipo de merma

¿Ha quedado contestada tu pregunta?