Ir al contenido principal
Todas las coleccionesRest API - Integraciones
REST Api: Creación de eventos y menús en tSpoonLab
REST Api: Creación de eventos y menús en tSpoonLab

Descripción de la interficie rest que permite crear eventos y menus en tSpoonLab

Rafel Tugues avatar
Escrito por Rafel Tugues
Actualizado hace más de 2 años

1. Creación de eventos

Esta interficie REST permite a los sistemas externos crear eventos con sus correspondientes menús en tSpoonLab. Cada evento tiene obligatoriamente un código y una descripcó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 descripió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.

1.1. Rest API : Login

Para poder hacer llamadas a nuestas api's lo primero que ncesitamos 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 authenticar-nos 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

1.2. Creación/Actualización de eventos

Para crear y/o actualizar los eventos, menus y platos se realizará la sigüente 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 classe 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; // Codigo del cliente
    private String descrClient; // Descripcion del cliente
    private Short version; // Version del menu. Si se envia varias veces.
    private short state; // Estado del evento si esta aprovado,        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 esta 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; // Codigo del plato
    private String descr; // Nombre del plato
    private Double quantity; // Nombre del plato
}



¿Ha quedado contestada tu pregunta?