Documentação da API CliniPlus
Integre sua aplicação com o CliniPlus para automatizar confirmações de agendamentos, buscar lembretes e muito mais.
REST API
API RESTful simples com autenticação via API Key
Segura
API Keys únicas com controle de acesso por usuário
Histórico
Todas as ações são registradas com timestamp
Base URL
https://app.estetiplus.com.br/apiAutenticação
Todas as requisições devem incluir uma API key no header `x-api-key`. Para endpoints administrativos, use o header `x-admin-api-key`.
Como obter uma API Key
- Acesse as Configurações no sistema
- Vá para a aba API Keys
- Clique em Nova API Key
- Digite um nome para identificar a chave
- Copie a chave gerada (ela só será exibida uma vez)
API Key Regular
Para endpoints de clínica (agendamentos, clientes, serviços, etc.)
clini_sua_api_key_aquix-api-keyAPI Key Administrativa
Para endpoints administrativos (acesso a todas as clínicas)
admin_sua_api_key_aquix-admin-api-keySegurança e Boas Práticas
- Nunca compartilhe suas API keys publicamente
- Use variáveis de ambiente para armazenar as chaves
- Regenere as chaves periodicamente
- Use HTTPS em todas as requisições
- Monitore o uso das suas API keys no dashboard
Endpoints da API
/api/appointments/confirmConfirmar Agendamento
Confirma um agendamento específico no sistema
Headers Obrigatórios
x-api-keystringContent-Typeapplication/jsonBody da Requisição
{
"appointmentId": "string (UUID)",
"confirmedBy": "client" | "professional" | "system",
"notes": "string (opcional)"
}Exemplo de Código
// Confirmar agendamento
const confirmAppointment = async (appointmentId, apiKey) => {
const response = await fetch(
"https://app.estetiplus.com.br/api/appointments/confirm",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": apiKey,
},
body: JSON.stringify({
appointmentId: appointmentId,
confirmedBy: "system",
notes: "Confirmado via integração",
}),
},
);
const data = await response.json();
if (!response.ok) {
throw new Error(data.error || "Erro ao confirmar agendamento");
}
return data;
};
// Exemplo de uso
try {
const result = await confirmAppointment(
"uuid-da-agendamento",
"clini_sua_api_key_aqui"
);
console.log("agendamento confirmada:", result);
} catch (error) {
console.error("Erro:", error.message);
}Exemplos de Resposta
{
"message": "agendamento confirmada com sucesso"
}// Erro de autenticação
{
"error": "API key inválida ou não fornecida"
}
// Erro de validação
{
"error": "Dados inválidos",
"details": [
{
"code": "invalid_string",
"message": "Invalid uuid",
"path": ["appointmentId"]
}
]
}Segurança
Todas as requisições passam por autenticação de API Key. Garanta que sua chave está segura e nunca a exponha em clientes frontend.
- Revogue imediatamente qualquer chave que tenha sido exposta.
- Gere chaves diferentes para cada sistema integrador.
- Monitore logs e acessos diretamente no painel.
- Mantenha dependências atualizadas e acompanhe avisos de segurança (CVEs) oficiais de ferramentas utilizadas (por exemplo, Next.js, Stripe SDK, bibliotecas HTTP). Atualizações de segurança são priorizadas.
Limitações
Para garantir a estabilidade da plataforma, algumas limitações foram aplicadas ao uso da API.
- Limite de 60 requisições por minuto por chave.
- Alguns endpoints requerem plano Premium.
- Restrições de acesso podem ser aplicadas por clínica ou usuário.