Recebimentos

APIDescription
GET api/Recebimentos/resumo?codClienteSSN={codClienteSSN}&dataInicial={dataInicial}&dataFinal={dataFinal}&idProfissionalFK={idProfissionalFK}&idTipoAgendamentoFK={idTipoAgendamentoFK}&convenio={convenio}&realizados={realizados}&agruparPor={agruparPor}

No documentation available.

DadosClientesSSN

APIDescription
POST api/DadosClientesSSN/LoginVetta?paramCodigoClienteSSN={paramCodigoClienteSSN}

Valida o login Vetta: mesmo critério do login por código de cliente, mas só permite acesso quando Parc_indice = 2 em tabClientesSSN.

GET api/DadosClientesSSN?versao={versao}&versaoTeste={versaoTeste}

Verifica a atualização do app do profissional.

GET api/DadosClientesSSN?versaoAppNovo={versaoAppNovo}

No documentation available.

GET api/DadosClientesSSN?nomeManifesto={nomeManifesto}

Retorna o manifesto do app do paciente.

GET api/DadosClientesSSN?versaoCliente={versaoCliente}&versaoTeste={versaoTeste}

Verifica a atualização do app do paciente.

GET api/DadosClientesSSN?codClienteSSNControleAgendamentoCliente={codClienteSSNControleAgendamentoCliente}

No documentation available.

GET api/DadosClientesSSN?codClienteSSNEvoluirDeOutroProf={codClienteSSNEvoluirDeOutroProf}

No documentation available.

GET api/DadosClientesSSN?codClienteSSNControleAgendamentoClienteNovo={codClienteSSNControleAgendamentoClienteNovo}

No documentation available.

GET api/DadosClientesSSN?codClienteSSNNaoQuitados={codClienteSSNNaoQuitados}

No documentation available.

GET api/DadosClientesSSN?codClienteSSNAniversariantes={codClienteSSNAniversariantes}

No documentation available.

POST api/DadosClientesSSN?cpfLoginRetorna={cpfLoginRetorna}

Retorna login do paciente.

POST api/DadosClientesSSN?cpfLogin={cpfLogin}

Chamada de login do webapp do paciente.

POST api/DadosClientesSSN?cpfLogin2={cpfLogin2}

No documentation available.

POST api/DadosClientesSSN?paramCodigoClienteSSN={paramCodigoClienteSSN}

Valida o código do cliente SSN.

GET api/DadosClientesSSN?codClienteSSN={codClienteSSN}&text={text}

Retorna a lista de clientes pelas primeiras letras.

GET api/DadosClientesSSN?codClienteSSN={codClienteSSN}&textCodigo={textCodigo}

Retorna a lista de clientes pelas primeiras letras.

GET api/DadosClientesSSN?codClienteSSN={codClienteSSN}&textCelular={textCelular}

Retorna a lista de clientes pelo celular.

GET api/DadosClientesSSN?codClienteSSN={codClienteSSN}&IDClienteRetorno={IDClienteRetorno}

Retorna os dados de um Paciente pelo ID.

GET api/DadosClientesSSN?codClienteSSN={codClienteSSN}&codClienteDesmar={codClienteDesmar}

Retorna os dados do controle de desmarcações do cliente.

GET api/DadosClientesSSN?codClienteSSNHorasAgendar={codClienteSSNHorasAgendar}

No documentation available.

GET api/DadosClientesSSN?codClienteSSNConvenioCliente={codClienteSSNConvenioCliente}&idCliente={idCliente}

No documentation available.

POST api/DadosClientesSSN?codClienteSSN={codClienteSSN}&IDClienteAtualizaDesmar={IDClienteAtualizaDesmar}

Atualiza a quantidade de desmacações que o cliente fez no período.

POST api/DadosClientesSSN?codClienteSSN={codClienteSSN}&IDClienteRetPodeDesmar={IDClienteRetPodeDesmar}

Retorna se o paciente pode desmarcar.

POST api/DadosClientesSSN?codClienteSSN={codClienteSSN}&IDCliente={IDCliente}&Info={Info}

Atualiza as informações gerais do paciente.

GET api/DadosClientesSSN?codClienteFK={codClienteFK}&codSSN={codSSN}

Retorna as fichas de um paciente.

POST api/DadosClientesSSN?paramIDEmpresa={paramIDEmpresa}

Retorna nome fantasia da empresa do cliente.

GET api/DadosClientesSSN?codClienteSSNNomeCliente={codClienteSSNNomeCliente}

Retorna o nome do clienteSSN.

POST api/DadosClientesSSN?varNomeCliente={varNomeCliente}&paramTelefone={paramTelefone}&paramCelular={paramCelular}&paramCPF={paramCPF}&codClienteSSN={codClienteSSN}&paramEndereco={paramEndereco}&paramNumero={paramNumero}&paramComplemento={paramComplemento}&paramBairro={paramBairro}&paramIDConvenio={paramIDConvenio}&paramNomeConvenio={paramNomeConvenio}&paramEmail={paramEmail}&paramDataNasc={paramDataNasc}&paramRG={paramRG}&paramCEP={paramCEP}&status={status}

Cria um novo paciente.

POST api/DadosClientesSSN?varNomeCliente={varNomeCliente}&paramTelefone={paramTelefone}&paramCelular={paramCelular}&paramCPF={paramCPF}&codClienteSSNWebSist={codClienteSSNWebSist}&paramEndereco={paramEndereco}&paramNumero={paramNumero}&paramComplemento={paramComplemento}&paramBairro={paramBairro}&paramIDConvenio={paramIDConvenio}&paramNomeConvenio={paramNomeConvenio}&paramEmail={paramEmail}&paramDataNasc={paramDataNasc}&paramRG={paramRG}&paramCEP={paramCEP}&paramInfoGerais={paramInfoGerais}&status={status}

No documentation available.

POST api/DadosClientesSSN?varNomeClienteWeb={varNomeClienteWeb}&paramTelefone={paramTelefone}&paramCelular={paramCelular}&paramCPF={paramCPF}&codClienteSSNWeb={codClienteSSNWeb}&paramEndereco={paramEndereco}&paramNumero={paramNumero}&paramComplemento={paramComplemento}&paramBairro={paramBairro}&paramIDConvenio={paramIDConvenio}&paramNomeConvenio={paramNomeConvenio}&paramEmail={paramEmail}&paramDataNas={paramDataNas}

Cria e retorna o id.

POST api/DadosClientesSSN?paramIDClienteFicha={paramIDClienteFicha}&codClienteSSN={codClienteSSN}

Cria um novo prontuário.

POST api/DadosClientesSSN?paramNomeClienteAtual={paramNomeClienteAtual}&paramNovoNomeDoCliente={paramNovoNomeDoCliente}&paramTelefone={paramTelefone}&paramCelular={paramCelular}&paramCPF={paramCPF}&codClienteSSN={codClienteSSN}&paramEndereco={paramEndereco}&paramNumero={paramNumero}&paramComplemento={paramComplemento}&paramBairro={paramBairro}&paramIDConvenio={paramIDConvenio}&paramNomeConvenio={paramNomeConvenio}&paramEmail={paramEmail}&paramDataNasc={paramDataNasc}&paramCEP={paramCEP}&paramRG={paramRG}&status={status}&paramIDCliente={paramIDCliente}

Atualiza os dados de um cliente.

POST api/DadosClientesSSN?paramIdCliente={paramIdCliente}&paramNomeClienteAtual={paramNomeClienteAtual}&paramNovoNomeDoCliente={paramNovoNomeDoCliente}&paramTelefone={paramTelefone}&paramCelular={paramCelular}&paramCPF={paramCPF}&codClienteSSNWebSist={codClienteSSNWebSist}&paramEndereco={paramEndereco}&paramNumero={paramNumero}&paramComplemento={paramComplemento}&paramBairro={paramBairro}&paramIDConvenio={paramIDConvenio}&paramNomeConvenio={paramNomeConvenio}&paramEmail={paramEmail}&paramDataNasc={paramDataNasc}&paramCEP={paramCEP}&paramRG={paramRG}&paramInfoGerais={paramInfoGerais}&status={status}

No documentation available.

POST api/DadosClientesSSN?paramIDHistoricoPaciente={paramIDHistoricoPaciente}&paramDadosCampoQP={paramDadosCampoQP}&paramDadosCampoHDA={paramDadosCampoHDA}&paramDadosCampoD={paramDadosCampoD}&paramDadosCampoHPP={paramDadosCampoHPP}&paramDadosCampoI={paramDadosCampoI}&paramDadosCampoP={paramDadosCampoP}&paramDadosCampoHS={paramDadosCampoHS}&paramDadosCampoCT={paramDadosCampoCT}&paramDadosCampoEF={paramDadosCampoEF}&paramDadosCampoM={paramDadosCampoM}&paramDadosCampoDA={paramDadosCampoDA}&paramDadosCampoAP={paramDadosCampoAP}&paramDadosCampoS={paramDadosCampoS}&paramDadosCampoTFM={paramDadosCampoTFM}&paramDadosCampoEC={paramDadosCampoEC}&paramDadosCampoAVD={paramDadosCampoAVD}&paramDadosCampoADR={paramDadosCampoADR}&paramDadosCampoTE={paramDadosCampoTE}&codClienteSSN={codClienteSSN}

No documentation available.

POST api/DadosClientesSSN?paramIDHistoricoPaciente={paramIDHistoricoPaciente}&paramCodCampo={paramCodCampo}&codClienteSSN={codClienteSSN}&paramDadosCampo={paramDadosCampo}

Atualiza um campo do prontuário.

POST api/DadosClientesSSN?fileName={fileName}&codClienteSSN={codClienteSSN}&tipo={tipo}&veioDeOnde={veioDeOnde}&idHistorico={idHistorico}&nomeProf={nomeProf}&IDCliente={IDCliente}&IDSessao={IDSessao}&latAssinatura={latAssinatura}&lngAssinatura={lngAssinatura}&localAssinatura={localAssinatura}&raioAssinatura={raioAssinatura}&codigoDeAcesso={codigoDeAcesso}

Upload de um arquivo do webapp.

DELETE api/DadosClientesSSN?codClienteSSN={codClienteSSN}&IDAnexo={IDAnexo}&local={local}

No documentation available.

POST api/DadosClientesSSN?codClienteSSN={codClienteSSN}&IDCliente={IDCliente}&paramAtiva={paramAtiva}&paramAtivaDesmarcar={paramAtivaDesmarcar}&paramHorasAntes={paramHorasAntes}

