diff --git a/src/Resend/EmailMessageTemplate.cs b/src/Resend/EmailMessageTemplate.cs index 2bddc6e..9a053fa 100644 --- a/src/Resend/EmailMessageTemplate.cs +++ b/src/Resend/EmailMessageTemplate.cs @@ -6,10 +6,10 @@ namespace Resend; public class EmailMessageTemplate { /// - /// Identifier of published template. + /// Identifier or alias of the published template. /// [JsonPropertyName( "id" )] - public Guid TemplateId { get; set; } + public string TemplateId { get; set; } = default!; /// /// Template variables. diff --git a/tests/Resend.Tests/EmailMessageTemplateTests.cs b/tests/Resend.Tests/EmailMessageTemplateTests.cs new file mode 100644 index 0000000..d7c7828 --- /dev/null +++ b/tests/Resend.Tests/EmailMessageTemplateTests.cs @@ -0,0 +1,37 @@ +using System.Text.Json; + +namespace Resend.Tests; + +/// +public class EmailMessageTemplateTests +{ + /// + [Fact] + public void SerializesAliasId() + { + var message = new EmailMessage() + { + From = "from@example.com", + To = "to@example.com", + Template = new EmailMessageTemplate() { TemplateId = "welcome-email" }, + }; + + var json = JsonSerializer.Serialize( message ); + + Assert.Contains( "\"id\":\"welcome-email\"", json ); + } + + + /// + [Fact] + public void RoundtripsAliasId() + { + var template = new EmailMessageTemplate() { TemplateId = "welcome-email" }; + + var json = JsonSerializer.Serialize( template ); + var actual = JsonSerializer.Deserialize( json ); + + Assert.NotNull( actual ); + Assert.Equal( "welcome-email", actual.TemplateId ); + } +}