Saltar al contenido principal

Recibir Webhooks de Venta

XGate envía un evento a su URL en cada cambio de estado de una venta de cripto.


Configuración​

La configuración es igual a la de los demás webhooks (consulte Recibir Webhooks): en el panel de XGate, menú Webhooks, seleccione el tipo de evento Ventas de Cripto (CRYPTO_SALE) y los estados que desea recibir.

El tipo CRYPTO_SALE solo aparece para empresas con venta habilitada.


Formato del evento​

Sobre diferente al de los webhooks de depósito y retiro

Los eventos de cripto no usan el formato plano de los webhooks de depósito y retiro (id, status, amount, operation...). Vienen en un sobre con id, type, createdAt y data, el mismo de los 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"
}
}

Sobre del evento​

CampoTipoDescripción
idstringID único del evento. Úselo para descartar entregas repetidas.
typestringTipo del evento (tabla a continuación).
createdAtstringFecha de creación del evento (ISO 8601, UTC).
dataobjectResumen de la venta (tabla a continuación). El objeto completo está en Consultar Venta.

Campos de data (resumen de la venta)​

CampoTipoDescripción
idstringId de la venta en XGate. Úselo en GET /crypto/sales/{id}.
statusstringRECEIVED · SETTLING · SETTLED · SETTLED_TO_BALANCE.
assetstringActivo recibido.
networkstringRed en la que fue recibido.
txHashstringHash del envío del integrador. La venta no tiene externalId; la conciliación es por este campo.
cryptoAmountstringCantidad recibida.
netAmountstring | nullBRL acreditado. null hasta la liquidación.
settlementobject{ type }: BALANCE o PIX_KEY.
updatedAtstring (ISO)Última modificación; use con status para ordenar eventos fuera de orden.

Eventos​

Evento (type)Estado en el panelCuándo
sale.receivedRECEIVEDCripto recibida y confirmada en la dirección fija.
sale.settledSETTLED o SETTLED_TO_BALANCEBRL acreditado. data.status dice cuál de los dos y data.settlement muestra cómo. Final.

Reglas para el integrador​

  • Un evento por cambio de estado, enviado una vez.
  • Entrega al menos una vez: el mismo evento puede llegar más de una vez. Gestione la idempotencia por el id del evento.
  • Orden: los eventos pueden llegar fuera de orden. Ordénelos por data.updatedAt y data.status.
  • Responda 200 rápidamente, como en los demás webhooks.
  • Concilie cada venta por el data.txHash de su envío.