Ativa ou desativa a função de enviar lembretes dos atendimentos.

GET api/DadosClientesSSN?codClienteSSNLembrete={codClienteSSNLembrete}&IDCliente={IDCliente}

Retorna as configurações de lembretes dos pacientes.

GET api/DadosClientesSSN?codClienteSSNHoras={codClienteSSNHoras}

Retorna as horas antes com que se pode desmarcar.

GET api/DadosClientesSSN?codClienteSSN={codClienteSSN}&IDSessaoImagens={IDSessaoImagens}

Retorna os arquivos de uma evolução.

GET api/DadosClientesSSN?codClienteSSNImagensFicha={codClienteSSNImagensFicha}&IDCliente={IDCliente}

No documentation available.

GET api/DadosClientesSSN?codClienteSSNImagensPorFicha={codClienteSSNImagensPorFicha}&IDFicha={IDFicha}

GET api/DadosClientesSSN?codClienteSSNArquivosEvolucaoDoCliente={codClienteSSNArquivosEvolucaoDoCliente}&IDCliente={IDCliente}

Retorna os arquivos anexados em todas as evoluções (sessões) de um cliente de uma só vez, em uma única consulta (join), evitando uma ida ao banco por sessão.

GET api/DadosClientesSSN?codClienteSSNArquivosDoCliente={codClienteSSNArquivosDoCliente}&IDCliente={IDCliente}

Retorna os arquivos anexados diretamente ao cliente (sem vínculo de ficha ou de sessão), como os inseridos pela tela de Anexos do sistema desktop (FrmImagensEvolucao em modo Cliente).

GET api/DadosClientesSSN?codClienteSSNUltimaFicha={codClienteSSNUltimaFicha}&IDCliente={IDCliente}

No documentation available.

GET api/DadosClientesSSN?codClienteSSN={codClienteSSN}&IDClienteEvolucoes={IDClienteEvolucoes}

Retorna os IDSessoes das evoluçõe sde um paciente.

GET api/DadosClientesSSN?codClienteSSNLogoAppPaciente={codClienteSSNLogoAppPaciente}

Retorna a logo do app do paciente de cada clínica.

POST api/DadosClientesSSN?codClienteSSNHorasParaAgendar={codClienteSSNHorasParaAgendar}

Retorna as horas antes para agendar uma reposição.

GET api/DadosClientesSSN?paramIDClienteSSN={paramIDClienteSSN}&paramCPFParaVerificar={paramCPFParaVerificar}

No documentation available.

GET api/DadosClientesSSN?codClienteSSN={codClienteSSN}&IDClienteImg={IDClienteImg}

No documentation available.

POST api/DadosClientesSSN?codClienteSSNFotoCliente={codClienteSSNFotoCliente}&IDCliente={IDCliente}&extensao={extensao}&nomearquivo={nomearquivo}

No documentation available.

DELETE api/DadosClientesSSN?codClienteSSN={codClienteSSN}&IDClienteDeletaFoto={IDClienteDeletaFoto}

No documentation available.

POST api/DadosClientesSSN?codClienteSSNAss={codClienteSSNAss}&IDSessaoApaga={IDSessaoApaga}

No documentation available.

POST api/DadosClientesSSN?codClienteSSNAss={codClienteSSNAss}&IDSessao={IDSessao}&latAssinatura={latAssinatura}&lngAssinatura={lngAssinatura}&localAssinatura={localAssinatura}&raioAssinatura={raioAssinatura}

No documentation available.

GET api/DadosClientesSSN?codClienteSSN={codClienteSSN}&IDSessaoAssinatura={IDSessaoAssinatura}

No documentation available.

POST api/DadosClientesSSN?codClienteSSNAss={codClienteSSNAss}&IDFicha={IDFicha}&latAssinatura={latAssinatura}&lngAssinatura={lngAssinatura}&localAssinatura={localAssinatura}&raioAssinatura={raioAssinatura}

No documentation available.

POST api/DadosClientesSSN?codClienteSSNAss={codClienteSSNAss}&IDFichaApaga={IDFichaApaga}

No documentation available.

GET api/DadosClientesSSN?codClienteSSN={codClienteSSN}&IDFichaAssinatura={IDFichaAssinatura}

No documentation available.

POST api/DadosClientesSSN?codClienteSSNAss={codClienteSSNAss}&IDEvolucao={IDEvolucao}&latAssinatura={latAssinatura}&lngAssinatura={lngAssinatura}&localAssinatura={localAssinatura}&raioAssinatura={raioAssinatura}

No documentation available.

POST api/DadosClientesSSN?codClienteSSNAss={codClienteSSNAss}&IDEvolucaoApaga={IDEvolucaoApaga}

No documentation available.

GET api/DadosClientesSSN?codClienteSSN={codClienteSSN}&IDEvolucaoAssinatura={IDEvolucaoAssinatura}

No documentation available.

POST api/DadosClientesSSN?codClienteSSNAss={codClienteSSNAss}&IDAvaliacao={IDAvaliacao}&latAssinatura={latAssinatura}&lngAssinatura={lngAssinatura}&localAssinatura={localAssinatura}&raioAssinatura={raioAssinatura}

No documentation available.

POST api/DadosClientesSSN?codClienteSSNAss={codClienteSSNAss}&IDAvaliacaoApaga={IDAvaliacaoApaga}

No documentation available.

GET api/DadosClientesSSN?codClienteSSN={codClienteSSN}&IDAvaliacaoAssinatura={IDAvaliacaoAssinatura}

No documentation available.

POST api/DadosClientesSSN?codClienteSSNAss={codClienteSSNAss}&codigoDeAcesso={codigoDeAcesso}&latAssinatura={latAssinatura}&lngAssinatura={lngAssinatura}&localAssinatura={localAssinatura}&raioAssinatura={raioAssinatura}

No documentation available.

POST api/DadosClientesSSN?codClienteSSNAss={codClienteSSNAss}&codigoDeAcesso={codigoDeAcesso}

No documentation available.

GET api/DadosClientesSSN?codClienteSSN={codClienteSSN}&codigoDeAcesso={codigoDeAcesso}

No documentation available.

POST api/DadosClientesSSN?codClienteSSNAss={codClienteSSNAss}&IDOrcamentoOdonto={IDOrcamentoOdonto}&latAssinatura={latAssinatura}&lngAssinatura={lngAssinatura}&localAssinatura={localAssinatura}&raioAssinatura={raioAssinatura}

No documentation available.

POST api/DadosClientesSSN?codClienteSSNAss={codClienteSSNAss}&IDOrcamentoOdontoApaga={IDOrcamentoOdontoApaga}

No documentation available.

GET api/DadosClientesSSN?codClienteSSN={codClienteSSN}&IDOrcamentoOdontoAssinatura={IDOrcamentoOdontoAssinatura}

No documentation available.

POST api/DadosClientesSSN?codClienteSSNAss={codClienteSSNAss}&IDOrcamento={IDOrcamento}&latAssinatura={latAssinatura}&lngAssinatura={lngAssinatura}&localAssinatura={localAssinatura}&raioAssinatura={raioAssinatura}

No documentation available.

POST api/DadosClientesSSN?codClienteSSNAss={codClienteSSNAss}&IDOrcamentoApaga={IDOrcamentoApaga}

No documentation available.

GET api/DadosClientesSSN?codClienteSSN={codClienteSSN}&IDOrcamentoAssinatura={IDOrcamentoAssinatura}

No documentation available.

GET api/DadosClientesSSN?nomeBancoGrupo={nomeBancoGrupo}

No documentation available.

GET api/DadosClientesSSN?codigoSSNGrupo={codigoSSNGrupo}

No documentation available.

GET api/DadosClientesSSN?IDGrupo={IDGrupo}

No documentation available.

Cliente

APIDescription
POST api/Cliente/InserirClienteRapido?codClienteSSN={codClienteSSN}

Insere um cliente rápido (mesmo cadastro simplificado usado na tela de Agenda) e retorna o ID gerado.

GET api/Cliente/VerificaCelularCadastrado?codClienteSSN={codClienteSSN}&celular={celular}

Verifica se já existe um cliente cadastrado com o celular informado (usado para alertar duplicidade antes de inserir).

GET api/Cliente?codClienteSSN={codClienteSSN}&dataInicial={dataInicial}&dataFinal={dataFinal}

Retorna os aniversariantes num intervalo de datas (filtra por mês/dia de nascimento).

POST api/Cliente?codClienteSSN={codClienteSSN}

Coloca mensagens de aniversário na fila de envio do WhatsApp para os clientes informados.

Agenda

APIDescription
POST AlteraDataEHoraDaSessao?codClienteSSN={codClienteSSN}&paramIDProf={paramIDProf}&paramHora={paramHora}&paramData={paramData}&paramIDSessao={paramIDSessao}&paramIDAgendamento={paramIDAgendamento}&paramNomeCliente={paramNomeCliente}&nomeTipoAtendimento={nomeTipoAtendimento}&paramUsuario={paramUsuario}&paramIDSala={paramIDSala}

No documentation available.

POST api/AlteraSalaDaSessao?paramIDSessao={paramIDSessao}&paramIDNovaSala={paramIDNovaSala}&paramEstaAlterandoDataEHoraDoAtend={paramEstaAlterandoDataEHoraDoAtend}&codClienteSSN={codClienteSSN}

No documentation available.

GET api/Agenda?codClienteSSN={codClienteSSN}&dataAtual={dataAtual}&clienteAtual={clienteAtual}&IDProf={IDProf}

No documentation available.

GET api/Agenda?codClienteSSN={codClienteSSN}&dataAtual={dataAtual}&clienteAtual={clienteAtual}

No documentation available.

GET api/Agenda?codClienteSSN={codClienteSSN}&dataAtual={dataAtual}&profAtual={profAtual}

Retorna indicadores do mês (bolinhas do calendário).

GET api/Agenda?paramCodigoClienteSSN={paramCodigoClienteSSN}&paramIDProf={paramIDProf}&paramData={paramData}&antigo={antigo}

Retorna os agendamentos da agenda do profissinal por data.

GET api/Agenda?paramCodigoClienteSSN={paramCodigoClienteSSN}&paramDataSemanaMulti={paramDataSemanaMulti}

No documentation available.

