Ir al contenido principal

REST API: Creación de eventos y menús ​🍱​

Descripción de la interfaz REST que permite crear eventos y menús en tspoonlab

Rest API: Creación de eventos

Esta interfaz REST permite a los sistemas externos crear eventos con sus correspondientes menús en tspoonlab. Cada evento tiene obligatoriamente un código y una descripción. Este código es el que nos permitirá actualizar el evento en posteriores llamadas. Cada evento tiene asociado un grupo de platos (aperitivos, primeros, segundos, postres) y sus correspondientes platos también con código y descripción. En caso de no existir alguno de los platos en tspoonlab se creará un nuevo plato en el sistema con dicho código y descripción.

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: Creación/Actualización de eventos

Para crear y/o actualizar los eventos, menús y platos se realizará la siguiente llamada REST:

POST: https://www.tspoonlab.com/recipes/api/integration/event

En el Request body se adjuntará el evento con sus correspondientes datos representado por la clase Event:

public class Event {

private String code; // Código del evento. Obligatorio
private String descr; // Descripción del evento. Obligatorio
private Integer pax; // Pax
private Date date; // Fecha evento
private String codeClient; // Código del cliente
private String descrClient; // Descripción del cliente
private Short version; // Versión del menú. Si se envía varias veces.
private short state; // Estado del evento si esta aprobado, cancelado, ofertado etc...
/*
public static final short offer = 0;
public static final short approved = 1;
public static final short cancelled = 2;
public static final short done = 3;
public static final short opportunity = 4;
public static final short rejected = 5;
*/
private List<EventMenuGroup> listGroups; // Lista de grupos de platos
}


El evento está compuesto de grupos que se corresponden a las diferentes fases del mismo: Aperitivo, primero, segundo, postre.

public class EventMenuGroup {

private String descr; // Grupo de platos. Aperitivos, principales, postres
private List<EventMenuGroupComponent> listComponents;
}

Cada EventMenuGroup tiene sus correspondientes platos:

public class EventMenuGroupComponent {

private String codi; // Código del plato
private String descr; // Nombre del plato
private Double quantity; // Nombre del plato
}

¿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.


¿Ha quedado contestada tu pregunta?