Pular para o conteúdo principal
POST /merchant/v3/{merchantId}/merchantUpdate altera objetos que já existem na loja. Só o id é obrigatório: envie o identificador e os campos que mudaram. É a rota para o dia a dia, como trocar preço, pausar um produto em falta ou abrir e fechar a loja.
Se um id enviado não existir na loja, a chamada inteira falha com 422 e nada é gravado. Para criar objetos, use o upsert. As regras de formato, imagens e erros comuns às três rotas estão em Ações.

Corpo da requisição

string
AVAILABLE abre a loja, UNAVAILABLE fecha. Obrigatório quando não houver entityType.
string
Tipo dos objetos em updatedObjects: SERVICE, PAYMENT_METHOD, OPTION, OPTION_GROUP, CATEGORY ou ITEM. Um tipo por chamada.
object[]
Objetos a alterar, no formato do entityType (veja abaixo). Obrigatório e não pode ser vazio quando houver entityType.
Combine os campos conforme o que você precisa:

Requisição

Pausar um produto em falta e corrigir o preço de outro:
A resposta de sucesso é 204 No Content, sem corpo. Veja os erros possíveis.

Objetos por entityType

Em todos os tipos, só os campos enviados são alterados.

SERVICE

Disponibilidade e tempo dos serviços de entrega e retirada.
string
obrigatório
DELIVERY (entrega) ou TAKEOUT (retirada).
integer
obrigatório
Tempo do serviço, em minutos.
string
AVAILABLE ativa o serviço, UNAVAILABLE desativa. Sem o campo, a disponibilidade atual é mantida.

PAYMENT_METHOD

uuid
obrigatório
ID da forma de pagamento.
string
Nome exibido ao cliente.
string
CASH, CREDIT, DEBIT, PIX, MEAL_VOUCHER, FOOD_VOUCHER ou OTHER.
integer
Posição na lista, a partir de 1.
string
Código no seu sistema.
string
AVAILABLE ou UNAVAILABLE.

OPTION

uuid
obrigatório
ID da opção.
string
Nome da opção.
string
Descrição da opção.
string
Código no seu sistema.
string
AVAILABLE ou UNAVAILABLE.
object
Imagem da opção. Veja as regras de imagem.

OPTION_GROUP

uuid
obrigatório
ID do grupo de opções.
string
Nome do grupo.
string
Código no seu sistema.
string
AVAILABLE ou UNAVAILABLE.
uuid[]
Lista completa das opções do grupo. Substitui a lista atual. Todas as opções precisam existir na loja.
Um grupo pode ser usado por vários produtos. Mudar optionIds muda as opções do grupo em todos os modificadores que o usam. Um array vazio ("optionIds": []) remove todas as opções do grupo. Sem o campo, as opções atuais são mantidas.
O segundo objeto renomeia o grupo e remove todas as opções dele.

CATEGORY

uuid
obrigatório
ID da categoria.
string
Nome da categoria.
integer
Posição no cardápio, a partir de 1.
string
Descrição da categoria.
string
Código no seu sistema.
string
AVAILABLE ou UNAVAILABLE.

ITEM

uuid
obrigatório
ID do produto.
string
Nome do produto.
uuid
Categoria do produto. Precisa existir na loja.
integer
Posição dentro da categoria, a partir de 1.
string
Descrição do produto.
string
Código no seu sistema.
string
AVAILABLE ou UNAVAILABLE.
string
Código de barras EAN.
string[]
Onde o produto é vendido: DELIVERY, TAKEOUT e INDOOR. A lista substitui a atual: um tipo que não vier deixa de valer. DELIVERY_TAKEOUT ainda é aceito por retrocompatibilidade e vira DELIVERY + TAKEOUT. Prefira os tipos individuais.
object
object
url (https://) e checksum da imagem, como em OPTION. Veja as regras de imagem.
object[]
Lista completa de modificadores do produto. Substitui a atual.
  • O produto precisa existir, mas os modificadores dentro dele são criados ou atualizados: um modificador com id novo é criado. Por isso name é obrigatório no modificador mesmo no update.
  • "modifiers": [] remove todos os modificadores do produto. Um modificador que existia e não veio na lista é apagado. Sem o campo modifiers, os modificadores atuais são mantidos.
  • "optionGroups": [] remove todos os grupos do modificador. Sem o campo, os grupos atuais são mantidos.
  • Todas as opções do grupo entram no modificador automaticamente. A lista options só ajusta preço, posição e status de cada uma. Uma opção que não faz parte do grupo é ignorada.
O produto passa a ter só esse modificador, e o modificador passa a ter só esse grupo. Para tirar todos os grupos, envie "optionGroups": [].

Próximos passos

Upsert

Crie objetos novos no catálogo.

Regras comuns e erros

Formato dos campos, imagens e mensagens de erro.