Mini-loja
Define a aparência da mini-loja aberta pelo link da conversa e devolve o link público.
Ler a aparência
A mini-loja é a vitrine leve (/wa no domínio da loja) que o cliente abre pelo botão enviado no WhatsApp para ver produtos, montar o carrinho e pagar. Esta rota devolve o que a loja gravou, mais os valores do tema da loja virtual que valem enquanto um campo estiver vazio (brand_*).
/api/v1/admin/whatsapp-confluence/preview-settingsAdminLê a aparência da mini-loja
Exemplo de requisição
bash
curl "$BASE_URL/api/v1/admin/whatsapp-confluence/preview-settings" \
-H "Authorization: Bearer $TOKEN"Resposta
200Aparência
json
{
"logo_media_id": "",
"header_color": "",
"accent_color": "#0F766E",
"hero_media_id": "",
"hero_title": "Bem-vindo à Loja Exemplo",
"hero_subtitle": "Peça pelo WhatsApp",
"greeting_template": "",
"card_style": "C",
"updated_at": "2026-10-01T14:20:00Z",
"brand_logo_url": "/uploads/tenant/theme/logo/logo.png",
"brand_header_color": "#2563EB",
"brand_accent_color": "#2563EB"
}Campos da resposta
logo_media_idstringLogo da mini-loja. Vazio herda o logo do tema da loja virtual.
header_colorstringCor do cabeçalho,
#RGB ou #RRGGBB. Vazio herda o tema. 004590 e ##004590 são corrigidos para #004590.accent_colorstringCor de destaque (botões, chips), mesmo formato. Vazio herda o tema.
hero_media_idstringImagem de destaque do topo.
hero_titlestringTítulo do destaque.
hero_subtitlestringSubtítulo do destaque.
greeting_templatestringTexto de saudação da mini-loja.
card_stylestringpadrão: CEstilo do cartão de produto. A API não valida o valor; vazio grava
C.pinned_collectionsanyColeções fixadas no topo (JSON livre).
footer_infoanyRodapé (JSON livre). A chave
show_store_address (booleano, padrão true) controla o endereço da loja na folha de pagamento.updated_atstringÚltima gravação (RFC 3339).
brand_logo_urlstringLogo do tema, em uso enquanto
logo_media_id estiver vazio. Somente leitura.brand_header_colorstringCor do cabeçalho do tema. Somente leitura.
brand_accent_colorstringCor de destaque do tema. Somente leitura.
Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O usuário não tem papel de administrador. | {"error":"insufficient permissions"} |
Gravar a aparência
Grava todos os campos de aparência e devolve o registro salvo. O envio é completo: um campo que você não mandar é apagado.
/api/v1/admin/whatsapp-confluence/preview-settingsAdminGrava a aparência da mini-loja
Corpo da requisição
logo_media_idstringLogo da mini-loja. Vazio herda o logo do tema da loja virtual.
header_colorstringCor do cabeçalho,
#RGB ou #RRGGBB. Vazio herda o tema. 004590 e ##004590 são corrigidos para #004590.accent_colorstringCor de destaque (botões, chips), mesmo formato. Vazio herda o tema.
hero_media_idstringImagem de destaque do topo.
hero_titlestringTítulo do destaque.
hero_subtitlestringSubtítulo do destaque.
greeting_templatestringTexto de saudação da mini-loja.
card_stylestringpadrão: CEstilo do cartão de produto. A API não valida o valor; vazio grava
C.pinned_collectionsanyColeções fixadas no topo (JSON livre).
footer_infoanyRodapé (JSON livre). A chave
show_store_address (booleano, padrão true) controla o endereço da loja na folha de pagamento.Exemplo de requisição
bash
curl -X PUT "$BASE_URL/api/v1/admin/whatsapp-confluence/preview-settings" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"accent_color": "#0F766E", "hero_title": "Bem-vindo à Loja Exemplo", "hero_subtitle": "Peça pelo WhatsApp", "card_style": "C"}'Resposta
200Aparência gravada
json
{
"logo_media_id": "",
"header_color": "",
"accent_color": "#0F766E",
"hero_media_id": "",
"hero_title": "Bem-vindo à Loja Exemplo",
"hero_subtitle": "Peça pelo WhatsApp",
"greeting_template": "",
"card_style": "C",
"updated_at": "2026-10-01T14:20:00Z",
"brand_logo_url": "/uploads/tenant/theme/logo/logo.png",
"brand_header_color": "#2563EB",
"brand_accent_color": "#2563EB"
}Campos da resposta
(corpo)objectO mesmo objeto de Ler a aparência.
Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | JSON inválido. | {"error":"invalid body"} |
| 400 | Cor que não é #RGB nem #RRGGBB. | {"error":"invalid_color"} |
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O usuário não tem papel de administrador. | {"error":"insufficient permissions"} |
Obter o link da mini-loja
Devolve o endereço público da mini-loja neste domínio. Útil para testar a aparência ou colocar o link em outro canal.
/api/v1/admin/whatsapp-confluence/preview-linkAdminLink público da mini-loja
Exemplo de requisição
bash
curl "$BASE_URL/api/v1/admin/whatsapp-confluence/preview-link" \
-H "Authorization: Bearer $TOKEN"Resposta
200Link
json
{
"url": "https://minhaloja.io.venddor.com.br/wa"
}Campos da resposta
urlstringEndereço da mini-loja.
Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 500 | Não foi possível montar o endereço. | {"error":"..."} |
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O usuário não tem papel de administrador. | {"error":"insufficient permissions"} |