|
36 | 36 | import com.createsend.Templates;
|
37 | 37 | import com.createsend.models.administrators.Administrator;
|
38 | 38 | import com.createsend.models.campaigns.CampaignForCreation;
|
| 39 | +import com.createsend.models.campaigns.CampaignForCreationFromTemplate; |
| 40 | +import com.createsend.models.campaigns.EditableField; |
39 | 41 | import com.createsend.models.campaigns.PreviewData;
|
| 42 | +import com.createsend.models.campaigns.Repeater; |
| 43 | +import com.createsend.models.campaigns.RepeaterItem; |
| 44 | +import com.createsend.models.campaigns.TemplateContent; |
40 | 45 | import com.createsend.models.clients.AllClientDetails;
|
41 | 46 | import com.createsend.models.clients.BillingDetails;
|
42 | 47 | import com.createsend.models.clients.Client;
|
|
57 | 62 | import com.createsend.models.templates.TemplateForCreate;
|
58 | 63 | import com.createsend.util.exceptions.BadRequestException;
|
59 | 64 | import com.createsend.util.exceptions.CreateSendException;
|
60 |
| -import com.createsend.workingsamples.AssertException; |
| 65 | +import com.createsend.samples.AssertException; |
61 | 66 |
|
62 | 67 | public class SampleRunner {
|
63 | 68 |
|
64 | 69 | /**
|
65 | 70 | * @param args
|
66 | 71 | */
|
67 | 72 | public static void main(String[] args) {
|
68 |
| - try { |
| 73 | + try { |
69 | 74 | String clientID = "Client ID";
|
70 | 75 | runGeneralMethods();
|
71 | 76 | runClientMethods();
|
@@ -296,6 +301,79 @@ private static void runListMethods(String clientID) throws CreateSendException {
|
296 | 301 | listAPI.delete();
|
297 | 302 | }
|
298 | 303 |
|
| 304 | + private static void testCampaignCreationFromTemplate( |
| 305 | + String clientID) throws CreateSendException { |
| 306 | + Campaigns campaignAPI = new Campaigns(); |
| 307 | + |
| 308 | + // Prepare the template content |
| 309 | + TemplateContent templateContent = new TemplateContent(); |
| 310 | + |
| 311 | + EditableField singleline = new EditableField(); |
| 312 | + singleline.Content = "This is a heading"; |
| 313 | + singleline.Alt = "This is alt text"; |
| 314 | + singleline.Href = "http://example.com/"; |
| 315 | + EditableField[] singlelines = new EditableField[] { singleline }; |
| 316 | + templateContent.Singlelines = singlelines; |
| 317 | + |
| 318 | + EditableField multiline = new EditableField(); |
| 319 | + multiline.Content = "<p>This is example</p><p>multiline <a href=\"http://example.com\">content</a>...</p>"; |
| 320 | + EditableField[] multilines = new EditableField[] { multiline }; |
| 321 | + templateContent.Multilines = multilines; |
| 322 | + |
| 323 | + EditableField image = new EditableField(); |
| 324 | + image.Content = "http://example.com/image.png"; |
| 325 | + image.Alt = "This is alt text for an image"; |
| 326 | + image.Href = "http://example.com/"; |
| 327 | + EditableField[] images = new EditableField[] { image }; |
| 328 | + templateContent.Images = images; |
| 329 | + |
| 330 | + RepeaterItem item = new RepeaterItem(); |
| 331 | + item.Layout = "My layout"; |
| 332 | + // Just using the same data for Singlelines, Multilines, |
| 333 | + // and Images as above in this example. |
| 334 | + item.Singlelines = singlelines; |
| 335 | + item.Multilines = multilines; |
| 336 | + item.Images = images; |
| 337 | + RepeaterItem[] items = new RepeaterItem[] { item }; |
| 338 | + Repeater repeater = new Repeater(); |
| 339 | + repeater.Items = items; |
| 340 | + Repeater[] repeaters = new Repeater[] { repeater }; |
| 341 | + templateContent.Repeaters = repeaters; |
| 342 | + |
| 343 | + // templateContent as defined above would be used to fill the content of |
| 344 | + // a template with markup similar to the following: |
| 345 | + // <html> |
| 346 | + // <head><title>My Template</title></head> |
| 347 | + // <body> |
| 348 | + // <p><singleline>Enter heading...</singleline></p> |
| 349 | + // <div><multiline>Enter description...</multiline></div> |
| 350 | + // <img id="header-image" editable="true" width="500" /> |
| 351 | + // <repeater> |
| 352 | + // <layout label="My layout"> |
| 353 | + // <div class="repeater-item"> |
| 354 | + // <p><singleline></singleline></p> |
| 355 | + // <div><multiline></multiline></div> |
| 356 | + // <img editable="true" width="500" /> |
| 357 | + // </div> |
| 358 | + // </layout> |
| 359 | + // </repeater> |
| 360 | + // <p><unsubscribe>Unsubscribe</unsubscribe></p> |
| 361 | + // </body> |
| 362 | + // </html> |
| 363 | + |
| 364 | + CampaignForCreationFromTemplate campaign = new CampaignForCreationFromTemplate(); |
| 365 | + campaign.Name = "Campaign From Java Wrapper"; |
| 366 | + campaign.Subject = "Campaign From Java Wrapper"; |
| 367 | + campaign.FromName = "Example"; |
| 368 | + campaign. FromEmail = "[email protected]"; |
| 369 | + campaign. ReplyTo = "[email protected]"; |
| 370 | + campaign.ListIDs = new String[] { "List ID One" }; |
| 371 | + campaign.SegmentIDs = new String[0]; |
| 372 | + campaign.TemplateID = "Template ID"; |
| 373 | + campaign.TemplateContent = templateContent; |
| 374 | + |
| 375 | + campaignAPI.createFromTemplate(clientID, campaign); |
| 376 | + } |
299 | 377 |
|
300 | 378 | private static void runCampaignMethods(String clientID) throws CreateSendException {
|
301 | 379 | Campaigns campaignAPI = new Campaigns();
|
|
0 commit comments