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
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
Solicitud
La solicitud no requiere un cuerpo (body), solo Headers de autenticación.
Headers Requeridos
| Header | Valor | Descripción |
|---|---|---|
Authorization | Bearer <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
| Status | Mensaje | Razón Probable |
|---|---|---|
| 401 | Unauthorized | • Token inválido o expirado. • Header inválido o ausente. • IP no permitida. |
| 500 | Internal Server Error | Error 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
- Listar criptomonedas: Llame a este endpoint (
GET /withdraw/company/cryptocurrencies). - Selección: Identifique la criptomoneda deseada en la lista (usualmente filtrando por
nameosymbol, ej., "USDT"). - Envío: Debe pasar el objeto dentro de la propiedad
cryptocurrencyen 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
- Node.js
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
}
})()