Pular para o conteúdo principal

Reenviar Webhook

Este endpoint permite forçar o reenvio de uma notificação de webhook para uma transação de depósito específica.


Endpoint​

  • Método: POST
URL do Endpoint
https://api.xgateglobal.com/deposit/ID_TRANSACAO/resend/webhook
Importante

O valor ID_TRANSACAO na URL refere-se ao _id do depósito. Esta requisição não necessita de corpo (body), apenas a URL parametrizada e o Header de autenticação.


Requisição​

Headers Obrigatórios​

HeaderValorDescrição
AuthorizationBearer <seu_token>Token JWT de autenticação obtido no login.

Respostas (Responses)​

Sucesso (200 OK)​

O comando foi recebido e a XGate reenviou o payload do webhook para a URL cadastrada no seu painel.

{
"message": "Webhook de depósito reenviado com sucesso"
}

Erros Comuns​

StatusMensagemMotivo Provável
401Unauthorized• Token inválido ou expirado.
• Header inválido ou não informado.
• IP não permitido.
• Você não tem autorização para realizar essa ação.
404Not Found• ID informado não é válido.
• A transação não existe.
500Internal Server ErrorErro interno de servidor. Entrar em contato com o suporte.

Como usar​

Esta é uma rota de contingência e manutenção. Diferente das rotas de consulta, ela executa uma ação ativa na XGate, fazendo com que nosso servidor dispare novamente a notificação HTTP para o seu sistema.

Casos de Uso Comuns​

Você utilizará este endpoint principalmente para:

  1. Recuperação de Falhas: Se o seu servidor passou por instabilidades, caiu, ou o firewall bloqueou a requisição original da XGate, você pode usar este endpoint para "puxar" a notificação novamente e atualizar o status no seu banco de dados.
  2. Testes de Integração: Durante a fase de desenvolvimento, você pode disparar o webhook de uma transação antiga várias vezes para testar se a lógica do seu código de recebimento está funcionando corretamente.

Exemplo Prático​

Basta fazer um POST para a URL informando o ID da transação. Você receberá uma mensagem de sucesso confirmando que o gatilho foi acionado.

{
"message": "Webhook de depósito reenviado com sucesso"
}

Integração​

Abaixo, um exemplo simples de como implementar essa chamada utilizando Node.js. Como é um POST sem corpo, enviamos apenas um objeto vazio {} seguido dos headers.

O exemplo de integração utiliza a biblioteca Axios para realizar a requisição HTTP.

Instalando Axios:

npm install axios

Exemplo Javascript:

const axios = require("axios");

(async () => {
const email = "email@domain.com";
const password = "••••••";
const transactionId = "6997146*******************";

try {
const url_api = "https://api.xgateglobal.com";

// 1. Obter token de autenticação
const login = await axios.post(`${url_api}/auth/token`, { email, password });

// 2. Disparar o reenvio do Webhook (POST sem body)
const { data } = await axios.post(`${url_api}/deposit/${transactionId}/resend/webhook`, {}, {
headers: {
"Authorization": `Bearer ${login.data.token}`
}
});

console.log("Resposta:", data);
// Esperado: { message: 'Webhook de depósito reenviado com sucesso' }

} catch (error) {
console.error("Erro ao reenviar:", error.response ? error.response.data : error.message);
}
})();