Ajustes do canal
Lê e grava os ajustes de horário de atendimento e a mensagem de fora do horário que o seller define por conta própria.
A loja tem um horário de atendimento padrão e uma mensagem para quando está fechada. O seller pode guardar a sua própria versão desses ajustes. Só o que ele mudou fica gravado: um campo sem ajuste próprio continua valendo o padrão da loja. Os campos permitidos são sempre os mesmos sete (veja fields na resposta).
Ler os ajustes
/api/v1/vendor/whatsapp/settingsSellerDevolve os ajustes do seller, os padrões da loja e os campos permitidos
Exemplo de requisição
bash
curl "$BASE_URL/api/v1/vendor/whatsapp/settings" \
-H "Authorization: Bearer $TOKEN"Resposta
200Ajustes
json
{
"overrides": {
"business_hours_enabled": true,
"after_hours_message": "Estamos fechados agora. Respondemos amanhã a partir das 9h."
},
"defaults": {
"business_hours_enabled": false,
"business_hours_timezone": "America/Sao_Paulo",
"business_hours_weekday_open": "09:00",
"business_hours_weekday_close": "18:00",
"business_hours_weekend_open": "",
"business_hours_weekend_close": "",
"after_hours_message": ""
},
"fields": [
"business_hours_enabled",
"business_hours_timezone",
"business_hours_weekday_open",
"business_hours_weekday_close",
"business_hours_weekend_open",
"business_hours_weekend_close",
"after_hours_message"
]
}Campos da resposta
overridesobjectSó os campos que o seller ajustou. Vazio
{} quando não ajustou nenhum.defaultsobjectOs valores padrão da loja, para você mostrar de referência. Traz sempre os sete campos.
fieldsarrayOs nomes dos campos que o seller pode ajustar. A ordem não é garantida.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token | {"error":"authentication required"} |
| 403 | Token que não é de seller; módulo desligado; falta o privilégio | {"error":"insufficient permissions"} e demais |
| 404 | Usuário sem cadastro de seller | {"error":"vendor profile not found","code":"vendor_profile_not_found"} |
| 500 | Falha ao ler | {"error":"failed to load"} |
Gravar os ajustes
/api/v1/vendor/whatsapp/settingsSellerAltera os ajustes de horário do seller
Atualização por campo, apesar do verbo PUT. Cada chave do corpo tem três estados:
- Ausente: o ajuste não muda.
nullou texto em branco: apaga o ajuste do seller e volta ao padrão da loja.- Qualquer outro valor: grava.
Chaves fora da lista de sete são ignoradas em silêncio. Os valores não são validados (por exemplo, o formato de hora ou o fuso).
Corpo da requisição
business_hours_enabledbooleanLiga o controle de horário.
business_hours_timezonestringFuso horário (por exemplo
America/Sao_Paulo).business_hours_weekday_openstringAbertura de segunda a sexta, no mesmo formato do padrão da loja (veja
defaults).business_hours_weekday_closestringFechamento de segunda a sexta.
business_hours_weekend_openstringAbertura no fim de semana.
business_hours_weekend_closestringFechamento no fim de semana.
after_hours_messagestringMensagem para quando a loja está fechada.
Exemplo de requisição
bash
curl -X PUT "$BASE_URL/api/v1/vendor/whatsapp/settings" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"business_hours_enabled": true,
"after_hours_message": "Estamos fechados agora. Respondemos amanhã a partir das 9h."
}'Resposta
200Ajustes gravados
json
{
"overrides": {
"business_hours_enabled": true,
"after_hours_message": "Estamos fechados agora. Respondemos amanhã a partir das 9h."
}
}Campos da resposta
overridesobjectTodos os ajustes do seller depois da gravação, incluindo os que você não enviou.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo que não é um objeto JSON | {"error":"corpo inválido"} |
| 401 / 403 | Autenticação, módulo ou privilégio | veja acima |
| 404 | Usuário sem cadastro de seller | {"error":"vendor profile not found","code":"vendor_profile_not_found"} |
| 500 | Falha ao gravar | {"error":"failed to save"} |