Saltar al contenido principal

Listar Criptomonedas

Este endpoint devuelve todas las criptomonedas disponibles para su cuenta. Utilice esta ruta para consultar los datos necesarios para crear solicitudes de órdenes de retiro.


Endpoint​

  • Método: GET
Endpoint URL
https://api.xgateglobal.com/withdraw/company/cryptocurrencies

Probar Integración​

Utilice el formulario a continuación para simular la lista de criptomonedas.

🪙

Probar: Listar Criptomonedas de Retiro

1. Sus Credenciales

Solicitud​

La solicitud no requiere un cuerpo (body), solo Headers de autenticación.

Headers Requeridos​

HeaderValorDescripción
AuthorizationBearer <tu_token>El token JWT obtenido en el inicio de sesión.

Respuestas​

Éxito (200 OK)​

Devuelve una lista (array) de objetos, donde cada objeto es una criptomoneda.

[
{
"_id": "6733a2a900**************",
"name": "USDT",
"symbol": "USDT",
"coinGecko": "tether",
"updatedDate": "2024-1**************",
"createdDate": "2024-1**************",
"__v": 0,
"uid": "01KH7K88HZ**************"
},
{
"_id": "6733a2a000**************",
"name": "USDC",
"symbol": "USDC",
"coinGecko": "usdc",
"updatedDate": "2024-1**************",
"createdDate": "2024-1**************",
"__v": 0,
"uid": "01KH7K4C0BZ**************"
}
]

Errores Comunes​

StatusMensajeRazón Probable
401Unauthorized• Token inválido o expirado.
• Header inválido o ausente.
• IP no permitida.
500Internal Server ErrorError interno del servidor. Contacte a soporte.

Cómo usar​

El propósito principal de listar las criptomonedas es permitir la selección de la criptomoneda correcta para crear una orden de retiro (Withdraw Order).

La respuesta de este endpoint proporciona el Objeto Completo de la criptomoneda, permitiendo la construcción del payload de creación de la orden.

El Flujo de Integración​

  1. Listar criptomonedas: Llame a este endpoint (GET /withdraw/company/cryptocurrencies).
  2. Selección: Identifique la criptomoneda deseada en la lista (usualmente filtrando por name o symbol, ej., "USDT").
  3. Envío: Debe pasar el objeto dentro de la propiedad cryptocurrency en el payload de creación de la orden. En la documentación para crear retiro crypto se muestran los valores requeridos.

Ejemplo Práctico​

1. Qué recibe al listar las criptomonedas:

[
{
"_id": "6733a2a900**************",
"name": "USDT",
"symbol": "USDT",
"coinGecko": "tether",
"updatedDate": "2024-1**************",
"createdDate": "2024-1**************",
"__v": 0,
"uid": "01KH7K88HZ**************"
},
{
"_id": "6733a2a000**************",
"name": "USDC",
"symbol": "USDC",
"coinGecko": "usdc",
"updatedDate": "2024-1**************",
"createdDate": "2024-1**************",
"__v": 0,
"uid": "01KH7K4C0BZ**************"
}
]

2. Cómo debe enviarlo en el retiro (POST /withdraw):

Tomará el objeto anterior y lo inyectará en cryptocurrency:

{
"amount": 2,
"customerId": "6759a16f20***************",
"cryptocurrency": {
"_id": "67c0dd903***************",
"name": "USDT",
"symbol": "USDT"
},
"blockchainNetwork": {
"_id": "69ea849098**************",
"chain": "Solana",
"name": "Solana",
"symbol": "SOL"
},
"wallet": "0x7A00e4a***************",
"externalId": "6dd37763a2***************"
}

Cada información en este JSON será explicada en la página para crear retiros crypto a FIAT.


Integración​

El ejemplo de integración utiliza la biblioteca Axios en Node.js.

Instalando Axios:

npm install axios

Ejemplo en JavaScript:

const axios = require("axios");

(async () => {
const email = "your_email@domain.com";
const password = "**********";
const customerId = "************";
const amount = 10.90;

try {
const url_api = "https://api.xgateglobal.com"
const login = await axios.post(`${url_api}/auth/token`, { email, password });
const cryptocurrencies = await axios.get(`${url_api}/withdraw/company/cryptocurrencies`, {
headers: {
"Authorization": `Bearer ${login.data.token}`
}
});
const currencies = await axios.get(`${url_api}/withdraw/company/currencies`, {
headers: {
"Authorization": `Bearer ${login.data.token}`
}
});
const pixKey = await axios.get(`${url_api}/pix/customer/${customerId}/key`, {
headers: {
"Authorization": `Bearer ${login.data.token}`
}
});
const { data } = await axios.post(`${url_api}/withdraw/conversion/brl/pix`, {
amount,
customerId,
currency: currencies.data[0],
cryptocurrency: cryptocurrencies.data[0],
pixKey: pixKey.data[0]
}, {
headers: {
"Authorization": `Bearer ${login.data.token}`
}
});
console.log(data); // Respuesta
} catch (error) {
console.log(error.response.data.message) // Error
}
})()