GET api/Agenda?paramCodigoClienteSSN={paramCodigoClienteSSN}&paramIDProf={paramIDProf}&paramDataSemana={paramDataSemana}&antigo={antigo}

No documentation available.

GET api/Agenda?paramCodigoClienteSSN={paramCodigoClienteSSN}&paramIDProf={paramIDProf}&idDoAgendamento={idDoAgendamento}

Retorna um agendamento por ID da agenda por profissional.

GET api/Agenda?paramCodigoClienteSSN={paramCodigoClienteSSN}&idDoAgendamentoSemProf={idDoAgendamentoSemProf}

Retorna agendamentos da agenda do profissional pelo ID mas sem profissional.

GET api/Agenda?paramCodigoClienteSSN={paramCodigoClienteSSN}&IDSessaoParaRetornar={IDSessaoParaRetornar}

Retorna da sessão pelo IDSessao.

GET api/Agenda?paramCodigoClienteSSNrepo={paramCodigoClienteSSNrepo}&paramIDProf={paramIDProf}&paramData={paramData}

Retorna os horários disponíveis, por data, por profissional.

GET api/Agenda?paramIDProf={paramIDProf}&paramIDAgend={paramIDAgend}&codClienteSSN={codClienteSSN}

Retorna o IDSessao de um agendamento da agenda do profissional (se não estiver desmarcado).

GET api/Agenda?paramCodigoClienteSSN={paramCodigoClienteSSN}&paramIDProf={paramIDProf}&paramData={paramData}&dif={dif}

Retorna as sessões (agenda do controle) por data.

GET api/Agenda?paramCodigoClienteSSN={paramCodigoClienteSSN}&paramData={paramData}

Retorna a lista de desmarcações (todos os profissionais) de uma determinada data. Espelha a tela "Lista Desmarcações" do sistema desktop (status = 3 - Desmarcado).

GET api/Agenda?paramCodigoClienteSSN={paramCodigoClienteSSN}&paramIDProf={paramIDProf}&IDTipoAtend={IDTipoAtend}

Retorna as sessões filtradas por profissional e tipo de atendimento.

GET api/Agenda?paramCodigoClienteSSN={paramCodigoClienteSSN}&idClienteControleSemProf={idClienteControleSemProf}

Retorna as sessões de um cliente sem o ID do profissional.

GET api/Agenda?paramCodigoClienteSSN={paramCodigoClienteSSN}&idClienteControleSemProf={idClienteControleSemProf}&paramData={paramData}

Retorna a sessão de um cliente por data sem precisar informar o profissional.

GET api/Agenda?paramCodigoClienteSSN={paramCodigoClienteSSN}&idClienteControleSemProfMesAtual={idClienteControleSemProfMesAtual}&controleDesmar={controleDesmar}

No documentation available.

GET api/Agenda?paramCodigoClienteSSN={paramCodigoClienteSSN}&idClienteControle={idClienteControle}&paramData={paramData}&IDProf={IDProf}

Retorna as sessões do cliente por data, por profissional.

GET api/Agenda?IDSessaoInformacoes={IDSessaoInformacoes}&codClienteSSN={codClienteSSN}

Retorna o resumo rápido (somente leitura) de um atendimento, equivalente ao tooltip "Informações" da agenda do desktop.

GET api/Agenda?IDSessaoResumo={IDSessaoResumo}&codClienteSSN={codClienteSSN}

Retorna os dados completos (somente leitura) de um atendimento, para a aba "Resumo" da tela de Detalhes do atendimento.

GET api/Agenda?IDSessaoFK={IDSessaoFK}&codClienteSSN={codClienteSSN}

Retorna o histórico de alterações de status de uma sessão de atendimento.

POST api/Agenda?IDSessaoDeFisio={IDSessaoDeFisio}&IDNovoProcedimento={IDNovoProcedimento}&codClienteSSN={codClienteSSN}

Troca o procedimento (tipo de evento) de uma sessão, recalculando o valor cobrado do cliente e o repasse ao profissional na mesma proporção que já existia (mesma lógica do desktop, frmDetalhesDaSessao2026).

POST api/Agenda?IDSessaoDeFisio={IDSessaoDeFisio}&IDProfissional={IDProfissional}&codClienteSSN={codClienteSSN}

Marca o atendimento como "Sem resposta" (status 14 — cliente não respondeu à confirmação), reaproveitando o mesmo método interno (AtualizaStatusSessao) já usado pelo desktop via SOAP.

POST api/Agenda?tipoCliente={tipoCliente}&nomeCliente={nomeCliente}&idProf={idProf}&tipoAtend={tipoAtend}&data={data}&hora={hora}&idSala={idSala}&nomeSala={nomeSala}&codClienteSSN={codClienteSSN}&IDCliente={IDCliente}&paramIDFormaDePagamento={paramIDFormaDePagamento}&horafim={horafim}&vaiInserirEmNovoPlano={vaiInserirEmNovoPlano}&IDPlano={IDPlano}&Obs={Obs}&procedimentos={procedimentos}&celular={celular}

Cria um novo agendamento (horário na agenda + sessão).

GET api/Agenda?codClienteSSNDesmarcacoes={codClienteSSNDesmarcacoes}&IDClienteDesmarcacoes={IDClienteDesmarcacoes}

Retorna a quantidade total de desmarcações de um cliente (tabDesmarcacoes), mesma contagem usada no painel de detalhe do paciente do SistemaSSN desktop (classControleDoCliente.RetornaQtdDesmarcacoesDoCliente).

POST api/Agenda?codClienteSSN={codClienteSSN}&varIDAgendamento={varIDAgendamento}&nomeCliente={nomeCliente}&status={status}

Atualiza o nome do cliente na tabAgendaPorProfissional

POST api/Agenda?codClienteSSN={codClienteSSN}&IDAgend={IDAgend}&IDProf={IDProf}&IDSessao={IDSessao}&vaiDeletar={vaiDeletar}&vaiAlterarObs={vaiAlterarObs}&vaiZerarComissao={vaiZerarComissao}&novaObs={novaObs}

Libera ou limpa o horário.

POST api/Agenda?codClienteSSN={codClienteSSN}&IDProf={IDProf}&IDAgend={IDAgend}&recado={recado}

Cria um recado no agendamento.

GET api/Agenda?codClienteSSN={codClienteSSN}&IDRepoValida={IDRepoValida}

GET api/Agenda?codClienteSSN={codClienteSSN}&IDClienteDesmar={IDClienteDesmar}

Retorna as reposições.

POST api/Agenda?codClienteSSN={codClienteSSN}&IDSessaoAssinatura={IDSessaoAssinatura}&valor={valor}

No documentation available.

GET api/Agenda?codClienteSSN={codClienteSSN}&idSessaoParaIndice={idSessaoParaIndice}

Retorna o índice do plano de atendimento (IDIndiceAgendamentoFK) ao qual uma sessão pertence. Usado antes de "Cancelar plano" (PostCancelaAgendamentosPlano), que cancela todo o plano a partir desse índice — mesma resolução feita pelo SistemaSSN desktop (ClassAlteraSessoesDeFisio.RetornaIndiceDaSessaoPeloID).

GET api/Agenda?codClienteSSN={codClienteSSN}&IDClienteProxAtend={IDClienteProxAtend}

No documentation available.

GET api/Agenda?codClienteSSN={codClienteSSN}&IDClienteProxAtendDez={IDClienteProxAtendDez}

No documentation available.

GET api/Agenda?codClienteSSN={codClienteSSN}&IDClienteCelular={IDClienteCelular}

No documentation available.

POST api/Agenda?codClienteSSN={codClienteSSN}&idCliente={idCliente}&idProf={idProf}&qtdSessoes={qtdSessoes}&descricao={descricao}&idFormaPgto={idFormaPgto}&valorProf={valorProf}&valorSessao={valorSessao}&idTipoAgendamento={idTipoAgendamento}&nomeClienteTextoDaSessao={nomeClienteTextoDaSessao}&idUnidade={idUnidade}&usuario={usuario}&tipoInsercao={tipoInsercao}&idIndiceExistente={idIndiceExistente}

Cria um plano de sessões sem data e hora (novo plano ou acrescenta num existente).

GET api/Agenda?codClienteSSNJustificativasNaoVeioAtivas={codClienteSSNJustificativasNaoVeioAtivas}

Justificativas padrão configuráveis do cliente, ativas, na ordem de exibição — para alimentar o modal exibido ao marcar um agendamento como "Não veio". Se a tabela tabJustificativasNaoVeio ainda não existir no banco do cliente (script não rodado) ou houver falha de acesso, devolve as 3 justificativas padrão iniciais (fallback), espelhando o comportamento do app desktop (ClassJustificativasNaoVeio). "Não informado" NÃO entra nesta lista: é opção fixa/reservada, tratada no front-end.

GET api/Agenda?codClienteSSN={codClienteSSN}&idSessaoJustificativa={idSessaoJustificativa}

Justificativa do "Não veio" já gravada para uma sessão (para pré-selecionar no modal quando o usuário reabre a edição). Devolve string vazia se não houver nada gravado.

POST api/Agenda?codClienteSSN={codClienteSSN}&idSessaoJustificativa={idSessaoJustificativa}&justificativa={justificativa}

Grava a justificativa do "Não veio" para uma ou mais sessões (uso em lote quando várias sessões da agenda de salas são marcadas de uma vez). Gravação é opcional: o front-end só chama esse endpoint quando o usuário efetivamente escolhe/confirma uma justificativa.

Odontologia

Leitura e operações sobre o Plano de Tratamento Odontológico (tabOdontoPlano / tabOdontoPlanoItem), espelhando as regras de negócio do SistemaSSN desktop (ModOdonto\ClassOdontoRepositorio2026.vb). Criação de um plano novo, edição livre de um item já salvo e o odontograma gráfico continuam exclusivos do desktop — aqui só: listar, aprovar, adicionar item, concluir item e excluir item. Travas que no desktop existem só na UI (botão desabilitado) e aqui são revalidadas no servidor: aprovar exige Situacao=1 e pelo menos um item ativo; excluir recusa item já Executado (Situacao=3).

APIDescription
GET api/Odontologia/GetSituacaoDoModulo?codClienteSSN={codClienteSSN}

Espelha tabConfiguracoesGerais.AtivaAreaDeOdontologia (IDConfig = 1), o mesmo flag que no desktop decide se o submenu de Odontologia é montado (UsaOdontograma2026 em ModuloVariaveisGlobais.vb). Clínicas sem a tabela/coluna (banco desatualizado) ou sem o flag ligado: módulo não liberado.

