Pular para o conteúdo principal

Importação Completa de Menu

Este endpoint é utilizado para importar ou atualizar um menu completo, incluindo categorias, tamanhos (sizes), regras de modulação (grupos obrigatórios) e promoções para uma ou mais lojas do tipo Cardápio.

POST
/menu/import

Regra Crítica de Negócio (Sobrescrita):
Este é um endpoint de Importação Massiva. Ao utilizá-lo, você está enviando a estrutura completa do menu que deseja que exista para as lojas listadas.

Exemplo para Múltiplos Sabores (ex: Pizza)

Exemplo Payload Menu Múltiplos Sabores - Configuração Mandatário por: Categoria
{
"menus": [
{
"store_ids": [
53852
],
"description": "Menu teste completo",
"categories": [
{
"culinary_id": 481,
"name": "Pizzas Especiais",
"description": "Todas as pizzas incluem borda mandatoria (escolha a sua!)",
"packing_fee": 0.99,
"flavor_pricing_option": 1,
"status": true,
"available_hours": {
"first_interval": {
"from": "08:00",
"to": "18:00"
}
},
"sizes": [
{
"name": "P",
"flavors_amount": 1,
"additional_max_limit": 5,
"status": true
},
{
"name": "M",
"flavors_amount": 2,
"additional_max_limit": 8,
"status": true
},
{
"name": "G",
"flavors_amount": 3,
"additional_max_limit": 10,
"status": true,
"additional_items": [
{
"sku": "ADD_BACON",
"name": "Bacon Crocante Extra",
"value": 3.99,
"status": true
},
{
"sku": "ADD_CHEDDAR",
"name": "Cheddar Cremoso Extra",
"value": 4.5,
"status": true
}
]
}
],
"mandatory_groups": [
{
"name": "Bordas",
"min_limit": 1,
"max_limit": 1,
"mandatory_items": [
{
"sku": "BORDA_SEM",
"name": "Sem Borda",
"value": 0,
"status": true
},
{
"sku": "BORDA_CATU",
"name": "Borda de Catupiry",
"value": 8.5,
"status": true
}
]
}
],
"daily_sale": {
"start": "2025-12-01",
"end": "2025-12-31",
"daily_weekday_sale": [
{
"weekday_code": 0,
"discount_type": 0,
"discount": 5
},
{
"weekday_code": 4,
"discount_type": 1,
"discount": 10
}
]
},
"items": [
{
"sku": "PZ0001",
"name": "Pizza Calabresa Especial",
"description": "Mussarela, calabresa e azeitonas.",
"highlight": true,
"status": true,
"tags": [
"SPICY"
],
"item_sizes": [
{
"size_name": "P",
"sku": "PZ0001P",
"value": 35,
"status": true
},
{
"size_name": "M",
"sku": "PZ0001M",
"value": 45,
"status": true
},
{
"size_name": "G",
"sku": "PZ0001G",
"value": 55,
"status": true
}
],
"mandatory_groups": [],
"item_week_days": []
},
{
"sku": "PZ0002",
"name": "Pizza Quatro Queijos PREMIUM",
"description": "Mussarela, provolone, parmesão e gorgonzola.",
"highlight": false,
"status": true,
"tags": [
"SPICY"
],
"item_sizes": [
{
"size_name": "P",
"sku": "PZ0002P",
"value": 40,
"status": true
},
{
"size_name": "M",
"sku": "PZ0002M",
"value": 50,
"status": true
},
{
"size_name": "G",
"sku": "PZ0002G",
"value": 60,
"status": true
}
],
"mandatory_groups": [],
"item_week_days": []
}
]
}
]
}
]
}
Exemplo Payload Menu Múltiplos Sabores - Configuração Mandatário por: Categoria + Tamanho Específico
{
"menus": [
{
"store_ids": [
53852
],
"description": "Menu demonstrativo de modulação por Tamanho",
"categories": [
{
"culinary_id": 481,
"name": "Pizzas Gourmet",
"description": "Pizzas com regras de borda obrigatória e brinde no tamanho G.",
"packing_fee": 0.99,
"flavor_pricing_option": 1,
"status": true,
"available_hours": {
"first_interval": {
"from": "08:00",
"to": "18:00"
}
},
"sizes": [
{
"name": "P",
"flavors_amount": 1,
"additional_max_limit": 5,
"status": true
},
{
"name": "M",
"flavors_amount": 2,
"additional_max_limit": 8,
"status": true
},
{
"name": "G",
"flavors_amount": 3,
"additional_max_limit": 10,
"status": true,
"mandatory_groups": [
{
"name": "Escolha da Bebida",
"min_limit": 1,
"max_limit": 1,
"mandatory_items": [
{
"sku": "BEBIDA_AGUA",
"name": "Água Mineral",
"value": 0,
"status": true
},
{
"sku": "BEBIDA_REFR",
"name": "Refrigerante 200ml",
"value": 0,
"status": true
}
]
}
]
}
],
"mandatory_groups": [
{
"name": "Escolha a Borda",
"min_limit": 1,
"max_limit": 1,
"mandatory_items": [
{
"sku": "BORDA_SEM",
"name": "Sem Borda",
"value": 0,
"status": true
},
{
"sku": "BORDA_CHED",
"name": "Borda de Cheddar",
"value": 7,
"status": true
}
]
}
],
"items": [
{
"sku": "PZ0010",
"name": "Pizza Margherita",
"description": "Mussarela, manjericão e tomate.",
"highlight": true,
"status": true,
"tags": [
"VEGETARIAN",
"SPICY"
],
"item_sizes": [
{
"size_name": "P",
"sku": "PZ0010P",
"value": 30,
"status": true
},
{
"size_name": "M",
"sku": "PZ0010M",
"value": 40,
"status": true
},
{
"size_name": "G",
"sku": "PZ0010G",
"value": 50,
"status": true
}
],
"mandatory_groups": [],
"item_week_days": []
},
{
"sku": "PZ0011",
"name": "Pizza Vegana de Brócolis",
"description": "Queijo vegano, brócolis, alho e azeite.",
"highlight": false,
"status": true,
"tags": [
"VEGETARIAN",
"SPICY"
],
"item_sizes": [
{
"size_name": "P",
"sku": "PZ0011P",
"value": 45,
"status": true
},
{
"size_name": "M",
"sku": "PZ0011M",
"value": 55,
"status": true
},
{
"size_name": "G",
"sku": "PZ0011G",
"value": 65,
"status": true
}
],
"mandatory_groups": [],
"item_week_days": [],
"daily_sale": {}
}
]
}
]
}
]
}
Exemplo Payload Menu Múltiplos Sabores - Configuração Mandatário por: Categoria + Tamanho Específico + Item Específico
{
"menus": [
{
"store_ids": [
53852
],
"description": "Menu demonstrativo de modulação em 3 níveis (Múltiplos Sabores)",
"categories": [
{
"culinary_id": 481,
"name": "Pizzas Gourmet",
"description": "Pizzas com regras de borda obrigatória.",
"packing_fee": 0.5,
"flavor_pricing_option": 1,
"status": true,
"available_hours": {
"first_interval": {
"from": "11:00",
"to": "23:00"
}
},
"sizes": [
{
"name": "P",
"flavors_amount": 1,
"additional_max_limit": 3,
"status": true
},
{
"name": "M",
"flavors_amount": 2,
"additional_max_limit": 5,
"status": true
},
{
"name": "G",
"flavors_amount": 3,
"additional_max_limit": 7,
"status": true,
"mandatory_groups": [
{
"name": "Molho Extra",
"min_limit": 1,
"max_limit": 1,
"mandatory_items": [
{
"sku": "MOLHO_VERDE",
"name": "Molho Verde Grátis",
"value": 0,
"status": true
},
{
"sku": "MOLHO_CHEDDAR",
"name": "Molho Cheddar (+3)",
"value": 3,
"status": true
}
]
}
]
}
],
"mandatory_groups": [
{
"name": "Escolha a Borda",
"min_limit": 1,
"max_limit": 1,
"mandatory_items": [
{
"sku": "BORDA_SEM",
"name": "Sem Borda",
"value": 0,
"status": true
},
{
"sku": "BORDA_CATU",
"name": "Borda de Catupiry",
"value": 8,
"status": true
}
]
}
],
"items": [
{
"sku": "PZ0015",
"name": "Pizza Gourmet de Salmão",
"description": "Salmão, cream cheese e cebolinha.",
"highlight": true,
"status": true,
"tags": [
"SPICY"
],
"item_sizes": [
{
"size_name": "P",
"sku": "PZ0015P",
"value": 50,
"status": true
},
{
"size_name": "M",
"sku": "PZ0015M",
"value": 65,
"status": true
},
{
"size_name": "G",
"sku": "PZ0015G",
"value": 80,
"status": true
}
],
"mandatory_groups": [
{
"name": "Escolha o Queijo Base",
"min_limit": 1,
"max_limit": 1,
"mandatory_items": [
{
"sku": "BASE_MU",
"name": "Mussarela",
"value": 0,
"status": true
},
{
"sku": "BASE_CREAM",
"name": "Cream Cheese (+5)",
"value": 5,
"status": true
}
]
}
],
"item_week_days": []
},
{
"sku": "PZ0016",
"name": "Pizza Frango c/ Catupiry",
"description": "Frango desfiado, catupiry e orégano.",
"highlight": false,
"status": true,
"tags": [
"SPICY"
],
"item_sizes": [
{
"size_name": "P",
"sku": "PZ0016P",
"value": 40,
"status": true
},
{
"size_name": "M",
"sku": "PZ0016M",
"value": 50,
"status": true
},
{
"size_name": "G",
"sku": "PZ0016G",
"value": 60,
"status": true
}
],
"mandatory_groups": [],
"item_week_days": []
}
]
}
]
}
]
}

