Ajustes do canal
Lê e grava as chaves que ligam e desligam recursos do WhatsApp da loja e os parâmetros de ajuste fino.
Os ajustes do canal são um único documento por loja: chaves booleanas que ligam recursos (campanhas, mini-loja, pagamento por PIX, assistente, reconhecimento de áudio...) e alguns números de ajuste fino (prazo do carrinho, pausa do bot). A leitura devolve o valor efetivo de cada chave, já com o padrão aplicado. A gravação mescla o que você enviar com o documento atual.
Ler ajustes
/api/v1/vendor/whatsapp-confluence/settingsSellerRetorna o documento de ajustes do canal
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um usuário seller (lojista). Veja Tokens.Exemplo de requisição
bash
curl "$BASE_URL/api/v1/vendor/whatsapp-confluence/settings" \
-H "Authorization: Bearer $TOKEN"Resposta
200Ajustes
json
{
"enable_inbox": true,
"enable_bot": true,
"enable_ai": true,
"enable_campaigns": true,
"enable_web_preview": true,
"enable_meta_flows": false,
"enable_pay_pix": true,
"enable_audio_recognition": false,
"allow_guest_cart": true,
"cart_ttl_days": 30
}Campos da resposta
(chave)booleanCada chave de capacidade da tabela da página inicial desta seção aparece sempre, com o valor efetivo. Chaves de ajuste fino (
cart_ttl_days e similares) só aparecem depois de gravadas.Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Sem token ou token inválido. | {"error":"missing authorization header"} |
| 403 | O usuário não é um seller, ou o seller ainda está em análise de cadastro. | {"error":"vendor_pending_review"} |
| 500 | Falha ao ler o documento. | {"error":"..."} |
Gravar ajustes
Envie só as chaves que quer mudar. As chaves que você não enviar continuam como estavam. As chaves marcadas como sempre ligadas são forçadas para true, qualquer que seja o valor enviado.
/api/v1/vendor/whatsapp-confluence/settingsSellerMescla chaves no documento de ajustes
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um usuário seller (lojista). Veja Tokens.Content-Typestringobrigatórioapplication/json.Corpo da requisição
enable_*, allow_*, show_*...booleanQualquer chave de capacidade. Veja a lista na leitura acima.
default_languagestringIdioma padrão de templates e do assistente. Padrão
pt-BR.web_preview_base_pathstringPrefixo do endereço da mini-loja. Padrão
/wa.cart_ttl_daysintegerDias que um carrinho de WhatsApp abandonado é mantido. Padrão 90.
campaign_rate_limit_per_minuteintegerTeto de envios de campanha por minuto. Padrão 60.
require_marketing_optinbooleanQuando
true, campanhas pulam quem não deu consentimento de marketing. Padrão true.abandoned_cart_delay_hoursintegerHoras até o lembrete de carrinho abandonado. Padrão 4.
bot_pause_on_echo_minutesintegerMinutos em que o bot fica pausado numa conversa depois que uma pessoa responde pelo aplicativo WhatsApp Business. Padrão 120.
service_auto_pause_botbooleanQuando
true, qualquer resposta de atendente pela caixa de entrada passa a conversa para o atendimento humano. Padrão true.service_monthly_franchiseintegerFranquia mensal de mensagens de serviço usada no relatório de Uso e custos. Padrão 1000.
service_franchise_scopestringaccountwabatenantComo a franquia é contada: por número (
account), por conta WhatsApp Business (waba) ou para a loja inteira (tenant). Padrão waba.service_price_microsintegerPreço de cada mensagem de serviço acima da franquia, em milionésimos de real (1 real = 1000000). 0 significa desconhecido e zera a estimativa.
Exemplo de requisição
bash
curl -X PUT "$BASE_URL/api/v1/vendor/whatsapp-confluence/settings" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"enable_campaigns": false,
"cart_ttl_days": 30,
"abandoned_cart_delay_hours": 6
}'Resposta
200Ajustes gravados
json
{
"status": "ok"
}Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Sem token ou token inválido. | {"error":"missing authorization header"} |
| 403 | Falta o privilégio vendor_settings ou vendor_manage_whatsapp, ou o WhatsApp da loja não é deste seller. | {"error":"store_whatsapp_owner_required"} |
| 400 | O corpo não é um objeto JSON válido. | {"error":"invalid request body"} |
| 500 | Falha ao gravar. | {"error":"..."} |