Ninsaúde
O Ninsaúde é o NicoApp de integração com o Ninsaúde, sistema de gestão para clínicas de saúde (prontuário eletrônico, agenda e pacientes). Com ele, seu bot busca, cadastra e atuali
Authorization de cada requisição.Como obter as credenciais da API
Na instalação do NicoApp, você informa um único campo: o Token de Acesso (Bearer), usado em todas as chamadas como Authorization: Bearer <token>.
A própria Ninsaúde documenta a autenticação da sua plataforma de desenvolvimento (Ninsaúde Toro) como segue:
- O padrão é OAuth2, com dois tokens: um Access Token, usado em todos os cabeçalhos de requisição, com validade de 15 minutos (funciona como uma sessão); e um Refresh Token, sem validade definida, usado apenas para obter novos Access Tokens — ele substitui o compartilhamento de usuário/senha com o app.
- A API segue o padrão RESTful, com "milhares de rotas disponíveis", documentadas em uma coleção pública no Postman ("Ninsaúde Clinic").
Recomendação: entre em contato com o suporte ou o time comercial da Ninsaúde (pelo painel da clínica ou pelos canais de atendimento) e peça a emissão do Bearer Token de integração para a API. Ao configurar, confirme com eles se esse token expira (e precisa ser renovado periodicamente, como o Access Token de 15 min do fluxo OAuth2 padrão) ou se é um token de integração de longa duração — isso muda a forma como você deve reinstalá-lo/atualizá-lo no app.
Limitações
- Validade do token: se a credencial seguir o padrão OAuth2 descrito pela Ninsaúde, o Access Token dura apenas 15 minutos — o token usado neste app precisa ser confirmado com o suporte quanto à sua validade e à necessidade (ou não) de renovação periódica.
- Plano necessário: não documentado publicamente. Trate como uma pergunta obrigatória ao ativar a integração com o cliente.
O que o miniapp faz
Pacientes
Agenda
Comunicação interna
Dicas e observações
- "Agendar Consulta" x "Agendar Consulta #1": apesar do nome parecido, não são duplicadas — Agendar Consulta cria um agendamento novo (
POST /atendimento_agenda) e Agendar Consulta #1 na verdade reagenda um agendamento existente (POST /atendimento_agenda/reagendar/agendamento/{id}). Nesta documentação ela foi chamada de Reagendar Consulta para deixar o propósito claro.
- Cálculo automático de Hora Final: em Agendar Consulta e em Reagendar Consulta, se a Hora Final não for informada, o app busca a duração padrão do Serviço escolhido (
GET /cadastro_servico/{id}→duracaoPadrao) e calcula Hora Final = Hora Inicial + duração automaticamente — não é preciso informar os dois horários manualmente. - IDs encadeados: o ID do Paciente sai de Criar/Buscar Paciente e entra em Atualizar, Remover e Agendar Consulta. O ID do Agendamento sai de Agendar Consulta e entra em Reagendar Consulta, Excluir Agendamento e Editar Status Agendamento.
- Formatos de data/hora: datas em
AAAA-MM-DD(ex.: 2026-08-01); horários emHH:MM:SS(ex.: 17:00:00). - Buscar Paciente: a ação tenta CPF, depois e-mail, depois celular, nessa ordem, até achar exatamente um paciente — se não achar nenhum, o erro é "Paciente não encontrado"; se achar mais de um, "Múltiplos pacientes encontrados" (peça um dado mais específico ao usuário para refinar a busca).
- Mensagem Interna: o texto enviado é higienizado antes do envio — quebras de linha e tabs viram espaço, aspas simples viram crase e aspas duplas viram aspas curvas, evitando quebrar o JSON da requisição.
- Tratamento de erros: toda ação devolve o erro real da Ninsaúde (campo
errorda resposta) quando a chamada falha — use o caminho de erro do bloco para tratar no fluxo (ex.: token inválido/expirado, horário indisponível, campo obrigatório faltando).