GET api/Odontologia/GetPlanos?codClienteSSN={codClienteSSN}&idCliente={idCliente}

No documentation available.

GET api/Odontologia/GetPlanoDetalhado?codClienteSSN={codClienteSSN}&idPlano={idPlano}

No documentation available.

GET api/Odontologia/GetPlanoParaAssinatura?codClienteSSN={codClienteSSN}&idPlano={idPlano}&cpf={cpf}

Retorna os dados de um plano de tratamento odontológico para a página pública de assinatura do paciente (link por CPF + ID do plano, mesmo padrão de Ficha/Evolução/ Avaliação). Fail-closed: CPF ou plano não batem ⇒ null.

GET api/Odontologia/GetProcedimentos?codClienteSSN={codClienteSSN}&idConvenio={idConvenio}

No documentation available.

POST api/Odontologia/PostAprovarPlano

No documentation available.

POST api/Odontologia/PostAdicionarItem

No documentation available.

DELETE api/Odontologia/DeleteItem?codClienteSSN={codClienteSSN}&idPlano={idPlano}&idItem={idItem}

No documentation available.

POST api/Odontologia/PostConcluirItem

No documentation available.

RD

APIDescription
POST api/CreateAtosNoRD?codClienteSSN={codClienteSSN}&RDToken={RDToken}

Cadastrar um cliente do ATOS para RD.

POST api/CreateRDNoAtos?codClienteSSN={codClienteSSN}&RDToken={RDToken}

Cadastrar um cliente do RD para ATOS.

GET api/RD?RDToken={RDToken}&page={page}&limit={limit}&order={order}&direction={direction}&email={email}&q={q}&phone={phone}&title={title}

Lista de Contato

GET api/RD?RDToken={RDToken}&ContactId={ContactId}

Exibir dados de um Contato por Id

POST api/RD?RDToken={RDToken}

Cria um novo contato na API do RD Station CRM.

PUT api/RD?RDToken={RDToken}&contactId={contactId}

Edita um contato existente na API do RD Station CRM.

ProntuarioIA

Endpoints do módulo "Prontuário por IA" (escuta da consulta): busca de paciente, atendimentos/anamneses para anexar a evolução, gravação da evolução revisada, e os proxies de IA (Claude para estruturação, AssemblyAI para transcrição) — as chaves dessas duas ficam no Web.config do servidor, nunca no aplicativo que chama esta API. Espelha, no servidor, as mesmas consultas que o SistemaSSN desktop já faz em ClassEscutaDados2026.vb — mesmo schema de tabelas, mesma regra de negócio (evolução exige atendimento e ficha de anamnese existentes; nada é inventado aqui).

APIDescription
GET api/ProntuarioIA/GetBuscarPacientes?codClienteSSN={codClienteSSN}&termo={termo}&maxLinhas={maxLinhas}

Busca pacientes por trecho do nome ou pelo código exato.

GET api/ProntuarioIA/GetFichaResumidaPaciente?codClienteSSN={codClienteSSN}&idCliente={idCliente}

Ficha resumida do paciente em texto, enviada à IA como fonte de dados (a regra anti-invenção do system prompt permite usar TRANSCRIÇÃO + FICHA). Só dados de identificação — nada de histórico clínico que a IA possa repetir como se tivesse sido dito na consulta.

GET api/ProntuarioIA/GetAtendimentosDoPaciente?codClienteSSN={codClienteSSN}&idCliente={idCliente}&diasAntes={diasAntes}&diasDepois={diasDepois}

Atendimentos do paciente numa janela de dias em torno de hoje, para escolher a qual deles a evolução será anexada. Exclui desmarcado/cancelado (não se evolui atendimento que não aconteceu).

GET api/ProntuarioIA/GetAnamnesesDoPaciente?codClienteSSN={codClienteSSN}&idCliente={idCliente}

Fichas de anamnese do paciente (tabHistoricoPaciente) — a evolução é sempre anexada a uma delas.

GET api/ProntuarioIA/GetConsultasGravadas?codClienteSSN={codClienteSSN}&usuarioLogin={usuarioLogin}&maxLinhas={maxLinhas}

Últimas evoluções gravadas POR ESTA FERRAMENTA (identificadas pelo carimbo do texto), do profissional informado (LGPD: só as dele).

POST api/ProntuarioIA/PostGravarEvolucao

Grava o prontuário revisado como evolução do atendimento escolhido (SP oficial InsereEvolucaoTratamento) e CONFERE no banco que a linha realmente entrou com o autor e o texto esperados — sem essa releitura, "salvo com sucesso" seria só uma esperança (a SP não garante contra truncamento/trigger silencioso).

GET api/ProntuarioIA/GetSituacaoDoModulo?codClienteSSN={codClienteSSN}

Situação do "Prontuário por IA" para esta clínica: se o módulo está contratado (gate comercial) e como está a cota de horas do mês — o mesmo que o desktop mostra no cabeçalho da tela. O app chama isto para decidir se libera a gravação/transcrição, em vez de perguntar se há chave configurada (não há mais chave para configurar — ver ClassEscutaChavesCentral).

POST api/ProntuarioIA/PostEstruturarProntuario

Estrutura o prontuário a partir da transcrição diarizada (+ ficha) usando a Claude API. Desde a migração para o gate central (mesma mudança feita no SistemaSSN desktop em 30/07/2026), a chave NUNCA vem do app — é sempre lida de tabChavesIAEscuta no banco central, condicionada ao plano contratado pela clínica (ClassEscutaChavesCentral). A estruturação não consome a cota de minutos — só entra no custo (ver ClassEscutaConsumoIA).

POST api/ProntuarioIA/PostTranscreverAudio?codClienteSSN={codClienteSSN}&idCliente={idCliente}&identificadorSessao={identificadorSessao}&idProfissional={idProfissional}&nomeProfissional={nomeProfissional}

Transcreve o áudio da consulta (corpo da requisição = bytes do WAV/WEBM, application/octet-stream) usando a AssemblyAI. Chave central (ver PostEstruturarProntuario) e, diferente da estruturação, sujeita à cota MENSAL de minutos do plano da clínica — uma clínica sem saldo e sem uso extra liberado é bloqueada aqui, antes de gastar com a transcrição.

AOL

APIDescription
POST api/AOL/validar

No documentation available.

GET api/AOL?codClienteSSN={codClienteSSN}

Retorna as especialidades disponíveis atualmente para agendamento online, junto com o preço.

GET api/AOL?codClienteSSNAppCli={codClienteSSNAppCli}

Retorna as especialidades disponíveis atualmente para agendamento online, junto com o preço.

GET api/AOL?codClienteSSN={codClienteSSN}&IDEspecialidadeProf={IDEspecialidadeProf}

Retorna os profissionais, por especialidade.

POST api/AOL?codClienteSSN={codClienteSSN}&nomeCliente={nomeCliente}&celularCliente={celularCliente}&data={data}&hora={hora}&idProfissional={idProfissional}&idTipoDeEvento={idTipoDeEvento}&idSala={idSala}&nomeSala={nomeSala}

Cria um agendamento.

GET api/AOL?codClienteSSN={codClienteSSN}&data={data}&IDClienteQuant={IDClienteQuant}

No documentation available.

GET api/AOL?codClienteSSNQtdVezesDia={codClienteSSNQtdVezesDia}

No documentation available.

GET api/AOL?codClienteSSNMaxDias={codClienteSSNMaxDias}

No documentation available.

GET api/AOL?codClienteSSN={codClienteSSN}&paramData={paramData}&paramIDProf={paramIDProf}&qtdHorasPermitidasParaAgendar={qtdHorasPermitidasParaAgendar}&IDEspecialidade={IDEspecialidade}&nomeEspecialidade={nomeEspecialidade}

Retorna horários vagos para o profissional.

POST api/AOL?bancoDeDados={bancoDeDados}&IDClienteEnviarNotificacao={IDClienteEnviarNotificacao}&texto={texto}&codigo={codigo}&idsessao={idsessao}

No documentation available.

POST api/AOL?codClienteSSN={codClienteSSN}&token={token}&IDCliente={IDCliente}

No documentation available.

GET api/AOL?bancoDeDados={bancoDeDados}&IDClienteRetornaTokens={IDClienteRetornaTokens}

No documentation available.

Paciente

APIDescription
GET api/Paciente/Buscar?codClienteSSN={codClienteSSN}&termo={termo}&ativo={ativo}&maxLinhas={maxLinhas}

GET api/Paciente/Buscar?codClienteSSN=X&termo=&ativo=&maxLinhas=300 Sem 'termo': retorna os cadastros mais recentes. Com 'termo': busca por nome, código, CPF ou celular. 'ativo': 1 = somente ativos, 0 = somente inativos, ausente = todos.

GET api/Paciente/Estatisticas?codClienteSSN={codClienteSSN}

GET api/Paciente/Estatisticas?codClienteSSN=X Contagem de pacientes ativos/inativos e dos indicadores da tela de Pacientes (Inadimplentes, Devendo Guia, Guia Finalizada), replicando as mesmas fontes usadas pelos cards da lista de clientes do SistemaSSN desktop (formClientes22026): - Inadimplentes: igual à SP RetornaDadosGerenciais3 (COUNT(*) FROM tabClientes WHERE Bloqueado = 1, sem filtro de ativo/listado — a SP também não filtra). - DevendoGuia / GuiaFinalizada: iguais à view ViewClientesLista2 (filtro NaoListadoComoPaciente = 0 AND ExcluidoNaoListado = 0).

IAL

APIDescription
POST api/IAL/PostAgendar

Agendar um atendimento. Retorna o status. Se deu certo, retorna 1. -- 1 = Agendamento Criado, 2 = Horário indisponivel, 3 = Nome cliente não confere

POST api/IAL/PostDesmarcar

Desmarcar um atendimento. Retorna 1 se deu certo e 0 se deu errado.

POST api/IAL/PostRemarcar

Remarcar um atendimento. Retorna 1 se deu certo e 0 se deu errado.

GET api/IAL?codClienteSSN={codClienteSSN}&paramData={paramData}&paramIDProf={paramIDProf}&IDCliente={IDCliente}&IDEspecialidade={IDEspecialidade}&nomeEspecialidade={nomeEspecialidade}

Retorna os horários vagos para uma data.

