Grupos Mandatórios
Criação de Grupo Mandatório
Este endpoint é utilizado para criar um novo grupo mandatório e vinculá-lo a uma Categoria, Tamanho, ou Item específico.
/menu/{store_id}/mandatory-groupsPayload Criação de Grupo Mandatório
{
"parent_type": "category",
"parent_id": "930103",
"name": "Escolha a bebida",
"order": 2,
"min_limit": 1,
"max_limit": 3
}
Detalhamento do Payload
Este payload exige a definição do parent_type (o nível da hierarquia onde a regra se aplica) e o parent_id (a ID específica desse nível).
| Campo | Obrigatório | Descrição |
|---|---|---|
parent_type | ✅ | O nível da hierarquia onde o grupo obrigatório será aplicado. Valores: "category", "size", ou "item". |
parent_id | ✅ | ID da Entidade escolhida no parent_type (Ex: ID da Categoria, ID do Tamanho, ou ID do Item). |
name | ✅ | Nome do grupo obrigatório (Ex: "Escolha a bebida", "Ponto da Carne"). |
min_limit | ❌ | Quantidade mínima de itens que o cliente deve selecionar neste grupo. |
max_limit | ❌ | Quantidade máxima de itens que o cliente pode selecionar neste grupo. |
order | ❌ | Ordem de exibição do grupo na lista de modulação. |
Atualização de Grupo Mandatório
Este endpoint é utilizado para modificar os detalhes de um grupo obrigatório (Mandatory Group) existente, como seu nome, ordem de exibição, e as quantidades mínima e máxima de seleção.
/menu/{store_id}/mandatory-groups/{id}/menu/{store_id}/mandatory-groups/{id}Payload Atualização de Grupo Mandatório
{
"name": "Escolha a bebida updated",
"order": 3,
"min_limit": 2,
"max_limit": 5
}
Detalhamento do Payload
A atualização é realizada no corpo da requisição (payload). É recomendado usar PATCH para enviar apenas os campos que se deseja alterar (atualização parcial).
| Campo | Obrigatório | Descrição |
|---|---|---|
id (na URL) | ✅ | ID do grupo obrigatório que está sendo atualizado. |
name | ❌ | Novo nome do grupo (Ex: "Escolha a bebida updated"). |
order | ❌ | Nova ordem de exibição do grupo. |
min_limit | ❌ | Nova quantidade mínima de itens que o cliente deve selecionar. |
max_limit | ❌ | Nova quantidade máxima de itens que o cliente pode selecionar. |
mandatory_items | ❌ | Array de itens/opções que pertencem a este grupo. Regra: Se enviado, sobrescreve completamente a lista de opções do grupo. |
Consulta de Detalhes de Grupo Mandatório
Este endpoint é utilizado para consultar os detalhes completos de um grupo obrigatório específico, incluindo seu nome, limites de seleção e a lista de opções que o compõem.
/menu/{store_id}/mandatory-groups/{id}Payload Consulta de Detalhes de Grupo Mandatório
{
"data": {
"id": 1388250,
"name": "Escolha a Borda",
"order": 1,
"min_limit": 1,
"max_limit": 1,
"mandatory_items": [
{
"id": 9764954,
"name": "Borda Padrão",
"value": "0.00",
"sku": "BORDA_SIMPLES",
"status": true
},
{
"id": 9764955,
"name": "Borda de Queijo (+8)",
"value": "8.00",
"sku": "BORDA_QUEIJO",
"status": true
}
],
"menu_category_id": 930103,
"item_uuid": null,
"size_id": null
}
}
Resposta de Sucesso (Status Code 200)
O retorno é um objeto na chave data contendo todos os detalhes do grupo obrigatório solicitado.
| Campo Principal | Descrição |
|---|---|
id | ID único do grupo obrigatório. |
name | Nome do grupo (Ex: "Escolha a Borda"). |
order | Ordem de exibição do grupo. |
min_limit | Quantidade mínima de itens que o cliente deve selecionar. |
max_limit | Quantidade máxima de itens que o cliente pode selecionar. |
menu_category_id | ID da categoria se o grupo estiver vinculado à categoria. |
item_uuid | UUID do item se o grupo estiver vinculado ao item, caso contrário é null. |
size_id | ID do tamanho se o grupo estiver vinculado ao tamanho, caso contrário é null. |
mandatory_items | Array contendo as opções/itens que compõem este grupo obrigatório. |
Detalhamento dos Itens Mandatórios (mandatory_items[])
Estes são os itens/opções que o cliente deve escolher dentro do grupo.
| Campo | Descrição |
|---|---|
mandatory_items[].id | ID único da opção. |
mandatory_items[].name | Nome da opção (Ex: "Borda Padrão"). |
mandatory_items[].sku | SKU da opção. |
mandatory_items[].value | Valor adicional da opção (em string de Real, Ex: "8.00"). |
mandatory_items[].status | Status de ativação da opção (true ou false). |
Exclusão de Grupo Mandatório
Este endpoint é utilizado para remover permanentemente um grupo obrigatório de modificadores (Mandatory Group) que esteja vinculado a uma Categoria, Tamanho, ou Item.
/menu/{store_id}/mandatory-groups/{id}Detalhamento do Payload
A exclusão é realizada diretamente através da URL, não sendo necessário um corpo (payload).
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
store_id (na URL) | Integer | ✅ | O ID da loja. |
id (na URL) | Integer | ✅ | O ID único do grupo obrigatório a ser excluído. |