Ir al contenido principal

REST Api. Traspasos

Como listar y recuperar traspasos

Rafel Tugues avatar
Escrito por Rafel Tugues
Actualizado esta semana

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

}


¿Ha quedado contestada tu pregunta?