GET api/IAL?codClienteSSN={codClienteSSN}&dataInicio={dataInicio}&dataFim={dataFim}&paramIDProf={paramIDProf}&IDCliente={IDCliente}&IDEspecialidade={IDEspecialidade}&nomeEspecialidade={nomeEspecialidade}

No documentation available.

GET api/IAL?codClienteSSN={codClienteSSN}&idClienteRetornaMes={idClienteRetornaMes}

Retorna os dados do cliente pelo celular, se existir. Retorna o id e o nome.

GET api/IAL?codClienteSSN={codClienteSSN}&celular={celular}

No documentation available.

GET api/IAL?codClienteSSN={codClienteSSN}&data={data}&hora={hora}&idcliente={idcliente}

Retorna a sessão por data, hora e id do cliente.

GET api/IAL?paramIDProf={paramIDProf}&paramIDAgend={paramIDAgend}&codClienteSSN={codClienteSSN}

Retorna IDSessao pelo idagend.

GET api/IAL?paramIDProf={paramIDProf}&paramIDAgendAgenda={paramIDAgendAgenda}&codClienteSSN={codClienteSSN}

Retorna o agendamento de acordo com o id da agenda.

Financeiro

APIDescription
GET api/Financeiro/lancamentos?codClienteSSNWeb={codClienteSSNWeb}&codBanco={codBanco}&despesaOuReceita={despesaOuReceita}&mes={mes}&ano={ano}&codNatureza={codNatureza}&codCategoria={codCategoria}

No documentation available.

GET api/Financeiro/fluxo-caixa?codClienteSSN={codClienteSSN}&dataInicial={dataInicial}&dataFinal={dataFinal}&codBanco={codBanco}&codCategoria={codCategoria}&codNatureza={codNatureza}&fechamento={fechamento}

No documentation available.

POST api/Financeiro?codClienteSSN={codClienteSSN}&codConta={codConta}&tipoLanc={tipoLanc}&codTipoLanc={codTipoLanc}&natureza={natureza}&valor={valor}&usuario={usuario}&data={data}&valorBruto={valorBruto}&radioClienteOutros={radioClienteOutros}&idCliente={idCliente}&nomeCliente={nomeCliente}&vincularProfissional={vincularProfissional}&idProf={idProf}&detalhes={detalhes}&textoOutros={textoOutros}&tipoPagamento={tipoPagamento}&quitandoParcelas={quitandoParcelas}

Insere novo lançamento de caixa (Receita ou Despesa).

GET api/Financeiro?codClienteSSN={codClienteSSN}&paramDataInicial={paramDataInicial}&paramDataFinal={paramDataFinal}&paramIDCaixaFK={paramIDCaixaFK}&paramIDCategoriaFK={paramIDCategoriaFK}&paramIDNaturezaFK={paramIDNaturezaFK}

Retorna os valores de Receita, Despesa e Saldo, de acordo com o mês.

GET api/Financeiro?codClienteSSN={codClienteSSN}&codBanco={codBanco}&despesaOuReceita={despesaOuReceita}&mes={mes}&ano={ano}&dif={dif}

Retorna as receitas ou as despesas.

GET api/Financeiro?codClienteSSNAgendQuitar={codClienteSSNAgendQuitar}&Data={Data}

Retorna os atendimentos não quitados do mês.

POST api/Financeiro?codClienteSSN={codClienteSSN}&IDSessao={IDSessao}&varPagou={varPagou}&IDLanc={IDLanc}

Quita o atendimento pelo ID e o vincula a um lançamento.

GET api/Financeiro?codClienteSSN={codClienteSSN}&IDTipoEvento={IDTipoEvento}

Retorna o ID da natureza pelo IDTipoDeAgendamentoFK da tabAgendamentoDeSessoesDeFisiot.

GET api/Financeiro?codClienteSSNAgendQuitar={codClienteSSNAgendQuitar}&IDAgendamento={IDAgendamento}&conexao={conexao}

Retorna sessão com os dados para quitação de atendimento pelo ID do Agendamento na Agenda por profissional.

GET api/Financeiro?codClienteSSNAgendQuitar={codClienteSSNAgendQuitar}&IDAgendamentoSessao={IDAgendamentoSessao}

Retorna sessão com os dados para quitação de atendimento pelo ID do Agendamento na Agenda por profissional.

GET api/Financeiro?codClienteSSNAReceber={codClienteSSNAReceber}&tipo={tipo}

Retorna os lançamentos a receber.

GET api/Financeiro?codClienteSSN={codClienteSSN}&IDEntidade={IDEntidade}

Retorna os recebimentos de um cliente.

GET api/Financeiro?codClienteSSN={codClienteSSN}&IDIndiceCliente={IDIndiceCliente}

Retorna os recebimentos de um cliente.

GET api/Financeiro?codClienteSSN={codClienteSSN}&IDIndice={IDIndice}

Retorna as parcelas de um recebimento do cliente.

GET api/Financeiro?codClienteSSN={codClienteSSN}&filtro={filtro}&dataInicial={dataInicial}&dataFinal={dataFinal}&situacao={situacao}

Retorna as parcelas do contas a receber.

GET api/Financeiro?codClienteSSN={codClienteSSN}&IDIndiceRetornaDados={IDIndiceRetornaDados}

Retorna uma conta P e R pelo seu índice.

POST api/Financeiro?codClienteSSN={codClienteSSN}&varCodPagRec={varCodPagRec}&valor={valor}&dataVenc={dataVenc}&gerouCaixa={gerouCaixa}&IDIndice={IDIndice}&IDCliente={IDCliente}

Quita uma parcela de um plano.

POST api/Financeiro?codClienteSSN={codClienteSSN}&paramCodPagRecRemover={paramCodPagRecRemover}

Remove um recebimento.

POST api/Financeiro?codClienteSSN={codClienteSSN}&idContaPeR={idContaPeR}&novoValor={novoValor}&atualizar={atualizar}

Altera o valor de uma conta.

POST api/Financeiro?codClienteSSN={codClienteSSN}&idContaPeR={idContaPeR}&observacoes={observacoes}

Altera as observações da conta.

POST api/Financeiro?codClienteSSN={codClienteSSN}&idContaPeR={idContaPeR}&paramDataDeQuitacao={paramDataDeQuitacao}&paramVaiTrancar={paramVaiTrancar}&paramTextoObs={paramTextoObs}

Tranca uma conta a receber.

POST api/Financeiro?codClienteSSN={codClienteSSN}&idContaPeR={idContaPeR}&novaDataVenc={novaDataVenc}&idcliente={idcliente}&param1AlteraVencimento_2AlteraQuitacao={param1AlteraVencimento_2AlteraQuitacao}

Altera a Data de vencimento de uma conta.

POST api/Financeiro?codClienteSSN={codClienteSSN}&idContaPRBoleto={idContaPRBoleto}

Retorna o link do boleto.

POST api/Financeiro?codClienteSSNPix={codClienteSSNPix}

Retorna o PIX da clínica.

POST api/Financeiro?codClienteSSN={codClienteSSN}&IDCliente={IDCliente}&nomeCliente={nomeCliente}&valorTotal={valorTotal}&qtdParcelas={qtdParcelas}&dataVenc={dataVenc}&freq={freq}&tipoFreq={tipoFreq}&tipoEntidade={tipoEntidade}&tipoPagamento={tipoPagamento}&nomeProf={nomeProf}&cheque={cheque}&valorParcela={valorParcela}&obs={obs}&percDesconto={percDesconto}&valorDesconto={valorDesconto}&valorInteiroSemDesconto={valorInteiroSemDesconto}&vaiVincularAtend={vaiVincularAtend}&IDAgend={IDAgend}

Cria um recebimento do cliente.

POST api/Financeiro?codClienteSSN={codClienteSSN}

Cadastra Natureza de Operacao.

POST api/Financeiro?codClienteSSN={codClienteSSN}&idNaturezaOperacao={idNaturezaOperacao}

Obtém informações de uma Natureza com base em seu ID.

POST api/Financeiro?codClienteSSN={codClienteSSN}&IDContaPeR={IDContaPeR}&paramMeioDePgto={paramMeioDePgto}&IDCliente={IDCliente}

No documentation available.

POST api/Financeiro?codClienteSSNCartao={codClienteSSNCartao}&IDCliente={IDCliente}

No documentation available.

POST api/Financeiro?codClienteSSNEndereco={codClienteSSNEndereco}&IDCliente={IDCliente}

No documentation available.

POST api/Financeiro?codClienteSSNCartao={codClienteSSNCartao}&IDContaPeR={IDContaPeR}&paramMeioDePgto={paramMeioDePgto}&IDCartao={IDCartao}

No documentation available.

GET api/Financeiro?codClienteSSNCartao={codClienteSSNCartao}&IDCliente={IDCliente}

No documentation available.

POST api/Financeiro?password={password}&salt={salt}

No documentation available.

POST api/Financeiro?encryptedText={encryptedText}&password={password}&salt={salt}

No documentation available.

POST api/Financeiro?codClienteSSNCartao={codClienteSSNCartao}&IDCliente={IDCliente}&numCartao={numCartao}&nomeNoCartao={nomeNoCartao}&vencimento={vencimento}&cvv={cvv}

No documentation available.

GET api/Financeiro?codClienteSSNRecorrencia={codClienteSSNRecorrencia}

No documentation available.

GET api/Financeiro?codClienteSSNLink={codClienteSSNLink}&IDConta={IDConta}

No documentation available.

POST api/Financeiro?codClienteSSN={codClienteSSN}&codLanc={codLanc}&usuario={usuario}&idCliente={idCliente}&motivoEstorno={motivoEstorno}

Estorna um lançamento de caixa, reverte as sessões vinculadas e grava log.

LoginCliente

Endpoint de login consolidado para o app cliente. Criado à parte de DadosClientesSSNController para não alterar comportamento de endpoints já usados por outras telas/apps (postLoginWebAppClienteNovo, GetRetornaLogoAppCliente, GetRetornaNomeClienteSSN continuam intactos). Substitui, no app cliente, a sequência login -> retornaLogo -> retornaNomeECorCliente (3 requisições, cada uma resolvendo a conexão da clínica do zero) por uma única requisição que já devolve cliente, nome, cor e logo de cada clínica candidata, reaproveitando a resolução de conexão via ConexaoCacheLogin.

APIDescription
POST api/LoginCliente/Completo?cpf={cpf}

No documentation available.

