From c442e7956b2740ffca6a1d5410d62fe5deeca64c Mon Sep 17 00:00:00 2001 From: eric Date: Thu, 29 May 2025 17:28:38 -0700 Subject: [PATCH 01/23] Wired up template_data for client --- README.md | 40 ++++++++++++------- .../API/Helpers/TemplateVersion.cs | 4 ++ .../SendwithusTest/Tests/TemplateTest.cs | 10 +++++ appveyor.yml | 2 +- 4 files changed, 40 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 05981f0..a2dfbc6 100644 --- a/README.md +++ b/README.md @@ -167,10 +167,14 @@ var versionId = "ver_ET3j2snkKhqsjRjtK6bXJE"; var updatedTemplateVersion = new TemplateVersion(); var templateVersionName = "New Version"; var templateSubject = "edited!"; +// Create the template data +var template_data = new Dictionary(); +template_data.Add("amount", "$12.00"); var updatedTemplateVersion = new TemplateVersion(templateVersionName, templateSubject); updatedTemplateVersion.html = "

UPDATE

"; // optional updatedTemplateVersion.text = "sometext"; // optional updatedTemplateVersion.preheader = "some preheader"; // optional +updatedTemplateVersion.template_data = template_data; // optional try { var templateVersion = await Template.UpdateTemplateVersionAsync(templateId, versionId, updatedTemplateVersion); @@ -206,11 +210,14 @@ catch (AggregateException exception) ```csharp var templateVersionName = "New Template Version"; var templateSubject = "New Version!"; +var template_data = new Dictionary(); +template_data.Add("amount", "$12.00"); var updatedTemplateVersion = new TemplateVersion(templateVersionName, templateSubject); updatedTemplateVersion.html = "

NEW TEMPLATE VERSION

"; // optional updatedTemplateVersion.text = "some text"; // optional updatedTemplateVersion.preheader = "some preheader"; // optional updatedTemplateVersion.locale = "en-US"; // optional +updatedTemplateVersion.template_data = template_data; // optional try { var template = await Template.CreateTemplateAsync(updatedTemplateVersion); @@ -247,10 +254,13 @@ catch (AggregateException exception) var templateId = "tem_SxZKpxJSHPbYDWRSQnAQUR"; var templateVersionName = "New Template Version"; var templateSubject = "New Version!"; +var template_data = new Dictionary(); +template_data.Add("amount", "$12.00"); var updatedTemplateVersion = new TemplateVersion(templateVersionName, templateSubject); updatedTemplateVersion.html = "

NEW TEMPLATE VERSION

