This topic provides examples of how to perform operations on email templates and folders, when using the Episerver Connect for Marketo add-on with Episerver.
Sample code for Marketo version 4 and higher
The following code shows how to perform operations on email templates and folders in Marketo version 4 and higher.
var marketoConnector = new Episerver.Marketing.Connector.Marketo.MarketoConnector();
marketoConnector.InstanceId = marketoConnector.Id;
// Get a folder by Id
var folder = marketoConnector.GetFolder(2, Episerver.Marketing.Connector.Marketo.Services.REST.FolderType.Folder);
// Get a folder by name
var folderByName = marketoConnector.GetFolder("Sample folder", Episerver.Marketing.Connector.Marketo.Services.REST.FolderType.Folder);
// Get all folders
var folders = marketoConnector.GetFolders(15, 25, 2);
// Create a new email template
string content = System.IO.File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "/SampleTemplate.html");
marketoConnector.CreateEmailTemplate("TestTemplate1", content, folder.Id, "Test Description");
// Get template by Id
var template = marketoConnector.GetEmailTemplate(1009);
// Get template by name
var templateByName = marketoConnector.GetEmailTemplate("TestTemplate1");
// Update Template
var isUpdated = marketoConnector.UpdateEmailTemplate(1009, "Updated Name", "Updated Description");
// Get template content (html of the email) by Id
var emailContent = marketoConnector.GetEmailTemplateContent(1009);
// Update template content (html of the email) by Id
var updateSuccess = marketoConnector.UpdateEmailTemplateContent(1009, "Updated Content");
// Get all templates
var allTemplates = marketoConnector.GetEmailTemplates(25);
// Delete a template
var delete = marketoConnector.DeleteEmailTemplate(1009);
IEmailTemplateService
public int CreateTemplate(string name, string content, int folderId, string description = "");
public bool DeleteTemplate(int id);
public EmailTemplate GetTemplateById(int id);
public EmailTemplate GetTemplateByName(string name);
public string GetTemplateContentById(int id);
public IEnumerable<EmailTemplate> GetTemplates(int maxReturn = 0);
public bool UpdateTemplate(int id, string name = "", string description = "");
public bool UpdateTemplateContentById(int id, string content);
IFolderService
public Folder GetFolderByName(string name);
public IEnumerable<Folder> GetFolders(int rootFolderId, int maxReturn = 0, int maxDepth = 0);
Sample code for Marketo version 3 and lower
The following code shows how to use the IEmailTemplateService and IFolderService methods in Marketo version 3 and lower.
using EPiServer.MarketingAutomationIntegration.Domain;
using EPiServer.MarketingAutomationIntegration.Marketo.Services;
.
.
.
EmailTemplateService emailTempService = new EmailTemplateService();
FolderService folderService = new FolderService();
// Get a folder by name
var folder = folderService.GetFolderByName("Sample folder");
// Get all folders
var folders = folderService.GetFolders(15, 25);
// Create a new email template
string content = File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "/SampleTemplate.html");
emailTempService.CreateTemplate("TestTemplate1", content, folder.Id, "Test Description");
// Get template by id
var template = emailTempService.GetTemplateById(1009);
// Get template by name
var templateByName = emailTempService.GetTemplateByName("TestTemplate1");
// Update Template
var isUpdated = emailTempService.UpdateTemplate(1009, "Updated Name", "Updated Description");
// Get template content (html of the email) by Id
var emailContent = emailTempService.GetTemplateContentById(1009);
// Update template content (html of the email) by Id
var updateSuccess = emailTempService.UpdateTemplateContentById(1009, "Updated Content");
// Get all templates
var allTemplates = emailTempService.GetTemplates();
// Delete a template
var delete = emailTempService.DeleteTemplate(1009);
Do you find this information helpful? Please log in to provide feedback.
Last updated: Jun 07, 2019