Skip to content

API BaaS — Banking as a Service

Axia Banking as a Service — Implemente contas digitais, PIX e cobranças em minutos.

Base URL: https://baas-gtw.axiadigitalsolutions.com (production) · Versão: v1

A API REST de Blockchain Bank As A Service do ecossistema Axia. Os dados (rotas, campos, exemplos) estão em inglês; as explicações são localizáveis. Para o catálogo interativo, veja a Referência interativa.


1. O que é Banking as a Service (BaaS)

A Axia oferece uma API unificada para que você integre serviços bancários sem lidar diretamente com a complexidade de instituições financeiras.

Componentes-chave

  • BaaS Gateway (Common/Frontend/API-Gateway) — API REST unificada, sua porta de entrada
  • Provider BaaS — Instituição financeira autorizada pelo Bacen
  • Blockchain/Ledger Service (BLS) — Registro imutável de operações bancárias na Axia

O que você consegue fazer

  • ✅ Criar contas digitais (PF/PJ)
  • ✅ Receber pagamentos via PIX (chaves, transferências, webhooks)
  • ✅ Emitir e gerenciar cobranças (boleto, PIX dinâmico)
  • ✅ Consultar saldos e extratos
  • ✅ Executar transferências interbancárias (TED/DOC)
  • ✅ Integrar webhooks para eventos em tempo real

Modelo de Segurança

  • OAuth 2.0 Client Credentials — Autenticação máquina-a-máquina
  • JWT Bearer tokens — Autorização stateless com claims identificadores
  • Assinatura HMAC — Validação de webhooks
  • Criptografia TLS 1.3 — Todas as conexões (HTTPS obrigatório)

2. Fluxo End-to-End (Criar Conta → Receber PIX)

Aqui está como funciona tipicamente uma integração completa:

Etapa 1: Autenticar

POST /v1/authentication/oauth/access-token

Você envia suas credenciais (client_id + client_secret) e recebe um Bearer token válido por 1h.

Etapa 2: Criar Conta

POST /v1/bank-accounts/create

Envia dados do cliente (PF: CPF, nome, DOB; PJ: CNPJ, razão social). Retorna onBoardingId no status PROCESSING.

Etapa 3: Verificar Onboarding (KYC)

GET /v1/bank-accounts/checkOnboarding?onBoardingId=...

Você faz polling até o status virar APPROVED. Aí a conta está pronta.

Etapa 4: Registrar Chave PIX

POST /v1/pix/create

Você gera uma chave PIX (CPF, telefone, email, aleatória) e recebe a chave + QR Code.

Etapa 5: Receber Pagamento

Webhook POST /notifications/pix-payment-in

GlobalSCM envia um webhook quando o cliente recebe um PIX. Você processa em tempo real.


3. Fluxo de Sequência (Mermaid)


4. Tabela de Endpoints Principais

GrupoEndpointMétodoDescrição
Auth/v1/authentication/oauth/access-tokenPOSTObter Bearer token via Client Credentials
Contas/v1/bank-accounts/createPOSTCriar conta (PF/PJ) com KYC
Contas/v1/bank-accounts/getAccountsGETListar contas
Contas/v1/bank-accounts/checkOnboardingGETVerificar status de KYC (onBoardingId)
Saldo/v1/bank-accounts/balanceGETSaldo atual + disponível
Extrato/v1/bank-accounts/historyGETHistórico de transações
PIX/v1/pix/createPOSTRegistrar chave PIX
PIX/v1/pix/getKeysGETListar chaves PIX da conta
PIX/v1/pix/transferPOSTFazer transferência PIX
PIX/v1/pix/createStaticQRCodePOSTGerar QR Code estático
PIX/v1/pix/pixPayByQRCodePOSTPagar via QR Code
Boleto/v1/bills/CreateChargePOSTEmitir cobrança (boleto)
Boleto/v1/bills/checkBillGETConsultar boleto
Webhooks/v1/webhooks/registerPOSTRegistrar URL para eventos
Webhooks/v1/webhooks/listGETListar eventos

Eventos de Webhook suportados

  • pix-payment-in — PIX recebido
  • pix-transfer-out — PIX enviado
  • bill-payment-confirmed — Boleto pago
  • onboarding-approved — KYC aprovado
  • account-balance-updated — Saldo alterado
  • (mais eventos — ver Webhooks)

