Skip to main content
POST /merchant/v3/{merchantId}/merchantForce recebe a loja inteira, no mesmo formato do GET da loja, e deixa o catálogo da DeliveryVip igual ao enviado. Cada lista enviada cria e altera os objetos dela e remove os que não vieram. Use na carga inicial ou quando o seu sistema for a fonte da verdade do catálogo inteiro.
Lista vazia apaga tudo daquele tipo. "items": [] tira todos os produtos do cardápio, e uma lista com um produto só deixa a loja com um produto só. Antes de chamar o force, confirme que cada lista enviada está completa.

O que acontece com cada lista

Se a chave não veio, o tipo fica como está; com objetos, cria e altera os enviados e remove os demais; vazia, remove todos daquele tipoSe a chave não veio, o tipo fica como está; com objetos, cria e altera os enviados e remove os demais; vazia, remove todos daquele tipo

O que o force faz com cada lista do corpo

As listas são gravadas nesta ordem: services, options, optionGroups, categories, items e paymentMethods. Por isso um produto pode apontar para uma categoria criada na mesma chamada, e um grupo para opções criadas na mesma chamada. Tudo roda numa única transação: se qualquer objeto falhar, nada é gravado.
O status é obrigatório e sempre aplicado: AVAILABLE abre a loja e UNAVAILABLE fecha. Envie o estado que a loja deve ter depois da chamada.

Corpo da requisição

uuid
obrigatório
ID da loja. Use o mesmo merchantId da URL.
datetime
obrigatório
Data e hora da versão do catálogo no seu sistema. Obrigatório, mas hoje não é usado.
integer
obrigatório
Obrigatório para manter o formato do GET, mas hoje não é usado. Envie 3600.
string
obrigatório
AVAILABLE abre a loja, UNAVAILABLE fecha.
object
Aceito para manter o formato do GET, mas não altera os dados cadastrais da loja. Se enviado, precisa de name, document e corporateName, e o address, se vier, de state, city, district, street, number e postalCode. Pode ser omitido.
object[]
Serviços de entrega e retirada, com os campos de SERVICE.
object[]
Opções, com os campos de OPTION.
object[]
Grupos de opções, com os campos de OPTION_GROUP.
object[]
Categorias, com os campos de CATEGORY.
object[]
Produtos com modificadores, com os campos de ITEM.
object[]
Formas de pagamento, com os campos de PAYMENT_METHOD.
Os objetos de cada lista seguem as mesmas regras do upsert, inclusive os campos obrigatórios. As regras de formato, imagens e erros estão em Ações.

Requisição

Reescrever só as categorias, sem tocar em produtos, opções e formas de pagamento:
Depois dessa chamada, a loja tem só essas duas categorias. As demais saem do cardápio. A resposta de sucesso é 204 No Content, sem corpo.

Boas práticas

  • Gere o corpo a partir do catálogo completo do seu sistema, nunca de uma lista parcial ou filtrada.
  • Omita as chaves dos tipos que você não quer reescrever. Uma chave ausente não remove nada; uma lista vazia remove tudo.
  • Para mudanças do dia a dia, prefira o update ou o upsert: são menores e não arriscam remover objetos.
  • Depois de um force, confira o resultado com o GET da loja.