Exemplo para Único Sabor (ex: Hamburger, bebidas,etc)

Exemplo Payload Menu Único Sabor - Configuração Mandatário por: Categoria
{
"menus": [
{
"store_ids": [
53852
],
"description": "Menu demonstrativo de modulação apenas por Categoria (Pão Mandatório)",
"categories": [
{
"culinary_id": 481,
"name": "Sanduíches Artesanais",
"description": "Todos os sanduíches exigem a escolha de um tipo de pão.",
"packing_fee": 0.5,
"flavor_pricing_option": 1,
"status": true,
"available_hours": {
"first_interval": {
"from": "11:00",
"to": "23:00"
}
},
"sizes": [
{
"name": "P",
"flavors_amount": 1,
"additional_max_limit": 3,
"status": true
},
{
"name": "M",
"flavors_amount": 1,
"additional_max_limit": 5,
"status": true
},
{
"name": "G",
"flavors_amount": 1,
"additional_max_limit": 7,
"status": true
}
],
"mandatory_groups": [
{
"name": "Escolha o Pão",
"min_limit": 1,
"max_limit": 1,
"mandatory_items": [
{
"sku": "PAO_BRIOCHE",
"name": "Pão Brioche",
"value": 0,
"status": true
},
{
"sku": "PAO_INTEG",
"name": "Pão Integral",
"value": 1.5,
"status": true
}
]
}
],
"items": [
{
"sku": "HMBR001",
"name": "Hambúrguer Clássico",
"description": "Carne, queijo e salada.",
"highlight": true,
"status": true,
"tags": [
"SPICY"
],
"item_sizes": [
{
"size_name": "P",
"sku": "HMBR001P",
"value": 25,
"status": true
},
{
"size_name": "M",
"sku": "HMBR001M",
"value": 35,
"status": true
},
{
"size_name": "G",
"sku": "HMBR001G",
"value": 45,
"status": true
}
],
"mandatory_groups": [],
"item_week_days": []
},
{
"sku": "HMBR002",
"name": "Sanduíche de Frango Crocante",
"description": "Frango empanado e maionese especial.",
"highlight": false,
"status": true,
"tags": [
"SPICY"
],
"item_sizes": [
{
"size_name": "P",
"sku": "HMBR002P",
"value": 28,
"status": true
},
{
"size_name": "M",
"sku": "HMBR002M",
"value": 38,
"status": true
},
{
"size_name": "G",
"sku": "HMBR002G",
"value": 48,
"status": true
}
],
"mandatory_groups": [],
"item_week_days": []
}
]
}
]
}
]
}
Exemplo Payload Menu Único Sabor - Configuração Mandatário por: Categoria + Tamanho Específico
{
"menus": [
{
"store_ids": [
53852
],
"description": "Menu demonstrativo de modulação por Tamanho (Hambúrgueres)",
"categories": [
{
"culinary_id": 481,
"name": "Sanduíches Artesanais",
"description": "Escolha o pão (mandatório) e ganhe um molho extra no tamanho G.",
"packing_fee": 0.5,
"flavor_pricing_option": 1,
"status": true,
"available_hours": {
"first_interval": {
"from": "11:00",
"to": "23:00"
}
},
"sizes": [
{
"name": "P",
"flavors_amount": 1,
"additional_max_limit": 3,
"status": true
},
{
"name": "M",
"flavors_amount": 1,
"additional_max_limit": 5,
"status": true
},
{
"name": "G",
"flavors_amount": 1,
"additional_max_limit": 7,
"status": true,
"mandatory_groups": [
{
"name": "Molho Grátis",
"min_limit": 1,
"max_limit": 1,
"mandatory_items": [
{
"sku": "MOLHO_MAYO",
"name": "Maionese Artesanal",
"value": 0,
"status": true
},
{
"sku": "MOLHO_KATCH",
"name": "Ketchup Picante",
"value": 0,
"status": true
}
]
}
]
}
],
"mandatory_groups": [
{
"name": "Escolha o Pão",
"min_limit": 1,
"max_limit": 1,
"mandatory_items": [
{
"sku": "PAO_BRIOCHE",
"name": "Pão Brioche",
"value": 0,
"status": true
},
{
"sku": "PAO_INTEG",
"name": "Pão Integral",
"value": 1.5,
"status": true
}
]
}
],
"items": [
{
"sku": "HMBR001",
"name": "Hambúrguer Clássico",
"description": "Carne, queijo e salada.",
"highlight": true,
"status": true,
"tags": [
"SPICY"
],
"item_sizes": [
{
"size_name": "P",
"sku": "HMBR001P",
"value": 25,
"status": true
},
{
"size_name": "M",
"sku": "HMBR001M",
"value": 35,
"status": true
},
{
"size_name": "G",
"sku": "HMBR001G",
"value": 45,
"status": true
}
],
"mandatory_groups": [],
"item_week_days": []
},
{
"sku": "HMBR002",
"name": "Sanduíche de Frango Crocante",
"description": "Frango empanado e maionese especial.",
"highlight": false,
"status": true,
"tags": [
"SPICY"
],
"item_sizes": [
{
"size_name": "P",
"sku": "HMBR002P",
"value": 28,
"status": true
},
{
"size_name": "M",
"sku": "HMBR002M",
"value": 38,
"status": true
},
{
"size_name": "G",
"sku": "HMBR002G",
"value": 48,
"status": true
}
],
"mandatory_groups": [],
"item_week_days": []
}
]
}
]
}
]
}
Exemplo Payload Menu Único Sabor - Configuração Mandatário por: Categoria + Tamanho Específico + Item Específico
{
"menus": [
{
"store_ids": [
53852
],
"description": "Menu demonstrativo de modulação em 3 níveis",
"categories": [
{
"culinary_id": 481,
"name": "Sanduíches Artesanais",
"description": "Todos os sanduíches exigem a escolha do pão.",
"packing_fee": 0.5,
"flavor_pricing_option": 1,
"status": true,
"available_hours": {
"first_interval": {
"from": "11:00",
"to": "23:00"
}
},
"sizes": [
{
"name": "P",
"flavors_amount": 1,
"additional_max_limit": 3,
"status": true
},
{
"name": "M",
"flavors_amount": 1,
"additional_max_limit": 5,
"status": true
},
{
"name": "G",
"flavors_amount": 1,
"additional_max_limit": 7,
"status": true,
"mandatory_groups": [
{
"name": "Molho Grátis",
"min_limit": 1,
"max_limit": 1,
"mandatory_items": [
{
"sku": "MOLHO_MAYO",
"name": "Maionese Artesanal",
"value": 0,
"status": true
},
{
"sku": "MOLHO_KATCH",
"name": "Ketchup Picante",
"value": 0,
"status": true
}
]
}
]
}
],
"mandatory_groups": [
{
"name": "Escolha o Pão",
"min_limit": 1,
"max_limit": 1,
"mandatory_items": [
{
"sku": "PAO_BRIOCHE",
"name": "Pão Brioche",
"value": 0,
"status": true
},
{
"sku": "PAO_INTEG",
"name": "Pão Integral",
"value": 1.5,
"status": true
}
]
}
],
"items": [
{
"sku": "HMBR001",
"name": "Hambúrguer Clássico",
"description": "Carne, queijo e salada.",
"highlight": true,
"status": true,
"tags": [
"SPICY"
],
"item_sizes": [
{
"size_name": "P",
"sku": "HMBR001P",
"value": 25,
"status": true
},
{
"size_name": "M",
"sku": "HMBR001M",
"value": 35,
"status": true
},
{
"size_name": "G",
"sku": "HMBR001G",
"value": 45,
"status": true
}
],
"mandatory_groups": [
{
"name": "Ponto da Carne",
"min_limit": 1,
"max_limit": 1,
"mandatory_items": [
{
"sku": "MEIO",
"name": "Ao Ponto",
"value": 0,
"status": true
},
{
"sku": "BEM",
"name": "Bem Passado",
"value": 0,
"status": true
}
]
}
],
"item_week_days": []
},
{
"sku": "HMBR002",
"name": "Sanduíche de Frango Crocante",
"description": "Frango empanado e maionese especial.",
"highlight": false,
"status": true,
"tags": [
"SPICY"
],
"item_sizes": [
{
"size_name": "P",
"sku": "HMBR002P",
"value": 28,
"status": true
},
{
"size_name": "M",
"sku": "HMBR002M",
"value": 38,
"status": true
},
{
"size_name": "G",
"sku": "HMBR002G",
"value": 48,
"status": true
}
],
"mandatory_groups": [],
"item_week_days": []
}
]
}
]
}
]
}

