Receber Webhooks de Venda
A XGate envia um evento para a sua URL a cada mudança de status de uma venda de cripto.
Configuração
A configuração é igual à dos demais webhooks (veja Receber Webhooks): no painel da XGate, menu Webhooks, selecione o tipo de evento Vendas de Cripto (CRYPTO_SALE) e os status que deseja receber.
O tipo CRYPTO_SALE só aparece para empresas com venda liberada.
Formato do evento
Envelope diferente dos webhooks de depósito e saque
Os eventos de cripto não usam o formato plano dos webhooks de depósito e saque (id, status, amount, operation...). Eles vêm em um envelope com id, type, createdAt e data, o mesmo dos webhooks de compra.
- Método: POST
{
"id": "evt_6ad6d669b2be17e22bbec226_SETTLED",
"type": "sale.settled",
"createdAt": "2026-10-16T14:03:24.902Z",
"data": {
"id": "6711c0e5a1b2c3d4e5f60718",
"status": "SETTLED",
"asset": "USDT",
"network": "TRON",
"txHash": "9f2c1e0b7a6d5c4b3a291807f6e5d4c3b2a1908f7e6d5c4b3a2918070f6e5d4c",
"cryptoAmount": "1000.000000",
"netAmount": "5355.90",
"settlement": { "type": "BALANCE" },
"updatedAt": "2026-10-16T14:03:24.870Z"
}
}
Envelope do evento
| Campo | Tipo | Descrição |
|---|---|---|
id | string | ID único do evento. Use para descartar entregas repetidas. |
type | string | Tipo do evento (tabela abaixo). |
createdAt | string | Data de criação do evento (ISO 8601, UTC). |
data | object | Resumo da venda (tabela abaixo). O objeto completo está em Consultar Venda. |
Campos de data (resumo da venda)
| Campo | Tipo | Descrição |
|---|---|---|
id | string | Id da venda na XGate. Use em GET /crypto/sales/{id}. |
status | string | RECEIVED · SETTLING · SETTLED · SETTLED_TO_BALANCE. |
asset | string | Ativo recebido. |
network | string | Rede em que foi recebido. |
txHash | string | Hash do envio do integrador. A venda não tem externalId; a conciliação é por este campo. |
cryptoAmount | string | Quantidade recebida. |
netAmount | string | null | BRL creditado. null até a liquidação. |
settlement | object | { type }: BALANCE ou PIX_KEY. |
updatedAt | string (ISO) | Última alteração; use com status para ordenar eventos fora de ordem. |
Eventos
Evento (type) | Status no painel | Quando |
|---|---|---|
sale.received | RECEIVED | Cripto recebida e confirmada no endereço fixo. |
sale.settled | SETTLED ou SETTLED_TO_BALANCE | BRL creditado. data.status diz qual dos dois e data.settlement mostra como. Final. |
Regras para o integrador
- Um evento por mudança de status, enviado uma vez.
- Entrega pelo menos uma vez: o mesmo evento pode chegar mais de uma vez. Trate a idempotência pelo
iddo evento. - Ordem: eventos podem chegar fora de ordem. Ordene por
data.updatedAtedata.status. - Responda
200rapidamente, como nos demais webhooks. - Concilie cada venda pelo
data.txHashdo seu envio.