5. Primeiros Passos

5.1. Setup Inicial (5 min)

  1. Solicitar credentials ao time Axia (client_id + client_secret)
  2. Obter Bearer token — POST /v1/authentication/oauth/access-token
  3. Testar com cURL — Validate o token fazendo GET /v1/bank-accounts/getAccounts

5.2. Criar Conta (10 min)

  1. Preparar dados do cliente (CPF + dados pessoa física, ou CNPJ + PJ)
  2. POST /v1/bank-accounts/create com payload
  3. Receber onBoardingId
  4. Fazer polling em /v1/bank-accounts/checkOnboarding?onBoardingId=... até APPROVED (tipicamente 1-5 min, manual review)

5.3. Registrar PIX (2 min)

  1. POST /v1/pix/create com tipo (CPF, telefone, email, aleatória)
  2. Receber chave PIX formatada
  3. POST /v1/pix/createStaticQRCode para QR Code estático
  4. Expor ao cliente para receber pagamentos

5.4. Processar Webhook (implementação contínua)

  1. Registrar sua URL em /v1/webhooks/register
  2. Implementar POST /seu/endpoint que receba JSON + header X-Signature: <HMAC-SHA256>
  3. Validar assinatura com seu webhook_secret
  4. Processar evento (ex: crédito na conta do cliente) + retornar 200 OK

6. Estrutura da Documentação

Você está no guia introdutório. A seguir, tópicos aprofundados:

Core

Operações de Pagamento

Integração Avançada

Referência


7. Características Destacadas

Async First

Operações críticas (abertura de conta, KYC) são assíncronas com polling. Você faz polling até conclusão; não bloqueamos a conexão.

Idempotência Nativa

Endpoints de criação aceitam Idempotency-Key header — mesma requisição enviada 2x retorna a mesma resposta sem duplicação.

Webhooks com Retry

Se seu endpoint falhar, tentamos automaticamente até 5x com backoff exponencial (1s, 2s, 4s, 8s, 16s).

Multi-Tenant Ready

Cada integrador é isolado. Seu client_id limita você aos dados do seu tenant.

Auditoria Completa

Toda operação é registrada em Blockchain/Ledger — histórico imutável para compliance.


8. Exemplo: Criar Conta + PIX em 3 Passos

bash
# Passo 1: Autenticar
TOKEN=$(curl -X POST https://baas-gtw.axiadigitalsolutions.com/v1/authentication/oauth/access-token \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "YOUR_CLIENT_ID",
    "client_secret": "YOUR_CLIENT_SECRET",
    "grant_type": "client_credentials"
  }' | jq -r '.data.access_token')

# Passo 2: Criar conta
ACCOUNT=$(curl -X POST https://baas-gtw.axiadigitalsolutions.com/v1/bank-accounts/create \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -H "x-client-id: YOUR_TENANT_ID" \
  -d '{
    "customerType": "PF",
    "cpf": "12345678900",
    "fullName": "João da Silva",
    "birthDate": "1990-05-15",
    "email": "joao@example.com"
  }')

ONBOARDING_ID=$(echo $ACCOUNT | jq -r '.data.onBoardingId')

# Passo 3: Aguardar KYC (polling simples)
for i in {1..30}; do
  STATUS=$(curl -X GET "https://baas-gtw.axiadigitalsolutions.com/v1/bank-accounts/checkOnboarding?onBoardingId=$ONBOARDING_ID" \
    -H "Authorization: Bearer $TOKEN" \
    -H "x-client-id: YOUR_TENANT_ID" | jq -r '.data.status')
  
  if [ "$STATUS" = "APPROVED" ]; then
    echo "✅ Conta aprovada!"
    break
  fi
  
  echo "⏳ Status: $STATUS, tentando novamente em 10s..."
  sleep 10
done

# Passo 4: Registrar PIX
PIX=$(curl -X POST https://baas-gtw.axiadigitalsolutions.com/v1/pix/create \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -H "x-client-id: YOUR_TENANT_ID" \
  -d '{
    "accountId": "'$(echo $ACCOUNT | jq -r '.data.accountId')'",
    "keyType": "CPF",
    "keyValue": "12345678900"
  }')