Exemplo Menu Completo

Exemplo Payload Menu Completo
{
"menus": [
{
"store_ids": [
53852
],
"description": "Menu de Pizza com modulação consolidada no nível Categoria/Tamanho.",
"categories": [
{
"culinary_id": 481,
"name": "Pizzas Gourmet",
"description": "Pizzas com regras de borda obrigatória.",
"packing_fee": 0.5,
"flavor_pricing_option": 1,
"status": true,
"available_hours": {
"first_interval": {
"from": "11:00",
"to": "23:00"
}
},
"sizes": [
{
"name": "P",
"flavors_amount": 1,
"additional_max_limit": 5,
"status": true,
"additional_items": [
{
"sku": "ADD_AZEI",
"name": "Azeitona Extra",
"value": 2,
"status": true
},
{
"sku": "ADD_BACON",
"name": "Bacon Extra",
"value": 3,
"status": true
},
{
"sku": "ADD_BROC",
"name": "Brócolis Extra",
"value": 3,
"status": true
}
]
},
{
"name": "M",
"flavors_amount": 2,
"additional_max_limit": 8,
"status": true,
"additional_items": [
{
"sku": "ADD_AZEI",
"name": "Azeitona Extra",
"value": 2,
"status": true
},
{
"sku": "ADD_BACON",
"name": "Bacon Extra",
"value": 3,
"status": true
},
{
"sku": "ADD_QUEIJO",
"name": "Queijo Vegano",
"value": 5,
"status": true
}
]
},
{
"name": "G",
"flavors_amount": 2,
"additional_max_limit": 10,
"status": true,
"mandatory_groups": [
{
"name": "Molho Grátis",
"min_limit": 1,
"max_limit": 1,
"mandatory_items": [
{
"sku": "MOLHO_MAYO",
"name": "Maionese Artesanal",
"value": 0,
"status": true
},
{
"sku": "MOLHO_KATCH",
"name": "Ketchup Picante",
"value": 0,
"status": true
}
]
}
],
"additional_items": [
{
"sku": "ADD_AZEI",
"name": "Azeitona Extra",
"value": 2,
"status": true
},
{
"sku": "ADD_PIMEN",
"name": "Pimenta Calabreza",
"value": 1.5,
"status": true
},
{
"sku": "ADD_QUEIJO",
"name": "Queijo Vegano",
"value": 5,
"status": true
}
]
}
],
"mandatory_groups": [
{
"name": "Escolha a Borda",
"min_limit": 1,
"max_limit": 1,
"mandatory_items": [
{
"sku": "BORDA_SIMPLES",
"name": "Borda Padrão",
"value": 0,
"status": true
},
{
"sku": "BORDA_QUEIJO",
"name": "Borda de Queijo (+8)",
"value": 8,
"status": true
}
]
}
],
"items": [
{
"sku": "PZ0001",
"name": "Pizza do Chef (Em Oferta)",
"description": "Calabresa, bacon, cebola e toque de pimenta.",
"highlight": true,
"status": true,
"tags": [
"SPICY"
],
"item_sizes": [
{
"size_name": "P",
"sku": "PZ0001P",
"value": 35,
"promotional_value": 30,
"status": true
},
{
"size_name": "M",
"sku": "PZ0001M",
"value": 45,
"promotional_value": 40,
"status": true
},
{
"size_name": "G",
"sku": "PZ0001G",
"value": 55,
"promotional_value": 50,
"status": true
}
],
"mandatory_groups": [
{
"name": "Tipo de Base",
"min_limit": 1,
"max_limit": 1,
"mandatory_items": [
{
"sku": "BASE_TRAD",
"name": "Molho de Tomate Tradicional",
"value": 0,
"status": true
},
{
"sku": "BASE_RUST",
"name": "Molho Rústico (+3)",
"value": 3,
"status": true
}
]
}
]
},
{
"sku": "PZ0002",
"name": "Pizza Vegetariana",
"description": "Mussarela, vegetais frescos e azeite.",
"highlight": false,
"status": true,
"tags": [
"SPICY"
],
"item_sizes": [
{
"size_name": "P",
"sku": "PZ0002P",
"value": 40,
"status": true
},
{
"size_name": "M",
"sku": "PZ0002M",
"value": 50,
"status": true
},
{
"size_name": "G",
"sku": "PZ0002G",
"value": 60,
"status": true
}
],
"mandatory_groups": []
}
]
}
]
}
]
}
Detalhamento do Payload

