Editar el listado
SetListing
Descripción
Aviso importante
Recomendamos manejar los modificadores usando la forma alternativa
Que es más fácil de mantener como integrador, y es la sintaxis que soporta el manejo de modificadores de segundo nivel.
- Método:
setListing - Parámetros:
deleteOldContent: Si es verdadero, se eliminará todo el contenido actual y se reemplazará por el que se esta subiendo (Importante:las publicaciónes y los componentes del website que utilizan los productos eliminados, perderan las referencias y deben ser reconfigurados desde el admin de la marca)maintainOrder: Si es verdadero, mantendra el orden de los productos creados, de modo que se muestren en las vistas en el mismo orden en el que se enviarón por este metodo. Esta opción solo se puede utilizar sideleteOldContentes verdadero, de lo contrario retornara un error.menus: Un arreglo con losMenu. UnMenues un conjunto de reglas. Para una compra el sistema eligirá el menú que cumpla todas las reglas y tenga mayor prioridad. Menu. No se pueden editar los menu con este métodoproducts: Un arreglo de los productosproductId: El ID del producto en Justo. Si es que quieres crear un nuevo producto puedes dejar esto en blanconame: Nombre del productodescription: Descripción del productourl: URL completa para acceder al producto (este parámetro no es posible configurarlo y no es considerado al guardar la data del producto)partialUrl: URL parcial del producto, no contiene el dominio (este parámetro no es posible configurarlo y no es considerado al guardar la data del producto)categoriesNames: Un arreglo con los nombres de las categoríasmodifiersNames: Un arreglo con los nombres de los modificadores. Debe ser igual al campointernalNamedel modificadorexternalId: ID externo de este productopriority: Un número entero. Entre más grande sea el valor, mayor será la prioridad en la que se mostrará el producto. SimaintainOrderes true, este campo se omitenicknames: Un arreglo con los nombres alternativos de este productoimages: Un arreglo con las URLs de las imagenes de este producto. Puedes usar cualquier URL externa y se va a subir la imagen a los servidores de Justo. El tamaño máximo para las imagenes es de 10mb. Si es que quieres dejar el producto sin imágenes, puedes enviar un arreglo vacío (para no modificar se puede ignorar el parámetro o enviarnull)menus: Información sobre los precios. Puedes obtener los menus de esta marca usando el métodomenumenuId: El ID del menúprice: Precio del producto en este menúdiscount: Precio en descuento de este producto. No es lo mismo0quenull(si puede haber un producto gratis)available: Si es que esta disponible este producto en el menúexternalId: Si es que quieres reemplazar el ID externo de este producto, para cuando la compra se realice con este menú
informativeStamps: Un arreglo con sellos informativos de productos. (Deben estar escritos con Mayúscula)VEGAN: VeganoVEGETARIAN: VegetarianoGLUTEN_FREE: Sin glutenLACTOSE_FREE: Sin lactosaSUGAR_FREE: Sin azúcarCACAO_100: 100% cacaoRECYCLABLE: ReciclableSPICY: PicanteKETO: KetoRECYCLED: RecicladoHANDMADE: Hecho a manoOLDER_THAN_18: Mayor de 18CRUELTY_FREE: No testeado en animales
filterNames: Un arreglo con nombres de los filtros [filterName] que aplican para hacer una búsqueda rápida del producto.
modifiers: Un arreglo con los modificadoresmodifierId: El ID del modificador en Justo. Si es que quieres crear un nuevo modificador puedes dejar esto en blanconame: Nombre del modificadordescription: Descripción del modificadorshortName: El nombre corto del modificadorinternalName: Un nombre interno que no ven los compradores. Sirve para diferenciar modificadores con el mismo nombre y para asociar los modificadores a los productosoptional: Es opcional elegir alguna opción de este modificadormin: Mínimo de opciones a seleccionar. Si es que necesitas que sea requerido, debes marcar que no sea opcionalmax: Dejar en blanco para infinitoexternalId: ID externo del modificadoroptions: Un arreglo de opciones, cada una con las siguientes propiedadesname: Nombre de la opciónmax: Cuantas veces se puede escoger esta opción dentro del modificadorexternalId: El identificador que usen en sus sistemas para esta opción, optativomenus: Información sobre los precios. Puedes obtener los menús de esta marca usando el métodomenumenuId: El ID del menúprice: Precio de la opción en este menúdiscount: Precio en descuento de esta opción. No es lo mismo0quenull(sí puede haber un option gratis)available: Si es que está disponible este option en el menú
categories: Un arreglo de las categoríascategoryId: El ID de la categoría en Justo. Si es que quieres crear una nueva categoría puedes dejar esto en blanconame: Nombre de la categoríaindex: El orden (de menor a mayor) que tendrá esta categoría
filters: Arreglo de los filtros que se quieran crear o modificar.filterId: El ID del filtro en Justo. Si es que quieres crear un nuevo filtro puedes dejar este campo en blancofilterName: Nombre del filtrotype: El tipo del filtro
Forma alternativa de agregar modificadores
Existe una segunda forma para crear modificadores y opciones de modificadores, en este caso las opciones se ingresan como objetos separados y pueden ser asociados a distintos modificadores. Esto es útil cuando una opción se repite en múltiples modificadores y deseas que, al agotar esta opción, se deshabilite en todos los modificadores que la usan.
(Notar que, en el caso anterior, cada option dentro de un modificador tendrá Ids distintos, y será necesario agotarlos todos aunque sean lo mismo)
Te recomendamos usar solo una de las dos formas para gestionar todos tus modificadores en Justo.
Uso
En este caso, agregar un campos options al mismo nivel que productos
optionsname: Nombre de la opciónmax: Cuantas veces se puede escoger esta opción dentro del modificadorexternalId: El identificador que usen en sus sistemas para esta opción, optativo.menus: Información sobre los precios. Puedes obtener los menús de esta marca usando el métodomenumenuId: El ID del menúprice: Precio de la opción en este menúdiscount: Precio en descuento de esta opción. No es lo mismo0quenull(sí puede haber un option gratis)available: Si es que está disponible este option en el menú
requiredOptionsIds: Arreglo opcional de Ids de options que son requeridos para mostrar esta opción. Al incluir este campo, la opción se clasificará como de segundo nivel. Esto implica que la opción solo estará disponible si el usuario ha seleccionado previamente todas las opciones requeridas en este campo. Se pueden especificar IDs de justo o externalId.
y en modifiers, en vez de incluir el campo options, incluir un campo optionIds que sea un arreglo de Ids de opciones (puede ser con id justo, o externalId)
{
"modifiers": [
{
"optionIds": ["id1", "id2"]
}
]
}
Notas
- No se pueden editar los
Menudesde este método, debes editarlos desde el dashboard. - Los filtros trabajan en tuplas (
type:filterName), en donde todos los filtros del mismo tipo se agreguparán para filtrar productos.
Llamada
POST /api/v1/setListing
Content-Type: application/json
{
"products": <ListingProducts>,
"modifiers": <ListingModifiers>,
"categories": <ListingCategories>,
"filters": <ListingFilters>,
"options": <ListingOptions>,
"deleteOldContent": false
}
Respuesta
{
"status": "ok"
}