async function createCampaign() {
// 1. Create contact list
const listResponse = await fetch('/api/campaigns/contact-lists', {
method: 'POST',
headers: {
'x-api-key': 'your-api-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'My Campaign List',
description: 'Contacts for my campaign'
})
});
const list = await listResponse.json();
// 2. Add contacts
await fetch(`/api/campaigns/contact-lists/${list.data.listId}/contacts`, {
method: 'POST',
headers: {
'x-api-key': 'your-api-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
contacts: [
{
mailId: '[email protected]',
firstName: 'John',
lastName: 'Doe'
}
]
})
});
// 3. Create campaign
const campaignResponse = await fetch('/api/campaigns', {
method: 'POST',
headers: {
'x-api-key': 'your-api-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'My Campaign',
campaignData: {
contactListId: list.data.listId,
giftIds: ['gift_123']
}
})
});
const campaign = await campaignResponse.json();
// 4. Launch campaign
await fetch(`/api/campaigns/${campaign.data.campaignId}/launch`, {
method: 'POST',
headers: {
'x-api-key': 'your-api-key'
}
});
return campaign.data;
}