Módulo Exclusivo
Este módulo es de uso exclusivo y solo está disponible para ciertas tiendas, estamos lanzando gradualmente estas funcionalidades a los otros. Para saber si la tienda puede usar el módulo, solo consulte el endpoint GET isMultisetup de la API de catálogo.
Conceptos
¿Qué es el módulo Multi Setup?
El módulo Multi Setup tiene el propósito de unificar la vista de varios servicios, a diferencia del módulo base, en Multi Setup, todos los elementos serán iguales en todos los servicios, por lo que el socio solo necesita ajustar el precio y el estado de cada menú.![]()

¿Qué cambia en la API?
Para socios que solo tienen un servicio
As APIs são retrocompatíveis, ou seja, funcionarão da mesma forma, com exceção à API de pizza que agora passa a ser tratada como um item normal.Para Socios que tienen más de un servicio
Ahora, al usar API públicas, se debe pasar un nuevo parámetro que informe el contexto que afectará esa solicitud.
El contexto es el servicio para el que está destinado el catálogo.
Puede encontrar el contexto en la solicitud de listar catálogos.De esta manera será posible crear/editar items, editar estados y precios solo para el contexto informado, si el contexto no está informado, el cambio se realizará de forma global, es decir, para todos los contextos.¿Cómo funciona esto en la práctica?
Todas las categorías y elementos existirán en todos los menús, si el socio crea un nuevo elemento informando un contexto, este elemento se creará con el status AVAILABLE solo en el contexto informado, los otros contextos tendrán el elemento con el status UNAVAILABLE.Precios globales y estado
En cambios de precio y estado, si no se informa el parámetro de contexto, el cambio tendrá efecto en todos los contextos.El módulo de configuración múltiple tiene API exclusivas para la gestión del menú. Todavía será posible usar las API actuales para administrar el menú, pero quedarán obsoletas después de que todos los socios se unan al módulo Multi Setup.Las Pizza APIs NO tienen retrocompatibilidad con el módulo Multi Setup, la gestión de elementos tipo Pizza ya no es específica. Consulte la sección Creación/Edición de un elemento de este documento.
¿Por qué utilizar el módulo Multi Setup?
Con este módulo activo, los socios que tienen más de un menú pudieron administrar sus menús más fácilmente, pudiendo reutilizar fácilmente los items con la flexibilidad de personalizar precios, estado, código POS y horarios de atención por menú.
Las nuevas API solo estarán disponibles en el módulo de configuración múltiple, consulte las nuevas API en sesión MultisetupUtilizando la API
Creación/Edición de un item
La creación de un item proporcionada por el módulo Multi Setup es válida para todo tipo de item, incluida la pizza. Se crea el ítem con todas las dependencias que lo componen: productos, grupos de complementos y complementos.
El tipo de pizza difiere solo en el tipo de item y los grupos de complementos.
Es obligatorio que un item de tipo pizza tenga grupos de complementos de tipo SIZE, CRUST y EDGE.Ejemplo - Item Comúncurl --location --request PUT 'https://merchant-api.ifood.com.br/catalog/v1.0/merchants/21131c93-0398-4818-aad3-762cab309a26/multisetup/items' \
--header 'Authorization: Bearer TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"item": {
"id": "cff648d8-fc31-41b0-b80e-81fc3651ca7a",
"type": "DEFAULT",
"categoryId": "beab216d-33dc-4ce4-8b35-5372e135093d",
"status": "AVAILABLE",
"price": {
"value": 11.00,
"originalValue": 12.50
},
"externalCode": "public_item",
"index": 0,
"productId": "62133b9f-5542-401d-8743-49ec7da8c847",
"shifts": null,
"tags": null,
"contextModifiers": [
{
"catalogContext": "WHITELABEL",
"status": "AVAILABLE",
"price": {
"value": 13,
"originalValue": 16
},
"externalCode": "whitelabel_ec2"
},
{
"catalogContext": "INDOOR",
"status": "AVAILABLE",
"price": {
"value": 13,
"originalValue": 17
},
"externalCode": "indoor_ec"
}
]
},
"products": [
{
"id": "62133b9f-5542-401d-8743-49ec7da8c847",
"externalCode": "item_product_ec2",
"name": "X-Burguer",
"description": "Pão, carne, queijo e salada",
"additionalInformation": "some additional Information",
"imagePath": "2245a961-849d-443c-a434-0197a7b8116c/202309201054_160d37znvk6.png",
"ean": "EAN112233414",
"serving": "SERVES_2",
"dietaryRestrictions": null,
"quantity": null,
"optionGroups": [
{
"id":"1e5e5eb5-84c7-4eca-b0c1-921860434f70",
"min": 0,
"max": 1
}
]
},
{
"id": "713713e7-641e-44fd-bd92-13ba43daf6a8",
"externalCode": "option_product_ec2",
"name": "Batata Frita",
"description": "200 g",
"additionalInformation": "some additional Information",
"imagePath": null,
"ean": "EAN112253553344",
"serving": "SERVES_1",
"dietaryRestrictions": null,
"quantity": null,
"optionGroups": null
}
],
"optionGroups": [
{
"id": "1e5e5eb5-84c7-4eca-b0c1-921860434f70",
"name": "Acompanhamentos",
"externalCode": "option_group_ec2",
"status": "AVAILABLE",
"index": 0,
"optionGroupType": "DEFAULT",
"optionIds": [
"d3e31829-a215-47e3-9576-3fddec9417ec"
]
}
],
"options": [
{
"id": "d3e31829-a215-47e3-9576-3fddec9417ec",
"status": "AVAILABLE",
"index": 0,
"productId": "713713e7-641e-44fd-bd92-13ba43daf6a8",
"price": {
"value": 4,
"originalValue": 7
},
"contextModifiers": [
{
"parentOptionId": null,
"catalogContext": "WHITELABEL",
"status": "AVAILABLE",
"price": {
"value": 5,
"originalValue": 6
},
"externalCode": "op_whitelabel_ec"
}
],
"fractions": null,
"externalCode": "option_ec"
}
]
}'
Ejemplo - Item Pizza:curl --location --request PUT 'https://merchant-api.ifood.com.br/catalog/v1.0/merchants/21131c93-0398-4818-aad3-762cab309a26/multisetup/items' \
--header 'Authorization: Bearer TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"item": {
"id": "8e82f81f-6b0f-4e7b-9185-b3a5c57d19b0",
"type": "PIZZA",
"status": "AVAILABLE",
"externalCode": "pizza_item_ec",
"index": 0,
"productId": "171ad402-1611-4b5f-9af5-3a7ad28a58b6"
},
"products": [
{
"id": "171ad402-1611-4b5f-9af5-3a7ad28a58b6",
"externalCode": "pizza_product_ec",
"name": "Pizza",
"description": "massa, queijo mussarela e molho de tomate",
"additionalInformation": "some additional Information",
"optionGroups": [
{
"id":"f24249ff-7f5c-4d53-a170-72f9f32091d9",
"min": 0,
"max": 1
},
{
"id":"c24423b4-6b95-4002-a775-b4b3b3037bb6",
"min": 0,
"max": 1
},
{
"id":"04bde4c8-28c7-43c9-b240-9205f4e95c26",
"min": 0,
"max": 1
},
{
"id":"0b2a2f4d-ce33-4b46-888f-971792837fb2",
"min": 0,
"max": 1
}
]
},
{
"id": "8dd12ae1-55a1-431c-ba3a-19ec3d7c35dc",
"externalCode": "crust_product_ec",
"name": "Massa Tradicional"
},
{
"id": "d3f65c66-4259-427d-a6bd-30e4df212d46",
"externalCode": "size_product_ec",
"name": "Tamanho médio"
},
{
"id": "4b222dbd-aa8d-4f8e-ab7a-df65fb44f7ab",
"externalCode": "edge_product_ec",
"name": "Borda Tradicional"
},
{
"id": "4c77015c-820a-495c-82a9-28a111258a37",
"externalCode": "topping_product_ec",
"name": "Calabresa"
}
],
"optionGroups": [
{
"id": "f24249ff-7f5c-4d53-a170-72f9f32091d9",
"name": "Tamanhos",
"externalCode": "tamanhos_ec",
"status": "AVAILABLE",
"index": 0,
"optionGroupType": "SIZE",
"optionIds": [
"1cae92f1-59ad-401c-a889-dd8ce940fd25"
]
},
{
"id": "c24423b4-6b95-4002-a775-b4b3b3037bb6",
"name": "Massas",
"externalCode": "massas_ec",
"status": "AVAILABLE",
"index": 0,
"optionGroupType": "CRUST",
"optionIds": [
"9603ad69-5c48-4da6-a703-21bf7d1232c0"
]
},
{
"id": "04bde4c8-28c7-43c9-b240-9205f4e95c26",
"name": "Bordas",
"externalCode": "bordas_ec",
"status": "AVAILABLE",
"index": 0,
"optionGroupType": "EDGE",
"optionIds": [
"54171c89-dbcb-47ea-89c1-131b32d70307"
]
},
{
"id": "0b2a2f4d-ce33-4b46-888f-971792837fb2",
"name": "Sabores",
"externalCode": "sabores_ec",
"status": "AVAILABLE",
"index": 0,
"optionGroupType": "TOPPING",
"optionIds": [
"c5ed4d9c-0b79-47b6-8333-d50e66e2147a"
]
}
],
"options": [
{
"id": "1cae92f1-59ad-401c-a889-dd8ce940fd25",
"status": "AVAILABLE",
"productId": "d3f65c66-4259-427d-a6bd-30e4df212d46",
"price": {
"value": 4,
"originalValue": 7
},
"fractions": [2,3],
"externalCode": "medio_option_ec"
},
{
"id": "c5ed4d9c-0b79-47b6-8333-d50e66e2147a",
"status": "AVAILABLE",
"index": 0,
"productId": "4c77015c-820a-495c-82a9-28a111258a37",
"contextModifiers": [
{
"parentOptionId": "1cae92f1-59ad-401c-a889-dd8ce940fd25",
"catalogContext": "WHITELABEL",
"status": "AVAILABLE",
"price": {
"value": 25,
"originalValue": 30
},
"externalCode": "calabresa_medio_whitelabel_ec"
}
],
"externalCode": "calabresa_option_ec"
},
{
"id": "54171c89-dbcb-47ea-89c1-131b32d70307",
"status": "AVAILABLE",
"productId": "4b222dbd-aa8d-4f8e-ab7a-df65fb44f7ab",
"price": {
"value": 4,
"originalValue": 5
},
"externalCode": "borda_option_ec"
},
{
"id": "9603ad69-5c48-4da6-a703-21bf7d1232c0",
"status": "AVAILABLE",
"productId": "8dd12ae1-55a1-431c-ba3a-19ec3d7c35dc",
"price": {
"value": 2,
"originalValue": 3
},
"externalCode": "massa_option_ec"
}
]
}'
Listado de elementos
Al informar la identificación de una categoría existente, se enumerarán todos los items, productos, grupos de complementos y complementos disponibles en ella.curl --location --request GET 'https://merchant-api.ifood.com.br/catalog/v1.0/merchants/21131c93-0398-4818-aad3-762cab309a26/multisetup/categories/beab216d-33dc-4ce4-8b35-5372e135093d/items' \
--header 'Authorization: Bearer TOKEN'
Respuesta:{
"categoryId": "beab216d-33dc-4ce4-8b35-5372e135093d",
"items":[
{
"id":"cff648d8-fc31-41b0-b80e-81fc3651ca7a",
"type":"DEFAULT",
"categoryId":"beab216d-33dc-4ce4-8b35-5372e135093d",
"status":"AVAILABLE",
"price":{
"value":11.00,
"originalValue":12.50
},
"externalCode":"public_item",
"index":0,
"productId":"62133b9f-5542-401d-8743-49ec7da8c847",
"shifts":null,
"tags":null,
"contextModifiers":[
{
"catalogContext":"WHITELABEL",
"status":"AVAILABLE",
"price":{
"value":13,
"originalValue":16
},
"externalCode":"whitelabel_ec2"
},
{
"catalogContext":"INDOOR",
"status":"AVAILABLE",
"price":{
"value":13,
"originalValue":17
},
"externalCode":"indoor_ec"
}
]
}
],
"products":[
{
"id":"62133b9f-5542-401d-8743-49ec7da8c847",
"externalCode":"item_product_ec2",
"name":"X-Burguer",
"description":"Pão, carne, queijo e salada",
"additionalInformation":"some additional Information",
"image":null,
"ean":"EAN112233414",
"serving":"SERVES_2",
"dietaryRestrictions":null,
"quantity":null,
"optionGroups":[
{
"id": "1e5e5eb5-84c7-4eca-b0c1-921860434f70",
"min": 0,
"max": 1
}
]
},
{
"id":"713713e7-641e-44fd-bd92-13ba43daf6a8",
"externalCode":"option_product_ec2",
"name":"Batata Frita",
"description":"200 g",
"additionalInformation":"some additional Information",
"image":null,
"ean":"EAN112253553344",
"serving":"SERVES_1",
"dietaryRestrictions":null,
"quantity":null,
"optionGroupIds":null
}
],
"optionGroups":[
{
"id":"1e5e5eb5-84c7-4eca-b0c1-921860434f70",
"name":"Acompanhamentos",
"externalCode":"option_group_ec2",
"status":"AVAILABLE",
"index":0,
"optionGroupType":"DEFAULT",
"optionIds":[
"d3e31829-a215-47e3-9576-3fddec9417ec"
]
}
],
"options":[
{
"id":"d3e31829-a215-47e3-9576-3fddec9417ec",
"status":"AVAILABLE",
"index":0,
"productId":"713713e7-641e-44fd-bd92-13ba43daf6a8",
"price":{
"value":4,
"originalValue":7
},
"contextModifiers":[
{
"parentOptionId":null,
"catalogContext":"WHITELABEL",
"status":"AVAILABLE",
"price":{
"value":5,
"originalValue":6
},
"externalCode":"op_whitelabel_ec"
}
],
"fractions":null,
"externalCode":"option_ec"
}
]
}
Eliminación de una categoria
Al eliminar una categoría, ésta y su contenido se eliminan de todos los contextos.curl --location --request DELETE 'https://merchant-api.ifood.com.br/catalog/v1.0/merchants/21131c93-0398-4818-aad3-762cab309a26/multisetup/categories/' \
--header 'Authorization: Bearer TOKEN'
Cambiar el precio del complemento
Es posible editar globalmente el precio de un complemento pasando el campo price con el valor deseado, así como cambiarlo en un menú específico, el campo priceByCatalog debe ser llenado respectivamente con sus valores y el contexto de el menú modificado.curl --location --request PATCH 'https://merchant-api.ifood.com.br/catalog/v1.0/merchants/21131c93-0398-4818-aad3-762cab309a26/multisetup/options/price' \
--header 'Authorization: Bearer TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"optionId": "d3e31829-a215-47e3-9576-3fddec9417ec",
"price": {
"value": 5,
"originalValue": 7
},
"parentCustomizationOptionId": null,
"priceByCatalog": [
{
"value": 5,
"originalValue": 7,
"catalogContext": "WHITELABEL"
}
]
}'
Cambiar el estado del complemento
Con un comportamiento similar al cambio de precio, es posible editar globalmente el estado de un complemento pasando el campo status con la condición deseada, así como cambiarlo en un menú específico, el campo statusByCatalog debe llenarse respectivamente con el estado y el contexto del menú modificado.curl --location --request PATCH 'https://merchant-api.ifood.com.br/catalog/v1.0/merchants/21131c93-0398-4818-aad3-762cab309a26/multisetup/options/status' \
--header 'Authorization: Bearer TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"optionId": "d3e31829-a215-47e3-9576-3fddec9417ec",
"status": "AVAILABLE",
"parentCustomizationOptionId": null,
"statusByCatalog": [
{
"status": "UNAVAILABLE",
"catalogContext": "WHITELABEL"
}
]
}'
Eliminación de un grupo de complemento
Eliminar un grupo de complemento elimina el grupo y sus complementos de todos los contextos.curl --location --request DELETE 'https://merchant-api.ifood.com.br/catalog/v1.0/merchants/21131c93-0398-4818-aad3-762cab309a26/multisetup/optionGroups/' \
--header 'Authorization: Bearer TOKEN'