import mailchimp from '@mailchimp/mailchimp_marketing' if (process.env.BETTERSTART_MAILCHIMP_API_KEY && process.env.BETTERSTART_MAILCHIMP_SERVER_PREFIX) { mailchimp.setConfig({ apiKey: process.env.BETTERSTART_MAILCHIMP_API_KEY, server: process.env.BETTERSTART_MAILCHIMP_SERVER_PREFIX }) } /** * Add an email address to the Mailchimp audience (fire-and-forget, non-blocking) */ export function addToMailchimpAudience(email: string): void { if ( !process.env.BETTERSTART_MAILCHIMP_API_KEY || !process.env.BETTERSTART_MAILCHIMP_SERVER_PREFIX || !process.env.BETTERSTART_MAILCHIMP_AUDIENCE_ID ) return ;(async () => { try { await mailchimp.lists.addListMember(process.env.BETTERSTART_MAILCHIMP_AUDIENCE_ID!, { email_address: email, status: 'subscribed' as const, merge_fields: {} }) } catch (error: unknown) { if ( (error as { response?: { body?: { title?: string } } })?.response?.body?.title === 'Member Exists' ) return console.error('Failed to add to Mailchimp audience:', error) } })() }