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}

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.

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.

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.

IntegracaoAgenda

Controller de integração de agenda para parceiros externos (secretárias virtuais / bots). Primeiro consumidor: Felix, o bot de WhatsApp da Clínica San Rafael (codClienteSSN 5195). Regras deste controller (diferente do IAL/AOL, que são abertos): - Toda chamada exige o header X-Api-Key de parceiro e o codClienteSSN na QUERY STRING (inclusive nos POSTs) — o ParceiroApiKeyAuthFilter valida a chave, o vínculo chave→codClienteSSN e o limite de chamadas por minuto. - Celular sempre normalizado para 10/11 dígitos sem DDI 55 antes de tocar o banco (celular vazio ou duplicado é recusado com erro claro, nunca agenda no paciente errado). - Toda escrita confirma o resultado relendo o banco (os métodos reutilizados retornam 1 fixo e não distinguem sucesso de falha). - Erros de negócio voltam como JSON { erro, mensagem } com o código HTTP adequado; exceção interna volta genérica (o detalhe fica no log em App_Data, nunca no parceiro).

APIDescription
GET api/IntegracaoAgenda/BuscarPaciente?codClienteSSN={codClienteSSN}&celular={celular}

Busca o paciente pelo celular (só dígitos, com DDD, sem o 55). O CPF volta mascarado (só o final) — suficiente para o bot confirmar identidade.

POST api/IntegracaoAgenda/CriarPaciente?codClienteSSN={codClienteSSN}

Cria um paciente novo. Se o celular já tiver cadastro, devolve o ID existente (jaExistia = true) em vez de duplicar.

GET api/IntegracaoAgenda/ListarProfissionais?codClienteSSN={codClienteSSN}

Lista os profissionais ativos com as especialidades que atendem. tipoDeEventoId é o valor a enviar no Agendar; quando a especialidade não tem tipo de atendimento vinculado, agendavel vem false (dá para ver horários, mas não agendar por ela).

GET api/IntegracaoAgenda/ListarConvenios?codClienteSSN={codClienteSSN}

Lista os convênios cadastrados na clínica.

GET api/IntegracaoAgenda/HorariosLivres?codClienteSSN={codClienteSSN}&dataInicio={dataInicio}&dataFim={dataFim}&profissionalId={profissionalId}&especialidadeId={especialidadeId}&turno={turno}

Horários livres de um profissional (profissionalId) ou de todos os profissionais ativos de uma especialidade (especialidadeId), entre dataInicio e dataFim (máx. 31 dias), com filtro opcional de turno (manha | tarde | noite). Respeita a antecedência mínima configurada pela clínica. idHorario é o slot a usar no Remarcar.

POST api/IntegracaoAgenda/Agendar?codClienteSSN={codClienteSSN}

Agenda um atendimento. Identifica o paciente por pacienteId ou pelo celular; se o celular não tiver cadastro, cria um novo com nomePaciente. Devolve o agendamentoId (IDSessaoDeFisio), que é o identificador usado nas demais operações.

POST api/IntegracaoAgenda/Remarcar?codClienteSSN={codClienteSSN}

Remarca um agendamento para nova data e hora (o horário de destino precisa estar vago na agenda do mesmo profissional — consulte HorariosLivres). Se o agendamento já está na data e hora pedidas, responde sucesso com jaEstavaRemarcado = true.

POST api/IntegracaoAgenda/Desmarcar?codClienteSSN={codClienteSSN}

Desmarca um agendamento (status 3) e registra a desmarcação no controle do paciente.

POST api/IntegracaoAgenda/Confirmar?codClienteSSN={codClienteSSN}

Confirma a presença do paciente no agendamento (status 6 — usado quando o paciente responde "confirmo" no WhatsApp).

GET api/IntegracaoAgenda/AgendaDoPaciente?codClienteSSN={codClienteSSN}&pacienteId={pacienteId}&celular={celular}&de={de}&ate={ate}

Agenda do paciente (por pacienteId ou celular) num período, com o status de cada atendimento: agendado, confirmado, compareceu, faltou, desmarcado, cancelado... Sem de/ate, considera de 90 dias atrás até 90 dias à frente.

GET api/IntegracaoAgenda/MudancasDesde?codClienteSSN={codClienteSSN}&desde={desde}&desdeId={desdeId}

Mudanças de status registradas no histórico da sessão. Na primeira chamada informe 'desde' (a granularidade é DIÁRIA — a coluna de origem não guarda hora); nas seguintes informe 'desdeId' com o proximoDesdeId devolvido, que pagina sem perder nem repetir. Máximo de 500 por chamada. COBERTURA PARCIAL (medido no espelho da San Rafael em 08/09/2026): o histórico só é alimentado por alguns caminhos do desktop — de 104 desmarcações reais em 60 dias, apenas 1 gerou linha aqui. Mudanças feitas por esta API também não geram histórico. Não trate este endpoint como notificação confiável de alterações da recepção enquanto não houver uma fonte de auditoria própria.

GET api/IntegracaoAgenda/Relatorio?codClienteSSN={codClienteSSN}&de={de}&ate={ate}&profissionalId={profissionalId}

Relatório por período: realizados, faltas, desmarcados e cancelados por profissional e por dia. profissionalId = 0 traz todos.

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).

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.