Rest API: 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. 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.
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://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
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 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 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
}
Rest API : Recuperar un traspaso
Para recuperar una traspaso:
GET https://www.tspoonlab.com/recipes/api/transfer/{id}
id 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
}
Rest API: Recuperar un resumen de traspasos
Para poder consultar las cantidades totales de las compras por estado en un periodo de tiempo debemos llamar a la función:
GET:
https://app.tspoonlab.com/recipes/api/integration/transfer/summary?startDate=YYYY-MM-DD&endDate=YYYY-MM-DD
Debemos pasar los siguientes request params:
startDate (String). Fecha a partir de la cual se recuperarán los datos. Obligatorio.
endDate (String). Fecha hasta la cuál se recuperarán los datos. Obligatorio.
El formato de las fechas debe ser YYYY-MM-DD y es inclusivo en startDate y endDate. Es decir todos los datos con fecha igual a startDate o endDate son retornados. Devuelve:
class TransferDataSummary {
String currency; // Moneda
Double cost; // Coste si en algún traspaso hay
// un producto sin coste devuelve nulo
List<TransferComponentDataSummary> listTransferComponents;
// Componentes distintos traspasados en el período de tiempo
}
class TransferComponentDataSummary {
String id; // Identificador del traspaso/componente
String descr; // Nombre del componente
String idComponent; // Identificador del componente
short type; // Tipo de producto traspasado
Long color; // Color del componente en caso de ser ingrediente
Double quantity; // Cantidad total traspasada
String unit; // Unidad traspasada
String idUnit; // id unidad
String comment; // Comentario
// Si se ha traspasado algún corte o despiece su identificador
// Normalmente será nulo
String idUse;
String use;
// Familias del componnete
String idComponentType; // La principal
String componentType;
List<TypeComponent> listTypesWithId; // Todas las familias
// Almacén origen
String storeSrc;
String idStoreSrc;
// Almacén destino
String storeDst;
String idStoreDst;
// Coste i fecha del coste
Double cost;
String lastModified;
Date dateGenerated;
// Lotes del traspas
List<Lot> listLots;
}
¿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.