1. Objeto Principal (menus[])


CampoObrigatórioDescrição
menusArray principal que contém a definição dos menus a serem importados.
menus[].store_idsIDs das lojas para as quais este menu deve ser aplicado.
menus[].descriptionDescrição inicial de boas-vindas do cardápio, visível para o cliente.
menus[].categoriesArray de objetos que definem as categorias do menu.

2. Objeto categories[] (Estrutura da Categoria)


CampoObrigatórioDescrição
categories[].culinary_idID da Culinária que a categoria estará associada e que aparece no carrossel do App para o cliente (Ex: Lanches, Pizza, Hambúrguer, Açaí). Consulte ID's Culinárias
categories[].nameNome da categoria (Ex: "Pizzas Salgadas", “Lanches”, “Bebidas Geladas”).
categories[].descriptionDescrição da categoria (Ex: “Deliciosos lanches para seu café da manhã ou tarde.”).
categories[].packing_feeTaxa de embalagem a ser aplicada a todos os itens desta categoria (Ex: 0.90 => Corresponde à 90 centavos).
categories[].statusStatus da categoria: true (ativa) ou false (inativa/não exibida).
categories[].available_hoursHorário em que a categoria fica disponível (útil para menus de almoço ou jantar específicos).
categories[].sizesArray de tamanhos que podem ser utilizados pelos itens desta categoria.
categories[].mandatory_groupsItens obrigatórios da categoria. Regra: Se configurado aqui, aplica-se a todos os tamanhos e todos os itens da categoria.
categories[].daily_salePromoção diária aplicada a toda a categoria.
categories[].itemsArray de objetos que definem os itens que pertencem a esta categoria.
categories[].flavor_pricing_optionRegra de precificação para pizzas e itens com múltiplos sabores. Valores: 0 (Aplicar Menor Valor) ou 1 (Aplicar Maior Valor) do item/sabor.

