v1.2.6
OAS 3.1.1

Selectwin API

Introdução

A Selectwin API foi desenvolvida seguindo os melhores padrões REST, proporcionando uma integração simples e eficiente para qualquer aplicação. As operações são realizadas por meio de requisições aos endpoints, utilizando os verbos HTTP apropriados e corpos de mensagem no formato JSON. As respostas são facilmente interpretadas por meio dos códigos de status HTTP, garantindo uma experiência de integração clara e intuitiva, independentemente da linguagem de programação escolhida.

Além disso, disponibilizamos uma chave de testes, permitindo que as integrações sejam realizadas com total segurança, sem o risco de realizar cobranças reais nos cartões de crédito. Dessa forma, você pode testar à vontade e garantir o perfeito funcionamento antes de ir para produção.


Recursos

1. Gestão de Clientes

  • Customers: Gerenciamento completo de clientes, incluindo criação, consulta, atualização e exclusão
  • Addresses: Gerenciamento de endereços para clientes e empresas

2. Financeiro e Transações

  • Transactions: Processamento e gerenciamento de transações financeiras com múltiplos métodos de pagamento.
  • Subscriptions: Gestão de assinaturas recorrentes, incluindo cobrança automática, renovação, e controle dos ciclos de pagamento.
  • Wallets: Gerenciamento de carteiras digitais para armazenamento seguro de métodos de pagamento.
  • Finance: Operações financeiras, balanços, saques e relatórios de recebíveis.
  • Cards: Gerenciamento seguro de cartões de crédito e débito

3. Utilitários

  • Utils: Funções utilitárias como validação de BIN de cartão, consulta de CEP e listagem de bancos
  • Webhooks: Sistema robusto de notificações em tempo real para eventos da plataforma, dividido em Endpoints (configuração) e Events (histórico e reenvio)


Autenticação

Para se autenticar na API, você precisa obter sua credential selectKey. Acesse sua conta na dashboard da Selectwin para coletar suas credenciais.

As chamadas de testes e de produção devem ser feitas para o respectivo endpoint. O que definirá se a transação usará o simulador ou seguirá o fluxo de produção será a chave utilizada.

Todas as requisições à API devem incluir suas credenciais no cabeçalho da requisição:

curl -X GET "https://api.selectwin.io/v1/*" \
     -H "SelectKey: sl_abc123..." \
     -H "Content-Type: application/json" \
     -H "Accept: application/json"


Códigos de Erros

Nossa API valida todos os campos enviados na requisição antes de prosseguir com a criação, consulta ou gerenciamento de pedidos, transações e recursos disponíveis.

A API segue os códigos de resposta padrão do HTTP para indicar o sucesso ou falha de uma requisição. Códigos 2xx indicam respostas bem-sucedidas, enquanto códigos 4xx referem-se a erros nos dados fornecidos, como omissão de um campo obrigatório ou envio de um cartão sem validade. Códigos 5xx indicam problemas nos nossos servidores, que estamos empenhados em resolver.

Principais Códigos de Status HTTP

Código Status Descrição
200 OK A solicitação foi bem-sucedida e a resposta contém o resultado esperado.
201 Created A solicitação foi bem-sucedida e o recurso foi criado.
400 Bad Request A solicitação foi malformada ou contém erros que impedem seu processamento.
401 Unauthorized A autenticação falhou. A chave da API fornecida é inválida ou não tem permissão para operar.
403 Forbidden O acesso foi negado. Pode ser devido a bloqueios de IP, domínio ou permissões insuficientes.
404 Not Found O recurso solicitado não foi encontrado no servidor.
412 Precondition Failed As pré-condições da solicitação não foram atendidas, mesmo que os parâmetros estejam corretos.
422 Unprocessable Entity A solicitação foi compreendida, mas contém dados inválidos que não puderam ser processados.
429 Too Many Requests O número de solicitações excedeu o limite permitido para o IP ou usuário.
500 Internal Server Error Ocorreu um erro inesperado no servidor, impedindo o processamento da solicitação.
503 Service Unavailable O serviço bancário está fora do ar, não sendo possível processar a requisição no momento. Tente novamente.

Estrutura do Objeto de Erro

Quando ocorre um erro, a API retorna um objeto JSON com informações detalhadas sobre o problema. Abaixo estão os atributos do objeto de erro:

Atributo Tipo Descrição
status string Descrição textual do status HTTP
statusCode number Código numérico do status HTTP
category string Categoria do erro (validation, authentication, authorization, server, etc.)
message string Mensagem principal descrevendo o erro
details string Detalhes adicionais sobre o erro (opcional)
params array Lista de parâmetros específicos que causaram o erro (opcional)
suggestedActions array Sugestões de ações para resolver o problema
docUrl string URL para documentação relacionada ao erro
supportUrls array URLs para obter suporte adicional

