diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2a2af72..12b6f76 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [2.11.0] - 2025-01-10
+### Added
+- Context.MessageId on RichMessages supporting WhatsApp for referencing a previous message
+
## [2.10.0] - 2024-12-30
### Added
- Polymorphic type discriminators on IRichMessage for deserialization
diff --git a/CM.Text/BusinessMessaging/Model/MultiChannel/ContactMessage.cs b/CM.Text/BusinessMessaging/Model/MultiChannel/ContactMessage.cs
index f40046c..70984af 100644
--- a/CM.Text/BusinessMessaging/Model/MultiChannel/ContactMessage.cs
+++ b/CM.Text/BusinessMessaging/Model/MultiChannel/ContactMessage.cs
@@ -18,6 +18,13 @@ public class ContactMessage : IRichMessage
///
[JsonPropertyName("contacts")]
public Contact[] Contacts { get; set; }
+
+ ///
+ /// Contextual properties of the message
+ ///
+ [JsonPropertyName("context")]
+ [CanBeNull]
+ public MessageContext MessageContext { get; set; }
}
///
diff --git a/CM.Text/BusinessMessaging/Model/MultiChannel/LocationPushMessage.cs b/CM.Text/BusinessMessaging/Model/MultiChannel/LocationPushMessage.cs
index 6193596..bc31fed 100644
--- a/CM.Text/BusinessMessaging/Model/MultiChannel/LocationPushMessage.cs
+++ b/CM.Text/BusinessMessaging/Model/MultiChannel/LocationPushMessage.cs
@@ -15,5 +15,12 @@ public class LocationPushMessage : IRichMessage
///
[JsonPropertyName("location")]
public ViewLocationOptions Location { get; set; }
+
+ ///
+ /// Contextual properties of the message. Only applicable to
+ ///
+ [JsonPropertyName("context")]
+ [CanBeNull]
+ public MessageContext MessageContext { get; set; }
}
}
diff --git a/CM.Text/BusinessMessaging/Model/MultiChannel/MediaMessage.cs b/CM.Text/BusinessMessaging/Model/MultiChannel/MediaMessage.cs
index b4aed6d..b866de9 100644
--- a/CM.Text/BusinessMessaging/Model/MultiChannel/MediaMessage.cs
+++ b/CM.Text/BusinessMessaging/Model/MultiChannel/MediaMessage.cs
@@ -33,5 +33,12 @@ public MediaMessage(string mediaName, string mediaUri, string mimeType)
///
[JsonPropertyName("media")]
public MediaContent Media { get; set; }
+
+ ///
+ /// Contextual properties of the message. Only applicable to
+ ///
+ [JsonPropertyName("context")]
+ [CanBeNull]
+ public MessageContext MessageContext { get; set; }
}
}
diff --git a/CM.Text/BusinessMessaging/Model/MultiChannel/MessageContext.cs b/CM.Text/BusinessMessaging/Model/MultiChannel/MessageContext.cs
new file mode 100644
index 0000000..dbf82b7
--- /dev/null
+++ b/CM.Text/BusinessMessaging/Model/MultiChannel/MessageContext.cs
@@ -0,0 +1,19 @@
+using System.Text.Json.Serialization;
+using JetBrains.Annotations;
+
+namespace CM.Text.BusinessMessaging.Model.MultiChannel
+{
+ ///
+ /// Contextual properties of the message. Currently only applicable to
+ /// Docs: https://developers.cm.com/messaging/docs/whatsapp-inbound#mt-replies-mo
+ ///
+ public class MessageContext
+ {
+ ///
+ /// Message ID to which the current message is a reply
+ ///
+ [JsonPropertyName("message_id")]
+ [CanBeNull]
+ public string MessageId { get; set; }
+ }
+}
diff --git a/CM.Text/BusinessMessaging/Model/MultiChannel/TemplateMessage.cs b/CM.Text/BusinessMessaging/Model/MultiChannel/TemplateMessage.cs
index e7690f8..bfeffaa 100644
--- a/CM.Text/BusinessMessaging/Model/MultiChannel/TemplateMessage.cs
+++ b/CM.Text/BusinessMessaging/Model/MultiChannel/TemplateMessage.cs
@@ -17,5 +17,12 @@ public class TemplateMessage : IRichMessage
///
[JsonPropertyName("template")]
public TemplateMessageContent Content { get; set; }
+
+ ///
+ /// Contextual properties of the message
+ ///
+ [JsonPropertyName("context")]
+ [CanBeNull]
+ public MessageContext MessageContext { get; set; }
}
}
diff --git a/CM.Text/BusinessMessaging/Model/MultiChannel/TextMessage.cs b/CM.Text/BusinessMessaging/Model/MultiChannel/TextMessage.cs
index 5287a68..43b4f9d 100644
--- a/CM.Text/BusinessMessaging/Model/MultiChannel/TextMessage.cs
+++ b/CM.Text/BusinessMessaging/Model/MultiChannel/TextMessage.cs
@@ -44,5 +44,12 @@ public TextMessage(string text)
///
[JsonPropertyName("suggestions")]
public SuggestionBase[] Suggestions { get; set; }
+
+ ///
+ /// Contextual properties of the message. Currently only applicable to
+ ///
+ [JsonPropertyName("context")]
+ [CanBeNull]
+ public MessageContext MessageContext { get; set; }
}
}
diff --git a/CM.Text/BusinessMessaging/Model/MultiChannel/WhatsAppInteractiveMessage.cs b/CM.Text/BusinessMessaging/Model/MultiChannel/WhatsAppInteractiveMessage.cs
index 36132c4..dc3cd8d 100644
--- a/CM.Text/BusinessMessaging/Model/MultiChannel/WhatsAppInteractiveMessage.cs
+++ b/CM.Text/BusinessMessaging/Model/MultiChannel/WhatsAppInteractiveMessage.cs
@@ -16,6 +16,13 @@ public class WhatsAppInteractiveMessage : IRichMessage
///
[JsonPropertyName("interactive")]
public WhatsAppInteractiveContent whatsAppInteractiveContent { get; set; }
+
+ ///
+ /// Contextual properties of the message
+ ///
+ [JsonPropertyName("context")]
+ [CanBeNull]
+ public MessageContext MessageContext { get; set; }
}
///
diff --git a/CM.Text/CM.Text.csproj b/CM.Text/CM.Text.csproj
index a9ff480..f8d9970 100644
--- a/CM.Text/CM.Text.csproj
+++ b/CM.Text/CM.Text.csproj
@@ -13,12 +13,12 @@
LICENSE
icon.png
$([System.IO.File]::ReadAllText("$(MSBuildProjectDirectory)/../CHANGELOG.md"))
- 2.10.0
+ 2.11.0
https://github.com/cmdotcom/text-sdk-dotnet
en
true
- 2.10.0
- 2.10.0
+ 2.11.0
+ 2.11.0
True