Servicos

Catalogo de servicos agendalveis. Cada servico define duracao, preco padrao e templates de lembrete automatico que sao materializados no momento do agendamento.

Feature Flag

Requer appointments_module habilitado na conta.

Templates de Lembrete

Cada servico pode ter N templates de lembrete configurados (ex: "1 dia antes", "3 horas antes"). Ao criar um atendimento, esses templates sao materializados em appointment_reminders e enviados automaticamente via WhatsApp.

Os templates suportam variaveis Liquid: {{paciente}}, {{profissional}}, {{servico}}, {{data}}, {{hora}}, {{valor}}, {{empresa}}.

GET/api/v1/accounts/{account_id}/services

Lista todos os servicos do catalogo. Qualquer membro da conta pode visualizar.

Parametros de Query

NomeTipoObrigatorioDescricao
active(query)booleanNaoFiltrar por status ativo (default true)
online_available(query)booleanNaoFiltrar por disponibilidade no widget publico
page(query)integerNaoPagina (padrao 1)
bash
curl -s "https://chat.seudominio.com/api/v1/accounts/1/services" \
  -H "api_access_token: YOUR_TOKEN" | jq .
200Lista de servicos
json
{
  "data": [
    {
      "id": 7,
      "name": "Limpeza Dental",
      "description": "Profilaxia e polimento dental completo.",
      "duration_minutes": 60,
      "default_price_cents": 20000,
      "currency": "BRL",
      "color": "#10B981",
      "online_available": true,
      "active": true
    }
  ]
}
POST/api/v1/accounts/{account_id}/services

Cria novo servico no catalogo. Apenas administradores.

Body (service)

NomeTipoObrigatorioDescricao
namestringSimNome do servico
duration_minutesintegerSimDuracao em minutos (minimo 1)
descriptionstringNaoDescricao do servico
default_price_centsintegerNaoPreco padrao em centavos (padrao 0)
currencystringNaoMoeda (3 letras, padrao BRL)
colorstringNaoCor hex para o calendario
online_availablebooleanNaoDisponivel no widget publico (padrao true)
bash
curl -X POST "https://chat.seudominio.com/api/v1/accounts/1/services" \
  -H "api_access_token: YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "service": {
      "name": "Clareamento Dental",
      "duration_minutes": 90,
      "default_price_cents": 45000,
      "currency": "BRL",
      "online_available": true
    }
  }'
201Servico criado
json
{ "data": { "id": 8, "name": "Clareamento Dental", "duration_minutes": 90 } }
GET/api/v1/accounts/{account_id}/services/{id}

Retorna detalhes de um servico incluindo templates de lembrete.

bash
curl -s "https://chat.seudominio.com/api/v1/accounts/1/services/7" \
  -H "api_access_token: YOUR_TOKEN" | jq .
PATCH/api/v1/accounts/{account_id}/services/{id}

Atualiza dados do servico. Apenas administradores.

bash
curl -X PATCH "https://chat.seudominio.com/api/v1/accounts/1/services/7" \
  -H "api_access_token: YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "service": { "duration_minutes": 75, "default_price_cents": 22000 } }'
DELETE/api/v1/accounts/{account_id}/services/{id}

Remove o servico (soft-delete). Historico de atendimentos e preservado. Apenas administradores.

bash
curl -X DELETE "https://chat.seudominio.com/api/v1/accounts/1/services/7" \
  -H "api_access_token: YOUR_TOKEN"

Templates de Lembrete

Configure os lembretes automaticos que serao materializados ao agendar um atendimento. Apenas administradores podem criar, atualizar ou remover templates.

GET/api/v1/accounts/{account_id}/services/{id}/reminder_templates

Lista todos os templates de lembrete do servico.

bash
curl -s "https://chat.seudominio.com/api/v1/accounts/1/services/7/reminder_templates" \
  -H "api_access_token: YOUR_TOKEN" | jq .
200Templates de lembrete
json
{
  "data": [
    {
      "id": 5,
      "label": "1 dia antes",
      "days_before": 1,
      "hours_before": 0,
      "minutes_before": 0,
      "body_template": "Ola {{paciente}}, lembrando do seu {{servico}} com {{profissional}} amanha as {{hora}}.",
      "send_via": "whatsapp",
      "active": true
    }
  ]
}
POST/api/v1/accounts/{account_id}/services/{id}/reminder_templates

Cria novo template de lembrete. Ao menos um dos campos days_before, hours_before ou minutes_before deve ser > 0.

Body (reminder_template)

NomeTipoObrigatorioDescricao
body_templatestringSimCorpo do lembrete com variaveis Liquid
labelstringNaoLabel descritivo (ex: 1 dia antes)
days_beforeintegerNaoDias antes do atendimento (padrao 0)
hours_beforeintegerNaoHoras antes do atendimento (padrao 0)
minutes_beforeintegerNaoMinutos antes do atendimento (padrao 0)
send_viastringNaoCanal: whatsapp | email | sms (padrao whatsapp)
whatsapp_template_idintegerNaoID do template Meta aprovado (Fase 1.6)
bash
curl -X POST "https://chat.seudominio.com/api/v1/accounts/1/services/7/reminder_templates" \
  -H "api_access_token: YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "reminder_template": {
      "label": "3 horas antes",
      "hours_before": 3,
      "body_template": "Ola {{paciente}}! Seu {{servico}} com {{profissional}} e hoje as {{hora}}. Clinica: {{empresa}}",
      "send_via": "whatsapp"
    }
  }'
PATCH/api/v1/accounts/{account_id}/services/{id}/reminder_templates/{rid}

Atualiza um template de lembrete existente.

bash
curl -X PATCH "https://chat.seudominio.com/api/v1/accounts/1/services/7/reminder_templates/5" \
  -H "api_access_token: YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "reminder_template": { "active": false } }'
DELETE/api/v1/accounts/{account_id}/services/{id}/reminder_templates/{rid}

Remove o template de lembrete. Lembretes ja materializados em atendimentos nao sao afetados.

bash
curl -X DELETE "https://chat.seudominio.com/api/v1/accounts/1/services/7/reminder_templates/5" \
  -H "api_access_token: YOUR_TOKEN"