Pixley API Documentation
Esta documentação descreve os principais endpoints da API do sistema Pixley Crypto Transactions.
Base URL
Autenticação
Todos os endpoints aceitam autenticação via Authorization: Bearer <seu-token-jwt> ou via cabeçalhos de API:
💡 As credenciais de API (API key e Secret key) devem ser obtidas através do nosso suporte.
Health Status (curl)
{
"status": "OK",
"environment": "production",
"service": {
"name": "pixley-crypto-transactions",
"version": "2.0.0"
},
"uptime": 41027.390472536,
"timestamp": "2025-11-28T15:22:54.901Z"
}Listar Carteiras
Lista carteiras vinculadas ao usuário
Retorna as carteiras do usuário autenticado e suas blockchains suportadas
Requisição
Authorization: Bearer {seu_token_jwt}
x-api-key: <your-api-key>
x-secret-key: <your-secret-key>Resposta
{
"success": true,
"data": {
"wallets": [
{
"id": 1001,
"address": "0x7B14e8c72a989B0Ae3D95036E4c5F1DdC23Fa6f8",
"blockchains": [
"Ethereum",
"BSC",
"Polygon"
]
},
{
"id": 1002,
"address": "0xA3f92c1b4C7F8e52E63B1d4C9C5Fb27E9B8A71d2",
"blockchains": [
"Ethereum",
"Polygon"
]
}
]
}
}Parâmetros da Requisição
Autenticação (escolha 1):
AuthorizationBearer {seu_token_jwt}x-api-key<your-api-key>x-secret-key<your-secret-key>Parâmetros de Query (opcionais):
pageNúmero da página (padrão: 1)limitItens por página (padrão: 20)blockchainFiltrar por rede (Ethereum, BSC, Polygon)🔍 Funcionalidades:
Retorna carteiras vinculadas ao usuárioLista blockchains suportadas por cada carteiraConsultar Saldos do Usuário
Retorna saldos por moeda da conta autenticada
Lista os saldos por moeda do usuário autenticado, com valores disponível, reservado e total
Requisição
Authorization: Bearer {seu_token_jwt}
x-api-key: <your-api-key>
x-secret-key: <your-secret-key>Resposta
{
"success": true,
"data": {
"userId": "XXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"balances": [
{
"currency": "BRL",
"balance": "1250.89",
"reserved": "300.00",
"available": "950.89",
"created_at": "2025-09-15T12:20:45.112Z",
"updated_at": "2025-11-28T14:55:03.441Z"
},
{
"currency": "USDT",
"balance": "532.12000000",
"reserved": "12.50000000",
"available": "519.62000000",
"created_at": "2025-09-15T12:20:45.210Z",
"updated_at": "2025-11-27T18:42:11.882Z"
},
{
"currency": "USDC",
"balance": "120.00000000",
"reserved": "0.00000000",
"available": "120.00000000",
"created_at": "2025-10-02T08:10:22.951Z",
"updated_at": "2025-11-20T06:12:30.144Z"
},
{
"currency": "USD",
"balance": "87.45000000",
"reserved": "10.00000000",
"available": "77.45000000",
"created_at": "2025-10-02T08:10:23.002Z",
"updated_at": "2025-11-25T10:03:09.210Z"
},
{
"currency": "BTC",
"balance": "0.00421500",
"reserved": "0.00000000",
"available": "0.00421500",
"created_at": "2025-09-15T12:20:45.330Z",
"updated_at": "2025-11-26T22:48:55.512Z"
}
],
"timestamp": "2025-11-28T15:40:12.999Z"
}
}Parâmetros da Requisição
Autenticação (escolha 1):
AuthorizationBearer {seu_token_jwt}x-api-key<your-api-key>x-secret-key<your-secret-key>🔍 Informações retornadas:
balancesLista de moedas com balance, reserved e availabletimestampMomento da coleta dos saldosuserIdIdentificador do usuário autenticadoTransferência entre Carteiras
Transfere fundos entre carteiras ou para endereço externo
Cria uma transferência de fundos entre carteiras internas ou para um endereço externo em redes suportadas
Requisição
Authorization: Bearer {seu_token_jwt}
x-api-key: <your-api-key>
x-secret-key: <your-secret-key>
Content-Type: application/json
{
"tokenSymbol": "USDT",
"network": "Polygon",
"amount": "3.2500",
"toAddress": "0x0a7A5239d352244C0303204c3f5D538ec13EF6CE"
}Resposta
{
"success": false,
"error": "Saldo insuficiente",
"error_code": "INSUFFICIENT_BALANCE",
"details": {
"requested": "3.25000000",
"available": "0.00000000",
"currency": "USDT"
},
"timestamp": "2025-11-28T15:04:58.674Z",
"message": "Erro na operação"
}Parâmetros da Requisição
Autenticação (escolha 1):
AuthorizationBearer {seu_token_jwt}x-api-key<your-api-key>x-secret-key<your-secret-key>Campos da requisição:
tokenSymbolSímbolo do token (ex.: USDT)networkRede da transação (Ethereum, BSC, Polygon)amountValor a transferir (string decimal)toAddressEndereço de destino da carteiraStatus disponíveis:
PENDINGTransferência criada e aguardando processamentoPROCESSINGEm processamento na redeCOMPLETEDConfirmada na redeFAILEDFalha na execução ou validaçãoListar Boletos do Usuário
Lista boletos do usuário autenticado
Lista os boletos do usuário autenticado com filtros e paginação
Requisição
Authorization: Bearer {seu_token_jwt}
x-api-key: <your-api-key>
x-secret-key: <your-secret-key>Resposta
{
"success": true,
"data": {
"boletos": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"txId": "34191790010104351004791020150008291070026000",
"nominalValue": 260.00,
"dueDate": "2024-12-31",
"status": "PENDING",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
],
"pagination": {
"page": 1,
"limit": 10,
"total": 5,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}
}Parâmetros da Requisição
Autenticação (escolha 1):
AuthorizationBearer {seu_token_jwt}x-api-key<your-api-key>x-secret-key<your-secret-key>Parâmetros de Query (opcionais):
pageNúmero da página (padrão: 1)limitItens por página (padrão: 20)statusFiltrar por status (PENDING, PAID, EXPIRED, CANCELLED)startDateData inicial (YYYY-MM-DD)endDateData final (YYYY-MM-DD)🔍 Funcionalidades:
Paginação automáticaFiltros por status e períodoAcesso apenas aos boletos do usuário autenticadoInformações completas de cada boletoPagamento de Boleto
Processa pagamento de boleto
Processa o pagamento de um boleto através da fila de processamento assíncrono
Requisição
Authorization: Bearer {seu_token_jwt}
x-api-key: <your-api-key>
x-secret-key: <your-secret-key>
Content-Type: application/json
{
"codBarraLinhaDigitavel": "34191790010104351004791020150008291070026000",
"valorPagar": 260.00,
"dataVencimento": "2024-12-31"
}Resposta
{
"success": true,
"message": "Boleto adicionado à fila de processamento",
"data": {
"boleto": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"txId": "34191790010104351004791020150008291070026000",
"nominalValue": 260.00,
"dueDate": "2024-12-31",
"status": "PENDING",
"transactionId": "tx_123456789",
"createdAt": "2024-01-15T10:30:00Z"
},
"queueInfo": {
"jobId": "job_987654321",
"position": 1
}
}
}Parâmetros da Requisição
Autenticação (escolha 1):
AuthorizationBearer {seu_token_jwt}x-api-key<your-api-key>x-secret-key<your-secret-key>Campos da requisição:
codBarraLinhaDigitavelCódigo de barras ou linha digitável do boleto (obrigatório)valorPagarValor a ser pago (opcional - será extraído do código se não fornecido)dataVencimentoData de vencimento no formato YYYY-MM-DD (opcional)Status disponíveis:
PENDINGBoleto criado, aguardando pagamentoPAIDBoleto pago com sucessoEXPIREDBoleto vencidoCANCELLEDBoleto cancelado🔄 Processamento Assíncrono:
Os pagamentos são processados via fila (boletoPaymentQueue)Retorna informações da posição na filaStatus atualizado automaticamente após processamentoWebhooks
O sistema envia notificações via webhook para eventos importantes. Todos os webhooks são enviados via POST com assinatura HMAC-SHA256 no header X-Signature.
Eventos Suportados
DEPOSIT
Quando um depósito é recebido
WITHDRAWAL
Quando um saque é processado
PAYMENT REQUEST
Quando uma solicitação de pagamento é criada
Estrutura Base do Webhook
{
"eventId": "evt_123e4567-e89b-12d3-a456-426614174000",
"eventType": "DEPOSIT",
"userId": "456e7890-e89b-12d3-a456-426614174000",
"timestamp": "2024-01-15T10:30:00Z",
"data": {
// Dados específicos do evento
}
}Exemplos de Webhooks
Webhook - Evento DEPOSIT
Exemplo de webhook enviado quando um depósito é recebido
Exemplo de Payload
{
"eventId": "evt_123e4567-e89b-12d3-a456-426614174000",
"eventType": "DEPOSIT",
"userId": "456e7890-e89b-12d3-a456-426614174000",
"timestamp": "2024-01-15T10:30:00Z",
"data": {
"transactionId": "txn_789abc123def456",
"amount": "100.00",
"currency": "BRL",
"status": "completed",
"pix_key": "user@example.com",
"sender_name": "João Silva",
"sender_document": "12345678901"
}
}Webhook - Evento WITHDRAWAL
Exemplo de webhook enviado quando um saque é processado
Exemplo de Payload
{
"eventId": "evt_456e7890-e89b-12d3-a456-426614174001",
"eventType": "WITHDRAWAL",
"userId": "456e7890-e89b-12d3-a456-426614174000",
"timestamp": "2024-01-15T10:35:00Z",
"data": {
"withdrawal_id": "withdrawal_1234567890_abc123",
"status": "completed",
"source_currency": "USDT",
"source_amount": 50.00,
"target_currency": "PIX",
"amount_received": 49.00,
"tx_hash": "0xabc123def456...",
"network": "Polygon",
"pix_key": "user@example.com",
"recipient_name": "João Silva"
}
}Webhook - Evento PAYMENT REQUEST
Exemplo de webhook enviado quando uma solicitação de pagamento é criada
Exemplo de Payload
{
"eventId": "evt_789abc12-e89b-12d3-a456-426614174002",
"eventType": "PAYMENT_REQUEST",
"userId": "456e7890-e89b-12d3-a456-426614174000",
"timestamp": "2024-01-15T10:40:00Z",
"data": {
"payment_request_id": "pr_123456789",
"amount": "250.00",
"currency": "BRL",
"status": "pending",
"qr_code": "00020126580014br.gov.bcb.pix...",
"expires_at": "2024-01-15T11:40:00Z",
"description": "Pagamento de serviços"
}
}