2.1. Objeto categories[].sizes[] (Tamanhos e Adicionais por Categoria)

Define os tamanhos (Ex: P, M, G) que podem ser usados pelos itens da categoria


CampoObrigatórioDescrição
sizes[].nameNome do tamanho (Ex: "P", "M", "Grande")
sizes[].flavors_amountQuantidade de Sabores permitida para este tamanho.
Regra: Só é válido se a culinária suportar múltiplos sabores.
sizes[].statusStatus de ativação/exibição do tamanho.
sizes[].additional_max_limitNúmero máximo de itens adicionais (modificadores) permitidos para este tamanho.
sizes[].additional_itemsArray de itens adicionais que o cliente pode selecionar.
Regra: Todos os itens que utilizam este tamanho herdarão estes adicionais.
sizes[].daily_salePromoção diária aplicada a apenas este tamanho.
sizes[].mandatory_groupsArray de grupos obrigatórios que se aplicam apenas a este tamanho.

2.1.1. Sub-Objeto sizes[].additional_items (Itens Adicionais Opcionais)

Estes são itens opcionais que podem ser adicionados pelo cliente, sendo configurados no nível do Tamanho da Categoria.


CampoObrigatórioDescrição
sizes[].additional_itemsArray de itens adicionais opcionais que o cliente pode selecionar. Regra: Todos os itens que utilizam este tamanho herdarão estes adicionais.
sizes[].additional_items[].skuSKU ou código interno do item adicional (Ex: "abc0001").
sizes[].additional_items[].nameNome do item adicional (Ex: "bacon extra").
sizes[].additional_items[].valueValor em Reais do item adicional (Ex: 2.99).
sizes[].additional_items[].statusStatus de ativação/exibição do item adicional.

