Autenticação
A API Selectwin utiliza um sistema de autenticação baseado em chaves API (API Keys), proporcionando um método simples e seguro para autenticar suas requisições. Este sistema elimina a necessidade de g
Visão Geral
A API Selectwin utiliza um sistema de autenticação baseado em chaves API (API Keys), proporcionando um método simples e seguro para autenticar suas requisições. Este sistema elimina a necessidade de gerenciar tokens de acesso com prazo de expiração, simplificando o processo de integração.
A Chave SelectKey
Toda requisição à API Selectwin deve incluir uma chave de API válida no cabeçalho HTTP SelectKey. Esta chave identifica sua conta, define permissões e registra as atividades realizadas, garantindo a segurança e a auditoria das operações.
curl -X GET "https://api.selectwin.io/v1/transactions" \
-H "SelectKey: sl_live_aBcDeFgHiJkLmNoPqRsTuVwXyZ" \
-H "Content-Type: application/json"Ambientes e Prefixos
A Selectwin oferece dois ambientes distintos, cada um com seu próprio formato de chave:
| Ambiente | Prefixo da Chave | Finalidade |
|---|---|---|
| Sandbox | sl_test_ | Testes e desenvolvimento sem impacto em produção |
| Produção | sl_live_ | Operações reais com processamento financeiro efetivo |
O prefixo da chave determina automaticamente o ambiente em que sua requisição será processada:
# Ambiente de sandbox
SelectKey: sl_test_aBcDeFgHiJkLmNoPqRsTuVwXyZ
# Ambiente de produção
SelectKey: sl_live_aBcDeFgHiJkLmNoPqRsTuVwXyZObtendo suas Chaves
As chaves de API são geradas no Painel Administrativo da Selectwin:
- Acesse o Painel Administrativo
- Navegue até "Configurações" > "API & Webhooks"
- Na seção "Chaves API", você encontrará suas chaves existentes ou poderá gerar novas
Importante
Cada vez que uma nova chave é gerada, todas as chaves anteriores permanecem válidas. Se precisar revogar uma chave específica, use a opção "Desativar" ao lado da chave correspondente.
Segurança das Chaves
As chaves de API concedem acesso completo à sua conta, portanto devem ser tratadas com a mesma segurança que senhas:
- Nunca compartilhe suas chaves de produção: Mantenha-as restritas apenas a pessoas autorizadas
- Não armazene chaves em código-fonte: Utilize variáveis de ambiente ou sistemas seguros de gerenciamento de configuração
- Não inclua chaves em aplicativos frontend: As chaves devem ser utilizadas apenas em ambientes backend seguros
- Rotação regular: Substitua suas chaves periodicamente como medida de segurança adicional
- Monitoramento: Verifique regularmente o uso da API para detectar atividades suspeitas
// INCORRETO - Chave exposta no código
const selectKey = "sl_live_aBcDeFgHiJkLmNoPqRsTuVwXyZ";
// CORRETO - Chave obtida de variável de ambiente
const selectKey = process.env.SELECTWIN_API_KEY;Múltiplas Chaves
Você pode criar e utilizar múltiplas chaves de API para diferentes finalidades:
- Separação de ambientes: Chaves distintas para desenvolvimento, teste e produção
- Integração de sistemas: Chaves específicas para cada sistema ou serviço integrado
- Equipes distintas: Chaves separadas para diferentes equipes ou departamentos
- Rastreabilidade: Identificação facilitada da origem de cada requisição
Revogação de Chaves
Em caso de comprometimento de segurança ou quando não for mais necessária, você pode revogar uma chave a qualquer momento:
- Acesse o Painel Administrativo
- Navegue até "Configurações" > "API & Webhooks"
- Localize a chave desejada e clique em "Desativar"
A desativação de uma chave é imediata, e todas as requisições subsequentes que utilizarem essa chave serão rejeitadas.
Headers Adicionais
Além do cabeçalho obrigatório SelectKey, recomendamos incluir os seguintes cabeçalhos em todas as requisições:
curl -X POST "https://api.selectwin.io/v1/transactions" \
-H "SelectKey: sl_live_aBcDeFgHiJkLmNoPqRsTuVwXyZ" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "User-Agent: MeuApp/1.0.0" \
-H "X-Idempotency-Key: 2dfc6a63-5df5-4900-baca-e49d91ef393e"| Cabeçalho | Descrição |
|---|---|
Content-Type | Define o formato dos dados enviados (geralmente application/json) |
Accept | Define o formato da resposta esperada (geralmente application/json) |
User-Agent | Identifica seu aplicativo ou sistema (opcional, mas recomendado) |
X-Idempotency-Key | Garante que uma operação não seja processada múltiplas vezes (veja a seção sobre Idempotência) |
Boas Práticas
- Valide respostas: Sempre verifique os códigos de status HTTP e trate adequadamente erros de autenticação
- Configuração por ambiente: Utilize configurações diferentes para sandbox e produção
- Registre tentativas de autenticação: Mantenha logs para análise de segurança
- Rotação preventiva: Substitua suas chaves periodicamente
- Verifique regularmente: Confirme no painel administrativo se suas chaves estão ativas