Pular para o conteúdo principal

Consultar Venda

Consulta uma venda de cripto pelo ID. Cada envio confirmado para o endereço fixo da empresa vira uma venda (veja Vender Cripto); o id chega no webhook de venda.


Endpoint​

  • Método: GET
URL do Endpoint
https://api.xgateglobal.com/crypto/sales/{id}

Requisição​

Headers Obrigatórios​

HeaderValorDescrição
AuthorizationBearer <seu_token>O token JWT obtido no login.

Path​

ParâmetroTipoDescrição
idstringID da venda.

Respostas (Responses)​

Sucesso (200 OK)​

{
"id": "6711c0e5a1b2c3d4e5f60718",
"status": "SETTLED",
"asset": "USDT",
"network": "TRON",
"depositAddress": "TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf",
"sourceAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"txHash": "9f2c1e0b7a6d5c4b3a291807f6e5d4c3b2a1908f7e6d5c4b3a2918070f6e5d4c",
"cryptoAmount": "1000.000000",
"rate": "5.41000000",
"grossAmount": "5410.00",
"netAmount": "5410.00",
"settlement": { "type": "BALANCE", "beneficiaryId": null, "withdrawId": null, "fallbackReason": null },
"review": null,
"receivedAt": "2026-10-16T14:03:22.114Z",
"settledAt": "2026-10-16T14:03:24.870Z",
"createdAt": "2026-10-16T14:03:22.114Z",
"updatedAt": "2026-10-16T14:03:24.870Z"
}

Objeto da venda​

O webhook de venda traz só um resumo deste objeto.

CampoTipoDescrição
idstringID da venda.
statusstringRECEIVED (recebida e confirmada, aguardando preço) · SETTLING (preço congelado, crédito em andamento) · SETTLED (liquidada pela forma configurada; final) · SETTLED_TO_BALANCE (era Pix, caiu no saldo; final).
asset, networkstringAtivo e rede.
depositAddressstringEndereço fixo da empresa que recebeu.
sourceAddressstring | nullDe onde a cripto saiu, quando a rede informa.
txHashstring | nullHash on-chain do envio. Use para conciliar.
cryptoAmountstringQuantidade recebida (6 casas).
ratestring | nullPreço BRL por unidade (8 casas), congelado na liquidação, já com a margem comercial embutida.
grossAmount, netAmountstring | nullValor creditado em BRL (cryptoAmount × rate, para baixo, 2 casas). Hoje são iguais.
settlementobjecttype (BALANCE | PIX_KEY), beneficiaryId, withdrawId (saque Pix criado), fallbackReason (PIX_SETTLEMENT_UNAVAILABLE · BENEFICIARY_NOT_ELIGIBLE · PAYOUT_REJECTED · PAYOUT_FAILED · PAYOUT_UNAVAILABLE · null).
reviewobject | nullVenda em análise da XGate. reason: BELOW_MINIMUM · COMPANY_UNAVAILABLE · COMPANY_BLOCKED · SELL_POLICY_MISSING · NET_NOT_POSITIVE · CONFIRMATIONS_TIMEOUT · CREDIT_REVIEW.
receivedAt, settledAt, createdAt, updatedAtstringDatas ISO 8601 (UTC). updatedAt e status ordenam webhooks que chegam fora de ordem.

Erros Comuns​

StatusReason
401UNAUTHORIZED
403COMPANY_BLOCKED, ALLOWED_IPS_REQUIRED, CLIENT_IP_NOT_ALLOWED
404SALE_NOT_FOUND: ID inexistente, fora do formato ou de outra empresa.

Veja o significado de cada código em Códigos de Erro.


Integração​

const axios = require("axios");

(async () => {
const email = "your_email@domain.com";
const password = "**********";
const saleId = "6711c0e5a1b2c3d4e5f60718";

try {
const url_api = "https://api.xgateglobal.com";
const login = await axios.post(`${url_api}/auth/token`, { email, password });
const { data } = await axios.get(`${url_api}/crypto/sales/${saleId}`, {
headers: { "Authorization": `Bearer ${login.data.token}` }
});
console.log(data.status, data.txHash, data.netAmount, data.settlement.type); // Response
} catch (error) {
console.log(error.response.data.reason, error.response.data.message); // Error
}
})()