EvolucaoPersonalizada

Endpoints da "Evolução Personalizada": modelos (campos configuráveis pelo usuário — texto, checkbox, seleção, pontuação, escala de dor, títulos de grupo) e o preenchimento desses modelos por atendimento. Espelha, no servidor, o mesmo desenho que o SistemaSSN desktop já usa (ModEvolucao\SQL\01_EvolucaoPersonalizada_Fase0.sql e ClassesCompartilhadas\ClassEvolucaoPersonalizadaDB.vb): as respostas de uma evolução são um SNAPSHOT (título/tipo/ordem copiados do modelo no momento do save, para a evolução continuar legível mesmo se o modelo mudar ou for excluído depois), e um "texto espelho" gerado a partir das respostas é gravado na mesma coluna Observacoes que a evolução em texto livre já usa (SP InsereEvolucaoTratamento) — assim listas e relatórios antigos continuam funcionando sem saber que a evolução é estruturada. Tipos de campo (catálogo fixo, mesmos IDs da feature irmã "Avaliação Personalizada"): 1 Texto longo, 10 Texto curto, 2 Caixa de seleção, 15 Seleciona vários (hoje renderizado igual ao 2 — ver GetTiposDeCampo), 13 Seleciona um, 3 Título de grupo, 17 Subtítulo, 6 Escala de Dor, 5 Pontuação.

APIDescription
GET api/EvolucaoPersonalizada/GetTiposDeCampo

Catálogo fixo dos tipos de campo. Estático (não consulta banco) — os IDs e a semântica de cada tipo são uma regra de negócio fixa, compartilhada com a Avaliação Personalizada.

GET api/EvolucaoPersonalizada/GetModelos?codClienteSSN={codClienteSSN}

No documentation available.

GET api/EvolucaoPersonalizada/GetModeloDetalhado?codClienteSSN={codClienteSSN}&idModelo={idModelo}

No documentation available.

POST api/EvolucaoPersonalizada/PostCadastrarModelo

No documentation available.

PUT api/EvolucaoPersonalizada/PutEditarModelo

No documentation available.

DELETE api/EvolucaoPersonalizada/DeleteModelo?codClienteSSN={codClienteSSN}&idModelo={idModelo}

No documentation available.

POST api/EvolucaoPersonalizada/PostDuplicarModelo

No documentation available.

GET api/EvolucaoPersonalizada/GetRespostasDaEvolucaoPorSessao?codClienteSSN={codClienteSSN}&idSessao={idSessao}

No documentation available.

POST api/EvolucaoPersonalizada/PostSalvarEvolucaoPersonalizada

Grava uma evolução personalizada: gera o texto espelho, chama a SP oficial de evolução (InsereEvolucaoTratamento — mesma da evolução em texto livre) e regrava o snapshot de respostas (delete + insert, mesmo padrão de SalvarRespostas no desktop). Lê o corpo manualmente (como ProntuarioIAController.PostGravarEvolucao) para poder validar antes de tocar o banco.

SalaDeEspera

Endpoints de apoio à tela de Sala de Espera (ModAgendas) do sistema desktop. Consulta e atualiza o status 13 (Em espera) das sessões agendadas do dia.

APIDescription
GET api/SalaDeEspera/Lista?codClienteSSN={codClienteSSN}&data={data}

Retorna a lista (plana) de pacientes atualmente em espera (status 13) na data informada.

GET api/SalaDeEspera/ListaAgrupada?codClienteSSN={codClienteSSN}&data={data}

Retorna a lista de pacientes em espera agrupada por profissional, na ordem de chegada (mesmo agrupamento exibido na tela FrmSalaDeEspera do sistema desktop).

POST api/SalaDeEspera/MarcarEmEspera?codClienteSSN={codClienteSSN}&idSessao={idSessao}&idProfissional={idProfissional}&idAgendamento={idAgendamento}&nomeCliente={nomeCliente}

Marca a sessão como "Paciente em espera" (status 13), equivalente à opção "Paciente em espera" do menu de contexto da Agenda.

POST api/SalaDeEspera/RemoverDaEspera?codClienteSSN={codClienteSSN}&idSessao={idSessao}&idProfissional={idProfissional}&idAgendamento={idAgendamento}&nomeCliente={nomeCliente}&novoStatus={novoStatus}

Remove a sessão da sala de espera, revertendo o status (por padrão para Aberto = 1). Útil para desfazer uma marcação de "Paciente em espera" feita por engano.

RelatoriosAgenda

APIDescription
GET api/RelatoriosAgenda?codClienteSSN={codClienteSSN}&idIndiceAgendamento={idIndiceAgendamento}

No documentation available.

EncontraHorarioPorEspecialidade

Endpoints que sustentam o FrmEncontraHorarioPorEspecialidade2026 (busca de horários vagos por especialidade/centro de custo). A lista de especialidades já é coberta pelo PreenchimentoController (GetRetornaEspecialidadesComPreco, consumido no front via ShareService.retornaCentroDeCustoFinanceiro) — aqui fica só a busca: ProcurarVagas chama a SP BuscaAgendamentosComVaga2 e em seguida lê o resultado da ViewHorariosDisponiveisBusca, da mesma forma que classControleAgenda.

APIDescription
GET api/EncontraHorarioPorEspecialidade?codClienteSSN={codClienteSSN}&idEspecialidade={idEspecialidade}&dataInicio={dataInicio}&dataFim={dataFim}&horarioMinimo={horarioMinimo}&horarioMaximo={horarioMaximo}&usuario={usuario}&domingo={domingo}&segunda={segunda}&terca={terca}&quarta={quarta}&quinta={quinta}&sexta={sexta}&sabado={sabado}

No documentation available.

ConfClientes

Endpoints da aba Configurações do cadastro do cliente (formClienteSelec2). Campos de tabClientes são cobertos pelo GET/PATCH principal. O campo AvisarSeNaoEvoluirUmAtendimento fica em tabIndiceAgendamentoSessoesFisiot e é atualizado pelo endpoint EditarAvisarSeNaoEvoluir.

APIDescription
GET api/ConfClientes?codClienteSSN={codClienteSSN}&idCliente={idCliente}

No documentation available.

PATCH api/ConfClientes?codClienteSSN={codClienteSSN}&idCliente={idCliente}

No documentation available.

PATCH api/ConfClientes?codClienteSSN={codClienteSSN}&idIndiceAgendamento={idIndiceAgendamento}&avisar={avisar}

No documentation available.

GET api/ConfClientes?codClienteSSNHoras={codClienteSSNHoras}

No documentation available.

GET api/ConfClientes?codClienteSSNEvento={codClienteSSNEvento}

No documentation available.

GET api/ConfClientes?codClienteSSNProf={codClienteSSNProf}

No documentation available.

ConfigAgenda

Endpoints da tela de configuração rápida da agenda (frmConfigDaAgenda): tipo de atendimento padrão ao agendar, atualização automática da agenda e ordenação alfabética dos profissionais. Os dados de configuração vêm de tabConfiguracoesGerais, que é uma tabela de linha única (IDConfig = 1). Feriados/bloqueio de dias (frmControleDisponibilidadeDiasEFeriados) não fazem parte desta config rápida e ficam de fora deste controller.

APIDescription
GET api/ConfigAgenda?codClienteSSN={codClienteSSN}

No documentation available.

PATCH api/ConfigAgenda?codClienteSSN={codClienteSSN}

No documentation available.

POST api/ConfigAgenda?codClienteSSN={codClienteSSN}

No documentation available.

TiposDeEventosComClientes

APIDescription
POST api/TiposDeEventosComClientes?codClienteSSN={codClienteSSN}

Cadastra Tipo de EventosComCliente.

GET api/TiposDeEventosComClientes?codClienteSSN={codClienteSSN}

Obtém informações de varios eventos.

GET api/TiposDeEventosComClientes?codClienteSSN={codClienteSSN}&idEvento={idEvento}

Obtém informações de um evento com base em seu ID.

DELETE api/TiposDeEventosComClientes?codClienteSSN={codClienteSSN}&idEvento={idEvento}

Deleta um evento com base em seu ID.

PUT api/TiposDeEventosComClientes?codClienteSSN={codClienteSSN}&idEvento={idEvento}

Edita um evento com base em seu ID.

ContratosModelo

APIDescription
POST api/ContratosModelo?codClienteSSN={codClienteSSN}

Cadastrar contrato modelo.

GET api/ContratosModelo?codClienteSSN={codClienteSSN}

Obter todos os contratos modelo.

GET api/ContratosModelo?codClienteSSN={codClienteSSN}&idContratoModelo={idContratoModelo}

Obter um contrato modelo por ID.

DELETE api/ContratosModelo?codClienteSSN={codClienteSSN}&idContratoModelo={idContratoModelo}

Deletar contrato modelo.

PUT api/ContratosModelo?codClienteSSN={codClienteSSN}&idContratoModelo={idContratoModelo}

Editar contrato modelo.

Chat

Chat interno da equipe: Sala Geral (legada, IDConversaFK NULL), conversas 1-1 e grupos. Reusa a tabela legada tabMensagens (mesma regra do FrmChat2026 / ClassControleChat do sistema desktop) + tabChatConversas / tabChatParticipantes (ver SQL\01_Fase1_ModeloDados.sql).

APIDescription
GET api/Chat?codClienteSSN={codClienteSSN}&idProf={idProf}

Resolve o funcionário (tabFuncionarios, identidade usada pelo chat) vinculado a um profissional (tabProfissionaisSaude.IDProfSaude) — o app de profissionais loga por idProf e não conhece o IdUser do funcionário diretamente.

GET api/Chat?codClienteSSN={codClienteSSN}&idUsuario={idUsuario}

Lista as conversas (1-1 e grupos) do usuário logado, com preview e nº de não-lidas. A Sala Geral não entra aqui: o app deve exibi-la como item fixo (IDConversa = 0).

GET api/Chat?codClienteSSN={codClienteSSN}&idConversa={idConversa}&idUsuarioLogado={idUsuarioLogado}&desdeId={desdeId}&quantidadeInicial={quantidadeInicial}

Carrega as mensagens de uma conversa (ou da Sala Geral, se idConversa <= 0). desdeId = 0 -> últimas N mensagens (carga inicial). desdeId > 0 -> incremental (polling).

POST api/Chat?codClienteSSN={codClienteSSN}

