Saltar al contenido principal

Reenviar webhook

Este endpoint permite forzar el reenvío de una notificación webhook para una transacción de retiro específica.


Endpoint​

  • Método: POST
URL del endpoint
https://api.xgateglobal.com/withdraw/TRANSACTION_ID/resend/webhook
Importante

El valor TRANSACTION_ID en la URL hace referencia al _id del retiro. Esta solicitud no requiere cuerpo, solo la URL parametrizada y el encabezado de autenticación.


Solicitud​

Encabezados obligatorios​

EncabezadoValorDescripción
AuthorizationBearer <tu_token>Token JWT de autenticación obtenido al iniciar sesión.

Respuestas​

Éxito (200 OK)​

El comando fue recibido y XGate reenvió la carga útil del webhook a la URL registrada en su panel.

{
"message": "Webhook de saque reenviado com sucesso"
}

Errores comunes​

EstadoMensajeCausa probable
401Unauthorized• Token inválido o caducado.
• Encabezado inválido o no proporcionado.
• IP no permitida.
• No tiene autorización para realizar esta acción.
404Not Found• El ID proporcionado es inválido.
• La transacción no existe.
500Internal Server ErrorError interno del servidor. Contacte con soporte.

Cómo usar​

Esta es una ruta de contingencia y mantenimiento. A diferencia de las rutas de consulta, realiza una acción activa en XGate, provocando que nuestro servidor vuelva a disparar la notificación HTTP hacia su sistema.

Casos de uso comunes​

Usará este endpoint principalmente para:

  1. Recuperación ante fallos: Si su servidor sufrió inestabilidad, falló o el firewall bloqueó la solicitud original de XGate, puede usar este endpoint para "volver a recuperar" la notificación y actualizar el estado en su base de datos.
  2. Pruebas de integración: Durante la fase de desarrollo, puede disparar el webhook de una transacción antigua varias veces para comprobar que la lógica de su código receptor funciona correctamente.

Ejemplo práctico​

Simplemente haga un POST a la URL proporcionando el ID de la transacción. Recibirá un mensaje de éxito confirmando que se activó el reenvío.

{
"message": "Webhook de saque reenviado com sucesso"
}

Integración​

A continuación se muestra un ejemplo simple de cómo implementar esta llamada con Node.js. Como se trata de un POST sin cuerpo, simplemente enviamos un objeto vacío {} junto con los encabezados.

El ejemplo de integración utiliza la librería Axios para realizar la solicitud HTTP.

Instalando Axios:

npm install axios

Ejemplo en 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. Obtener el token de autenticación
const login = await axios.post(`${url_api}/auth/token`, { email, password });

// 2. Activar el reenvío del webhook (POST sin cuerpo)
const { data } = await axios.post(`${url_api}/withdraw/${transactionId}/resend/webhook`, {}, {
headers: {
"Authorization": `Bearer ${login.data.token}`
}
});

console.log("Respuesta:", data);
// Esperado: { message: 'Webhook de saque reenviado com sucesso' }

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