2.1.2 Sub-Objeto sizes[].mandatory_groups (Grupos Obrigatórios/Mandatórios)

Estes são grupos obrigatórios que se aplicam apenas a este tamanho


CampoObrigatórioDescrição
mandatory_groupsArray de grupos obrigatórios que se aplicam apenas a este tamanho.
mandatory_groups[].nameNome do grupo (Ex: "Molho Extra", "Borda").
mandatory_groups[].min_limitQuantidade mínima de itens que o cliente deve selecionar neste grupo.
mandatory_groups[].max_limitQuantidade máxima de itens que o cliente pode selecionar neste grupo.
mandatory_groups[].mandatory_itemsArray de opções dentro deste grupo.

2.1.2 Sub-Objeto sizes[].daily_sale (Promoção Diária por Tamanho)


CampoObrigatórioDescrição
daily_saleObjeto contendo a regra de promoção diária.
daily_sale.startData de início da vigência da promoção no formato AAAA-MM-DD.
daily_sale.endData de fim da vigência da promoção no formato AAAA-MM-DD.
daily_sale.daily_weekday_saleArray que lista os dias da semana e as regras de desconto aplicáveis.
daily_sale.daily_weekday_sale[].weekday_codeDia da semana em que o desconto será aplicado. Códigos: 0 (Segunda-feira) a 6 (Domingo).
daily_sale.daily_weekday_sale[].discount_typeTipo de desconto. Valores: 0 (Desconto em Reais) ou 1 (Desconto em Porcentagem).
daily_sale.daily_weekday_sale[].discountValor ou percentual do desconto a ser aplicado (Ex: 10 para R$ 10,00 ou 10%).

