A integração funciona por encadeamento de consultas (listas) até chegar em disponibilidade (dia/hora) e, por fim, criação do agendamento.
A regra prática é:
Base URL:https://apis.biodataweb.net/p1developer/biodataApp/agendaPaciente
Autenticação: Basic Auth
Authorization: Basic <base64(usuario:senha)>Todos os endpoints exigem:
idSAC (ex.: 1)Parâmetros em branco significam sem filtro.
GET /listarConvenios
Parâmetros relevantes (além de idSAC):
convenioId, conveniounidadeId, profissionalIdinativo, modalidadenaoListarWeb, retornaConfiguracaopaginacao, fieldSaída esperada: lista de convênios com seus identificadores (ex.: convenioId e descrição).
GET /listarUnidades
Parâmetros relevantes:
convenioId (quando desejar restringir unidades por convênio)unidadeId, unidadepaginacaoDependência: opcionalmente depende do convenioId escolhido.
GET /listarTiposagendamento
Parâmetros relevantes:
unidadeIdconvenioIdtipoAgendamentoId, tipoAgendamentopaginacaoDependência: normalmente depende de unidadeId e/ou convenioId.
GET /listarEspecialidadesMedicas
Parâmetros relevantes:
unidadeIdconvenioIdtipoAgendamentoIdespecialidadeMedicaId, especialidadeMedicapaginacaoDependência: normalmente depende de unidadeId, convenioId e tipoAgendamentoId.
GET /listarProfissionais
Parâmetros relevantes:
convenioIdunidadeIdtipoAgendamentoIdespecialidadeMedicaIdprofissionalId, profissionalpaginacaoDependência: normalmente depende de convenioId, unidadeId, tipoAgendamentoId, especialidadeMedicaId.
GET /listarAgendaDia
Parâmetros relevantes:
unidadeId (necessário)profissionalId (necessário)tipoAgendamentoId (necessário)paginacaoDependência: requer seleção anterior de:
unidadeId, profissionalId, tipoAgendamentoIdObjetivo: retornar quais dias possuem agenda/disponibilidade para o conjunto selecionado.
GET /listarAgendaHora
Parâmetros relevantes:
unidadeId (necessário)profissionalId (necessário)tipoAgendamentoId (necessário)dataAgendamento (necessário)paginacaoDependência: requer:
unidadeId, profissionalId, tipoAgendamentoId e um dia selecionado via listarAgendaDia.Objetivo: retornar horários disponíveis do dia escolhido.
POST /criar
Campos informados:
idSAC (obrigatório)profissionalId (vindo de listarProfissionais)especialidadeMedicaId (vindo de listarEspecialidadesMedicas)convenioId (vindo de listarConvenios)planoId (padrão informado: -1 quando não houver plano)tipoAgendamentoId (vindo de listarTiposagendamento)unidadeId (vindo de listarUnidades)dataAgendamento (vindo da escolha final em listarAgendaHora)agenda (nome do paciente)cpfdataNascimentotelefone / celularemailobservacao (opcional)Dependência (mínima):
Para criar com consistência, o fluxo deve ter capturado:
unidadeIdconvenioIdtipoAgendamentoIdespecialidadeMedicaIdprofissionalIddataAgendamento (com a hora escolhida)/listarConvenios?idSAC=1/listarUnidades?idSAC=1&convenioId={convenioId}/listarTiposagendamento?idSAC=1&unidadeId={unidadeId}&convenioId={convenioId}/listarEspecialidadesMedicas?idSAC=1&unidadeId={unidadeId}&convenioId={convenioId}&tipoAgendamentoId={tipoAgendamentoId}/listarProfissionais?idSAC=1&unidadeId={unidadeId}&convenioId={convenioId}&tipoAgendamentoId={tipoAgendamentoId}&especialidadeMedicaId={especialidadeMedicaId}/listarAgendaDia?idSAC=1&unidadeId={unidadeId}&profissionalId={profissionalId}&tipoAgendamentoId={tipoAgendamentoId}/listarAgendaHora?idSAC=1&unidadeId={unidadeId}&profissionalId={profissionalId}&tipoAgendamentoId={tipoAgendamentoId}&dataAgendamento={YYYY-MM-DD}POST /criar com os IDs e dados do pacientecurl -X GET "https://apis.biodataweb.net/p1developer/biodataApp/agendaPaciente/listarProfissionais?idSAC=1&unidadeId=2&convenioId=10&tipoAgendamentoId=3&especialidadeMedicaId=8" \
-H "Authorization: Basic <BASE64(usuario:senha)>"
curl -X GET "https://apis.biodataweb.net/p1developer/biodataApp/agendaPaciente/listarAgendaHora?idSAC=1&unidadeId=2&profissionalId=55&tipoAgendamentoId=3&dataAgendamento=2026-03-10" \
-H "Authorization: Basic <BASE64(usuario:senha)>"
curl -X POST "https://apis.biodataweb.net/p1developer/biodataApp/agendaPaciente/criar" \
-H "Authorization: Basic <BASE64(usuario:senha)>" \
-H "Content-Type: application/json" \
-d '{
"idSAC": 1,
"agenda": "João da Silva",
"profissionalId": 55,
"especialidadeMedicaId": 8,
"convenioId": 10,
"planoId": -1,
"tipoAgendamentoId": 3,
"unidadeId": 2,
"celular": "98999990000",
"dataAgendamento": "2026-03-10 14:20:00",
"dataNascimento": "1990-05-20",
"email": "joao@email.com",
"observacao": "",
"cpf": "12345678901"
}'