Recebe POSTs em api/Chat: envia mensagem OU cria conversa em grupo, dependendo do corpo enviado. Unificado numa única action porque as duas antigas actions (EnviarMensagem/CriarConversaGrupo) tinham a mesma assinatura de rota (codClienteSSN + objeto no corpo) e o Web API não consegue escolher entre elas sem inspecionar o corpo (o que só é possível aqui, dentro da action). Distingue pelo campo "Titulo": presente = criar grupo; ausente = enviar mensagem.

POST api/Chat?codClienteSSN={codClienteSSN}&idUsuarioA={idUsuarioA}&idUsuarioB={idUsuarioB}

Acha a conversa 1-1 já existente entre dois funcionários ou cria uma nova. Retorna o IDConversa.

PUT api/Chat?codClienteSSN={codClienteSSN}&idConversa={idConversa}&idUsuario={idUsuario}

Marca uma conversa como lida (ponteiro do participante = MAX(idMensagem) da conversa). Não se aplica à Sala Geral (idConversa <= 0 é ignorado).

GET api/Chat?codClienteSSN={codClienteSSN}&idUsuarioTotalNaoLidas={idUsuarioTotalNaoLidas}

Total de mensagens não lidas do usuário em todas as conversas (para o badge do botão de chat).

GET api/Chat?codClienteSSN={codClienteSSN}&idUsuarioExcluir={idUsuarioExcluir}

Lista os funcionários ativos (para o seletor de nova conversa/grupo), exceto o próprio usuário.

DELETE api/Chat?codClienteSSN={codClienteSSN}&idMensagem={idMensagem}

Apaga uma mensagem (soft delete, igual ao chat legado: marca DeletadaEm).

Indicacao

APIDescription
POST api/Indicacao?codClienteSSN={codClienteSSN}

Cadastrar pessoa de indicação.

GET api/Indicacao?codClienteSSN={codClienteSSN}

Obter todas as pessoas de indicação.

GET api/Indicacao?codClienteSSN={codClienteSSN}&idPessoaIndicacao={idPessoaIndicacao}

Obter uma pessoa de indicação por ID.

DELETE api/Indicacao?codClienteSSN={codClienteSSN}&idPessoaIndicacao={idPessoaIndicacao}

Deletar pessoa de indicação.

PUT api/Indicacao?codClienteSSN={codClienteSSN}&idPessoaIndicacao={idPessoaIndicacao}

Editar pessoa de indicação.

ModeloMensagem

APIDescription
POST api/ModeloMensagem?codClienteSSN={codClienteSSN}

Cadastrar modelo de mensagem.

GET api/ModeloMensagem?codClienteSSN={codClienteSSN}

Obter todos os modelos de mensagem.

GET api/ModeloMensagem?codClienteSSN={codClienteSSN}&idModeloMensagem={idModeloMensagem}

Obter um modelo de mensagem por ID.

DELETE api/ModeloMensagem?codClienteSSN={codClienteSSN}&idModeloMensagem={idModeloMensagem}

Deletar modelo de mensagem.

PUT api/ModeloMensagem?codClienteSSN={codClienteSSN}&idModeloMensagem={idModeloMensagem}

Editar modelo de mensagem.

StatusDoCliente

APIDescription
POST api/StatusDoCliente?codClienteSSN={codClienteSSN}

Cadastra Status do Cliente.

GET api/StatusDoCliente?codClienteSSN={codClienteSSN}

Retorna a lista de status do cliente.

GET api/StatusDoCliente?codClienteSSN={codClienteSSN}&IDStatusDoCliente={IDStatusDoCliente}

Retorna um status do cliente.

DELETE api/StatusDoCliente?codClienteSSN={codClienteSSN}&idStatusCliente={idStatusCliente}

Deletar Status do Cliente.

PUT api/StatusDoCliente?codClienteSSN={codClienteSSN}&IdStatus={IdStatus}

Editar Status do Cliente.

Sala

APIDescription
GET api/Sala?paramCodigoClienteSSN={paramCodigoClienteSSN}

No documentation available.

GET api/Sala?codClienteSSNUnidades={codClienteSSNUnidades}

No documentation available.

GET api/Sala?codClienteSSN={codClienteSSN}&dataAtual={dataAtual}&salas={salas}

No documentation available.

GET api/Sala?codClienteSSN={codClienteSSN}&dataAtualSemana={dataAtualSemana}&salas={salas}

No documentation available.

GET api/Sala?codClienteSSN={codClienteSSN}&IDSalaRetorna={IDSalaRetorna}

No documentation available.

POST api/Sala?codClienteSSN={codClienteSSN}&IDHorarioRetorna={IDHorarioRetorna}&domingo={domingo}&segunda={segunda}&terca={terca}&quarta={quarta}&quinta={quinta}&sexta={sexta}&sabado={sabado}

No documentation available.

GET api/Sala?codClienteSSN={codClienteSSN}&IDSala={IDSala}&IDDiaSemana={IDDiaSemana}&bloqueadoOuDesbloqueado={bloqueadoOuDesbloqueado}

No documentation available.

GET api/Sala?codClienteSSN={codClienteSSN}&dataAtual={dataAtual}

No documentation available.

POST api/Sala?codClienteSSN={codClienteSSN}&descricao={descricao}&numero={numero}&numOcupacao={numOcupacao}&IDUnidade={IDUnidade}&gympass={gympass}

No documentation available.

POST api/Sala?codClienteSSN={codClienteSSN}&descricao={descricao}&numero={numero}&numOcupacao={numOcupacao}&IDUnidade={IDUnidade}&gympass={gympass}&IDSala={IDSala}&IDProf={IDProf}

No documentation available.

GET api/Sala?codClienteSSN={codClienteSSN}&IDSalaVerificaSePodeRemover={IDSalaVerificaSePodeRemover}

No documentation available.

DELETE api/Sala?codClienteSSN={codClienteSSN}&IDSalaRemover={IDSalaRemover}

No documentation available.

POST api/Sala?codClienteSSN={codClienteSSN}&IDSalaRetornaSeJaExiste={IDSalaRetornaSeJaExiste}&hora={hora}

No documentation available.

POST api/Sala?codClienteSSN={codClienteSSN}&IDSala={IDSala}&hora={hora}&IDProf={IDProf}&IDCategoria={IDCategoria}&variosHorarios={variosHorarios}&horaFim={horaFim}&intervalo={intervalo}&apagar={apagar}

No documentation available.

POST api/Sala?codClienteSSN={codClienteSSN}&IDSalaCriaHorarios={IDSalaCriaHorarios}&hora={hora}&IDProf={IDProf}&IDCategoria={IDCategoria}

No documentation available.

POST api/Sala?codClienteSSN={codClienteSSN}&IDSalaApaga={IDSalaApaga}

No documentation available.

GET api/Sala?codClienteSSN={codClienteSSN}&IDSalaRetorna={IDSalaRetorna}&dataRetorna={dataRetorna}&horaRetorna={horaRetorna}

No documentation available.

GET api/Sala?codClienteSSN={codClienteSSN}&dataOcupacao={dataOcupacao}&horaOcupacao={horaOcupacao}

No documentation available.

GET api/Sala?codClienteSSN={codClienteSSN}&idSessaoAtual={idSessaoAtual}

No documentation available.

Cidade

APIDescription
POST api/Cidade?codClienteSSN={codClienteSSN}

Cadastrar Cidade.

GET api/Cidade?codClienteSSN={codClienteSSN}

Retorna a lista de cidades.

GET api/Cidade?codClienteSSN={codClienteSSN}&IdCidade={IdCidade}

Retorna uma cidade.

DELETE api/Cidade?codClienteSSN={codClienteSSN}&IDCidade={IDCidade}

Deletar uma cidade.

PUT api/Cidade?codClienteSSN={codClienteSSN}&IDCidade={IDCidade}

Editar uma cidade.

Patologia

APIDescription
POST api/Patologia?codClienteSSN={codClienteSSN}

Cadastrar patologia.

GET api/Patologia?codClienteSSN={codClienteSSN}

Retorna a lista de patologias.

GET api/Patologia?codClienteSSN={codClienteSSN}&IDPatologia={IDPatologia}

Retorna a lista de patologias.

DELETE api/Patologia?codClienteSSN={codClienteSSN}&idPatologia={idPatologia}

Deletar patologia.

PUT api/Patologia?codClienteSSN={codClienteSSN}&IDPatologia={IDPatologia}

Editar patologia.

Profissionais

APIDescription
POST api/Profissionais?codigoCliente={codigoCliente}

Retorna o nome do banco de dados do cliente, de acordo com o código.

GET api/Profissionais?paramCodigoClienteSSN={paramCodigoClienteSSN}

Retorna os profissionais.

GET api/Profissionais?paramCodigoClienteSSNFoto={paramCodigoClienteSSNFoto}

No documentation available.

POST api/Profissionais?senhaDigitada={senhaDigitada}&idClienteSSN={idClienteSSN}&idProf={idProf}

Retorna o login do profissional.

GET api/Profissionais?paramCodigoClienteSSN={paramCodigoClienteSSN}&idProf={idProf}

Retorna o controle dos profissionais.

GET api/Profissionais?paramCodigoClienteSSN={paramCodigoClienteSSN}&idProfHorarios={idProfHorarios}

No documentation available.

GET api/Profissionais?paramCodigoClienteSSN={paramCodigoClienteSSN}&idProfEncaixe={idProfEncaixe}

No documentation available.

GET api/Profissionais?paramCodigoClienteSSN={paramCodigoClienteSSN}&idProfStatusPermitido={idProfStatusPermitido}

No documentation available.

POST api/Profissionais?paramCodigoClienteSSN={paramCodigoClienteSSN}&IDProf={IDProf}&horaInicio={horaInicio}&horaFim={horaFim}&user={user}&intervaloMinutos={intervaloMinutos}&qtdAtend={qtdAtend}&dataInicio={dataInicio}&dataFim={dataFim}&qtdDias={qtdDias}

No documentation available.

POST api/Profissionais?paramCodigoClienteSSN={paramCodigoClienteSSN}&IDProf={IDProf}&user={user}&horaEscolhida={horaEscolhida}&dataEscolhida={dataEscolhida}

No documentation available.

POST api/Profissionais?paramCodigoClienteSSN={paramCodigoClienteSSN}&IDProf={IDProf}&horaInicio={horaInicio}&horaFim={horaFim}&dataInicio={dataInicio}&dataFim={dataFim}&qtdAtend={qtdAtend}