echo "✅ PIX registrado:"
echo $PIX | jq '.data.pixKey, .data.qrCode'

9. Glossário Rápido

TermoSignificado
BaaSBanking as a Service — API para operações bancárias
GlobalSCMProvider (instituição financeira real autorizado Bacen)
BLSBlockchain/Ledger Service — auditoria imutável Axia
PIXSistema de pagamentos instantâneos (SPB, Bacen)
OnboardingProcesso de KYC (verificação de identidade)
WebhookCallback HTTPS — você recebe eventos em tempo real
IdempotênciaMesma requisição 2x = mesma resposta (sem duplicação)
HMAC-SHA256Assinatura de webhooks para validação

Getting Started

Prerequisites

To integrate with the Axia BaaS Gateway, you will need:

  1. Client ID and Client Secret — provided upon registration in the Developer Portal
  2. x-client-id — your tenant identifier (required for financial transactions)

Authentication Flow

All API calls (except authentication itself) require a Bearer token obtained via the OAuth endpoint:

1. Encode your credentials:  Base64("Client_ID:Client_Secret")
2. POST /v1/authentication/oauth/access-token  →  receive Bearer token
3. Use the Bearer token in the Authorization header for all subsequent requests

Common Headers

HeaderRequiredDescription
AuthorizationYesBasic <base64> for auth endpoints; Bearer <token> for all others
Content-TypeYes (POST/PUT)application/json
x-client-idYes (financial ops)Your tenant identifier
Idempotency-KeyRecommendedUUID to prevent duplicate transactions

Standard Response Format

json
{
  "status": "CONFIRMED",
  "data": { },
  "message": "",
  "when": 1710700000000
}
FieldDescription
statusCONFIRMED, PROCESSING, or ERROR
dataOperation-specific response payload
messageError description (when status = ERROR)
whenTimestamp in milliseconds

Quick Reference

Complete API Endpoint Summary

MethodEndpointDescription
Authentication
POST/v1/authentication/oauth/access-tokenGet Bearer token
POST/v1/authentication/oauth/introspectValidate token
POST/v1/authentication/oauth/revokeRevoke token
Bank Accounts
POST/v1/bank-accounts/createCreate account (PF/PJ)
GET/v1/bank-accounts/checkOnboardingCheck onboarding status
GET/v1/bank-accounts/balanceGet account balance
GET/v1/bank-accounts/historyGet transaction history
GET/v1/bank-accounts/getTransactionByIdGet transaction receipt
GET/v1/bank-accounts/getAccountsList accounts
GET/v1/bank-accounts/getAccountInfoNaturalPersonGet PF account info
GET/v1/bank-accounts/getAccountInfoLegalPersonGet PJ account info
PUT/v1/bank-accounts/updateAccountInfoLegalPersonUpdate PJ info
POST/v1/bank-accounts/generateInternalTransferRequestInternal transfer
POST/v1/bank-accounts/generateExternalTransferRequestExternal transfer (TED)
POST/v1/bank-accounts/closeAccountClose account
PIX
POST/v1/pix/createRegister PIX key
POST/v1/pix/excludeRemove PIX key
GET/v1/pix/getKeysList PIX keys
POST/v1/pix/getAccountInfoByPixKeyLook up account by PIX key
POST/v1/pix/transferExecute PIX transfer
GET/v1/pix/checkCheck PIX status
POST/v1/pix/createStaticQRCodeCreate static QR Code
GET/v1/pix/getStaticQRCodeGet QR Code data
POST/v1/pix/getQRCodeDataByEmvParse QR Code EMV
POST/v1/pix/pixPayByQRCodePay via QR Code
POST/v1/pix/reverseReverse PIX transaction
Bills
POST/v1/bills/payBillPay a bill (boleto)
POST/v1/bills/checkBillCheck bill details
POST/v1/bills/CreateChargeCreate a charge
POST/v1/bills/CheckChargeCheck charge status
POST/v1/bills/getChargePDFGet charge PDF

10. Suporte & SLA


Pronto para começar? Clique em Autenticação e configure seu primeiro token. 🚀