2.2 Objeto categories[].items[] (Itens de Cardápio)

Define os produtos dentro da categoria (Ex: Pizza Calabresa, Hamburger)


CampoObrigatórioDescrição
items[].skuSKU ou código interno do item.
items[].nameNome do item.
items[].descriptionDescrição detalhada do item para o cliente.
items[].highlightItem em destaque (true) para o cliente.
items[].statusStatus de exibição/venda do item.
items[].tagsTags adicionais (Ex: SPICY, VEGETARIAN).
items[].item_sizesArray de objetos com os tamanhos que este item específico aceita (pode ser um subconjunto dos tamanhos criados na categoria).
items[].item_week_daysDisponibilidade do item de acordo com o dia da semana. Ex: Item do dia, pode ter o itens ativos em um dia específico e outros não ativos.
items[].mandatory_groupsGrupos de itens obrigatórios para este item. Regra: Aplica-se apenas a este item, não à categoria.
items[].daily_salePromoção diária aplicada apenas a este item.

2.2.1 Sub-objeto items[].item_sizes[] (Tamanhos do Item)

Define os tamanhos que o item específico (Ex: Pizza Calabresa) aceita e seus respectivos preços, SKUs e regras de modulação.


CampoObrigatórioDescrição
item_sizes[].size_nameNome do tamanho (Ex: "P", "M", "G"). Deve corresponder a um nome de tamanho definido na Categoria (categories[].sizes).
item_sizes[].skuSKU ou código interno específico para este tamanho/preço do item (Ex: PZ0001P).
item_sizes[].valuePreço de venda regular do item para este tamanho.
item_sizes[].promotional_valueValor promocional do item para este tamanho. O App prioriza este valor.
item_sizes[].statusStatus de venda para este tamanho: true (disponível) ou false (indisponível).
item_sizes[].inventory_quantityQuantidade de estoque do item para este tamanho.
item_sizes[].is_inventory_activeDefine se o item tem controle de estoque ativo (1) ou desativado (0) para este tamanho.
item_sizes[].daily_salePromoção diária aplicada apenas a este tamanho/preço (pode gerar duplicação se configurado em outros níveis).

2.2.2 Sub-objeto items[].item_week_days[] (Disponibilidade por Dia)

Define a disponibilidade de venda do item específico ao longo da semana.


