Dados recebidos e processados com sucesso. Sem conteúdo na resposta.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"DeliveryVip Developers","description":"Documentação das APIs da DeliveryVip: Merchant API, Open Delivery, Fidelidade e Partner API, com guias, tutoriais e referência.","colors":{"primary":"#EC681B","light":"#F4A476","dark":"#EC681B"},"logo":{"light":"https://mintcdn.com/deliveryvip-a4256422/ELxpcniK2_BP8zxT/logo/light.svg?fit=max\u0026auto=format\u0026n=ELxpcniK2_BP8zxT\u0026q=85\u0026s=b5cd347a6fb8b88418ecffa2cecba5ca","dark":"https://mintcdn.com/deliveryvip-a4256422/ELxpcniK2_BP8zxT/logo/dark.svg?fit=max\u0026auto=format\u0026n=ELxpcniK2_BP8zxT\u0026q=85\u0026s=c4d4b4b52656b650a0faa7dcc736c1a4"},"favicon":"https://mintcdn.com/deliveryvip-a4256422/ELxpcniK2_BP8zxT/favicon.png?fit=max\u0026auto=format\u0026n=ELxpcniK2_BP8zxT\u0026q=85\u0026s=f7fca2ed2e2a42c04178d079778d86f7","appearance":{"default":"system","strict":true},"navbar":{"primary":{"type":"button","label":"Painel do developer","href":"https://developer.deliveryvip.com.br"}},"footer":{"socials":{"website":"https://deliveryvip.com.br","github":"https://github.com/DeliveryVip","discord":"https://discord.gg/AJF8Yha4"},"links":[{"header":"Plataforma","items":[{"label":"Painel do lojista","href":"https://app.deliveryvip.com.br"},{"label":"Painel do developer","href":"https://developer.deliveryvip.com.br"},{"label":"Status","href":"https://status.deliveryvip.com.br"},{"label":"Central de ajuda","href":"https://ajuda.deliveryvip.com.br"}]},{"header":"Desenvolvedores","items":[{"label":"Jornada do Developer","href":"/docs/inicio/primeiros-passos/jornada-do-developer"},{"label":"Postman","href":"/docs/inicio/conceitos/postman"},{"label":"Use com IA","href":"/docs/inicio/conceitos/usando-com-ia"},{"label":"Cofrinho (exemplo de fidelidade)","href":"https://github.com/DeliveryVip/cofrinho"},{"label":"Changelog","href":"/docs/changelog"}]},{"header":"Suporte","items":[{"label":"Discord","href":"https://discord.gg/AJF8Yha4"},{"label":"Agendar uma reunião","href":"https://calendar.app.google/EchaXk57y7xp8Hyx6"}]}]},"search":{"prompt":"Pesquisar na documentação..."},"seo":{"metatags":{"og:site_name":"DeliveryVip Developers","og:locale":"pt_BR","twitter:card":"summary_large_image"}},"fonts":{"family":"Geist"},"errors":{"404":{"redirect":false,"title":"Página não encontrada","description":"Volte para a [página inicial](/) ou use a busca."}},"contextual":{"options":["copy","view","chatgpt","claude","cursor","vscode","mcp"],"display":"header"},"markdown":{"instructions":"Documentação das APIs da DeliveryVip, em português. Regras que mais quebram integrações: (1) Merchant API: faça polling em GET /merchant/v3/events:polling no máximo a cada 30 s por token; confirme todo evento recebido com POST /merchant/v3/events/acknowledgment e corpo [{\"id\": \"\u003ceventId>\"}] (o campo lido é id, não eventId), inclusive eventos repetidos ou que o sistema não trata; deduplique por eventId; o evento é só um aviso, busque o pedido na orderURL. (2) Tokens client_credentials valem 24 h e não têm refresh_token: peça outro ao receber 401. (3) Webhooks: valide a assinatura HMAC sobre o corpo bruto e responda 2xx rápido; o polling é a reconciliação. (4) Open Delivery: host od.deliveryvip.com.br, um client_secret por loja, datas em UTC. (5) Fidelidade: o operador implementa 5 rotas assinadas com HMAC e chama o config push; o estorno precisa ser idempotente. (6) Partner API: scope dv.partner. Não invente endpoints: use a referência gerada das specs OpenAPI."},"styling":{"latex":false},"navigation":{"languages":[{"language":"pt-BR","href":""}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"deliveryvip-a4256422","hasAudioNarration":false,"actualSubdomain":"deliveryvip-a4256422","customDomains":[],"gitSource":{"type":"github","owner":"deliveryvip","repo":"developerdocs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":"","_id":"6ae4c831d9cc4cd9a0a2acf8"},"chroma":{"latestBuiltDeploymentHistoryId":"6ae4cc91981729a4c39866ff","collectionId":"b87548ca-f6e4-4b97-b2a3-975659825db2","liveDeploymentHistoryId":"6ae4cc91981729a4c39866ff","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae4cc91981729a4c39866ff","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"pt-BR","tag":"Referência","count":120},{"language":"pt-BR","tag":"Merchant API","count":88},{"language":"pt-BR","tag":"Partner API","count":87},{"language":"pt-BR","tag":"Indoor","count":35},{"language":"pt-BR","tag":"Lojas","count":34},{"language":"pt-BR","tag":"Revendas","count":29},{"language":"pt-BR","tag":"Open Delivery","count":27},{"language":"pt-BR","tag":"Pedidos","count":25},{"language":"pt-BR","tag":"Endpoints","count":25},{"language":"pt-BR","tag":"Início","count":20}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"#localization-select-trigger,[data-component-part=localization-select-trigger]{display:none!important}"}],"page":{"pagePath":"api-reference/merchants/criar-ou-atualizar-entidades-da-loja","slug":"/api-reference/merchants/criar-ou-atualizar-entidades-da-loja","pageMetadata":{"title":"Criar ou atualizar entidades da loja","description":"Cria ou atualiza (upsert) status e entidades da loja. O corpo pode ser enviado diretamente ou\nenvolvido em `{\"merchant\": {...}}`.\n\nEste endpoint pode ser usado das seguintes formas:\n\n**1 - Enviado apenas com o campo `merchantStatus`:**\nabre ou fecha a loja.\n\n**2 - Enviado apenas com os campos `entityType` e `upsertObjects`:**\ncria ou atualiza somente os objetos enviados.\n> Quando o campo `entityType` é preenchido, o campo `upsertObjects` não pode estar vazio.\n\n**3 - Enviado com os campos `merchantStatus`, `entityType` e `upsertObjects`:**\nos cenários 1 e 2 acontecem simultaneamente.","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml post /merchant/v3/{merchantId}/merchantUpsert","href":"/api-reference/merchants/criar-ou-atualizar-entidades-da-loja","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n blockquote: \"blockquote\",\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Cria ou atualiza (upsert) status e entidades da loja. O corpo pode ser enviado diretamente ou\\nenvolvido em \", _jsx(_components.code, {\n children: \"{\\\"merchant\\\": {...}}\"\n }), \".\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Este endpoint pode ser usado das seguintes formas:\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsxs(_components.strong, {\n children: [\"1 - Enviado apenas com o campo \", _jsx(_components.code, {\n children: \"merchantStatus\"\n }), \":\"]\n }), \"\\nabre ou fecha a loja.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsxs(_components.strong, {\n children: [\"2 - Enviado apenas com os campos \", _jsx(_components.code, {\n children: \"entityType\"\n }), \" e \", _jsx(_components.code, {\n children: \"upsertObjects\"\n }), \":\"]\n }), \"\\ncria ou atualiza somente os objetos enviados.\"]\n }), \"\\n\", _jsxs(_components.blockquote, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [\"Quando o campo \", _jsx(_components.code, {\n children: \"entityType\"\n }), \" é preenchido, o campo \", _jsx(_components.code, {\n children: \"upsertObjects\"\n }), \" não pode estar vazio.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsxs(_components.strong, {\n children: [\"3 - Enviado com os campos \", _jsx(_components.code, {\n children: \"merchantStatus\"\n }), \", \", _jsx(_components.code, {\n children: \"entityType\"\n }), \" e \", _jsx(_components.code, {\n children: \"upsertObjects\"\n }), \":\"]\n }), \"\\nos cenários 1 e 2 acontecem simultaneamente.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Criar ou atualizar entidades da loja","description":"Cria ou atualiza (upsert) status e entidades da loja. O corpo pode ser enviado diretamente ou\nenvolvido em `{\"merchant\": {...}}`.\n\nEste endpoint pode ser usado das seguintes formas:\n\n**1 - Enviado apenas com o campo `merchantStatus`:**\nabre ou fecha a loja.\n\n**2 - Enviado apenas com os campos `entityType` e `upsertObjects`:**\ncria ou atualiza somente os objetos enviados.\n> Quando o campo `entityType` é preenchido, o campo `upsertObjects` não pode estar vazio.\n\n**3 - Enviado com os campos `merchantStatus`, `entityType` e `upsertObjects`:**\nos cenários 1 e 2 acontecem simultaneamente.","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml post /merchant/v3/{merchantId}/merchantUpsert","href":"/api-reference/merchants/criar-ou-atualizar-entidades-da-loja","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Merchants"],"summary":"Criar ou atualizar entidades da loja","description":"Cria ou atualiza (upsert) status e entidades da loja. O corpo pode ser enviado diretamente ou\nenvolvido em `{\"merchant\": {...}}`.\n\nEste endpoint pode ser usado das seguintes formas:\n\n**1 - Enviado apenas com o campo `merchantStatus`:**\nabre ou fecha a loja.\n\n**2 - Enviado apenas com os campos `entityType` e `upsertObjects`:**\ncria ou atualiza somente os objetos enviados.\n> Quando o campo `entityType` é preenchido, o campo `upsertObjects` não pode estar vazio.\n\n**3 - Enviado com os campos `merchantStatus`, `entityType` e `upsertObjects`:**\nos cenários 1 e 2 acontecem simultaneamente.","parameters":["8fbc8af1-c6fc-47ba-9f79-bcda5f04a216"],"requestBody":"1ebe6b46-c2a8-47d8-81f0-3d7631df000a","responses":{"204":"47f039cf-1cf3-4abd-abfd-346ad88a2471","401":"6c0b5677-c360-4b6b-a2e7-68867f74b181","403":"f4cd868c-1915-460f-bd5d-80a346bae043","404":"001d1d27-5315-43da-8d4f-6ae3c60d40bb","422":"c1d36cfe-dc46-4f01-88eb-9ea8a4704414"},"method":"post","type":"path","servers":["b9a100c4-a092-45f8-b811-979677c3e46f"],"security":["977c2855-e035-49e4-ab56-2581d118640b"],"path":"/merchant/v3/{merchantId}/merchantUpsert","baseUrlOptions":["https://api.deliveryvip.com.br"],"title":"Criar ou atualizar entidades da loja","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"8fbc8af1-c6fc-47ba-9f79-bcda5f04a216":{"in":"path","name":"merchantId","description":"Id (UUID) da loja na plataforma. A loja precisa estar autorizada para o aplicativo.","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"description":"Id (UUID) da loja na plataforma. A loja precisa estar autorizada para o aplicativo.","uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"Upsert de objetos `Service`.","properties":{"upsertObjects":{"description":"Objetos `Service` a criar ou atualizar.","type":"array","items":{"type":"object","title":"Service","required":["serviceType","serviceTime"],"properties":{"serviceType":{"type":"string","description":"Tipo de serviço oferecido:\n`DELIVERY` - pedidos entregues no endereço do cliente.\n`TAKEOUT` - pedidos retirados pelo cliente no estabelecimento.","enum":["DELIVERY","TAKEOUT"],"example":"DELIVERY","isRequired":true,"uniqueKey":"oneOf.0.upsertObjects.items.[INDEX].serviceType","typeLabel":"enum\u003cstring>"},"serviceTime":{"type":"integer","description":"Tempo estimado do serviço, em minutos.","example":15,"isRequired":true,"uniqueKey":"oneOf.0.upsertObjects.items.[INDEX].serviceTime","typeLabel":"integer"},"status":{"type":"string","description":"Indica se o serviço está disponível.","enum":["AVAILABLE","UNAVAILABLE"],"example":"AVAILABLE","uniqueKey":"oneOf.0.upsertObjects.items.[INDEX].status","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.upsertObjects.items.[INDEX]","typeLabel":"Service · object"},"uniqueKey":"oneOf.0.upsertObjects","typeLabel":"Service · object[]"},"merchantStatus":{"type":"string","description":"Abre (`AVAILABLE`) ou fecha (`UNAVAILABLE`) a loja.","enum":["AVAILABLE","UNAVAILABLE"],"example":"AVAILABLE","uniqueKey":"oneOf.0.merchantStatus","typeLabel":"enum\u003cstring>"},"entityType":{"type":"string","description":"Tipo das entidades enviadas em `upsertObjects`.","enum":["SERVICE","OPTION","OPTION_GROUP","CATEGORY","ITEM","PAYMENT_METHOD"],"uniqueKey":"oneOf.0.entityType","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Upsert de objetos `Option`.","properties":{"upsertObjects":{"description":"Objetos `Option` a criar ou atualizar.","type":"array","items":{"type":"object","title":"Option","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","description":"Id do complemento.","example":"e5232f14-430c-4a94-8ff6-289d5a16a87a","isRequired":true,"uniqueKey":"oneOf.1.upsertObjects.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","description":"Nome do complemento.","example":"Abacaxi","isRequired":true,"uniqueKey":"oneOf.1.upsertObjects.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","description":"Descrição do complemento.","example":"Fatias de abacaxi fresco","uniqueKey":"oneOf.1.upsertObjects.items.[INDEX].description","typeLabel":"string"},"externalCode":{"type":"string","description":"Código externo do complemento.","uniqueKey":"oneOf.1.upsertObjects.items.[INDEX].externalCode","typeLabel":"string"},"status":{"type":"string","description":"Indica se o complemento está disponível.","enum":["AVAILABLE","UNAVAILABLE"],"example":"AVAILABLE","uniqueKey":"oneOf.1.upsertObjects.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"image":{"description":"Imagem.","type":"object","required":["url","checksum"],"properties":{"url":{"type":"string","format":"uri","description":"URL HTTPS da imagem. Baixe e armazene a imagem do seu lado: a URL pode deixar de ser válida depois de algum tempo.","example":"https://pizzariadapraca.com.br/imagem.jpg","isRequired":true,"uniqueKey":"oneOf.1.upsertObjects.items.[INDEX].image.url","typeLabel":"string\u003curi>"},"checksum":{"type":"string","description":"Checksum do arquivo. Use para detectar mudanças na imagem.","example":"96b41025","isRequired":true,"uniqueKey":"oneOf.1.upsertObjects.items.[INDEX].image.checksum","typeLabel":"string"}},"uniqueKey":"oneOf.1.upsertObjects.items.[INDEX].image","typeLabel":"object"}},"uniqueKey":"oneOf.1.upsertObjects.items.[INDEX]","typeLabel":"Option · object"},"uniqueKey":"oneOf.1.upsertObjects","typeLabel":"Option · object[]"},"merchantStatus":{"type":"string","description":"Abre (`AVAILABLE`) ou fecha (`UNAVAILABLE`) a loja.","enum":["AVAILABLE","UNAVAILABLE"],"example":"AVAILABLE","uniqueKey":"oneOf.1.merchantStatus","typeLabel":"enum\u003cstring>"},"entityType":{"type":"string","description":"Tipo das entidades enviadas em `upsertObjects`.","enum":["SERVICE","OPTION","OPTION_GROUP","CATEGORY","ITEM","PAYMENT_METHOD"],"uniqueKey":"oneOf.1.entityType","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","description":"Upsert de objetos `OptionGroup`.","properties":{"upsertObjects":{"description":"Objetos `OptionGroup` a criar ou atualizar.","type":"array","items":{"type":"object","title":"Option Group","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","description":"Id do grupo de complementos.","example":"fe67e551-f42f-499a-8afb-0ed893c71fa3","isRequired":true,"uniqueKey":"oneOf.2.upsertObjects.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","description":"Nome do grupo de complementos.","maxLength":150,"example":"Escolha o sabor da pizza","isRequired":true,"uniqueKey":"oneOf.2.upsertObjects.items.[INDEX].name","typeLabel":"string"},"externalCode":{"type":"string","description":"Código externo (normalmente o código do grupo no sistema da loja).","example":"12","uniqueKey":"oneOf.2.upsertObjects.items.[INDEX].externalCode","typeLabel":"string"},"status":{"type":"string","description":"Indica se o grupo está disponível.","enum":["AVAILABLE","UNAVAILABLE"],"example":"AVAILABLE","uniqueKey":"oneOf.2.upsertObjects.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"optionIds":{"type":"array","description":"Ids dos complementos (`Option`) que pertencem a este grupo.","items":{"type":"string","format":"uuid","example":"e5232f14-430c-4a94-8ff6-289d5a16a87a","uniqueKey":"oneOf.2.upsertObjects.items.[INDEX].optionIds.items.[INDEX]","typeLabel":"string\u003cuuid>"},"uniqueKey":"oneOf.2.upsertObjects.items.[INDEX].optionIds","typeLabel":"string\u003cuuid>[]"}},"uniqueKey":"oneOf.2.upsertObjects.items.[INDEX]","typeLabel":"Option Group · object"},"uniqueKey":"oneOf.2.upsertObjects","typeLabel":"Option Group · object[]"},"merchantStatus":{"type":"string","description":"Abre (`AVAILABLE`) ou fecha (`UNAVAILABLE`) a loja.","enum":["AVAILABLE","UNAVAILABLE"],"example":"AVAILABLE","uniqueKey":"oneOf.2.merchantStatus","typeLabel":"enum\u003cstring>"},"entityType":{"type":"string","description":"Tipo das entidades enviadas em `upsertObjects`.","enum":["SERVICE","OPTION","OPTION_GROUP","CATEGORY","ITEM","PAYMENT_METHOD"],"uniqueKey":"oneOf.2.entityType","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.2","typeLabel":"object"},{"type":"object","description":"Upsert de objetos `Category`.","properties":{"upsertObjects":{"description":"Objetos `Category` a criar ou atualizar.","type":"array","items":{"type":"object","title":"Category","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","description":"Id da categoria.","example":"92fad022-2c28-4239-a026-989f5b555cb7","isRequired":true,"uniqueKey":"oneOf.3.upsertObjects.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","description":"Nome da categoria.","maxLength":150,"example":"Pizzas salgadas","isRequired":true,"uniqueKey":"oneOf.3.upsertObjects.items.[INDEX].name","typeLabel":"string"},"index":{"type":"integer","description":"Posição de exibição.","example":0,"uniqueKey":"oneOf.3.upsertObjects.items.[INDEX].index","typeLabel":"integer"},"description":{"type":"string","description":"Descrição da categoria.","example":"Sabores de pizzas salgadas.","uniqueKey":"oneOf.3.upsertObjects.items.[INDEX].description","typeLabel":"string"},"externalCode":{"type":"string","description":"Código externo (normalmente o código da categoria no sistema da loja).","example":"13","uniqueKey":"oneOf.3.upsertObjects.items.[INDEX].externalCode","typeLabel":"string"},"status":{"type":"string","description":"Indica se a categoria está disponível.","enum":["AVAILABLE","UNAVAILABLE"],"example":"AVAILABLE","uniqueKey":"oneOf.3.upsertObjects.items.[INDEX].status","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.3.upsertObjects.items.[INDEX]","typeLabel":"Category · object"},"uniqueKey":"oneOf.3.upsertObjects","typeLabel":"Category · object[]"},"merchantStatus":{"type":"string","description":"Abre (`AVAILABLE`) ou fecha (`UNAVAILABLE`) a loja.","enum":["AVAILABLE","UNAVAILABLE"],"example":"AVAILABLE","uniqueKey":"oneOf.3.merchantStatus","typeLabel":"enum\u003cstring>"},"entityType":{"type":"string","description":"Tipo das entidades enviadas em `upsertObjects`.","enum":["SERVICE","OPTION","OPTION_GROUP","CATEGORY","ITEM","PAYMENT_METHOD"],"uniqueKey":"oneOf.3.entityType","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.3","typeLabel":"object"},{"type":"object","description":"Upsert de objetos `Item`.","properties":{"upsertObjects":{"description":"Objetos `Item` a criar ou atualizar.","type":"array","items":{"type":"object","title":"Item","required":["id","name","menu","price","categoryId"],"properties":{"id":{"type":"string","format":"uuid","description":"Id do item.","example":"732bd31e-77fc-47ee-88ee-a0437f97b198","isRequired":true,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","description":"Nome do item.","maxLength":150,"example":"Pizza de calabresa","isRequired":true,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].name","typeLabel":"string"},"menu":{"type":"array","items":{"type":"string","enum":["DELIVERY","TAKEOUT","DELIVERY_TAKEOUT","INDOOR"],"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].menu.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Cardápios em que o item é vendido:\n`DELIVERY` - cardápio de entrega\n`TAKEOUT` - cardápio de retirada\n`DELIVERY_TAKEOUT` - alias legado, equivale a `DELIVERY` + `TAKEOUT`\n`INDOOR` - cardápio de consumo no local\n\nNa leitura, itens disponíveis para entrega e retirada trazem `DELIVERY_TAKEOUT` junto dos valores\nseparados, por compatibilidade.","isRequired":true,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].menu","typeLabel":"enum\u003cstring>[]"},"price":{"type":"object","title":"Item Price","required":["value","originalValue","currency"],"properties":{"value":{"type":"number","description":"Preço atual. Até 4 casas decimais.","example":50,"isRequired":true,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].price.value","typeLabel":"number"},"originalValue":{"type":"number","description":"Preço original (antes de promoção). Até 4 casas decimais.","example":50,"isRequired":true,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].price.originalValue","typeLabel":"number"},"currency":{"type":"string","description":"Moeda (código ISO 4217).","enum":["BRL"],"example":"BRL","isRequired":true,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].price.currency","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].price","typeLabel":"Item Price · object"},"categoryId":{"type":"string","format":"uuid","description":"Id da categoria do item.","example":"92fad022-2c28-4239-a026-989f5b555cb7","isRequired":true,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].categoryId","typeLabel":"string\u003cuuid>"},"index":{"type":"integer","description":"Posição de exibição.","example":0,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].index","typeLabel":"integer"},"description":{"type":"string","description":"Descrição do item.","example":"Calabresa fatiada, cebola e azeitonas.","uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].description","typeLabel":"string"},"externalCode":{"type":"string","description":"Código externo (normalmente o código do item no sistema da loja).","example":"233467","uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].externalCode","typeLabel":"string"},"status":{"type":"string","description":"Indica se o item está disponível.","enum":["AVAILABLE","UNAVAILABLE"],"example":"AVAILABLE","uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"ean":{"type":"string","description":"Código EAN do produto.","example":"7896005202074","uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].ean","typeLabel":"string"},"image":{"description":"Imagem.","type":"object","required":["url","checksum"],"properties":{"url":{"type":"string","format":"uri","description":"URL HTTPS da imagem. Baixe e armazene a imagem do seu lado: a URL pode deixar de ser válida depois de algum tempo.","example":"https://pizzariadapraca.com.br/imagem.jpg","isRequired":true,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].image.url","typeLabel":"string\u003curi>"},"checksum":{"type":"string","description":"Checksum do arquivo. Use para detectar mudanças na imagem.","example":"96b41025","isRequired":true,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].image.checksum","typeLabel":"string"}},"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].image","typeLabel":"object"},"modifiers":{"type":"array","description":"Etapas de personalização do item (por exemplo, escolha de sabores).","items":{"type":"object","title":"Modifier","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","description":"Id da etapa.","example":"732bd31e-77fc-47ee-88ee-a0437f97b198","isRequired":true,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","maxLength":150,"example":"Escolha os sabores","isRequired":true,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].name","typeLabel":"string"},"index":{"type":"integer","description":"Posição de exibição.","example":0,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].index","typeLabel":"integer"},"externalCode":{"type":"string","description":"Código externo da etapa.","uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].externalCode","typeLabel":"string"},"status":{"type":"string","description":"Indica se a etapa está disponível.","enum":["AVAILABLE","UNAVAILABLE"],"example":"AVAILABLE","uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"rule":{"type":"string","description":"Regra de cálculo do preço dos complementos:\n`ADDITION` - soma os preços de todos os complementos escolhidos.\n`APPORTIONMENT` - soma os preços dos complementos escolhidos e divide pela quantidade escolhida.\n`HIGHEST` - considera o complemento de maior preço.","enum":["ADDITION","APPORTIONMENT","HIGHEST"],"example":"ADDITION","uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].rule","typeLabel":"enum\u003cstring>"},"minPermitted":{"type":"integer","description":"Quantidade mínima de complementos a escolher.","example":1,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].minPermitted","typeLabel":"integer"},"maxPermitted":{"type":"integer","description":"Quantidade máxima de complementos a escolher (`0` = sem limite).","example":4,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].maxPermitted","typeLabel":"integer"},"optionGroups":{"type":"array","items":{"type":"object","title":"Option Group","required":["optionGroupId"],"properties":{"optionGroupId":{"type":"string","format":"uuid","description":"Id do grupo de complementos.","example":"732bd31e-77fc-47ee-88ee-a0437f97b198","isRequired":true,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].optionGroups.items.[INDEX].optionGroupId","typeLabel":"string\u003cuuid>"},"index":{"type":"integer","description":"Posição de exibição.","example":0,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].optionGroups.items.[INDEX].index","typeLabel":"integer"},"options":{"type":"array","items":{"type":"object","title":"Option","required":["optionId"],"properties":{"optionId":{"type":"string","format":"uuid","description":"Id do complemento.","example":"732bd31e-77fc-47ee-88ee-a0437f97b198","isRequired":true,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].optionGroups.items.[INDEX].options.items.[INDEX].optionId","typeLabel":"string\u003cuuid>"},"index":{"type":"integer","description":"Posição de exibição.","example":0,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].optionGroups.items.[INDEX].options.items.[INDEX].index","typeLabel":"integer"},"status":{"type":"string","description":"Indica se o complemento está disponível neste item.","enum":["AVAILABLE","UNAVAILABLE"],"example":"AVAILABLE","uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].optionGroups.items.[INDEX].options.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"price":{"type":"object","title":"Item Price","required":["value","originalValue","currency"],"properties":{"value":{"type":"number","description":"Preço atual. Até 4 casas decimais.","example":50,"isRequired":true,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].optionGroups.items.[INDEX].options.items.[INDEX].price.value","typeLabel":"number"},"originalValue":{"type":"number","description":"Preço original (antes de promoção). Até 4 casas decimais.","example":50,"isRequired":true,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].optionGroups.items.[INDEX].options.items.[INDEX].price.originalValue","typeLabel":"number"},"currency":{"type":"string","description":"Moeda (código ISO 4217).","enum":["BRL"],"example":"BRL","isRequired":true,"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].optionGroups.items.[INDEX].options.items.[INDEX].price.currency","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].optionGroups.items.[INDEX].options.items.[INDEX].price","typeLabel":"Item Price · object"}},"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].optionGroups.items.[INDEX].options.items.[INDEX]","typeLabel":"Option · object"},"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].optionGroups.items.[INDEX].options","typeLabel":"Option · object[]"}},"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].optionGroups.items.[INDEX]","typeLabel":"Option Group · object"},"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX].optionGroups","typeLabel":"Option Group · object[]"}},"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers.items.[INDEX]","typeLabel":"Modifier · object"},"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX].modifiers","typeLabel":"Modifier · object[]"}},"uniqueKey":"oneOf.4.upsertObjects.items.[INDEX]","typeLabel":"Item · object"},"uniqueKey":"oneOf.4.upsertObjects","typeLabel":"Item · object[]"},"merchantStatus":{"type":"string","description":"Abre (`AVAILABLE`) ou fecha (`UNAVAILABLE`) a loja.","enum":["AVAILABLE","UNAVAILABLE"],"example":"AVAILABLE","uniqueKey":"oneOf.4.merchantStatus","typeLabel":"enum\u003cstring>"},"entityType":{"type":"string","description":"Tipo das entidades enviadas em `upsertObjects`.","enum":["SERVICE","OPTION","OPTION_GROUP","CATEGORY","ITEM","PAYMENT_METHOD"],"uniqueKey":"oneOf.4.entityType","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.4","typeLabel":"object"},{"type":"object","description":"Upsert de objetos `PaymentMethod`.","properties":{"upsertObjects":{"description":"Objetos `PaymentMethod` a criar ou atualizar.","type":"array","items":{"type":"object","title":"PaymentMethod","required":["id","name","mode"],"properties":{"id":{"type":"string","format":"uuid","description":"Id da forma de pagamento.","example":"92fad022-2c28-4239-a026-989f5b555cb7","isRequired":true,"uniqueKey":"oneOf.5.upsertObjects.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","description":"Nome da forma de pagamento.","maxLength":150,"example":"Visa - Crédito","isRequired":true,"uniqueKey":"oneOf.5.upsertObjects.items.[INDEX].name","typeLabel":"string"},"mode":{"type":"string","description":"Modalidade de pagamento.","enum":["CASH","CREDIT","DEBIT","PIX","MEAL_VOUCHER","FOOD_VOUCHER","OTHER"],"example":"CASH","isRequired":true,"uniqueKey":"oneOf.5.upsertObjects.items.[INDEX].mode","typeLabel":"enum\u003cstring>"},"index":{"type":"integer","description":"Posição de exibição.","example":1,"uniqueKey":"oneOf.5.upsertObjects.items.[INDEX].index","typeLabel":"integer"},"externalCode":{"type":"string","description":"Código externo (normalmente o código da forma de pagamento no sistema da loja).","example":"13","uniqueKey":"oneOf.5.upsertObjects.items.[INDEX].externalCode","typeLabel":"string"},"status":{"type":"string","description":"Indica se a forma de pagamento está disponível.","enum":["AVAILABLE","UNAVAILABLE"],"example":"AVAILABLE","uniqueKey":"oneOf.5.upsertObjects.items.[INDEX].status","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.5.upsertObjects.items.[INDEX]","typeLabel":"PaymentMethod · object"},"uniqueKey":"oneOf.5.upsertObjects","typeLabel":"PaymentMethod · object[]"},"merchantStatus":{"type":"string","description":"Abre (`AVAILABLE`) ou fecha (`UNAVAILABLE`) a loja.","enum":["AVAILABLE","UNAVAILABLE"],"example":"AVAILABLE","uniqueKey":"oneOf.5.merchantStatus","typeLabel":"enum\u003cstring>"},"entityType":{"type":"string","description":"Tipo das entidades enviadas em `upsertObjects`.","enum":["SERVICE","OPTION","OPTION_GROUP","CATEGORY","ITEM","PAYMENT_METHOD"],"uniqueKey":"oneOf.5.entityType","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.5","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"upsertObjects":[{"serviceType":"DELIVERY","serviceTime":15,"status":"AVAILABLE"}],"merchantStatus":"AVAILABLE"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"47f039cf-1cf3-4abd-abfd-346ad88a2471":{"description":"Dados recebidos e processados com sucesso. Sem conteúdo na resposta.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"6c0b5677-c360-4b6b-a2e7-68867f74b181":{"description":"Token ausente, inválido, expirado ou revogado.","content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","example":"Unauthorized","uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","example":401,"uniqueKey":"status","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"title":"Unauthorized","status":401}}},"exampleType":"generated"}},"exampleType":"generated"},"f4cd868c-1915-460f-bd5d-80a346bae043":{"description":"O corpo da requisição não é um JSON válido, ou o token não tem o escopo `od.all` (sem corpo).","content":{"application/json":{"schema":{"type":"object","required":["title","status"],"properties":{"status":{"type":"string","description":"Código HTTP da resposta, como string.","example":"404","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"title":{"oneOf":[{"type":"string","description":"Descrição do problema. Em erros de validação pode vir como objeto (campo → lista de mensagens) ou como lista.","example":"Record not found","isRequired":true,"uniqueKey":"title.oneOf.0","typeLabel":"string"},{"type":"object","description":"Descrição do problema. Em erros de validação pode vir como objeto (campo → lista de mensagens) ou como lista.","example":"Record not found","isRequired":true,"uniqueKey":"title.oneOf.1","typeLabel":"object"},{"type":"array","items":{"type":"string","uniqueKey":"title.oneOf.2.items.[INDEX]","typeLabel":"string"},"description":"Descrição do problema. Em erros de validação pode vir como objeto (campo → lista de mensagens) ou como lista.","example":"Record not found","isRequired":true,"uniqueKey":"title.oneOf.2","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"title","typeLabel":"string | object | string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":"404","title":"Record not found"}}},"exampleType":"generated"}},"exampleType":"generated"},"001d1d27-5315-43da-8d4f-6ae3c60d40bb":{"description":"Recurso não encontrado (ou loja não autorizada para o aplicativo).","content":{"application/json":{"schema":{"type":"object","required":["title","status"],"properties":{"status":{"type":"string","description":"Código HTTP da resposta, como string.","example":"404","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"title":{"oneOf":[{"type":"string","description":"Descrição do problema. Em erros de validação pode vir como objeto (campo → lista de mensagens) ou como lista.","example":"Record not found","isRequired":true,"uniqueKey":"title.oneOf.0","typeLabel":"string"},{"type":"object","description":"Descrição do problema. Em erros de validação pode vir como objeto (campo → lista de mensagens) ou como lista.","example":"Record not found","isRequired":true,"uniqueKey":"title.oneOf.1","typeLabel":"object"},{"type":"array","items":{"type":"string","uniqueKey":"title.oneOf.2.items.[INDEX]","typeLabel":"string"},"description":"Descrição do problema. Em erros de validação pode vir como objeto (campo → lista de mensagens) ou como lista.","example":"Record not found","isRequired":true,"uniqueKey":"title.oneOf.2","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"title","typeLabel":"string | object | string[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"status":"404","title":"Record not found"},"examples":{"Example":{"title":"Example","value":{"status":"404","title":"Record not found"}}},"exampleType":"examples"}},"exampleType":"examples"},"c1d36cfe-dc46-4f01-88eb-9ea8a4704414":{"description":"O corpo não respeita o schema (`title` traz a lista de erros), `entityType` não é permitido (`entity_type_unallowed`), a lista de objetos está vazia (`objects_empty`) ou houve erro ao gravar.","content":{"application/json":{"schema":{"type":"object","required":["title","status"],"properties":{"status":{"type":"string","description":"Código HTTP da resposta, como string.","example":"404","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"title":{"oneOf":[{"type":"string","description":"Descrição do problema. Em erros de validação pode vir como objeto (campo → lista de mensagens) ou como lista.","example":"Record not found","isRequired":true,"uniqueKey":"title.oneOf.0","typeLabel":"string"},{"type":"object","description":"Descrição do problema. Em erros de validação pode vir como objeto (campo → lista de mensagens) ou como lista.","example":"Record not found","isRequired":true,"uniqueKey":"title.oneOf.1","typeLabel":"object"},{"type":"array","items":{"type":"string","uniqueKey":"title.oneOf.2.items.[INDEX]","typeLabel":"string"},"description":"Descrição do problema. Em erros de validação pode vir como objeto (campo → lista de mensagens) ou como lista.","example":"Record not found","isRequired":true,"uniqueKey":"title.oneOf.2","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"title","typeLabel":"string | object | string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":"404","title":"Record not found"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"977c2855-e035-49e4-ab56-2581d118640b":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token de acesso opaco emitido pela API de autenticação (`POST /authentication/v1/oauth/token`).","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"b9a100c4-a092-45f8-b811-979677c3e46f":{"url":"https://api.deliveryvip.com.br","description":"Produção"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Token de acesso opaco emitido pela API de autenticação (`POST /authentication/v1/oauth/token`).","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Token de acesso opaco emitido pela API de autenticação (`POST /authentication/v1/oauth/token`).","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"https://app.deliveryvip.com.br/swaggers/merchant.yaml"},"subdomain":"deliveryvip-a4256422","siteName":"DeliveryVip Developers","title":"Criar ou atualizar entidades da loja - DeliveryVip Developers","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"pt-BR":{"href":"/api-reference/merchants/criar-ou-atualizar-entidades-da-loja","matchLevel":0}}},"lastModified":"2026-10-30T16:41:33.654Z","originalFileLocation":"api-reference/merchants/criar-ou-atualizar-entidades-da-loja.mdx","locale":"pt-BR"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"system\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Cria ou atualiza (upsert) status e entidades da loja. O corpo pode ser enviado diretamente ou envolvido em {\u0026quot;merchant\u0026quot;: {...}}. Este endpoint pode ser usado das seguintes formas: 1 - Enviado apenas com o campo merchantStatus: abre ou fecha a loja. 2 - Enviado apenas com os campos entityType e upsertObjects: cria ou atualiza somente os objetos enviados. \u0026gt; Quando o campo entityType é preenchido, o campo upsertObjects não pode estar vazio. 3 - Enviado com os campos merchantStatus, entityType e upsertObjects: os cenários 1 e 2 acontecem simultaneamente.\">\u003cmeta data-mint-head name=\"application-name\" content=\"DeliveryVip Developers\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/deliveryvip-a4256422/lIzAoDMYv08osHDW/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/deliveryvip-a4256422/lIzAoDMYv08osHDW/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/deliveryvip-a4256422/lIzAoDMYv08osHDW/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/deliveryvip-a4256422/lIzAoDMYv08osHDW/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/deliveryvip-a4256422/lIzAoDMYv08osHDW/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/deliveryvip-a4256422/lIzAoDMYv08osHDW/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/deliveryvip-a4256422/lIzAoDMYv08osHDW/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/deliveryvip-a4256422/lIzAoDMYv08osHDW/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/deliveryvip-a4256422/lIzAoDMYv08osHDW/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Criar ou atualizar entidades da loja - DeliveryVip Developers\">\u003cmeta data-mint-head property=\"og:description\" content=\"Cria ou atualiza (upsert) status e entidades da loja. O corpo pode ser enviado diretamente ou envolvido em {\u0026quot;merchant\u0026quot;: {...}}. Este endpoint pode ser usado das seguintes formas: 1 - Enviado apenas com o campo merchantStatus: abre ou fecha a loja. 2 - Enviado apenas com os campos entityType e upsertObjects: cria ou atualiza somente os objetos enviados. \u0026gt; Quando o campo entityType é preenchido, o campo upsertObjects não pode estar vazio. 3 - Enviado com os campos merchantStatus, entityType e upsertObjects: os cenários 1 e 2 acontecem simultaneamente.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"DeliveryVip Developers\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://deliveryvip-a4256422.mintlify.dev/docs/api-reference/merchants/criar-ou-atualizar-entidades-da-loja\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://deliveryvip-a4256422.mintlify.app/_mintlify/api/og/v2?division=A%C3%A7%C3%B5es\u0026amp;title=Criar+ou+atualizar+entidades+da+loja\u0026amp;description=Cria+ou+atualiza+%28upsert%29+status+e+entidades+da+loja.+O+corpo+pode+ser+enviado+diretamente+ou%0Aenvolvido+em+%60%7B%22merchant%22%3A+%7B...%7D%7D%60.%0A%0AEste+endpoint+pode+ser+usado+\u0026amp;theme=3b22322ae3bbae2651505377\u0026amp;signature=bf9cf7a89ec30cede2a72eff818d22e1ef04e42ed991e38069c014d141b80ff5\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Criar ou atualizar entidades da loja - DeliveryVip Developers\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Cria ou atualiza (upsert) status e entidades da loja. O corpo pode ser enviado diretamente ou envolvido em {\u0026quot;merchant\u0026quot;: {...}}. Este endpoint pode ser usado das seguintes formas: 1 - Enviado apenas com o campo merchantStatus: abre ou fecha a loja. 2 - Enviado apenas com os campos entityType e upsertObjects: cria ou atualiza somente os objetos enviados. \u0026gt; Quando o campo entityType é preenchido, o campo upsertObjects não pode estar vazio. 3 - Enviado com os campos merchantStatus, entityType e upsertObjects: os cenários 1 e 2 acontecem simultaneamente.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://deliveryvip-a4256422.mintlify.app/_mintlify/api/og/v2?division=A%C3%A7%C3%B5es\u0026amp;title=Criar+ou+atualizar+entidades+da+loja\u0026amp;description=Cria+ou+atualiza+%28upsert%29+status+e+entidades+da+loja.+O+corpo+pode+ser+enviado+diretamente+ou%0Aenvolvido+em+%60%7B%22merchant%22%3A+%7B...%7D%7D%60.%0A%0AEste+endpoint+pode+ser+usado+\u0026amp;theme=3b22322ae3bbae2651505377\u0026amp;signature=bf9cf7a89ec30cede2a72eff818d22e1ef04e42ed991e38069c014d141b80ff5\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/deliveryvip-a4256422/lIzAoDMYv08osHDW/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"DeliveryVip Developers\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#EC681B\">\u003cmeta data-mint-head name=\"og:locale\" content=\"pt_BR\">\u003clink data-mint-head rel=\"canonical\" href=\"https://deliveryvip-a4256422.mintlify.dev/docs/api-reference/merchants/criar-ou-atualizar-entidades-da-loja\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/merchants/criar-ou-atualizar-entidades-da-loja.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://deliveryvip-a4256422.mintlify.dev/#organization\",\"name\":\"DeliveryVip Developers\",\"url\":\"https://deliveryvip-a4256422.mintlify.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/deliveryvip-a4256422/ELxpcniK2_BP8zxT/logo/light.svg?fit=max\u0026auto=format\u0026n=ELxpcniK2_BP8zxT\u0026q=85\u0026s=b5cd347a6fb8b88418ecffa2cecba5ca\"}},{\"@type\":\"WebSite\",\"@id\":\"https://deliveryvip-a4256422.mintlify.dev/docs#website\",\"name\":\"DeliveryVip Developers\",\"url\":\"https://deliveryvip-a4256422.mintlify.dev/docs\",\"publisher\":{\"@id\":\"https://deliveryvip-a4256422.mintlify.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://deliveryvip-a4256422.mintlify.dev/docs/api-reference/merchants/criar-ou-atualizar-entidades-da-loja#webpage\",\"url\":\"https://deliveryvip-a4256422.mintlify.dev/docs/api-reference/merchants/criar-ou-atualizar-entidades-da-loja\",\"name\":\"Criar ou atualizar entidades da loja\",\"description\":\"Cria ou atualiza (upsert) status e entidades da loja. O corpo pode ser enviado diretamente ou envolvido em {\\\"merchant\\\": {...}}. Este endpoint pode ser usado das seguintes formas: 1 - Enviado apenas com o campo merchantStatus: abre ou fecha a loja. 2 - Enviado apenas com os campos entityType e upsertObjects: cria ou atualiza somente os objetos enviados. > Quando o campo entityType é preenchido, o campo upsertObjects não pode estar vazio. 3 - Enviado com os campos merchantStatus, entityType e upsertObjects: os cenários 1 e 2 acontecem simultaneamente.\",\"dateModified\":\"2026-10-30T16:41:33.654Z\",\"isPartOf\":{\"@id\":\"https://deliveryvip-a4256422.mintlify.dev/docs#website\"},\"breadcrumb\":{\"@id\":\"https://deliveryvip-a4256422.mintlify.dev/docs/api-reference/merchants/criar-ou-atualizar-entidades-da-loja#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://deliveryvip-a4256422.mintlify.dev/docs/api-reference/merchants/criar-ou-atualizar-entidades-da-loja#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Referência\",\"item\":\"https://deliveryvip-a4256422.mintlify.dev/docs/reference/merchant/v3/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Catálogo\",\"item\":\"https://deliveryvip-a4256422.mintlify.dev/docs/reference/merchant/v3/catalog-and-services\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Ações\",\"item\":\"https://deliveryvip-a4256422.mintlify.dev/docs/api-reference/merchants/atualizar-loja\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Criar ou atualizar entidades da loja\",\"item\":\"https://deliveryvip-a4256422.mintlify.dev/docs/api-reference/merchants/criar-ou-atualizar-entidades-da-loja\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://deliveryvip-a4256422.mintlify.dev/docs/api-reference/merchants/criar-ou-atualizar-entidades-da-loja#apireference\",\"headline\":\"Criar ou atualizar entidades da loja\",\"name\":\"Criar ou atualizar entidades da loja\",\"description\":\"Cria ou atualiza (upsert) status e entidades da loja. O corpo pode ser enviado diretamente ou envolvido em {\\\"merchant\\\": {...}}. Este endpoint pode ser usado das seguintes formas: 1 - Enviado apenas com o campo merchantStatus: abre ou fecha a loja. 2 - Enviado apenas com os campos entityType e upsertObjects: cria ou atualiza somente os objetos enviados. > Quando o campo entityType é preenchido, o campo upsertObjects não pode estar vazio. 3 - Enviado com os campos merchantStatus, entityType e upsertObjects: os cenários 1 e 2 acontecem simultaneamente.\",\"url\":\"https://deliveryvip-a4256422.mintlify.dev/docs/api-reference/merchants/criar-ou-atualizar-entidades-da-loja\",\"mainEntityOfPage\":{\"@id\":\"https://deliveryvip-a4256422.mintlify.dev/docs/api-reference/merchants/criar-ou-atualizar-entidades-da-loja#webpage\"},\"dateModified\":\"2026-10-30T16:41:33.654Z\",\"publisher\":{\"@id\":\"https://deliveryvip-a4256422.mintlify.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://deliveryvip-a4256422.mintlify.dev/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"DeliveryVip Developers\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"DeliveryVip Developers","nav":{"global":null,"languages":[{"language":"pt-BR","tabs":[{"tab":"Início","icon":"house","pages":[{"title":"Início","href":""}]},{"tab":"Merchant API","icon":"store","groups":[{"group":"Visão geral","icon":"compass","pages":[{"title":"Merchant API","sidebarTitle":"Introdução","icon":"store","href":"/guides/merchant"},{"title":"Eventos","sidebarTitle":"Eventos","icon":"bell","href":"/guides/merchant/events"},{"title":"Webhooks","icon":"bolt","href":"/guides/merchant/webhooks"}]},{"group":"Pedidos","icon":"receipt","pages":[{"title":"Pedidos","sidebarTitle":"Visão geral","icon":"compass","href":"/guides/merchant/order/index"},{"title":"Definições","icon":"book-open","href":"/guides/merchant/order/definicoes"},{"title":"Listar pedidos","icon":"list","href":"/guides/merchant/order/listar-pedidos"},{"group":"Fluxo de integração","pages":[{"title":"Fluxo de integração","sidebarTitle":"Visão geral","icon":"compass","href":"/guides/merchant/order/fluxo-de-integracao/index"},{"title":"Receba seu primeiro pedido","sidebarTitle":"Seu primeiro pedido","icon":"rocket","href":"/guides/merchant/order/fluxo-de-integracao/recepcao-de-pedidos"},{"title":"Consultar novos pedidos","sidebarTitle":"Consultar eventos","icon":"bell","href":"/guides/merchant/order/fluxo-de-integracao/consultar-novos-pedidos"},{"title":"Eventos de pedidos","icon":"bell","href":"/guides/merchant/order/fluxo-de-integracao/eventos-de-pedidos"},{"title":"Acknowledgment de eventos","sidebarTitle":"Acknowledgment","icon":"check-double","href":"/guides/merchant/order/fluxo-de-integracao/acknowledgment-de-eventos"},{"title":"Ações de pedidos","sidebarTitle":"Ações","icon":"arrows-rotate","href":"/guides/merchant/order/fluxo-de-integracao/acoes-de-pedidos"},{"title":"Obter detalhes do pedido","sidebarTitle":"Detalhes do pedido","icon":"magnifying-glass","href":"/guides/merchant/order/fluxo-de-integracao/obter-detalhes-do-pedido"}]}]},{"group":"Catálogo","icon":"utensils","pages":[{"title":"Catálogo","sidebarTitle":"Visão geral","icon":"compass","href":"/guides/merchant/catalog-and-services/index"},{"title":"Detalhes da loja","sidebarTitle":"Detalhes","icon":"magnifying-glass","href":"/guides/merchant/catalog-and-services/details"},{"group":"Ações","pages":[{"title":"Ações do catálogo","sidebarTitle":"Ações","icon":"arrows-rotate","href":"/guides/merchant/catalog-and-services/actions/index"},{"title":"Atualizar objetos (update)","sidebarTitle":"Update","icon":"pen","href":"/guides/merchant/catalog-and-services/actions/update"},{"title":"Criar ou atualizar objetos (upsert)","sidebarTitle":"Upsert","icon":"file-import","href":"/guides/merchant/catalog-and-services/actions/upsert"},{"title":"Reescrever o catálogo (force)","sidebarTitle":"Force","icon":"triangle-exclamation","href":"/guides/merchant/catalog-and-services/actions/force"}]}]},{"group":"Indoor","icon":"chair","pages":[{"title":"Indoor","sidebarTitle":"Visão geral","icon":"compass","href":"/guides/merchant/indoor/index"},{"group":"Fluxo de integração","pages":[{"title":"Fluxo de integração","icon":"diagram-project","href":"/guides/merchant/indoor/fluxo-de-integracao/index"},{"title":"Consultar novos eventos","sidebarTitle":"Consultar eventos","icon":"bell","href":"/guides/merchant/indoor/fluxo-de-integracao/consultar-novos-eventos"},{"title":"Eventos de indoor","icon":"bell-concierge","href":"/guides/merchant/indoor/fluxo-de-integracao/eventos-de-indoor"},{"title":"Acknowledgment de eventos","sidebarTitle":"Acknowledgment","icon":"check-double","href":"/guides/merchant/indoor/fluxo-de-integracao/acknowledgment-de-eventos"}]},{"group":"Comandas","pages":[{"title":"Comandas","sidebarTitle":"Visão geral","icon":"compass","href":"/guides/merchant/indoor/comanda-api/index"},{"title":"Listar comandas","icon":"list","href":"/guides/merchant/indoor/comanda-api/listar-comandas"},{"title":"Obter detalhes da comanda","sidebarTitle":"Obter uma comanda","icon":"magnifying-glass","href":"/guides/merchant/indoor/comanda-api/obter-detalhes-da-comanda"},{"title":"Adicionar uma comanda","icon":"plus","href":"/guides/merchant/indoor/comanda-api/adicionar-uma-comanda"},{"title":"Atualizar uma comanda","icon":"pen","href":"/guides/merchant/indoor/comanda-api/atualizar-uma-comanda"},{"title":"Remover uma comanda","icon":"trash","href":"/guides/merchant/indoor/comanda-api/remover-uma-comanda"},{"group":"Ações das comandas","pages":[{"title":"Ações das comandas","sidebarTitle":"Ações","icon":"arrows-rotate","href":"/guides/merchant/indoor/comanda-api/acoes-das-comandas/index"},{"title":"Ativar uma comanda","sidebarTitle":"Ativar (descontinuado)","icon":"ban","href":"/guides/merchant/indoor/comanda-api/acoes-das-comandas/ativar-uma-comanda"},{"title":"Desativar uma comanda","sidebarTitle":"Desativar (descontinuado)","icon":"ban","href":"/guides/merchant/indoor/comanda-api/acoes-das-comandas/desativar-uma-comanda"},{"title":"Abrir uma comanda para consumo","sidebarTitle":"Abrir para consumo","icon":"lock-open","href":"/guides/merchant/indoor/comanda-api/acoes-das-comandas/abrir-para-consumo-uma-comanda"},{"title":"Fechar uma comanda para consumo","sidebarTitle":"Fechar para consumo","icon":"lock","href":"/guides/merchant/indoor/comanda-api/acoes-das-comandas/fechar-para-consumo-uma-comanda"}]}]},{"group":"Mesas (places)","pages":[{"title":"Places","sidebarTitle":"Visão geral","icon":"compass","href":"/guides/merchant/indoor/places-api/index"},{"title":"Listar places","icon":"list","href":"/guides/merchant/indoor/places-api/listar-places"},{"group":"Ações das mesas","pages":[{"title":"Ações de places","sidebarTitle":"Ações","icon":"arrows-rotate","href":"/guides/merchant/indoor/places-api/acoes-de-places/index"},{"title":"Abrir um place para consumo","sidebarTitle":"Abrir para consumo","icon":"lock-open","href":"/guides/merchant/indoor/places-api/acoes-de-places/abrir-para-consumo-um-place"},{"title":"Fechar um place para consumo","sidebarTitle":"Fechar para consumo","icon":"lock","href":"/guides/merchant/indoor/places-api/acoes-de-places/fechar-para-consumo-um-place"}]}]}]},{"group":"Descontos","icon":"tag","pages":[{"title":"Descontos","sidebarTitle":"Visão geral","icon":"compass","href":"/guides/merchant/discount/index"},{"title":"Listar descontos","icon":"list","href":"/guides/merchant/discount/listar-descontos"},{"title":"Obter detalhes do desconto","sidebarTitle":"Obter um desconto","icon":"magnifying-glass","href":"/guides/merchant/discount/obter-detalhes-do-desconto"},{"title":"Obter estatística do desconto","sidebarTitle":"Estatísticas","icon":"chart-line","href":"/guides/merchant/discount/obter-estatistica-do-desconto"},{"title":"Adicionar um desconto","icon":"plus","href":"/guides/merchant/discount/adicionar-um-desconto"},{"title":"Atualizar um desconto","icon":"pen","href":"/guides/merchant/discount/atualizar-um-desconto"},{"title":"Remover um desconto","icon":"trash","href":"/guides/merchant/discount/remover-um-desconto"},{"group":"Ações dos descontos","pages":[{"title":"Ações dos descontos","sidebarTitle":"Ações","icon":"arrows-rotate","href":"/guides/merchant/discount/acoes-dos-descontos/index"},{"title":"Ativar um desconto","sidebarTitle":"Ativar","icon":"toggle-on","href":"/guides/merchant/discount/acoes-dos-descontos/ativar-um-desconto"},{"title":"Desativar um desconto","sidebarTitle":"Desativar","icon":"toggle-off","href":"/guides/merchant/discount/acoes-dos-descontos/desativar-um-desconto"}]}]},{"group":"Ferramentas","icon":"wrench","pages":[{"title":"Ferramentas","sidebarTitle":"Visão geral","icon":"compass","href":"/guides/merchant/tools/index"},{"title":"Obter taxa de entrega","sidebarTitle":"Taxa de entrega","icon":"route","href":"/guides/merchant/tools/obter-taxa-de-entrega"},{"title":"Obter status do merchant","sidebarTitle":"Status do merchant","icon":"store","href":"/guides/merchant/tools/obter-status-do-merchant"}]},{"group":"Referência","icon":"code","pages":[{"title":"Merchant API V3","sidebarTitle":"Visão geral","icon":"compass","href":"/reference/merchant/v3/index"},{"group":"Pedidos","icon":"receipt","pages":[{"title":"Pedidos","icon":"receipt","href":"/reference/merchant/v3/orders"},{"group":"Eventos","pages":[{"title":"Listar eventos","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/opendelivery.yaml get /v1/events:polling","href":"/api-reference/events/listar-eventos"},{"title":"Confirmar eventos","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml post /merchant/v3/events/acknowledgment","href":"/api-reference/events/confirmar-eventos"}]},{"group":"Listagem","pages":[{"title":"Listar pedidos","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml get /merchant/v3/{merchantId}/orders","href":"/api-reference/orders/listar-pedidos"}]},{"group":"Detalhes","pages":[{"title":"Consultar pedido","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/opendelivery.yaml get /v1/orders/{orderId}","href":"/api-reference/orders/consultar-pedido"}]},{"group":"Ações","pages":[{"title":"Confirmar pedido","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/opendelivery.yaml post /v1/orders/{orderId}/confirm","href":"/api-reference/orders/confirmar-pedido"},{"title":"Iniciar preparo do pedido","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml post /merchant/v3/orders/{orderId}/preparing","href":"/api-reference/orders/iniciar-preparo-do-pedido"},{"title":"Marcar pedido como pronto","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/opendelivery.yaml post /v1/orders/{orderId}/readyForPickup","href":"/api-reference/orders/marcar-pedido-como-pronto"},{"title":"Despachar pedido","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/opendelivery.yaml post /v1/orders/{orderId}/dispatch","href":"/api-reference/orders/despachar-pedido"},{"title":"Marcar pedido como retirado","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/opendelivery.yaml post /v1/orders/{orderId}/pickedUp","href":"/api-reference/orders/marcar-pedido-como-retirado"},{"title":"Marcar pedido como entregue","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/opendelivery.yaml post /v1/orders/{orderId}/delivered","href":"/api-reference/orders/marcar-pedido-como-entregue"},{"title":"Cancelar pedido","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/opendelivery.yaml post /v1/orders/{orderId}/requestCancellation","href":"/api-reference/orders/cancelar-pedido"},{"title":"Aceitar cancelamento","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/opendelivery.yaml post /v1/orders/{orderId}/acceptCancellation","href":"/api-reference/orders/aceitar-cancelamento"},{"title":"Recusar cancelamento","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/opendelivery.yaml post /v1/orders/{orderId}/denyCancellation","href":"/api-reference/orders/recusar-cancelamento"},{"title":"Atualizar rastreamento da entrega","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml post /merchant/v3/orders/{orderId}/tracking","href":"/api-reference/orders/atualizar-rastreamento-da-entrega"}]}]},{"group":"Catálogo","icon":"utensils","pages":[{"title":"Catálogo","icon":"book-open","href":"/reference/merchant/v3/catalog-and-services"},{"group":"Detalhes","pages":[{"title":"Consultar loja","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/partner.yaml get /partner/v2/merchants/{merchantId}","href":"/api-reference/merchants/consultar-loja"}]},{"group":"Ações","pages":[{"title":"Atualizar loja","description":"Atualiza status e entidades **já existentes** da loja. Entidades inexistentes não são criadas.\nO corpo pode ser enviado diretamente ou envolvido em `{\"merchant\": {...}}`.\n\nEste endpoint pode ser usado das seguintes formas:\n\n**1 - Enviado apenas com o campo `merchantStatus`:**\nabre ou fecha a loja.\n\n**2 - Enviado apenas com os campos `entityType` e `updatedObjects`:**\natualiza somente os objetos enviados.\n> Quando o campo `entityType` é preenchido, o campo `updatedObjects` não pode estar vazio.\n\n**3 - Enviado com os campos `merchantStatus`, `entityType` e `updatedObjects`:**\nos cenários 1 e 2 acontecem simultaneamente.","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml post /merchant/v3/{merchantId}/merchantUpdate","href":"/api-reference/merchants/atualizar-loja"},{"title":"Criar ou atualizar entidades da loja","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml post /merchant/v3/{merchantId}/merchantUpsert","href":"/api-reference/merchants/criar-ou-atualizar-entidades-da-loja"},{"title":"Sincronizar loja completa","description":"Envia a loja completa (mesmo formato de `GET /merchant/v3/{merchantId}`) e processa todas as entidades\npresentes: serviços, complementos, grupos de complementos, categorias, itens e formas de pagamento.\nO campo `status` abre ou fecha a loja. Os campos `id`, `lastUpdate`, `ttl` e `status` são obrigatórios.\nNo envio, `basicInfo.contactPhones` deve ser uma lista de objetos. O corpo pode ser enviado diretamente\nou envolvido em `{\"merchant\": {...}}`.","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml post /merchant/v3/{merchantId}/merchantForce","href":"/api-reference/merchants/sincronizar-loja-completa"}]},{"group":"Status","pages":[{"title":"Consultar status e horários da loja","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml get /merchant/v3/{merchantId}/status","href":"/api-reference/merchants/consultar-status-e-horários-da-loja"}]}]},{"group":"Indoor","icon":"chair","pages":[{"title":"Indoor","icon":"utensils","href":"/reference/merchant/v3/indoor"},{"group":"Eventos","pages":[{"title":"Listar eventos","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/opendelivery.yaml get /v1/events:polling","href":"/api-reference/events/listar-eventos"},{"title":"Confirmar eventos","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml post /merchant/v3/events/acknowledgment","href":"/api-reference/events/confirmar-eventos"}]},{"group":"Listagem","pages":[{"title":"Listar comandas","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml get /merchant/v3/{merchantId}/tabs","href":"/api-reference/tabs/listar-comandas"},{"title":"Listar mesas","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml get /merchant/v3/{merchantId}/places","href":"/api-reference/places/listar-mesas"}]},{"group":"Detalhes","pages":[{"title":"Consultar comanda","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml get /merchant/v3/{merchantId}/tabs/{tabId}","href":"/api-reference/tabs/consultar-comanda"}]},{"group":"Ações de comandas","pages":[{"title":"Criar comanda","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml post /merchant/v3/{merchantId}/tabs","href":"/api-reference/tabs/criar-comanda"},{"title":"Atualizar comanda","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml patch /merchant/v3/{merchantId}/tabs/{tabId}","href":"/api-reference/tabs/atualizar-comanda"},{"title":"Excluir comanda","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml delete /merchant/v3/{merchantId}/tabs/{tabId}","href":"/api-reference/tabs/excluir-comanda"},{"title":"Disponibilizar comanda","deprecated":true,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml post /merchant/v3/{merchantId}/tabs/{tabId}/available","href":"/api-reference/tabs/disponibilizar-comanda"},{"title":"Indisponibilizar comanda","deprecated":true,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml post /merchant/v3/{merchantId}/tabs/{tabId}/unavailable","href":"/api-reference/tabs/indisponibilizar-comanda"},{"title":"Abrir comanda","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml post /merchant/v3/{merchantId}/tabs/{tabId}/opened","href":"/api-reference/tabs/abrir-comanda"},{"title":"Fechar comanda","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml post /merchant/v3/{merchantId}/tabs/{tabId}/closed","href":"/api-reference/tabs/fechar-comanda"}]},{"group":"Ações das mesas","pages":[{"title":"Abrir mesa","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml post /merchant/v3/{merchantId}/places/{placeId}/opened","href":"/api-reference/places/abrir-mesa"},{"title":"Fechar mesa","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml post /merchant/v3/{merchantId}/places/{placeId}/closed","href":"/api-reference/places/fechar-mesa"}]}]},{"group":"Descontos","icon":"tag","pages":[{"title":"Descontos","icon":"tags","href":"/reference/merchant/v3/discounts"},{"group":"Listagem","pages":[{"title":"Listar descontos","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml get /merchant/v3/{merchantId}/discounts","href":"/api-reference/discounts/listar-descontos"}]},{"group":"Detalhes","pages":[{"title":"Consultar desconto","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml get /merchant/v3/{merchantId}/discounts/{discountId}","href":"/api-reference/discounts/consultar-desconto"},{"title":"Consultar estatísticas do desconto","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml get /merchant/v3/{merchantId}/discounts/{discountId}/stats","href":"/api-reference/discounts/consultar-estatísticas-do-desconto"}]},{"group":"Ações","pages":[{"title":"Criar desconto","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml post /merchant/v3/{merchantId}/discounts","href":"/api-reference/discounts/criar-desconto"},{"title":"Atualizar desconto","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml patch /merchant/v3/{merchantId}/discounts/{discountId}","href":"/api-reference/discounts/atualizar-desconto"},{"title":"Excluir desconto","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml delete /merchant/v3/{merchantId}/discounts/{discountId}","href":"/api-reference/discounts/excluir-desconto"},{"title":"Ativar desconto","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml post /merchant/v3/{merchantId}/discounts/{discountId}/available","href":"/api-reference/discounts/ativar-desconto"},{"title":"Desativar desconto","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml post /merchant/v3/{merchantId}/discounts/{discountId}/unavailable","href":"/api-reference/discounts/desativar-desconto"}]}]},{"group":"Ferramentas","icon":"wrench","pages":[{"title":"Ferramentas","icon":"toolbox","href":"/reference/merchant/v3/tools"},{"title":"Calcular taxa de entrega","deprecated":null,"version":null,"openapi":"https://app.deliveryvip.com.br/swaggers/merchant.yaml get /merchant/v3/{merchantId}/delivery-fee/{latitude}/{longitude}","href":"/api-reference/utils/calcular-taxa-de-entrega"}]}]}]},{"tab":"Open Delivery","icon":"right-left","pages":[{"title":"Open Delivery","href":"/guides/open-delivery"}]},{"tab":"Fidelidade","icon":"gift","pages":[{"title":"Fidelidade","href":"/guides/merchant/loyalty"}]},{"tab":"Partner API","icon":"handshake","pages":[{"title":"Partner API","href":"/guides/partner"}]},{"tab":"Changelog","icon":"clock-rotate-left","pages":[{"title":"Changelog","href":"/changelog"}]}]}]},"basePath":"","title":"Criar ou atualizar entidades da loja - DeliveryVip Developers","buildId":"dpl_4RHMRqtvdHvKgaEfTTjFqjzja3B6","deploymentId":"dpl_4RHMRqtvdHvKgaEfTTjFqjzja3B6","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-D_4Sesi0.js","utils-DRHeK26p.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C6d-DUc2.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dex7slho.js","snippetPresets-BcCEBp0Z.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CufowNTX.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-A4lJSCIe.js","shallow-DqoHP7zn.js","getApiPlaygroundDisplay-Cku8AmtL.js","CodeSnippet-CtHQbNqc.js","CodeSnippets-CGo5Cslf.js","Page-BoJxk0m8.js","getPastedJson-M-bKdue4.js","icon-DEqCU4st.js","MethodPill-DnfSSXiJ.js","DuplicateIcon-BHu2PE8M.js","createIcon-BPsE5X7c.js","DynamicMarkdown-Dnt6YhtR.js","SectionHeading-6CtFWqMQ.js","axios-vUo_bRtp.js","Markdown-BoKe_1fI.js","clsx-DM5-sUNJ.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CkIdkovK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-B3e6Nh_r.js"]}