Skip to content

Example: triggered campaign creation

Stefano Varesi edited this page Apr 9, 2015 · 1 revision
package com.contactlab.api.ws.examples;

import com.contactlab.api.ws.ClabService;
import com.contactlab.api.ws.ClabService_Service;
import com.contactlab.api.ws.domain.AuthToken;
import com.contactlab.api.ws.domain.Campaign;
import com.contactlab.api.ws.domain.CampaignType;
import com.contactlab.api.ws.domain.EmailMessage;
import com.contactlab.api.ws.domain.Message;
import com.contactlab.api.ws.domain.Recipients;
import com.contactlab.api.ws.domain.Sender;

public class CreateTriggerableCampaign {

    public static void main(String[] args) {
        ClabService clabService = new ClabService_Service().getClabServicePort();

        int communicationCategoryIdentifier = 1;
        
        AuthToken token = clabService.borrowToken(Parameters.apiKey, Parameters.userKey);

        Sender sender = new Sender();
        sender.setName("John Doe");
        sender.setEmail("[email protected]");

        int subscriberSourceId = 1;
        int subscriberSourceFilterId = 1;
        int modelIdentifier = 1;

        Recipients recipients = new Recipients();
        recipients.setSubscriberSourceFilterIdentifier(subscriberSourceFilterId);
        recipients.setSubscriberSourceIdentifier(subscriberSourceId);

        Message Message = clabService.getMessageModelById(token, modelIdentifier);
        EmailMessage emailMessage = (EmailMessage) Message;
        emailMessage.setSender(sender);
        emailMessage.setSubject("A Sample Mail");
        emailMessage.setCommunicationCategoryIdentifier(communicationCategoryIdentifier);
        
        emailMessage.setHtmlContent("<html><body>Hello, <br/>"
                        + "What about a pizza tomorrow? See you by the central station "
                        + "around 1PM.</body></html>");

        emailMessage.setTextContent("Your email client is not able "
                + "to properly render this content, "
                + "view it online at: ${online_version_url}$");

        emailMessage.setRecipients(recipients);

        Campaign campaign = new Campaign();
        campaign.setName("Sample Campaign");
        campaign.setModifier(CampaignType.TRIGGERED);
        campaign.setMessage(emailMessage);

        campaign = clabService.createCampaign(token, campaign);
        System.out.println("Created campaign " + campaign.getIdentifier()
                + " with status " + campaign.getModifier());
        clabService.invalidateToken(token);
    }
}