Pular para o conteúdo principal

Criar um agendamento, passo a passo

O exemplo agenda uma consulta para o paciente 3 com o Dr. Silva. Os passos 1 a 5 são de descoberta; o 6 é a gravação.

Registros inativos​

Nas listagens de cadastros (executores, locais, tipos de consulta, convênios), o parâmetro somenteAtivos tem padrão false, portanto os registros inativos também são retornados. A criação do agendamento recusa cadastros inativos. Envie somenteAtivos=true nas consultas dos passos seguintes para listar apenas os registros ativos.

1. Encontre o executor​

Detalhe completo em Executores de agenda.

curl -G "https://api.clinicanasnuvens.com.br/executor-agenda/lista" \
-H "Authorization: Basic <CREDENCIAIS_EM_BASE64>" \
-H "clinicaNasNuvens-cid: <TOKEN_DA_CLINICA>" \
--data-urlencode "nomeContem=Silva" \
--data-urlencode "somenteAtivos=true" \
--data-urlencode "somenteProfissionaisSaude=true"

Guarde os dois números de cada executor: o id (1) serve para consultar a disponibilidade; o idpessoa (42) vai no agendamento. Ver Identificadores.

2. Encontre o local e o tipo de consulta​

Detalhe em Locais de agenda e em Tipos de consulta.

curl -G "https://api.clinicanasnuvens.com.br/local-agenda/lista" \
-H "Authorization: Basic <CREDENCIAIS_EM_BASE64>" \
-H "clinicaNasNuvens-cid: <TOKEN_DA_CLINICA>" \
--data-urlencode "somenteAtivos=true"
curl -G "https://api.clinicanasnuvens.com.br/tipo-consulta/lista" \
-H "Authorization: Basic <CREDENCIAIS_EM_BASE64>" \
-H "clinicaNasNuvens-cid: <TOKEN_DA_CLINICA>" \
--data-urlencode "somenteAtivos=true"

No exemplo, o local é 2 e o tipo de consulta é 15.

3. Garanta o convênio do paciente​

O agendamento exige o idPacienteConvenio, o vínculo entre o paciente e o convênio, não o convênio da clínica. Detalhe em Convênios do paciente.

curl -G "https://api.clinicanasnuvens.com.br/convenio-paciente/lista" \
-H "Authorization: Basic <CREDENCIAIS_EM_BASE64>" \
-H "clinicaNasNuvens-cid: <TOKEN_DA_CLINICA>" \
--data-urlencode "idPaciente=3" \
--data-urlencode "somenteAtivos=true"
{
"lista": [
{
"id": 12,
"idTipoConvenio": 8,
"nomeTipoConvenio": "Unimed",
"ativo": true,
"dataValidade": "2027-12-31",
"carteirinha": "123456789012"
}
],
"pagina": 0,
"totalPaginas": 1
}

Confira se algum item retornado é o convênio que será usado no agendamento, pelo idTipoConvenio ou pelo nomeTipoConvenio. Se o convênio estiver na lista, o id do item é o idPacienteConvenio (no exemplo, 12). Se a lista vier vazia ou não trouxer o convênio desejado, crie o vínculo:

curl -X POST "https://api.clinicanasnuvens.com.br/convenio-paciente/associar" \
-H "Authorization: Basic <CREDENCIAIS_EM_BASE64>" \
-H "clinicaNasNuvens-cid: <TOKEN_DA_CLINICA>" \
-H "Content-Type: application/json" \
-d '{
"idPaciente": 3,
"idTipoConvenio": 8,
"carteirinha": "123456789012",
"dataValidade": "2027-12-31"
}'

O id da resposta é o idPacienteConvenio.

4. Ache um horário livre​

Use o id do executor, não o idpessoa:

curl -G "https://api.clinicanasnuvens.com.br/executor-agenda/disponibilidade" \
-H "Authorization: Basic <CREDENCIAIS_EM_BASE64>" \
-H "clinicaNasNuvens-cid: <TOKEN_DA_CLINICA>" \
--data-urlencode "idExecutorAgenda=1" \
--data-urlencode "data=2026-10-05" \
--data-urlencode "dataFim=2026-10-10"
[
{ "idTipoConsulta": 15, "data": "2026-10-05", "horaInicio": "08:00:00", "horaFim": "08:30:00" },
{ "idTipoConsulta": 15, "data": "2026-10-05", "horaInicio": "08:30:00", "horaFim": "09:00:00" }
]

O intervalo é limitado a 15 dias. Detalhe em Consultar disponibilidade.

Clínicas com Nova disponibilidade

Se a clínica utiliza a Nova disponibilidade com múltiplos recursos (profissionais, salas ou equipamentos), consulte os horários através do endpoint em Disponibilidade.

5. Confira os valores do procedimento​

curl -G "https://api.clinicanasnuvens.com.br/tipo-procedimento/valores-venda" \
-H "Authorization: Basic <CREDENCIAIS_EM_BASE64>" \
-H "clinicaNasNuvens-cid: <TOKEN_DA_CLINICA>" \
--data-urlencode "idTipoConvenio=8" \
--data-urlencode "idTipoProcedimento=4" \
--data-urlencode "dataBase=2026-10-05" \
--data-urlencode "horaBase=08:00:00"

Se houver promoção vigente, o idPromocao retornado deve ser enviado no item de procedimentos. Detalhe em Procedimentos.

6. Crie o agendamento​

curl -X POST "https://api.clinicanasnuvens.com.br/agenda/novo" \
-H "Authorization: Basic <CREDENCIAIS_EM_BASE64>" \
-H "clinicaNasNuvens-cid: <TOKEN_DA_CLINICA>" \
-H "Content-Type: application/json" \
-d '{
"idPaciente": 3,
"idPessoaExecutor": 42,
"idPacienteConvenio": 12,
"idTipoConsulta": 15,
"idLocalAgenda": 2,
"status": "AGENDADO",
"data": "2026-10-05",
"horaInicio": "08:00:00",
"horaFim": "08:30:00",
"observacoes": "Primeira consulta.",
"notificarEmailPaciente": true,
"notificarWhatsappPaciente": true,
"procedimentos": [
{ "idTipoProcedimento": 4, "quantidade": 1 }
],
"recursos": [
{ "idRecurso": 10, "tipoRecurso": "PROFISSIONAL" },
{ "idRecurso": 2, "tipoRecurso": "SALA" },
{ "idRecurso": 5, "tipoRecurso": "EQUIPAMENTO" }
]
}'

Campos da requisição​

CampoTipoObrigatórioDescrição
idPacienteIntegerSimPaciente do agendamento
idPessoaExecutorIntegerConforme a clínicaExecutor que vai atender. Ver Identificadores
idPacienteConvenioIntegerSimVínculo entre o paciente e o convênio, obtido em Convênios do paciente
idTipoConsultaIntegerSimTipo de consulta do agendamento
idLocalAgendaIntegerSimLocal de agenda em que o atendimento acontece
statusStringSimSituação do agendamento, por exemplo AGENDADO ou CONFIRMADO
dataStringSimData do agendamento, no formato AAAA-MM-DD
horaInicioStringSimHorário de início, no formato HH:mm:ss
horaFimStringSimHorário de término, no formato HH:mm:ss
idOrigemPacienteIntegerNãoOrigem do paciente para este agendamento
observacoesStringNãoObservações do agendamento, com até 500 caracteres
telefoneCelularPacienteStringNãoTelefone celular do paciente, com até 20 caracteres. Atualiza o cadastro do paciente
emailPacienteStringNãoE-mail do paciente. Atualiza o cadastro do paciente
encaminhamentoStringNãoQuem encaminhou o paciente, com até 150 caracteres
idRotuloIntegerNãoRótulo do agendamento
salaEsperaStringNãoCRIAR cria a sala de espera virtual do agendamento
notificarSMSPacienteBooleanNãoEnvia SMS de aviso ao paciente. Padrão false
notificarSMSProfissionalBooleanNãoEnvia SMS de aviso ao profissional. Padrão false
notificarEmailPacienteBooleanNãoEnvia e-mail de aviso ao paciente. Padrão false
notificarEmailProfissionalBooleanNãoEnvia e-mail de aviso ao profissional. Padrão false
notificarWhatsappPacienteBooleanNãoEnvia mensagem de WhatsApp ao paciente. Padrão false
procedimentosArrayConforme a clínicaProcedimentos previstos para o agendamento
procedimentos[].idTipoProcedimentoIntegerSim, por itemProcedimento que será executado
procedimentos[].quantidadeIntegerNãoQuantidade do procedimento
procedimentos[].idPromocaoIntegerNãoPromoção aplicada ao item, obtida nos valores de venda do procedimento
procedimentos[].idEspecialidadeIntegerConforme a clínicaEspecialidade associada ao procedimento

