diff --git a/server/api/feedback.post.ts b/server/api/feedback.post.ts index 6437c21..0ce46de 100644 --- a/server/api/feedback.post.ts +++ b/server/api/feedback.post.ts @@ -12,10 +12,13 @@ export default defineEventHandler(async (event) => { const feedbackToken = config.feedbackToken if (!webhookUrl) { + console.error('[feedback] Webhook URL no configurada') throw createError({ statusCode: 500, message: 'Webhook no configurado' }) } - const headers: Record = {} + const headers: Record = { + 'Content-Type': 'application/json' + } if (feedbackToken) { headers['X-Feedback-Token'] = feedbackToken } @@ -24,10 +27,21 @@ export default defineEventHandler(async (event) => { const res = await $fetch(webhookUrl, { method: 'POST', headers, - body: { message, recaptchaToken } + body: { message, recaptchaToken }, + retry: 1, + timeout: 10000 }) return { ok: true, data: res } - } catch (e) { - throw createError({ statusCode: 502, message: 'Error al reenviar el feedback' }) + } catch (e: any) { + console.error('[feedback] Error al reenviar al webhook:', { + url: webhookUrl, + status: e?.response?.status, + statusText: e?.response?.statusText, + message: e?.message + }) + + const statusCode = e?.response?.status || 502 + const detail = e?.response?.statusText || e?.message || 'Error al reenviar el feedback' + throw createError({ statusCode, message: detail }) } })