Pular para o conteúdo principal

Criar carteira

Quick Reference

WhatCriar uma carteira vinculada a um comerciante e moeda
WhyCarteiras são a base — sem carteira, sem cobranças, sem pagamentos
Reading Time5 min
DifficultyBeginner
PrerequisitesAutenticação → UUID da Entidade → ID do Cliente
POST/api/v1/bank/wallet/Bearer TokenCriar uma nova carteira

Quando usar este endpoint

Sem carteiraCom carteira
Não é possível processar nenhuma cobrançaAceite pagamentos via cartão de crédito, PIX, Boleto, SPEI e mais 8 métodos
Sem acompanhamento de saldoSaldo em tempo real por comerciante por moeda
Sem contêiner de liquidaçãoAgrupamento automático de liquidação e repasse
Sem credenciais de API para o comercianteclient_id / client_secret opcionais gerados automaticamente para autoatendimento do comerciante
Não é possível separar fundos por moedaCarteiras isoladas em BRL, MXN, CLP, ARS para contabilidade multi-moeda organizada

Hierarquia de entidades


Autenticação

Requer token Bearer. Veja Autenticação.

Corpo da requisição

CampoTipoObrigatórioDescrição
entity_uuidstring (UUID)SimIdentificador da entidade da conta — o UUID da sua empresa
customer_idstringSimID interno do cliente no seu sistema
currencystringSimCódigo de moeda ISO 4217: BRL, MXN, CLP ou ARS
namestringSimNome de exibição da carteira (exibido no painel e relatórios)
emailstringSimEndereço de e-mail associado a esta carteira
create_credentialsbooleanSimtrue para gerar client_id e client_secret OAuth para esta carteira
merchant_uuidstringNãoAssociar esta carteira a um comerciante existente. Omita para criar automaticamente

Exemplos de código

curl -s -X POST https://core-manager.a55.tech/api/v1/bank/wallet/ \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"entity_uuid": "550e8400-e29b-41d4-a716-446655440000",
"customer_id": "cust_12345",
"currency": "BRL",
"name": "Loja São Paulo — BRL",
"email": "financeiro@loja-sp.com.br",
"create_credentials": true,
"merchant_uuid": "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
}'

Resposta

Sucesso (200 OK)

Quando create_credentials: true, a resposta inclui um objeto credentials com chaves OAuth com escopo para esta carteira.

{
"wallet_uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"entity_uuid": "550e8400-e29b-41d4-a716-446655440000",
"merchant_uuid": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"customer_id": "cust_12345",
"currency": "BRL",
"name": "Loja São Paulo — BRL",
"email": "financeiro@loja-sp.com.br",
"credentials": {
"client_id": "3f8a2b1c-9d4e-5f6a-7b8c-0d1e2f3a4b5c",
"client_secret": "sk_live_a55_7k9m2nP4qR6sT8uV0wX1yZ3",
"grant_type": "client_credentials",
"scopes": [
"wallet:read",
"wallet:write",
"charge:create",
"charge:read"
]
}
}

Campos da resposta

CampoTipoDescrição
wallet_uuidstring (UUID)Identificador único da carteira — use em todas as chamadas de cobrança e saldo
entity_uuidstring (UUID)Entidade pai
merchant_uuidstring (UUID)Comerciante associado
customer_idstringSeu ID interno do cliente
currencystringCódigo de moeda ISO 4217
namestringNome de exibição da carteira
emailstringE-mail da carteira
credentialsobjectPresente apenas quando create_credentials: true
credentials.client_idstringID do cliente OAuth para troca de token via Cognito
credentials.client_secretstringSegredo do cliente OAuth — armazene com segurança, exibido apenas uma vez
credentials.grant_typestringSempre client_credentials
credentials.scopesstring[]Escopos de API permitidos para esta carteira

Resposta de erro

{
"error": "validation_error",
"message": "Wallet already exists for this merchant and currency",
"code": "errors.wallet.already_exists"
}
StatusCódigoDescriçãoResolução
400validation_errorCampos ausentes ou inválidosVerifique os campos obrigatórios e seus tipos
401unauthorizedToken Bearer inválido ou expiradoRenove seu token de acesso
409errors.wallet.already_existsJá existe uma carteira para este comerciante + moedaUse a carteira existente ou escolha uma moeda diferente

Exemplo completo — configuração multi-moeda

Crie carteiras para um comerciante que opera no Brasil e no México:

# Carteira BRL
curl -s -X POST https://core-manager.a55.tech/api/v1/bank/wallet/ \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"entity_uuid": "550e8400-e29b-41d4-a716-446655440000",
"customer_id": "cust_12345",
"currency": "BRL",
"name": "LatAm Store — BRL",
"email": "finance@latamstore.com",
"create_credentials": true
}'

# Carteira MXN (mesma entidade, mesmo cliente)
curl -s -X POST https://core-manager.a55.tech/api/v1/bank/wallet/ \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"entity_uuid": "550e8400-e29b-41d4-a716-446655440000",
"customer_id": "cust_12345",
"currency": "MXN",
"name": "LatAm Store — MXN",
"email": "finance@latamstore.com",
"create_credentials": false
}'

Dicas

Armazene as credenciais imediatamente

Quando create_credentials: true, o client_secret é retornado apenas uma vez. Armazene-o em um gerenciador de segredos (AWS Secrets Manager, HashiCorp Vault, Azure Key Vault) imediatamente após a criação. A A55 não pode recuperá-lo posteriormente — você precisaria rotacionar as credenciais.

Uma carteira por comerciante por moeda

A A55 impõe uma restrição de unicidade em merchant_uuid + currency. Se seu comerciante opera em BRL e MXN, crie duas carteiras. Isso mantém saldos, liquidações e relatórios separados de forma organizada por moeda.

Credenciais vs. token da plataforma

As credenciais da carteira permitem que o comerciante chame a API diretamente (ex.: criar cobranças, consultar saldo). Seu token de plataforma (nível de entidade) pode operar em todas as carteiras. Escolha conforme sua arquitetura: chamadas centralizadas pela plataforma vs. acesso delegado ao comerciante.