Convenções da API
Esta página reúne as convenções transversais que valem para todos os recursos da API Selectwin. Conhecê-las evita os erros de integração mais comuns.
Nomenclatura — camelCase
Todos os campos de requisição e resposta usam camelCase (firstName, createdAt, unitPrice,
externalReference). Não há campos em snake_case nas superfícies públicas.
Valores monetários — centavos (inteiros)
Todo valor monetário é um inteiro em centavos. Nunca use ponto flutuante para dinheiro.
| Exibição | Valor na API |
|---|---|
| R$ 99,00 | 9900 |
| R$ 1,50 | 150 |
| R$ 1.250,00 | 125000 |
Aplica-se a amount, unitPrice, oldPrice, costPerItem, fee, grossAmount, etc. Converta para
centavos antes de enviar e divida por 100 apenas para exibir.
Moeda
Use o código ISO 4217 em maiúsculas. Atualmente a API opera em BRL (Real brasileiro).
Datas e horários — ISO 8601 em UTC
Todos os timestamps são ISO 8601 com timezone UTC (sufixo Z):
2026-04-12T17:56:33.000Z- Campos de data-hora:
createdAt,updatedAt,paidAt,approvedAt,dueDate,expectedOn, … - Converta para o fuso do usuário apenas na exibição.
- Campos de data (sem hora), quando existirem, usam
YYYY-MM-DD.
Identificadores (IDs)
Todo recurso tem um identificador público no formato prefixo_valor (ex.: cus_01hqzvabc). O
prefixo indica o tipo do recurso.
Prefixos dos recursos públicos (para referência):
| Recurso | Prefixo |
|---|---|
| Customer | cus_ |
| Card | card_ |
| Address | addr_ |
| Transaction | tra_ |
| Wallet | wall_ |
| Withdrawal | cash_ |
| Receivable | rec_ |
| Subscription | subs_ |
| Subscription item | sit_ (registros antigos podem vir com item_) |
| Subscription split | ssp_ (registros antigos podem vir com split_) |
| Subscription cycle | scy_ |
| Transaction item | item_ |
| Transaction split | split_ |
| Product | prd_ |
| Variant | var_ |
| Coupon | dis_ |
| Webhook endpoint | wbe_ |
| Webhook event | wbh_ |
| Webhook dispatch | wdi_ |
| Webhook secret | whsec_ |
null vs. campo ausente
- Um campo presente com valor
nullsignifica "sem valor" (ex.:paidAt: null= ainda não pago). - Em respostas de lista (
data[]), os itens são projeções leves — alguns campos do objeto completo são omitidos. Para o objeto completo, consulte o recurso individual (GET .../{id}).
Requisições
| Cabeçalho | Uso |
|---|---|
SelectKey | Obrigatório — sua chave de API (veja Autenticação) |
Content-Type: application/json | Em requisições com corpo |
X-Idempotency-Key | Recomendado em operações de escrita (veja Idempotência) |
- Corpo das requisições em JSON.
- Use
externalReferenceemetadata(objeto livre) para correlacionar recursos com o seu sistema.
Respostas
- Sucesso: o corpo é o objeto do recurso (ou o objeto paginado em listagens). Veja
Paginação e o padrão HATEOAS (
_links) em Recursos. - Erro: envelope padrão com
error.codeestável — veja Tratamento de Erros e o Catálogo de Códigos de Erro. - Webhooks: verifique sempre a assinatura — veja Verificando Assinaturas de Webhook.
Resumo
| Convenção | Regra |
|---|---|
| Campos | camelCase |
| Dinheiro | inteiro em centavos |
| Moeda | ISO 4217 (BRL) |
| Datas | ISO 8601 UTC (...Z) |
| IDs | prefixo_valor, opacos |
| Erros | envelope com error.code estável |
| Atualizações de estado | via webhooks, nunca por polling |
Atualizado em 17 de outubro de 2026