API Documentation - Pixley Crypto Transactions
Esta documentação descreve os principais endpoints da API do sistema Pixley Crypto Transactions.
Base URL
Autenticação
Todos os endpoints requerem autenticação via JWT token e credenciais de API:
💡 As credenciais de API (API key e Secret key) devem ser obtidas através do nosso suporte.
Off-Ramp (Saque Crypto para PIX)
Processa transação off-ramp
Processa uma transação off-ramp (saque de crypto para PIX)
Requisição
x-api-key: <your-api-key> x-secret-key: <your-secret-key> { "source_currency": "USDT", "source_amount": 50.00, "target_currency": "PIX", "pix_key": "user@example.com", "pix_key_type": "email", "recipient_name": "João Silva", "recipient_document": "12345678901", "network": "Polygon", "externalId": "ext-withdrawal-123" }
Resposta
{ "withdrawal_id": "withdrawal_1234567890_abc123", "status": "processing", "source_currency": "USDT", "source_amount": 50.00, "target_currency": "PIX", "estimated_amount_received": 49.00, "estimated_completion": "2024-01-15T10:30:00Z", "message": "Withdrawal is being processed. Blockchain operations have been queued and PIX transfer will be initiated shortly." }
Parâmetros da Requisição
Headers obrigatórios:
Authorization
Bearer <token>x-api-key
<your-api-key>x-secret-key
<your-secret-key>Query Parameters:
simulation
(boolean, opcional) Se true, retorna apenas dados de simulaçãoCampos do corpo da requisição:
source_currency
Moeda de origem (ex.: "USDT")source_amount
Valor a ser sacadotarget_currency
"PIX"pix_key
Chave PIX do destinatáriopix_key_type
Tipo da chave PIX ("email", "cpf", etc.)recipient_name
Nome do destinatáriorecipient_document
Documento do destinatárionetwork
Rede blockchain (ex.: "Polygon")externalId
ID externo da transaçãoOn-Ramp (Compra Crypto com PIX)
Processa transação on-ramp
Processa uma transação on-ramp (compra de crypto com PIX)
Requisição
x-api-key: <your-api-key> x-secret-key: <your-secret-key> { "source_currency": "BRL", "source_amount": 100.00, "target_currency": "USDT", "wallet_address": "0x742d35Cc6634C0532925a3b8D4C9db96590c6C87", "network": "Polygon" }
Resposta
{ "id": "trade-123", "status": "pending", "qr_code": "00020126580014br.gov.bcb.pix...", "source_currency": "BRL", "source_amount": 100.00, "target_currency": "USDT", "target_amount": 18.52, "wallet_address": "0x742d35Cc6634C0532925a3b8D4C9db96590c6C87", "network": "Polygon", "created_at": "2024-01-15T10:30:00Z" }
Parâmetros da Requisição
Headers obrigatórios:
Authorization
Bearer <token>Query Parameters:
simulation
(boolean, opcional) Se true, retorna apenas dados de simulaçãoCampos do corpo da requisição:
source_currency
"BRL"source_amount
Valor em BRL a ser convertidotarget_currency
Moeda de destino (ex.: "USDT")wallet_address
Endereço da carteira de destinonetwork
Rede blockchain (ex.: "Polygon")Buscar Transação On-Ramp
Consulta detalhes de transação
Busca detalhes de uma transação on-ramp específica
Requisição
x-api-key: <your-api-key> x-secret-key: <your-secret-key>
Resposta
{ "qrCode": { "id": "qr-123", "uuid": "550e8400-e29b-41d4-a716-446655440000", "qr_code": "00020126580014br.gov.bcb.pix...", "source_currency": "cPix", "source_amount": 100.00, "target_currency": "USDT", "target_amount": 18.52, "network": "Polygon", "wallet_address": "0x742d35Cc6634C0532925a3b8D4C9db96590c6C87", "fees": 5.00, "pix_status": "pending", "trade_price": 5.40, "net_amount": 95.00, "updated_at": "2024-01-15T10:30:00Z", "tx_hash": "0xabc123...", "explorer_url": "https://polygonscan.com/tx/0xabc123..." } }
Parâmetros da Requisição
Headers obrigatórios:
Authorization
Bearer <token>x-api-key
<your-api-key>x-secret-key
<your-secret-key>Path Parameters:
transactionId
ID da transação a ser consultadaObservação:
Este endpoint não requer corpo da requisição
Consultar Limites do Usuário
Limites e uso atual
Permite que usuários autenticados consultem seus próprios limites e uso atual
Requisição
Resposta
{ "dailyLimits": { "amount": 1000.00, "count": 10, "active": true }, "monthlyLimits": { "amount": 30000.00, "count": 100, "active": true }, "dailyUsage": { "amount": 250.00, "count": 3 }, "monthlyUsage": { "amount": 5500.00, "count": 25 }, "remainingLimits": { "daily": { "amount": 750.00, "count": 7 }, "monthly": { "amount": 24500.00, "count": 75 } } }
Parâmetros da Requisição
Headers obrigatórios:
x-api-key
<your-api-key>x-secret-key
<your-secret-key>Observação:
Nenhum parâmetro adicional necessário
Webhooks
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" } }