Agendamentos
Crie, consulte e atualize agendamentos de saúde via OAuth2 client_credentials.
Visão Geral
Endpoints da API Externa para o fluxo de agendamentos de saúde. A aplicação destino é inferida do claim aplicacao_id do token. Tentativas cross-tenant retornam 404 (não confirmam existência em outro tenant).
Base URL: /api/external/v2/agendamentos
Autenticação: OAuth2 Bearer Token — escopos agendamentos:read (GET) e agendamentos:write (POST/PATCH)
Listar Agendamentos
GET /api/external/v2/agendamentos
Escopo: agendamentos:read
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
status | string | Opcional | Filtro por status (ver tabela abaixo) |
page | int | Opcional | Página (default 0) |
size | int | Opcional | Itens por página (default 20, máx 100) |
Resposta (200): formato paginado { content, total, page, size, totalPages }.
Buscar por ID
GET /api/external/v2/agendamentos/{id}
Escopo: agendamentos:read. Retorna 404 se o agendamento não existir ou pertencer a outra aplicação.
Criar Agendamento
POST /api/external/v2/agendamentos
Escopo: agendamentos:write. O agendamento é criado em status IMPORTADO e a aplicação é inferida do token.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
pacienteTelefone | string | Obrigatório | Número com DDI |
procedimento | string | Obrigatório | Nome do procedimento |
pacienteNome | string | Opcional | Nome do paciente |
pacienteCpf | string | Opcional | CPF do paciente |
prestador | string | Opcional | Prestador/unidade |
numeroPedido | string | Opcional | Número do pedido no sistema legado |
dataLimiteRetirada | string | Opcional | Data limite de retirada |
localRetirada | string | Opcional | Local de retirada |
observacoes | string | Opcional | Observações livres |
medicoSolicitante | string | Opcional | Médico solicitante |
201 Created com o agendamento. pacienteTelefone e procedimento são obrigatórios — sem eles, 400.Atualizar Status
PATCH /api/external/v2/agendamentos/{id}
Escopo: agendamentos:write. Via API externa, são suportadas as transições para CONFIRMADO e CANCELADO. Outros status retornam 422.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
status | string | Obrigatório | CONFIRMADO ou CANCELADO |
observacao | string | Opcional | Motivo/observação (usado no cancelamento) |
Status do Agendamento
| Status | Descrição |
|---|---|
IMPORTADO | Recém-criado, ainda não validado |
VALIDADO | Validado e pronto para comunicação |
ENVIADO | Notificação de agendamento enviada |
AVISO_ENVIADO | Aviso/lembrete enviado |
CONFIRMADO | Confirmado pelo paciente |
NAO_RESPONDEU | Sem resposta do paciente |
CANCELADO | Cancelado |
ERRO | Falha no processamento |
SEM_TEMPLATE | Sem template de mensagem configurado para o procedimento (não pôde ser comunicado) |
REALIZADO | Execução confirmada (atendimento realizado) — estado terminal |
FALTOU | Paciente não compareceu — estado terminal |
PATCH aceita apenas CONFIRMADO e CANCELADO. Os estados ENVIADO, AVISO_ENVIADO, NAO_RESPONDEU, ERRO e SEM_TEMPLATE são geridos pelo fluxo interno de comunicação. Já REALIZADO e FALTOU são definidos pelo prestador na API do Prestador (endpoint de execução).