Documentação da API

Integre autenticação em dois fatores no seu aplicativo de forma simples e segura com a API do Autentiquei.

1. Gere um Token para sua Conta

Para começar a usar a API, você precisa gerar um token de acesso no painel de controle do Autentiquei.

Imagem ilustrativa da tela de geração de token

Acesse a seção API no seu dashboard e clique em "Gerar Novo Token"

Importante: Mantenha seu token em segredo. Ele concede acesso à sua conta e não deve ser compartilhado ou exposto no frontend da sua aplicação.

2. Enviar Código de Verificação

Para enviar um código de verificação, faça uma requisição POST para o endpoint abaixo:

POST https://secure.autentiquei.app/api/verifications/send

Corpo da Requisição

{
  "phone": "+5511999999999",
  "method": "whatsapp"
}

Resposta de Sucesso

{
  "success": true,
  "message": "Código de verificação enviado via whatsapp com sucesso.",
  "hash": "9f6ec25b1cc909ed76f69ae2ddd22445e12d91fcae80fd991e9c1fb41d6ba9a3"
}

Parâmetros

ParâmetroTipoDescrição
phonestringNúmero de telefone no formato internacional (ex: +5511999999999)
methodstringMétodo de envio: "whatsapp" ou "sms" (SMS requer créditos)

3. Verificar Código

Para verificar o código fornecido pelo usuário, faça uma requisição POST para o endpoint abaixo:

POST https://secure.autentiquei.app/api/verifications/verify

Corpo da Requisição

{
  "hash": "74c6fad908886ac2d471c72cb761fd45e3cdc5b14bef49eb289795ee7a0c00b8",
  "code": "12345678"
}

Resposta de Sucesso

{
  "success": true,
  "message": "Código verificado com sucesso."
}

Parâmetros

ParâmetroTipoDescrição
hashstringHash retornado pelo endpoint de envio de código
codestringCódigo fornecido pelo usuário

4. Exemplos de Implementação

Abaixo estão exemplos de como implementar a autenticação em dois fatores em diferentes linguagens:

// 1. Instale o SDK: npm install autentiquei-sdk
// (Ou yarn add autentiquei-sdk)

// 2. Importe e configure o SDK
import { AutentiqueiSDK } from 'autentiquei-sdk';

const autentiquei = new AutentiqueiSDK({
  apiKey: 'SEU_TOKEN_AQUI', // Mantenha seu token seguro no backend!
});

// Enviar código de verificação
async function sendVerificationCode(phone) {
  try {
    const response = await autentiquei.sendCode({
      phone: phone,
      method: 'whatsapp', // ou 'sms'
    });
    console.log('Resposta sendCode:', response);
    return response;
  } catch (error) {
    console.error('Erro ao enviar código:', error);
    // Trate o erro adequadamente
    return { success: false, error: error.message || 'Erro desconhecido' };
  }
}

// Verificar código
async function verifyCode(hash, code) {
  try {
    const response = await autentiquei.verifyCode({
      hash: hash,
      code: code,
    });
    console.log('Resposta verifyCode:', response);
    return response;
  } catch (error) {
    console.error('Erro ao verificar código:', error);
    // Trate o erro adequadamente
    return { success: false, error: error.message || 'Erro desconhecido' };
  }
}

// Exemplo de uso
async function authenticate() {
  const testPhoneNumber = '+5511999999999'; // Use um número real para testar

  // Passo 1: Enviar código
  const sendResult = await sendVerificationCode(testPhoneNumber);

  if (sendResult.success && sendResult.hash) {
    const hash = sendResult.hash;
    console.log('Código enviado. Hash: ' + hash.substring(0,8) + '...');

    // Passo 2: Obter código do usuário (simulado aqui, peça ao usuário real)
    const userCode = prompt('Digite o código enviado para ' + testPhoneNumber);

    if (userCode) {
      // Passo 3: Verificar código
      const verifyResult = await verifyCode(hash, userCode);

      if (verifyResult.success) {
        console.log('Autenticação bem-sucedida!', verifyResult.message);
        // Prosseguir com o login ou ação protegida
      } else {
        console.error('Código inválido ou erro na verificação:', verifyResult.error);
      }
    } else {
      console.log('Nenhum código digitado.');
    }
  } else {
    console.error('Falha ao enviar código:', sendResult.error);
  }
}

// Chame a função para testar (em um ambiente adequado)
// authenticate();

5. Considerações de Segurança

Proteja seu Token de API

Nunca exponha seu token de API no frontend da sua aplicação. Sempre faça chamadas à API a partir do seu servidor backend.

Limite Tentativas de Verificação

Implemente um limite de tentativas para evitar ataques de força bruta. A API do Autentiquei já implementa limites, mas é uma boa prática adicionar uma camada extra de proteção.

Use HTTPS

Sempre use conexões seguras (HTTPS) para transmitir dados sensíveis como tokens e códigos de verificação.

6. Suporte

Se você tiver dúvidas ou precisar de ajuda com a integração, entre em contato com nossa equipe de suporte:

Email de Suporte

suporte@autentiquei.com

Horário de Atendimento

Segunda a Sexta, das 9h às 18h (Horário de Brasília)