diff --git a/src/index.js b/src/index.js index d9667bb..5ab704a 100644 --- a/src/index.js +++ b/src/index.js @@ -364,7 +364,8 @@ app.post('/contact', async c => { const lead = { fullName, email, phone, service, cricosCode, courseName: cricosName, provider: cricosProvider, message }; const pushed = await pushLeadToKondesk(c.env, lead); - if (pushed.success) { + // Mark sent when Google Sheet or email confirmed delivery (Kondesk API not available) + if (pushed.sheetOk || pushed.emailOk) { await c.env.DB.prepare('UPDATE inquiries SET kondesk_sent=1 WHERE id=?') .bind(insert.meta.last_row_id).run(); } diff --git a/src/kondesk.js b/src/kondesk.js index fec5c7f..4b349cc 100644 --- a/src/kondesk.js +++ b/src/kondesk.js @@ -1,13 +1,18 @@ const NOTIFY_EMAIL = 'Cgabijendra@gmail.com'; async function pushLeadToKondesk(env, lead) { - // Fire all three in parallel — Google Sheet, email, Kondesk - await Promise.allSettled([ + const [sheetsResult, emailResult, kondeskResult] = await Promise.allSettled([ pushToGoogleSheet(env, lead), sendEmail(env, lead), pushToKondesk(env, lead), ]); - return { success: true }; + + const sheetOk = sheetsResult.status === 'fulfilled'; + const emailOk = emailResult.status === 'fulfilled'; + const kondeskOk = kondeskResult.status === 'fulfilled' && kondeskResult.value === true; + + // success = true if at least Google Sheet or email went through + return { success: sheetOk || emailOk, kondeskOk, sheetOk, emailOk }; } async function pushToGoogleSheet(env, lead) { @@ -83,7 +88,6 @@ async function pushToKondesk(env, lead) { const endpoints = [ 'https://app.konpare.online/api/leads', 'https://app.konpare.online/api/v1/leads', - 'https://app.kondesk.com/api/leads', ]; const payload = { api_key: env.KONPARE_KEY, @@ -101,9 +105,10 @@ async function pushToKondesk(env, lead) { headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${env.KONPARE_KEY}`, 'x-api-key': env.KONPARE_KEY }, body: JSON.stringify(payload), }); - if (res.ok) return; + if (res.ok) return true; } catch (_) {} } + return false; } export { pushLeadToKondesk };