Reenviar webhook
Este endpoint permite forzar el reenvío de una notificación webhook para una transacción de depósito específica.
Endpoint
- Método: POST
https://api.xgateglobal.com/deposit/TRANSACTION_ID/resend/webhook
El valor TRANSACTION_ID en la URL hace referencia al _id del depósito. Esta solicitud no requiere cuerpo, solo la URL parametrizada y el encabezado de autenticación.
Solicitud
Encabezados obligatorios
| Encabezado | Valor | Descripción |
|---|---|---|
Authorization | Bearer <tu_token> | Token de autenticación JWT 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 depósito reenviado com sucesso"
}
Errores comunes
| Estado | Mensaje | Causa probable |
|---|---|---|
| 401 | Unauthorized | • Token inválido o caducado. • Encabezado inválido o no proporcionado. • IP no permitida. • No tiene autorización para realizar esta acción. |
| 404 | Not Found | • El ID proporcionado es inválido. • La transacción no existe. |
| 500 | Internal Server Error | Error 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:
- 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.
- 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 depósito 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.
- Node.js
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}/deposit/${transactionId}/resend/webhook`, {}, {
headers: {
"Authorization": `Bearer ${login.data.token}`
}
});
console.log("Respuesta:", data);
// Esperado: { message: 'Webhook de depósito reenviado com sucesso' }
} catch (error) {
console.error("Error al reenviar:", error.response ? error.response.data : error.message);
}
})();