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 orden de retiro.


Endpoint​

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

Prueba de 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 cuerpo, solo los encabezados de autenticación.

Encabezados obligatorios​

EncabezadoValorDescripción
AuthorizationBearer <tu_token>El token JWT obtenido al iniciar 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​

EstadoMensajePosible causa
401Unauthorized• Token inválido o vencido.
• Encabezado inválido o faltante.
• IP no permitida.
500Internal Server ErrorError interno del servidor. Contacte con soporte.

Cómo usar​

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

La respuesta de este endpoint proporciona el objeto completo de la criptomoneda, lo que permite construir el payload de creación de la orden.

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 (normalmente filtrando por name o symbol, por ejemplo, "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 de creación de retiro en criptomonedas se muestran los valores obligatorios.

Ejemplo práctico​

1. Lo que 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 insertará dentro de cryptocurrency:

{
"amount": 2,
"customerId": "123456**************",
"currency": {
"_id": "10203040**************",
"name": "BRL",
"type": "PIX",
"symbol": "R$",
"createdDate": "202*********************",
"updatedDate": "202*********************",
"__v": 0
},
"cryptocurrency": {
"_id": "6733a2a900**************",
"name": "USDT",
"symbol": "USDT",
"coinGecko": "tether",
"updatedDate": "2024-1**************",
"createdDate": "2024-1**************",
"__v": 0,
"uid": "01KH7K88HZ**************"
},
"pixKey": {
"key": "123**************",
"type": "CPF",
"_id": "152535**************"
},
"externalId": "123**************"
}

Cada parte de esta información en este JSON se explicará en la página de creación de retiro de criptomonedas a FIAT.


Integración​

Este ejemplo de integración utiliza la librería 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
}
})()