"; // optional updatedTemplateVersion.text = "some text"; // optional updatedTemplateVersion.preheader = "some preheader"; // optional +updatedTemplateVersion.template_data = template_data; // optional try { var templateVersion = await Template.CreateTemplateVersion(templateId, updatedTemplateVersion); @@ -317,20 +327,20 @@ var templateId = "tem_SxZKpxJSHPbYDWRSQnAQUR"; // Construct the template data // The content of the template data is all optional and is based on the template being used -var templateData = new Dictionary(); -templateData.Add("first_name", "Chuck"); -templateData.Add("last_name", "Norris"); -templateData.Add("img", "http://placekitten.com/50/60"); +var template_data = new Dictionary(); +template_data.Add("first_name", "Chuck"); +template_data.Add("last_name", "Norris"); +template_data.Add("img", "http://placekitten.com/50/60"); var link = new Dictionary(); link.Add("url", "https://www.sendwithus.com"); link.Add("text", "sendwithus!"); -templateData.Add("link", link); +template_data.Add("link", link); // Construct the recipient var recipient = new EmailRecipient(DEFAULT_RECIPIENT_EMAIL_ADDRESS); // Construct the email object -var email = new Email(templateId, templateData, recipient); +var email = new Email(templateId, template_data, recipient); // Send the email try @@ -348,20 +358,20 @@ var templateId = "tem_SxZKpxJSHPbYDWRSQnAQUR"; // Construct the template data // The content of the template data is all optional and is based on the template being used -var templateData = new Dictionary(); -templateData.Add("first_name", "Chuck"); -templateData.Add("last_name", "Norris"); -templateData.Add("img", "http://placekitten.com/50/60"); +var template_data = new Dictionary(); +template_data.Add("first_name", "Chuck"); +template_data.Add("last_name", "Norris"); +template_data.Add("img", "http://placekitten.com/50/60"); var link = new Dictionary(); link.Add("url", "https://www.sendwithus.com"); link.Add("text", "sendwithus!"); -templateData.Add("link", link); +template_data.Add("link", link); // Construct the recipient var recipient = new EmailRecipient(DEFAULT_RECIPIENT_EMAIL_ADDRESS); // Construct the email object -var email = new Email(templateId, templateData, recipient); +var email = new Email(templateId, template_data, recipient); email.cc.Add(new EmailRecipient("cc_one@email.com", "CC One")); email.cc.Add(new EmailRecipient("cc_two@email.com", "CC Two")); email.bcc.Add(new EmailRecipient("bcc_one@email.com", "BCC One")); @@ -506,11 +516,11 @@ catch (AggregateException exception) var templateId = "tem_SxZKpxJSHPbYDWRSQnAQUR"; // Create the template data -var templateData = new Dictionary(); -templateData.Add("amount", "$12.00"); +var template_data = new Dictionary(); +template_data.Add("amount", "$12.00"); // Create the render object -var renderTemplate = new Render(templateId, templateData); +var renderTemplate = new Render(templateId, template_data); renderTemplate.version_id = "ver_ET3j2snkKhqsjRjtK6bXJE"; // optional. Can use either version_id or version_name to specify a version, but not both renderTemplate.locale = "en-US"; // optional renderTemplate.strict = true; // optional. Strict defaults to false if not set diff --git a/Sendwithus/SendwithusClient/API/Helpers/TemplateVersion.cs b/Sendwithus/SendwithusClient/API/Helpers/TemplateVersion.cs index ddc93e9..9e7e660 100644 --- a/Sendwithus/SendwithusClient/API/Helpers/TemplateVersion.cs +++ b/Sendwithus/SendwithusClient/API/Helpers/TemplateVersion.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; namespace Sendwithus { @@ -17,6 +18,7 @@ public class TemplateVersion public string text { get; set; } public string subject { get; set; } public string preheader { get; set; } + public Dictionary template_data { get; set; } public string locale { get; set; } public bool published { get; set; } @@ -37,6 +39,8 @@ public TemplateVersion(string name, string subject) html = String.Empty; text = String.Empty; preheader = String.Empty; + template_data = new Dictionary(); + ; locale = String.Empty; published = false; } diff --git a/Sendwithus/SendwithusTest/Tests/TemplateTest.cs b/Sendwithus/SendwithusTest/Tests/TemplateTest.cs index 3f545a6..244bdaf 100644 --- a/Sendwithus/SendwithusTest/Tests/TemplateTest.cs +++ b/Sendwithus/SendwithusTest/Tests/TemplateTest.cs @@ -4,6 +4,7 @@ using System.Diagnostics; using System.Net; using System.Threading.Tasks; +using System.Collections.Generic; namespace SendwithusTest { @@ -269,10 +270,13 @@ public async Task TestUpdateTemplateVersionByIdWithAllParametersAsync() Trace.WriteLine(String.Format("PUT /templates/{0}/versions/{1}", DEFAULT_TEMPLATE_ID, DEFAULT_VERSION_ID)); var templateVersionName = "New Template Version"; var templateSubject = "New Version!"; + var template_data = new Dictionary(); + template_data.Add("amount", "$12.00"); var updatedTemplateVersion = new TemplateVersion(templateVersionName, templateSubject); updatedTemplateVersion.html = "

NEW TEMPLATE VERSION

"; updatedTemplateVersion.text = "some text"; updatedTemplateVersion.preheader = "A Test Preheader"; + updatedTemplateVersion.template_data = template_data; try { var templateVersion = await Template.UpdateTemplateVersionAsync(DEFAULT_TEMPLATE_ID, DEFAULT_VERSION_ID, updatedTemplateVersion); @@ -590,10 +594,13 @@ public async Task TestCreateTemplateVersionWithAllParametersAsync() Trace.WriteLine(String.Format("POST /templates/{0}/versions", DEFAULT_TEMPLATE_ID)); var templateVersionName = "New Template Version " + SendwithusClientTest.TimeStampAndRandomNumber(); var templateSubject = "New Version!"; + var template_data = new Dictionary(); + template_data.Add("amount", "$12.00"); var updatedTemplateVersion = new TemplateVersion(templateVersionName, templateSubject); updatedTemplateVersion.html = "

NEW TEMPLATE VERSION

"; updatedTemplateVersion.text = "some text"; updatedTemplateVersion.preheader = "A Test Preheader"; + updatedTemplateVersion.template_data = template_data; try { var templateVersion = await Template.CreateTemplateVersion(DEFAULT_TEMPLATE_ID, updatedTemplateVersion); @@ -748,11 +755,14 @@ public static async Task