Profissionais

Gerencie os profissionais que prestam servicos na sua clinica ou estabelecimento. Profissionais sao entidades independentes de agentes NooviChat — podem existir sem acesso ao sistema.

Feature Flag

Requer appointments_module habilitado na conta.

Visao Geral

Cada profissional tem horarios de atendimento configurados por dia da semana, buffer entre consultas, cor para o calendario e especialidade.

Campo opcional agent_id vincula o profissional a um usuario NooviChat quando ele tambem opera o sistema diretamente.

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

Lista todos os profissionais ativos. Qualquer membro da conta pode visualizar.

Parametros de Query

NomeTipoObrigatorioDescricao
active(query)booleanNaoFiltrar por status ativo (default true)
service_id(query)integerNaoFiltrar profissionais que oferecem o servico
page(query)integerNaoPagina (padrao 1)
bash
curl -s "https://chat.seudominio.com/api/v1/accounts/1/professionals" \
  -H "api_access_token: YOUR_TOKEN" | jq .
200Lista de profissionais
json
{
  "data": [
    {
      "id": 3,
      "name": "Dr. Maria Santos",
      "specialty": "Odontologia Geral",
      "registry": "CRO-SP 12345",
      "color": "#3B82F6",
      "buffer_minutes": 10,
      "working_hours": {
        "mon": [{ "start": "08:00", "end": "18:00" }],
        "tue": [{ "start": "08:00", "end": "18:00" }],
        "fri": [{ "start": "08:00", "end": "13:00" }]
      },
      "active": true
    }
  ]
}
POST/api/v1/accounts/{account_id}/professionals

Cria novo profissional. Apenas administradores.

Body (professional)

NomeTipoObrigatorioDescricao
namestringSimNome completo do profissional
specialtystringNaoEspecialidade (Odontologia, Fisioterapia etc.)
registrystringNaoNumero do registro profissional (CRM, CRO, CRP etc.)
emailstringNaoEmail do profissional
phonestringNaoTelefone do profissional
colorstringNaoCor hex para o calendario (padrao #3B82F6)
buffer_minutesintegerNaoBuffer em minutos entre consultas (padrao 0)
working_hoursobjectNaoHorarios por dia da semana (mon, tue, wed, thu, fri, sat, sun)
agent_idintegerNaoID do agente NooviChat vinculado (opcional)
curl -X POST "https://chat.seudominio.com/api/v1/accounts/1/professionals" \
  -H "api_access_token: YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "professional": {
      "name": "Dr. Maria Santos",
      "specialty": "Odontologia Geral",
      "registry": "CRO-SP 12345",
      "color": "#3B82F6",
      "buffer_minutes": 10,
      "working_hours": {
        "mon": [{"start": "08:00", "end": "18:00"}],
        "tue": [{"start": "08:00", "end": "18:00"}],
        "fri": [{"start": "08:00", "end": "13:00"}]
      }
    }
  }'
201Profissional criado
json
{ "data": { "id": 3, "name": "Dr. Maria Santos", "active": true } }
GET/api/v1/accounts/{account_id}/professionals/{professional_id}

Retorna detalhes de um profissional especifico.

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

Atualiza dados do profissional. Apenas administradores.

bash
curl -X PATCH "https://chat.seudominio.com/api/v1/accounts/1/professionals/3" \
  -H "api_access_token: YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "professional": { "buffer_minutes": 15, "active": true } }'
DELETE/api/v1/accounts/{account_id}/professionals/{professional_id}

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

bash
curl -X DELETE "https://chat.seudominio.com/api/v1/accounts/1/professionals/3" \
  -H "api_access_token: YOUR_TOKEN"
GET/api/v1/accounts/{account_id}/professionals/{professional_id}/availability

Retorna slots de horario disponiveis para o profissional em uma data especifica.

Parametros de Query

NomeTipoObrigatorioDescricao
date(query)string (date)SimData a verificar (YYYY-MM-DD)
service_id(query)integerNaoServico para calcular duracao dos slots
bash
curl -s "https://chat.seudominio.com/api/v1/accounts/1/professionals/3/availability?date=2026-06-15&service_id=7" \
  -H "api_access_token: YOUR_TOKEN" | jq .
200Slots disponiveis
json
{
  "data": {
    "professional_id": 3,
    "professional_name": "Dr. Maria Santos",
    "date": "2026-06-15",
    "slots": [
      { "start": "2026-06-15T08:00:00Z", "end": "2026-06-15T09:00:00Z", "available": true },
      { "start": "2026-06-15T09:00:00Z", "end": "2026-06-15T10:00:00Z", "available": false },
      { "start": "2026-06-15T10:00:00Z", "end": "2026-06-15T11:00:00Z", "available": true }
    ]
  }
}