A resposta traz o agendamento completo, com o id usado nas operações seguintes:

{
"id": 1001,
"idPessoaExecutor": 42,
"idPaciente": 3,
"idOrigemPaciente": null,
"idTipoConvenio": 12,
"idTipoConsulta": 15,
"idLocalAgenda": 2,
"status": "AGENDADO",
"data": "2026-10-05",
"horaInicio": "08:00:00",
"horaFim": "08:30:00",
"observacoes": "Primeira consulta.",
"telefoneCelularPaciente": null,
"emailPaciente": null,
"encaminhamento": null,
"urlSalaEspera": null,
"idRotulo": null,
"procedimentos": [
{ "id": 9001, "idEspecialidade": null, "idPromocao": null, "idTipoProcedimento": 4, "nome": "Consulta", "quantidade": 1 }
]
}

Na resposta, o convênio volta no campo idTipoConvenio, com o valor enviado em idPacienteConvenio.

A criação aceita data retroativa, o que permite registrar um atendimento que já aconteceu.

Agendamento com múltiplos recursos​

Para clínicas com a Nova disponibilidade ativada, é possível vincular recursos adicionais ao agendamento através do array recursos, combinando itens dos tipos PROFISSIONAL, SALA e EQUIPAMENTO.

Regras sobre os recursos:

  • Apenas um recurso de cada tipo: Não é permitido incluir mais de um recurso do mesmo tipo por agendamento (por exemplo, 2 recursos do tipo SALA).
  • Profissional e Executor da agenda:
    • Se o recurso PROFISSIONAL for enviado em recursos e o idPessoaExecutor também for informado, o idPessoaExecutor deve ser o mesmo do profissional informado no recurso. Caso sejam diferentes, o agendamento será rejeitado.
    • Se idPessoaExecutor for omitido (null) e o recurso PROFISSIONAL for informado, o sistema assume automaticamente este profissional como o executor da agenda.
As notificações não são automáticas

As cinco flags notificar são booleanos com padrão false. Omiti-las significa não avisar ninguém, nem paciente, nem profissional. Se a clínica espera que o paciente receba a confirmação, envie-as explicitamente.

Erros comuns (Bad Request)​

Quando a criação é recusada, a API retorna 400 com o motivo em mensagem:

{
"mensagem": "O profissional selecionado já possui um agendamento nesse horário.",
"identificador": null,
"errors": []
}
SituaçãoMotivo
Recusa em um dos identificadoresO registro existe mas está inativo. Inativos aparecem nas listagens e são recusados aqui
Conflito de horárioJá existe agendamento do profissional ou do paciente naquele horário
Um campo opcional sendo exigidoA clínica tem configuração que torna idPessoaExecutor, procedimentos ou idEspecialidade obrigatórios
Mais de um recurso do mesmo tipoO array recursos contém dois ou mais recursos com o mesmo tipoRecurso (ex.: duas salas)
Divergência entre executor e recurso profissionalO idPessoaExecutor informado não corresponde ao profissional enviado no array recursos

Atenção a um efeito que não fica visível na resposta: o telefone e o e-mail informados no agendamento atualizam os do cadastro do paciente. Preencha esses campos apenas quando desejar atualizar o contato do paciente.

Próximo passo​

O agendamento existe. Veja Depois do agendamento para consultar, alterar, mudar status e remarcar.