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.
/api/v1/accounts/{account_id}/professionalsLista todos os profissionais ativos da conta (nao-descartados), ordenados por nome. Qualquer membro da conta pode visualizar.
Sem filtros nem paginacao
Esta listagem retorna sempre todos os profissionais ativos da conta — nao aceita parametros de query de filtro ou paginacao.
curl -s "https://chat.seudominio.com/api/v1/accounts/1/professionals" \
-H "api_access_token: YOUR_TOKEN" | jq .{
"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
}
]
}/api/v1/accounts/{account_id}/professionalsCria novo profissional. Apenas administradores.
Body (professional)
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
name | string | Sim | Nome completo do profissional |
specialty | string | Nao | Especialidade (Odontologia, Fisioterapia etc.) |
registry | string | Nao | Numero do registro profissional (CRM, CRO, CRP etc.) |
email | string | Nao | Email do profissional |
phone | string | Nao | Telefone do profissional |
color | string | Nao | Cor hex para o calendario (padrao #3B82F6) |
buffer_minutes | integer | Nao | Buffer em minutos entre consultas (padrao 0) |
working_hours | object | Nao | Horarios por dia da semana (mon, tue, wed, thu, fri, sat, sun) |
agent_id | integer | Nao | ID do agente NooviChat vinculado (opcional) |
active | boolean | Nao | Status ativo (padrao true) |
service_ids | array[integer] | Nao | IDs dos servicos que o profissional oferece. Pode ser enviado dentro de professional ou no nivel raiz; IDs sao filtrados para servicos da propria conta. |
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"}]
}
}
}'{ "data": { "id": 3, "name": "Dr. Maria Santos", "active": true } }/api/v1/accounts/{account_id}/professionals/{professional_id}Retorna detalhes de um profissional especifico.
curl -s "https://chat.seudominio.com/api/v1/accounts/1/professionals/3" \
-H "api_access_token: YOUR_TOKEN" | jq ./api/v1/accounts/{account_id}/professionals/{professional_id}Atualiza dados do profissional. Apenas administradores.
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 } }'/api/v1/accounts/{account_id}/professionals/{professional_id}Remove o profissional (soft-delete). Historico de atendimentos e preservado. Apenas administradores.
curl -X DELETE "https://chat.seudominio.com/api/v1/accounts/1/professionals/3" \
-H "api_access_token: YOUR_TOKEN"/api/v1/accounts/{account_id}/professionals/{professional_id}/availabilityRetorna slots de horario disponiveis para o profissional em uma data especifica.
Parametros de Query
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
date(query) | string (date) | Nao | Data a verificar (YYYY-MM-DD). Padrao: hoje. |
service_id(query) | integer | Nao | Servico para calcular a duracao dos slots |
duration_minutes(query) | integer | Nao | Duracao do slot em minutos quando service_id nao for informado (padrao 60) |
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 .{
"data": {
"date": "2026-06-15",
"professional_id": 3,
"slots": [
"2026-06-15T08:00:00Z",
"2026-06-15T10:00:00Z",
"2026-06-15T11:00:00Z"
]
}
}Apenas slots livres
A resposta lista somente os horarios de inicio disponiveis. Horarios ocupados sao omitidos — nao ha campo available nem objetos com start/end.