Exemplo de resposta de erro:

{
  "error": {
    "status": "Bad Request",
    "statusCode": 400,
    "category": "validation",
    "message": "Validation errors occurred.",
    "params": [
      {
        "payment[card][numbering]": "The credit card number is invalid."
      }
    ],
    "suggestedActions": [
      "Check if the credit card number is correct",
      "Check if the credit card is not expired"
    ],
    "docUrl": "https://docs.selectwin.io/errors/validation",
    "supportUrls": [
      "https://suporte.selectwin.io/ajuda"
    ]
  }
}


Paginação

A Selectwin API oferece suporte a buscas em massa por meio dos métodos de listagem, permitindo a recuperação eficiente de grandes volumes de dados, como usuários, assinaturas, pedidos e outros recursos. Todos esses métodos seguem uma estrutura comum que inclui paginação e filtros.

Por padrão, nossa API suporta os seguintes parâmetros de paginação:

  • sort: Especifica a direção da ordenação (ascending para ascendente, descending para descendente).
  • offset: Define a partir de qual ponto nos resultados a consulta deve começar a retornar dados.
  • limit: Define o número máximo de registros retornados pela consulta.

Esses parâmetros permitem um controle refinado sobre os resultados retornados, facilitando a navegação por grandes conjuntos de dados.

Estrutura de Resposta Paginada

Todas as respostas de listagem seguem um formato padrão, onde apenas o conteúdo do array data varia de acordo com o recurso consultado:

{
  "offset": 0,
  "limit": 10,
  "total": 6,
  "page": {
    "offset": {
      "first": 0,
      "prev": 0,
      "next": 0,
      "last": 0
    },
    "current": 1,
    "total": 1
  },
  "hasMore": false,
  "data": [
    {
      // Dados específicos do recurso consultado
      "id": "wbe_abc1234567890xyz",
      "name": "Nome do Recurso",
      // Outros atributos específicos...
      "updatedAt": "2025-01-26T10:15:00.000Z",
      "createdAt": "2024-07-15T08:45:00.000Z"
    },
    // Mais itens...
  ]
} 
Atributo Tipo Descrição
offset number Posição inicial dos resultados retornados
limit number Quantidade máxima de registros retornados
total number Total de registros disponíveis para a consulta
page.offset.first number Offset da primeira página de resultados
page.offset.prev number Offset da página anterior
page.offset.next number Offset da próxima página
page.offset.last number Offset da última página
page.current number Número da página atual
page.total number Total de páginas disponíveis
hasMore boolean Indica se existem mais resultados além dos retornados
data array Array contendo os registros retornados


Segurança - PCI Compliance

Para garantir a segurança na troca de informações, é necessário que nossos servidores sejam liberados no seu ambiente. Recomendamos fortemente que você libere o domínio: api.selectwin.io.

Como uma empresa certificada com PCI Compliance, seguimos padrões rigorosos de segurança na troca de informações com nossa API. Seguem as configurações aceitas:

Protocolos Aceitos

  • TLS 1.2
  • TLS 1.3 (Recomendamos fortemente a utilização deste protocolo)

Hash Codes

  • SHA256
  • SHA384
  • SHA512

Cipher Suites

  • Com criptografia igual ou superior a 128 bits

Certificados Digitais SSL

A Selectwin utiliza uma tecnologia que provisiona automaticamente os certificados digitais para as aplicações dos seus domínios. Esses certificados têm validade de 90 dias. Por isso, recomendamos que os clientes enviem transações para o nome completo (FQDN) dos endpoints da nossa API.

Importante: Não recomendamos o pinning de certificados com a chave pública.


Proibição de Polling

Para garantir a eficiência e a performance da nossa API, o uso de polling — a prática de fazer requisições repetidas em intervalos curtos para verificar o status de transações ou recursos — não é permitido.

Em vez disso, recomendamos o uso de webhooks para notificações em tempo real. Com os webhooks, sua aplicação será automaticamente informada quando houver uma mudança no status de uma transação, eliminando a necessidade de consultas frequentes e garantindo uma integração mais eficiente e escalável.

Caso o polling excessivo seja detectado, nos reservamos o direito de limitar ou suspender o acesso à API para evitar sobrecarga no sistema.

Para configurar webhooks, utilize os endpoints de Webhooks Endpoints (/v1/webhooks/endpoints) e Webhooks Events (/v1/webhooks/events) conforme documentado nas seções correspondentes.


Server: https://api.selectwin.io/v1

Endpoint da API

Client Libraries

Addresses (Collapsed)

Adicione, edite e remova endereços dos seus clientes de maneira simples e eficiente.

Cards (Collapsed)

Armazene e gerencie informações de cartões de crédito e débito de forma segura e prática.

Models