Skip to content

Commit 7001c91

Browse files
authored
Merge pull request #75 from Martijnvos/feat/support-context-messageid-on-whatsapp
Support Context.MessageId field on Whatsapp
2 parents ba0cb72 + 36292d0 commit 7001c91

File tree

9 files changed

+68
-3
lines changed

9 files changed

+68
-3
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [2.11.0] - 2025-01-10
8+
### Added
9+
- Context.MessageId on RichMessages supporting WhatsApp for referencing a previous message
10+
711
## [2.10.0] - 2024-12-30
812
### Added
913
- Polymorphic type discriminators on IRichMessage for deserialization

CM.Text/BusinessMessaging/Model/MultiChannel/ContactMessage.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@ public class ContactMessage : IRichMessage
1818
/// </summary>
1919
[JsonPropertyName("contacts")]
2020
public Contact[] Contacts { get; set; }
21+
22+
/// <summary>
23+
/// Contextual properties of the message
24+
/// </summary>
25+
[JsonPropertyName("context")]
26+
[CanBeNull]
27+
public MessageContext MessageContext { get; set; }
2128
}
2229

2330
/// <summary>

CM.Text/BusinessMessaging/Model/MultiChannel/LocationPushMessage.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,12 @@ public class LocationPushMessage : IRichMessage
1515
/// </summary>
1616
[JsonPropertyName("location")]
1717
public ViewLocationOptions Location { get; set; }
18+
19+
/// <summary>
20+
/// Contextual properties of the message. Only applicable to <see cref="Channel.WhatsApp"/>
21+
/// </summary>
22+
[JsonPropertyName("context")]
23+
[CanBeNull]
24+
public MessageContext MessageContext { get; set; }
1825
}
1926
}

CM.Text/BusinessMessaging/Model/MultiChannel/MediaMessage.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,12 @@ public MediaMessage(string mediaName, string mediaUri, string mimeType)
3333
/// </summary>
3434
[JsonPropertyName("media")]
3535
public MediaContent Media { get; set; }
36+
37+
/// <summary>
38+
/// Contextual properties of the message. Only applicable to <see cref="Channel.WhatsApp"/>
39+
/// </summary>
40+
[JsonPropertyName("context")]
41+
[CanBeNull]
42+
public MessageContext MessageContext { get; set; }
3643
}
3744
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
using System.Text.Json.Serialization;
2+
using JetBrains.Annotations;
3+
4+
namespace CM.Text.BusinessMessaging.Model.MultiChannel
5+
{
6+
/// <summary>
7+
/// Contextual properties of the message. Currently only applicable to <see cref="Channel.WhatsApp" />
8+
/// Docs: https://developers.cm.com/messaging/docs/whatsapp-inbound#mt-replies-mo
9+
/// </summary>
10+
public class MessageContext
11+
{
12+
/// <summary>
13+
/// Message ID to which the current message is a reply
14+
/// </summary>
15+
[JsonPropertyName("message_id")]
16+
[CanBeNull]
17+
public string MessageId { get; set; }
18+
}
19+
}

CM.Text/BusinessMessaging/Model/MultiChannel/TemplateMessage.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,12 @@ public class TemplateMessage : IRichMessage
1717
/// </remarks>
1818
[JsonPropertyName("template")]
1919
public TemplateMessageContent Content { get; set; }
20+
21+
/// <summary>
22+
/// Contextual properties of the message
23+
/// </summary>
24+
[JsonPropertyName("context")]
25+
[CanBeNull]
26+
public MessageContext MessageContext { get; set; }
2027
}
2128
}

CM.Text/BusinessMessaging/Model/MultiChannel/TextMessage.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,12 @@ public TextMessage(string text)
4444
/// </summary>
4545
[JsonPropertyName("suggestions")]
4646
public SuggestionBase[] Suggestions { get; set; }
47+
48+
/// <summary>
49+
/// Contextual properties of the message. Currently only applicable to <see cref="Channel.WhatsApp" />
50+
/// </summary>
51+
[JsonPropertyName("context")]
52+
[CanBeNull]
53+
public MessageContext MessageContext { get; set; }
4754
}
4855
}

CM.Text/BusinessMessaging/Model/MultiChannel/WhatsAppInteractiveMessage.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@ public class WhatsAppInteractiveMessage : IRichMessage
1616
/// </summary>
1717
[JsonPropertyName("interactive")]
1818
public WhatsAppInteractiveContent whatsAppInteractiveContent { get; set; }
19+
20+
/// <summary>
21+
/// Contextual properties of the message
22+
/// </summary>
23+
[JsonPropertyName("context")]
24+
[CanBeNull]
25+
public MessageContext MessageContext { get; set; }
1926
}
2027

2128
/// <summary>

CM.Text/CM.Text.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@
1313
<PackageLicenseFile>LICENSE</PackageLicenseFile>
1414
<PackageIcon>icon.png</PackageIcon>
1515
<PackageReleaseNotes>$([System.IO.File]::ReadAllText("$(MSBuildProjectDirectory)/../CHANGELOG.md"))</PackageReleaseNotes>
16-
<Version>2.10.0</Version>
16+
<Version>2.11.0</Version>
1717
<PackageProjectUrl>https://github.com/cmdotcom/text-sdk-dotnet</PackageProjectUrl>
1818
<NeutralLanguage>en</NeutralLanguage>
1919
<GenerateDocumentationFile>true</GenerateDocumentationFile>
20-
<AssemblyVersion>2.10.0</AssemblyVersion>
21-
<FileVersion>2.10.0</FileVersion>
20+
<AssemblyVersion>2.11.0</AssemblyVersion>
21+
<FileVersion>2.11.0</FileVersion>
2222
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
2323
</PropertyGroup>
2424

0 commit comments

Comments
 (0)