Rest API: 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.
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 retornará una token que después debemos asociar en cada llamada posterior.
Este shell script muestra como autenticarnos 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
Rest API: Seleccionar un centro de coste/restaurante
Las peticiones que se describen en los apartados siguientes hacen referencia a un centro de coste. 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 artículo Rest API: Centros de coste.
El identificador de centro de coste se corresponde al campo idOrderCenter de la clase UserOrderCenter.
Una vez tenemos el identificador, éste 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
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:
Rest API : Recuperar una merma diaria
Para recuperar una merma diaria:
GET https://www.tspoonlab.com/recipes/api/thrown/{id}
id 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 idComponentType;
String componentType;
String idThrownType;
String thrownType;
String thrownTypeCodi;
}
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 día.
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 principal.
quantity cantidad tirada.
idUnit/unit identificador y descripción de la unidad tirada.
cost es el coste unitario, por lo 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 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.
idComponentType es el id de la familia principal del producto y componentType su descripción. Más información en el artículo Rest API: Familias.
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.
¿Te ha resultado útil este artículo?
Si necesitas más ayuda, contacta con soporte haciendo clic en el Chat de Soporte Integrado en la esquina inferior derecha de tu pantalla.
