1. Funcionamiento de los traspasos
El usuario puede registrar los traspasos que se producen en su restaurante. Un traspaso es un movimiento entre almacenes. Normalmente el almacén origen y el almacén destino están en distintos centros de coste. Pero no necesariamente puede registrarse también un traspaso entre almacenes dentro de un único centro de coste.
Cada día se registran los traspasos realizados 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://app.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 los traspasos
Para recuperar los traspasos
https://app.tspoonlab.com/recipes/api/listTransferPaged?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 traspasos
retorna un List<TransferEntry>
class TransferEntry {
String id; // Identificador del traspaso
String descr; // Descripción del traspaso
String codi; // Código del traspaso
String date; // Fecha formateada del traspaso
Integer year; // Año del traspaso
Integer month; // Mes del traspaso 1..12
String idOrderCenterDst; // Identificador del centro destino
String orderCenterDst; // Centro destino
String idOrderCenterSrc; // Identificador del centro origen
String orderCenterSrc; // Centro origen del traspaso
boolean output; // Si es de salida. De mi centro hacia otro.
// Si es false es de entrada.
boolean own; // Si es un traspaso entre almacenes del mismo centro
boolean locked; // Si el traspaso está bloqueado
}
1.4. Rest API : Recuperar un traspaso
Para recuperar una traspaso
GET https://www.tspoonlab.com/recipes/api/transfer/{id}
id es es el identificador del traspaso
Retorna
public class TransferData {
String id; // Id del traspaso
String descr; // Descripción
String codi; // Código
String dateFormatted; // Fecha para visualizar
String comment; // Comentario
Date dateGenerated; // Fecha del traspaso
Double cost; // Coste del traspaso
String currency; // Moneda
String idOrderCenterDst; // Identificador del centro destino
String orderCenterDst; // Centro destino
String idOrderCenterSrc; // Identificador del centro origen
String orderCenterSrc; // Centro origen del traspaso
boolean output; // Si es de salida. De mi centro hacia otro.
// Si es false es de entrada.
boolean own; // Si es un traspaso entre almacenes del mismo centro
boolean locked; // Si el traspaso está bloqueado
EntityBaseDescr businessLine; // Linea de negocio origen
// del traspaso
EntityBaseDescr businessLineDst; // Linea de negocio destino del
// traspaso
List<TransferComponentData> listTransferComponents; // Componentes
// traspasados
}
public class EntityBaseDescr {
String id; // Identificador
String descr, // Descipción
}
public class TransferComponentData {
String id; // Identificador del movimiento en traspaso
String idComponent // Nombre del componente traspasado
String idTransfer; // Id del traspaso
String descr; // Nombre del componente
// Cantidad y unidad
Double quantity;
String unit;
String idUnit;
// Comentario
String comment;
Double cost; // Coste del total
String currency; // Moneda
String idUse; // Si es un corte o depiece
String use; // Nombre del corte o despiece
String storeSrc; // Almacén origen
String idStoreSrc; // id del almacén origen
String storeDst; // Almacén destino
String idStoreDst; // id del almacén destino
}