---
title: "Atualizar complementos em lote"
description: "PATCH /v1/catalog/complements — atualizar complementos e cardápios em lote na API BeeFood."
method: "PATCH"
path: "/v1/catalog/complements"
url: "https://developer.beefood.com.br/docs/catalogo/atualizar-complementos-lote"
group: "Catálogo"
scope: "catalog:write"
lang: "pt"
---
# Atualizar complementos em lote

`PATCH /v1/catalog/complements`

- Produção: `https://api.beefood.app/v1/catalog/complements`
- Sandbox: `https://api-sandbox.beefood.app/v1/catalog/complements`

Atualiza vários complementos em uma requisição.

## Autenticação

Envie o access token no header `Authorization: Bearer <accessToken>`. Escopo necessário: `catalog:write`. Limite: 300 requisições a cada 3 minutos.




## Parâmetros do body

- `[]` *array* **obrigatório** — Lote com pelo menos 1 item.

- `[].complementId` *integer* **obrigatório** — Identificador do complemento. Exemplo: `2587090`.

- `[].type` *string* **obrigatório** — Tipo de atualização. Exemplo: `complement`.
  - *Valores:* `complement`, `menu`

- `[].complement` *object* — Obrigatório quando type é complement; campos da atualização parcial do complemento.

- `[].complement.name` *string* — Nome do complemento.

- `[].complement.description` *string* — Descrição do complemento.

- `[].complement.label` *string* — Selo do cardápio: new, recommended, bestSeller, limitedEdition ou soldOut.

- `[].complement.price` *number* — Preço de venda.

- `[].complement.code` *string* — Código interno.

- `[].complement.barcode` *string* — Código de barras.

- `[].complement.unit` *string* — Unidade de medida (Default: UN): UN, KG, G, L, ML, PCT, CX, DZ, FD, BD, SC, PT, CP, PC, FT, PQ, GF, LT ou BN.
  - *Valores:* `UN`, `KG`, `G`, `L`, `ML`, `PCT`, `CX`, `DZ`, `FD`, `BD`, `SC`, `PT`, `CP`, `PC`, `FT`, `PQ`, `GF`, `LT`, `BN`

- `[].complement.featuredPrint` *boolean* — Indica se tem destaque na impressão.

- `[].complement.cost` *object* — Custos do complemento.

- `[].complement.cost.base` *number* — Custo base.

- `[].menu` *object* — Obrigatório quando type é menu; um único cardápio.

- `[].menu.merchantId` *number* **obrigatório** — Identificador do cardápio.

- `[].menu.active` *boolean* — Indica se está ativo neste cardápio.

- `[].menu.delivery` *boolean* — Indica se aparece no delivery.

- `[].menu.deliveryPrice` *number* — Preço no delivery.

- `[].menu.dineIn` *boolean* — Indica se aparece no presencial.

- `[].menu.dineInPrice` *number* — Preço no presencial.

- `[].menu.totem` *boolean* — Indica se aparece no totem.

- `[].menu.promotionPrice` *number* — Preço promocional.

- `[].menu.sortOrder` *number* — Posição de exibição.

- `[].menu.featuredOrder` *number* — Posição entre destaques.

- `[].menu.cashbackEnabled` *boolean* — Indica se o cashback está ativo neste cardápio.



## Exemplos de requisição

### cURL

```bash
curl -X PATCH "https://api.beefood.app/v1/catalog/complements" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '[
  {
    "complementId": 2587090,
    "type": "complement",
    "complement": {
      "price": 2.5
    }
  },
  {
    "complementId": 2587090,
    "type": "menu",
    "menu": {
      "merchantId": 122,
      "active": false
    }
  }
]'
```


## Exemplos de resposta

### 200 OK

```json
[
  {
    "complementId": 2587090,
    "type": "complement",
    "success": true
  },
  {
    "complementId": 2587090,
    "type": "menu",
    "success": false,
    "message": "Complement ID 2587090 is not linked to merchant ID(s) 122"
  }
]
```


## Campos da resposta

- `[].complementId` *integer* — Identificador do complemento.

- `[].type` *string* — Tipo de atualização. Exemplo: `complement`.
  - *Valores:* `complement`, `menu`

- `[].success` *boolean* — Indica se este item foi atualizado.

- `[].message` *string* — Mensagem retornada somente quando success é false.


## Atualização em lote

Cada item informa o complemento, o tipo e o objeto correspondente. As regras da atualização unitária continuam valendo.

### Regras

- Envie um array não vazio; outro formato ou array vazio retorna `400`.
- `complement`: envie `complement` com os campos a alterar; os omitidos preservam o valor atual.
- `menu`: envie `menu` com `merchantId` e os campos a alterar; o cardápio precisa estar vinculado ao complemento.
- Item com `complementId`, `type` ou payload inválido volta com `success: false`.
- Falhas de negócio (complemento inexistente, vínculo) voltam no item com a mesma mensagem da rota unitária; falha inesperada retorna `Failed to update complement`.
- Os itens são independentes: a falha de um não desfaz os demais.
- O retorno mantém a ordem do body; confira `success` em cada item, mesmo com HTTP `200`. `message` aparece apenas nas falhas.

## Erros

| Status | Mensagem |
| --- | --- |
| 401 | Authentication token is missing |
| 401 | Invalid or expired access token |
| 403 | This credential does not include the catalog:write scope |
| 429 | Too many requests |
| 400 | Body must be a non-empty array of complement updates |


## Vocabulários usados neste endpoint

## Atualização em lote de complementos · type

| Valor | Significado | Uso |
| --- | --- | --- |
| `complement` | Dados do complemento | Objeto complement |
| `menu` | Cardápio do complemento | Objeto menu |

## Catálogo · unit

Valores aceitos no campo unit dos produtos do catálogo.

| Valor | Significado | Uso |
| --- | --- | --- |
| `UN` | Unidade | /v1/catalog/products |
| `KG` | Quilograma | /v1/catalog/products |
| `G` | Grama | /v1/catalog/products |
| `L` | Litro | /v1/catalog/products |
| `ML` | Mililitro | /v1/catalog/products |
| `PCT` | Pacote | /v1/catalog/products |
| `CX` | Caixa | /v1/catalog/products |
| `DZ` | Dúzia | /v1/catalog/products |
| `FD` | Fardo | /v1/catalog/products |
| `BD` | Balde | /v1/catalog/products |
| `SC` | Saco | /v1/catalog/products |
| `PT` | Pote | /v1/catalog/products |
| `CP` | Copo | /v1/catalog/products |
| `PC` | Peça | /v1/catalog/products |
| `FT` | Fátia | /v1/catalog/products |
| `PQ` | Porção | /v1/catalog/products |
| `GF` | Garrafa | /v1/catalog/products |
| `LT` | Lata | /v1/catalog/products |
| `BN` | Bandeja | /v1/catalog/products |

