Documentação da API Esteti+

Integre sua aplicação com o Esteti+ para automatizar confirmações de consultas, 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/api

Autenticaçã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

  1. Acesse as Configurações no sistema
  2. Vá para a aba API Keys
  3. Clique em Nova API Key
  4. Digite um nome para identificar a chave
  5. Copie a chave gerada (ela só será exibida uma vez)
API Key Regular

Para endpoints de clínica (agendamentos, clientes, serviços, etc.)

esteti_sua_api_key_aqui
Header: x-api-key
API Key Administrativa

Para endpoints administrativos (acesso a todas as clínicas)

admin_sua_api_key_aqui
Header: x-admin-api-key
Seguranç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

POST/api/appointments/confirm

Confirmar Consulta

Confirma uma consulta específica no sistema

Headers Obrigatórios

x-api-keystring
Content-Typeapplication/json

Body da Requisição

{
  "appointmentId": "string (UUID)",
  "confirmedBy": "client" | "professional" | "system",
  "notes": "string (opcional)"
}

Exemplo de Código

// Confirmar consulta
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 consulta");
  }

  return data;
};

// Exemplo de uso
try {
  const result = await confirmAppointment(
    "uuid-da-consulta", 
    "esteti_sua_api_key_aqui"
  );
  console.log("Consulta confirmada:", result);
} catch (error) {
  console.error("Erro:", error.message);
}

Exemplos de Resposta

Sucesso (200)
{
  "message": "Consulta confirmada com sucesso"
}
Erro
// 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.

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.