CampoObrigatórioDescrição
item_week_days[].week_dayNúmero do dia da semana: 0 (Segunda-feira) a 6 (Domingo).
item_week_days[].statusStatus do item no dia: true (ativo/disponível) ou false (inativo/não disponível).

2.2.3 Sub-objeto items[].mandatory_groups (Grupos Obrigatórios/Mandatórios)

Usado para grupos de modificadores que o cliente deve escolher (Ex: Tipo de Massa, Borda, Ponto da Carne).


CampoObrigatórioDescrição
mandatory_groups[].nameNome do grupo obrigatório da categoria (Ex: "Bordas", "Tipo de Massa"). Regra: Aplica-se apenas a este item, não à categoria ou tamanho.
mandatory_groups[].min_limitQuantidade mínima de itens que o cliente deve selecionar neste grupo.
mandatory_groups[].max_limitQuantidade máxima de itens que o cliente pode selecionar neste grupo.
mandatory_groups[].mandatory_itemsArray dos itens/opções dentro deste grupo (Ex: Opção "Catupiry" ou "Sem Borda").
mandatory_groups[].mandatory_items[].skuSKU do item mandatório.
mandatory_groups[].mandatory_items[].nameNome da opção.
mandatory_groups[].mandatory_items[].valueValor do item obrigatório em Reais
mandatory_groups[].mandatory_items[].statusStatus de ativação da opção.

2.2.4 Sub-objeto items[].daily_sale (Regra por Dia)

Dias da semana da promoção aplicada apenas a este item.


CampoObrigatórioDescrição
daily_sale.startData de início da vigência da promoção no formato AAAA-MM-DD (Ex: "2025-12-01").
daily_sale.endData de fim da vigência da promoção no formato AAAA-MM-DD (Ex: "2025-12-31").
daily_sale.daily_weekday_sale[].weekday_codeDia da semana em que o desconto será aplicado. Códigos: 0 (Segunda-feira) a 6 (Domingo).
daily_sale.daily_weekday_sale[].discount_typeTipo de desconto. Valores: 0 (Desconto em Reais) ou 1 (Desconto em Porcentagem).
daily_sale.daily_weekday_sale[].discountValor ou percentual do desconto a ser aplicado (Ex: 10 para R$ 10,00 ou 10%).

2.3 Objeto categories[].mandatory_groups[] (Grupos Obrigatórios)

Estes grupos definem as escolhas obrigatórias de modificadores que todos os itens na categoria herdarão (Ex: escolha de borda para todas as pizzas).


CampoObrigatórioDescrição
mandatory_groupsArray de objetos que definem os grupos obrigatórios. Regra: Aplica-se a todos os itens e tamanhos desta categoria.
mandatory_groups[].nameNome do grupo obrigatório (Ex: "Escolha a Borda", "Tipo de Massa").
mandatory_groups[].min_limitQuantidade mínima de itens que o cliente deve selecionar neste grupo.
mandatory_groups[].max_limitQuantidade máxima de itens que o cliente pode selecionar neste grupo.
mandatory_groups[].mandatory_itemsArray dos itens/opções dentro deste grupo (Ex: Opção "Catupiry" ou "Sem Borda").
mandatory_groups[].mandatory_items[].skuSKU do item mandatório.
mandatory_groups[].mandatory_items[].nameNome da opção.
mandatory_groups[].mandatory_items[].valueValor do item obrigatório em Reais.
mandatory_groups[].mandatory_items[].statusStatus de ativação da opção.

2.4 Objeto categories[].available_hours (Horários de Disponibilidade)

Define o horário em que a categoria fica visível e disponível para pedidos no App (Ex: Menu de Almoço).


CampoObrigatórioDescrição
available_hoursObjeto que define os intervalos de tempo de disponibilidade da categoria.
available_hours.first_intervalDefine o primeiro intervalo de tempo em que a categoria fica ativa.
available_hours.first_interval.fromHora de início do primeiro intervalo (Formato: HH:MM).
available_hours.first_interval.toHora de fim do primeiro intervalo (Formato: HH:MM).
available_hours.second_intervalDefine o segundo intervalo de tempo (opcional) em que a categoria fica ativa.
available_hours.second_interval.fromHora de início do segundo intervalo (Formato: HH:MM). Regra: Obrigatório se second_interval for enviado.
available_hours.second_interval.toHora de fim do segundo intervalo (Formato: HH:MM). Regra: Obrigatório se second_interval for enviado.

aiqfome

© Copyright 2007-2026 aiqfome LTDA .