No documentation available.

GET api/Profissionais?paramCodigoClienteSSNInd={paramCodigoClienteSSNInd}

Retorna os lotes de criação de horários (ContextMenuStripHorarios > "Desfazer horários"), do mais recente para o mais antigo, para escolha de qual lote desfazer.

POST api/Profissionais?paramCodigoClienteSSN={paramCodigoClienteSSN}&idIndiceCriacao={idIndiceCriacao}

Desfaz (apaga) todos os horários criados em um lote (idIndiceCriacao), incluindo o próprio lote. Equivalente ao botão "Desfazer horários criados" da agenda.

GET api/Profissionais?paramCodigoClienteSSN={paramCodigoClienteSSN}&IDProf={IDProf}&horaEscolhida={horaEscolhida}&dataEscolhida={dataEscolhida}

No documentation available.

POST api/Profissionais?paramCodigoClienteSSN={paramCodigoClienteSSN}&IDProf={IDProf}&dataInicio={dataInicio}&dataFim={dataFim}

No documentation available.

POST api/Profissionais?paramCodigoClienteSSN={paramCodigoClienteSSN}&dataEscolhida={dataEscolhida}&texto={texto}&status={status}&vaiDesmar={vaiDesmar}&IDFeriado={IDFeriado}

No documentation available.

POST api/Profissionais?paramCodigoClienteSSN={paramCodigoClienteSSN}&IDProf={IDProf}&status={status}&dataInicio={dataInicio}&dataFim={dataFim}&horaInicio={horaInicio}&horaFim={horaFim}&texto={texto}&domingo={domingo}&segunda={segunda}&terca={terca}&quarta={quarta}&quinta={quinta}&sexta={sexta}&sabado={sabado}&user={user}&IDRegistro={IDRegistro}

No documentation available.

GET api/Profissionais?codClienteSSN={codClienteSSN}&IDProfVerificaHorarioFlexivel={IDProfVerificaHorarioFlexivel}

No documentation available.

POST api/Profissionais?codClienteSSN={codClienteSSN}&IDProf={IDProf}&senha={senha}

No documentation available.

POST api/Profissionais?codClienteSSN={codClienteSSN}&IDProf={IDProf}&IDAcao={IDAcao}

No documentation available.

GET api/Profissionais?codClienteSSNFunc={codClienteSSNFunc}

No documentation available.

GET api/Profissionais?codClienteSSN={codClienteSSN}&IDAcao={IDAcao}&IDFunc={IDFunc}

Retorna o controle dos Usuários do sistema (tabela de funcionários).

GET api/Profissionais?paramCodigoClienteSSNEspec={paramCodigoClienteSSNEspec}

Retorna as conexões entre profissionais e especialidades.

GET api/Profissionais?paramCodigoClienteSSNUnidade={paramCodigoClienteSSNUnidade}

Retorna as conexões entre profissionais e unidades.

Medicamento

APIDescription
POST api/Medicamento?codClienteSSN={codClienteSSN}

Cadastra Medicamento.

GET api/Medicamento?codClienteSSN={codClienteSSN}

Retorna a lista de medicamentos.

GET api/Medicamento?codClienteSSN={codClienteSSN}&IDMedicamento={IDMedicamento}

Retorna um medicamento.

DELETE api/Medicamento?codClienteSSN={codClienteSSN}&IDMedicamento={IDMedicamento}

Deleta Medicamento.

PUT api/Medicamento?codClienteSSN={codClienteSSN}&IDMedicamento={IDMedicamento}

Edita Medicamento.

StatusHistorico

Histórico de alterações de status do cliente (formClienteSelec2 — FrmStatusHistoricoCliente). A gravação do histórico é feita pelo próprio ClienteInfoGeraisController ao detectar mudança de status em EditarClienteInfoGerais (mesma transação do UPDATE, em tabStatusHistoricoAlteracoes).

APIDescription
GET api/StatusHistorico?codClienteSSN={codClienteSSN}&idCliente={idCliente}

Retorna o histórico de alterações de status de um cliente, mais recente primeiro.

ClienteInfoGerais

CRUD de clientes — campos da aba Informações Gerais (formClienteSelec2).

APIDescription
GET api/ClienteInfoGerais?codClienteSSN={codClienteSSN}&idCliente={idCliente}

Retorna os dados do cliente pelo ID.

POST api/ClienteInfoGerais?codClienteSSN={codClienteSSN}

Cadastra um novo cliente com os dados da aba Informações Gerais.

PATCH api/ClienteInfoGerais?codClienteSSN={codClienteSSN}&idCliente={idCliente}&usuario={usuario}

Edita parcialmente um cliente. Envie apenas os campos que deseja alterar.

GET api/ClienteInfoGerais?codClienteSSN={codClienteSSN}&idClienteIndicador={idClienteIndicador}

Retorna se o cliente tem atendimentos já realizados que ainda não foram quitados (pagos), e a quantidade. Equivalente simplificado do indicador do desktop (formClienteSelec2 — "Tem atendimentos realizados e não quitados"), que usa o status "Realizado" (2) da sessão e a flag de pagamento por sessão.

GET api/ClienteInfoGerais?codClienteSSN={codClienteSSN}

Retorna a lista de sexos para preenchimento do select de gênero.

GET api/ClienteInfoGerais?codClienteSSN={codClienteSSN}&idConvenio={idConvenio}

Retorna os planos disponíveis dentro de um convênio.

RelatoriosSessoesEValores

APIDescription
GET api/RelatoriosSessoesEValores?codClienteSSN={codClienteSSN}&dataInicial={dataInicial}&dataFinal={dataFinal}&temAcessoAosValores={temAcessoAosValores}

No documentation available.

RelatorioContrato

Impressão de contrato em PDF (FrmContratoRelatorio / RelatContrato.rdlc do desktop).

APIDescription
GET api/RelatorioContrato?codClienteSSN={codClienteSSN}&idContrato={idContrato}

Gera o PDF de um contrato.

Contratos

Contratos do cliente (FrmContrato2026). Versão MVP para a web: usa os modelos e cláusulas já cadastrados no desktop (tabContratosModelo/tabContratosClausulas) — sem CRUD de modelos aqui — monta e grava o contrato, permite visualizar, excluir e gerar o link de envio por WhatsApp. Não inclui o bloco opcional "atendimento vinculado" (valor por extenso) do desktop.

APIDescription
GET api/Contratos?codClienteSSN={codClienteSSN}&idCliente={idCliente}

Retorna a lista de contratos de um cliente, mais recente primeiro.

GET api/Contratos?codClienteSSN={codClienteSSN}&idContrato={idContrato}

Retorna um contrato específico, incluindo o texto completo (para visualização/impressão).

GET api/Contratos?codClienteSSN={codClienteSSN}

Retorna os modelos de contrato disponíveis (cadastrados no desktop) para preenchimento do select.

GET api/Contratos?codClienteSSNClinica={codClienteSSNClinica}

Retorna os dados cadastrais da clínica (tabClientesSSN), já com o nome da contratada formatado (nome fantasia + endereço completo + CNPJ), para auto-preencher o novo contrato (mesma lógica de FrmContrato2026.CarregarDados no desktop).

GET api/Contratos?codClienteSSNEventos={codClienteSSNEventos}

Retorna os tipos de atendimento (tabTiposDeEventosComCliente) com os 3 valores possíveis (por atendimento, mensal, total), para o bloco opcional "Atendimento vinculado" do contrato.

POST api/Contratos?codClienteSSN={codClienteSSN}&idCliente={idCliente}

Monta e grava um novo contrato: cabeçalho global (tabContratosCabecalho) com placeholders substituídos + cláusulas do modelo selecionado (tabContratosClausulas, em ordem), e gera um código de acesso único (mesmo algoritmo do desktop: 20 caracteres alfanuméricos aleatórios).

POST api/Contratos?codClienteSSN={codClienteSSN}&idContrato={idContrato}

Marca o contrato como enviado e retorna o link público de confirmação/assinatura, para envio ao cliente (por WhatsApp, e-mail, etc. — a montagem/disparo da mensagem fica a cargo do chamador).

GET api/Contratos?paramCodigoClienteSSNContratoAssin={paramCodigoClienteSSNContratoAssin}&paramCodigoContratoAssin={paramCodigoContratoAssin}

Retorna os dados de um contrato para a página pública de assinatura do paciente (link por CodigoDeAcesso — não por CPF+ID, diferente de Ficha/Evolução/Avaliação/Atendimento, porque o CodigoDeAcesso já é um token único e secreto). Fail-closed: código inexistente devolve null.

DELETE api/Contratos?codClienteSSN={codClienteSSN}&idContrato={idContrato}

Exclui um contrato.

ControleMatricula

Controle de matrícula do cliente (frmControleMatriculaCliente2026): registra os "trancamentos" (pausas) do plano de tratamento. Cada trancamento trava os atendimentos do período na agenda (status 12 - trancado) e estende o fim do plano pela quantidade de dias trancados. Cancelar um trancamento destrava os atendimentos (status 1 - aberto) e remove o registro (sem recalcular automaticamente o fim do plano, mesmo comportamento do desktop).

APIDescription
GET api/ControleMatricula?codClienteSSN={codClienteSSN}&idCliente={idCliente}

Retorna o resumo do plano (início, fim atual, dias trancados) e o histórico de trancamentos do cliente.

POST api/ControleMatricula?codClienteSSN={codClienteSSN}&idCliente={idCliente}&usuario={usuario}

Registra um novo trancamento: trava os atendimentos do período na agenda e estende o fim do plano do cliente pela quantidade de dias informada.

DELETE api/ControleMatricula?codClienteSSN={codClienteSSN}&idRegistroMatricula={idRegistroMatricula}

Cancela um trancamento: remove o registro e destrava os atendimentos do período na agenda. Não recalcula automaticamente o fim do plano do cliente (mesmo comportamento do desktop).

Guia

APIDescription
POST api/Guia?codClienteSSN={codClienteSSN}

Cadastrar Guia.

GET api/Guia?codClienteSSN={codClienteSSN}

Obter Guia.

GET api/Guia?codClienteSSN={codClienteSSN}&idGuia={idGuia}

Obter Guia por Id.

DELETE api/Guia?codClienteSSN={codClienteSSN}&idGuia={idGuia}

Deletar Guia.

PUT api/Guia?codClienteSSN={codClienteSSN}&idGuia={idGuia}

Atualizar Guia.