Webhooks
Webhooks — Transações Crypto
Receba notificações em tempo real quando o status de transações de depósito ou saque em criptomoedas mudar.
Configuração
Headers do Webhooktext
Método: POST
Content-Type: application/json
User-Agent: Crypto-Webhook/1.0
Timeout: 10 segundosStatus Possíveis
PENDING_CONFIRMATIONAguardando confirmação na blockchain (depósitos)
PROCESSINGEm processamento (saques)
CONFIRMEDConfirmada e finalizada na blockchain
FAILEDTransação falhou
CANCELEDTransação cancelada
Payload do Webhook
Interface TypeScripttypescript
interface CryptoWebhook {
id: string;
type: "DEPOSIT" | "WITHDRAW" | "SWAP";
asset: string;
chain: string | null;
amount: string;
deposit_address?: string | null; // apenas para DEPOSIT
wallet?: string | null; // apenas para WITHDRAW
status: "PENDING_CONFIRMATION" | "PROCESSING" | "CONFIRMED" | "FAILED" | "CANCELED";
platform_fee: string;
tx_hash?: string | null;
expires_at?: Date | null; // apenas para DEPOSIT
created_at: Date;
updated_at: Date;
confirmed_at?: Date | null;
}Exemplos de Payload
Depósito Confirmadojson
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"type": "DEPOSIT",
"asset": "USDT",
"chain": "ERC20",
"amount": "100.50",
"deposit_address": "0x742d35Cc1D1B2F48dE3D7d8c53c4E7Db0C4bC123",
"status": "CONFIRMED",
"platform_fee": "1.00",
"tx_hash": "0x1234567890abcdef...abcdef",
"expires_at": "2024-01-15T10:30:00.000Z",
"created_at": "2024-01-15T09:30:00.000Z",
"updated_at": "2024-01-15T10:00:00.000Z",
"confirmed_at": "2024-01-15T10:00:00.000Z"
}Withdraw Confirmadojson
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"type": "WITHDRAW",
"asset": "USDT",
"chain": "ERC20",
"amount": "50.00",
"wallet": "0x742d35Cc1D1B2F48dE3D7d8c53c4E7Db0C4bC123",
"status": "CONFIRMED",
"platform_fee": "1.00",
"tx_hash": "0x1234567890abcdef...abcdef",
"created_at": "2024-01-15T09:30:00.000Z",
"updated_at": "2024-01-15T10:00:00.000Z",
"confirmed_at": "2024-01-15T10:00:00.000Z"
}Campos do Payload
| Campo | Tipo | Descrição |
|---|---|---|
id | string (UUID) | ID da transação crypto |
type | string | Tipo: DEPOSIT, WITHDRAW ou SWAP |
asset | string | Moeda da transação |
chain | string | null | Rede blockchain |
amount | string | Valor da transação |
deposit_address | string | null | Endereço de depósito (apenas DEPOSIT) |
wallet | string | null | Carteira de destino (apenas WITHDRAW) |
status | string | Status atual da transação |
platform_fee | string | Taxa da plataforma cobrada |
tx_hash | string | null | Hash da transação na blockchain (quando disponível) |
expires_at | Date | null | Expiração do endereço de depósito (apenas DEPOSIT) |
created_at | Date | Data de criação |
updated_at | Date | Data da última atualização |
confirmed_at | Date | null | Data de confirmação na blockchain |
Observações
- Timeout de 10 segundos — responda rapidamente com HTTP 200
- O webhook é enviado a cada mudança de status
- O campo
tx_hashsó é preenchido após a confirmação na blockchain - Todos os valores monetários são strings para preservar precisão decimal
