Pular para o conteúdo principal

Listar Criptomoedas

Este endpoint retorna todas as criptomoedas disponíveis para a sua conta. Use esta rota para consultar os dados necessários para criar requisições de pedido de saque.


Endpoint​

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

Testar Integração​

Utilize o formulário abaixo para simular a listagem de criptomoedas.

🪙

Testar: Listar Criptomoedas de Saque

1. Suas Credenciais

Requisição​

A requisição não requer corpo (body), apenas os Headers de autenticação.

Headers Obrigatórios​

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

Respostas (Responses)​

Sucesso (200 OK)​

Retorna uma lista (array) de objetos, onde cada objeto é uma criptomoeda.

[
{
"_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**************"
}
]

Erros Comuns​

StatusMensagemMotivo Provável
401Unauthorized• Token inválido ou expirado.
• Header inválido ou não informado.
• IP não permitido.
500Internal Server ErrorErro interno de servidor. Entrar em contato com suporte.

Como usar​

A principal finalidade de listar as criptomoedas é permitir a seleção da criptomoeda correta para criar um pedido de saque para carteira externa (Withdraw Order).

A resposta deste endpoint fornece o Objeto Completo da criptomoeda, permitindo a construção do payload de criação do pedido.

O Fluxo de Integração​

  1. Liste as moedas: Chame este endpoint (GET /withdraw/company/cryptocurrencies).
  2. Seleção: Identifique a criptomoeda desejada na lista (geralmente filtrando pelo name ou symbol, ex: "USDT" ou "USDC").
  3. Envio: Você deve passar o objeto dentro da propriedade cryptocurrency no payload de criação do pedido. Na documentação de criação de saque para carteira externa são mostrados os valores obrigatórios.

Exemplo Prático​

1. O que você recebe ao listar as criptomoedas:

[
{
"_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. Como você deve enviar (POST /withdraw):

Você vai pegar o objeto acima e injetá-lo dentro de 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 informação desse JSON será explicado na página de criar pedido de saque para carteira externa.


Integração​

O exemplo de integração utiliza a biblioteca Axios em Node.js.

Instalando Axios:

npm install axios

Exemplo 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); // Response
} catch (error) {
console.log(error.response.data.message) // Error
}
})()