Mailchimp Integration
MarketingOptimize email campaign images
Process Campaign Images
Mailchimp API Integration
// Process Mailchimp campaign images
const mailchimp = require('@mailchimp/mailchimp_marketing');
mailchimp.setConfig({
apiKey: 'YOUR_MAILCHIMP_API_KEY',
server: 'YOUR_MAILCHIMP_SERVER_PREFIX'
});
async function enhanceCampaignImages(campaignId) {
// Get campaign content
const content = await mailchimp.campaigns.getContent(campaignId);
// Extract image URLs from HTML
const imageUrls = extractImageUrls(content.html);
// Process each image
const enhancedImages = await Promise.all(
imageUrls.map(async (url) => {
const response = await fetch('https://butterflyapi.com/api/v1/run', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_BUTTERFLY_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
api: 'image-enhance',
input: { image_url: url, scale: 2 }
})
});
const result = await response.json();
return { original: url, enhanced: result.output.image_url };
})
);
// Replace URLs in campaign HTML
let updatedHtml = content.html;
for (const img of enhancedImages) {
updatedHtml = updatedHtml.replace(img.original, img.enhanced);
}
// Update campaign
await mailchimp.campaigns.setContent(campaignId, { html: updatedHtml });
}