Pular para o conteúdo

Editar perfil comercial

PATCH/v1/instances/{id}/business/profiledesde M12token da instância ou admin

Quando usar

Altera só os campos enviados (os ausentes ficam como estão) e devolve o perfil lido de novo do WhatsApp. Para remover, use clear com os campos (hours, email, websites, description, address); null num desses campos (e em categories, que não podem ser removidas) responde 400 (seria ambíguo com "ausente"). "clear": ["hours"] tira o horário inteiro (sem fuso), validado num número Business em 2026-10-21. O pin do mapa não pode ser removido por um aparelho conectado: "clear": ["location"] (e latitude/longitude null) responde 422 not_supported sem chamar o WhatsApp; remova no app WhatsApp Business (Perfil comercial > Endereço). No aparelho, em 2026-10-21, <latitude/><longitude/> e <latitude></latitude><longitude></longitude> voltaram 406 not-acceptable e <address/> foi aceito mas manteve o pin; o WhatsApp Web só oferece "editar o mapa no celular". Trocar a localização (latitude + longitude) funciona. websites e categories substituem as listas atuais (websites: [] remove os sites); hours substitui a semana inteira (dias ausentes ficam fechados); latitude e longitude vão juntas. Token admin ou da instância; chaves de API com escopo (lzk_) não podem. Limite de 5 alterações por minuto e 50 por dia por instância.

Os campos vão ao WhatsApp como o WhatsApp Web e o Baileys enviam (IQ w:biz, mutação delta). Em 2026-10-21, num número Business real, descrição, endereço, localização e horário foram aceitos e apareceram no celular, "" apagou descrição e endereço e clear: ["hours"] tirou o horário. Categorias e remover sites ainda aguardam essa validação: se o WhatsApp recusar um valor, a resposta é 400 validation_failed com o código do servidor.

Autenticação

Aceita o token da instância (só a própria instância) ou o token admin. Um token de outra instância recebe 403 forbidden (ou 404 not_found em webhooks de outra instância).

Parâmetros

Caminho

NomeTipoDescrição
idobrigatóriostringId da instância (inst_...).

Corpo (JSON)

NomeTipoDescrição
descriptionstring"" apaga. (até 512)
addressstring (até 256)
emailstringEndereço simples ([email protected]); "" apaga. (até 128)
websitesstring[]URLs http(s); substituem as atuais ([] remove). (até 2 itens)
latitudenumber (-90–90)
longitudenumber (-180–180)
categoriesstring[]Ids de categoria (category_list do GET); substituem as atuais. (até 3 itens)
hoursBusinessWeekA semana de funcionamento no formato do PATCH (na leitura, todos os dias aparecem).
hours.timezoneobrigatóriostringFuso IANA, como America/Sao_Paulo.
hours.daysobjectChaves sun, mon, tue, wed, thu, fri, sat. No PATCH, dia ausente = fechado.
clear"hours" | "email" | "websites" | "description" | "address"[]Campos a remover. Não combine com o mesmo campo preenchido. O horário só sai assim. location responde 422 not_supported: o pin do mapa só sai no app WhatsApp Business (Perfil comercial > Endereço).

Exemplo

Janela do terminal
curl -s -X PATCH "$LITEZAP_URL/v1/instances/$ID/business/profile" \
-H "Authorization: Bearer $LITEZAP_TOKEN" \
-d '{"description":"Pizzas artesanais no forno a lenha","websites":["https://loja.exemplo"],"categories":["133436743388217"],"hours":{"timezone":"America/Sao_Paulo","days":{"mon":{"mode":"open","open":"09:00","close":"18:00"},"tue":{"mode":"open","intervals":[{"open":"11:00","close":"14:00"},{"open":"18:00","close":"23:00"}]},"sat":{"mode":"24h"},"sun":{"mode":"closed"}}}}'

Nos exemplos, LITEZAP_URL é a URL base (ex.: http://localhost:8787) e o token vem deLITEZAP_TOKEN (instância) ou LITEZAP_ADMIN_TOKEN.

Resposta

200 O perfil lido de novo depois da alteração.

Campos de BusinessProfile
jidstring
business_namestring
descriptionstring
addressstring
emailstring
websitesstring[]
locationobjectO pino no mapa, quando o perfil tem um.
location.latitudenumber
location.longitudenumber
categoriesstring[]Nomes das categorias.
category_listobject[]Categorias com o id (o PATCH recebe os ids).
timezonestring
hoursobject[]Entradas brutas do WhatsApp (open/close em minutos desde a meia-noite).
business_hoursBusinessWeekA semana de funcionamento no formato do PATCH (na leitura, todos os dias aparecem).
business_hours.timezonestringFuso IANA, como America/Sao_Paulo.
business_hours.daysobjectChaves sun, mon, tue, wed, thu, fri, sat. No PATCH, dia ausente = fechado.
optionsobject

Erros

CódigoHTTPRetentávelO que fazer
validation_failed400nãoCorrija o corpo ou os parâmetros; a message diz o campo.
unauthorized401nãoEnvie Authorization: Bearer <token> válido.
forbidden403nãoUse o token certo (admin, ou o da própria instância).
business_account_required409não
not_supported422não
rate_limited429simEspere e tente de novo com backoff.

Todo erro usa o envelope {"error":{"code","message","retryable"}}. Tabela completa em Erros.

Eventos gerados

Equivalente na Z-API: Editar perfil comercial (descrição, endereço, e-mail, sites, horário, categorias). Veja Migrar da Z-API.

Outras operações de Etiquetas e Business: Listar etiquetas · Criar etiqueta · Renomear ou mudar a cor · Apagar etiqueta · Etiquetar conversa · Remover etiqueta da conversa · Etiquetar mensagem · Remover etiqueta da mensagem · Perfil comercial