@@ -17,6 +17,8 @@ public class Message {
17
17
private final String messagingProduct = "whatsapp" ;
18
18
@ JsonProperty ("recipient_type" )
19
19
private final String recipientType = "individual" ;
20
+ @ JsonProperty ("context" )
21
+ private Context context ;
20
22
/**
21
23
* The Interactive message.
22
24
*/
@@ -58,9 +60,10 @@ public class Message {
58
60
private Message () {
59
61
}
60
62
61
- private Message (String to , MessageType type ) {
63
+ private Message (String to , MessageType type , Context context ) {
62
64
this .to = to ;
63
65
this .type = type ;
66
+ this .context = context ;
64
67
}
65
68
66
69
/**
@@ -81,12 +84,22 @@ public String getRecipientType() {
81
84
return recipientType ;
82
85
}
83
86
87
+ /**
88
+ * Gets context.
89
+ *
90
+ * @return the context
91
+ */
92
+ public Context getContext () {
93
+ return context ;
94
+ }
95
+
84
96
/**
85
97
* The type Message builder.
86
98
*/
87
99
public static class MessageBuilder {
88
100
89
101
private String to ;
102
+ private Context context ;
90
103
91
104
92
105
private MessageBuilder () {
@@ -112,6 +125,17 @@ public MessageBuilder setTo(String to) {
112
125
return this ;
113
126
}
114
127
128
+ /**
129
+ * Sets context.
130
+ *
131
+ * @param context. the messsage's context.
132
+ * @return the context
133
+ */
134
+ public MessageBuilder setContext (Context context ) {
135
+ this .context = context ;
136
+ return this ;
137
+ }
138
+
115
139
/**
116
140
* Build a text objetc, with:
117
141
* <ul>
@@ -123,7 +147,7 @@ public MessageBuilder setTo(String to) {
123
147
* @return the message
124
148
*/
125
149
public Message buildTextMessage (TextMessage textMessage ) {
126
- var message = new Message (to , MessageType .TEXT );
150
+ var message = new Message (to , MessageType .TEXT , context );
127
151
message .textMessage = textMessage ;
128
152
return message ;
129
153
@@ -139,7 +163,7 @@ public Message buildTextMessage(TextMessage textMessage) {
139
163
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#contacts-object">API documentation</a>
140
164
*/
141
165
public Message buildContactMessage (ContactMessage contactMessage ) {
142
- var message = new Message (to , MessageType .CONTACTS );
166
+ var message = new Message (to , MessageType .CONTACTS , context );
143
167
message .contactMessage = contactMessage .getContacts ();
144
168
return message ;
145
169
@@ -153,7 +177,7 @@ public Message buildContactMessage(ContactMessage contactMessage) {
153
177
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#template-object">API documentation</a>
154
178
*/
155
179
public Message buildTemplateMessage (TemplateMessage templateMessage ) {
156
- var message = new Message (to , MessageType .TEMPLATE );
180
+ var message = new Message (to , MessageType .TEMPLATE , context );
157
181
message .templateMessage = templateMessage ;
158
182
return message ;
159
183
@@ -167,7 +191,7 @@ public Message buildTemplateMessage(TemplateMessage templateMessage) {
167
191
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#interactive-object">API documentation</a>
168
192
*/
169
193
public Message buildInteractiveMessage (InteractiveMessage interactiveMessage ) {
170
- var message = new Message (to , MessageType .INTERACTIVE );
194
+ var message = new Message (to , MessageType .INTERACTIVE , context );
171
195
message .interactiveMessage = interactiveMessage ;
172
196
return message ;
173
197
@@ -182,7 +206,7 @@ public Message buildInteractiveMessage(InteractiveMessage interactiveMessage) {
182
206
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#media-object">API documentation</a>
183
207
*/
184
208
public Message buildAudioMessage (AudioMessage audioMessage ) {
185
- var message = new Message (to , MessageType .AUDIO );
209
+ var message = new Message (to , MessageType .AUDIO , context );
186
210
message .audioMessage = audioMessage ;
187
211
return message ;
188
212
@@ -196,7 +220,7 @@ public Message buildAudioMessage(AudioMessage audioMessage) {
196
220
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#media-object">API documentation</a>
197
221
*/
198
222
public Message buildDocumentMessage (DocumentMessage documentMessage ) {
199
- var message = new Message (to , MessageType .DOCUMENT );
223
+ var message = new Message (to , MessageType .DOCUMENT , context );
200
224
message .documentMessage = documentMessage ;
201
225
return message ;
202
226
@@ -210,7 +234,7 @@ public Message buildDocumentMessage(DocumentMessage documentMessage) {
210
234
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#media-object">API documentation</a>
211
235
*/
212
236
public Message buildImageMessage (ImageMessage imageMessage ) {
213
- var message = new Message (to , MessageType .IMAGE );
237
+ var message = new Message (to , MessageType .IMAGE , context );
214
238
message .imageMessage = imageMessage ;
215
239
return message ;
216
240
@@ -224,7 +248,7 @@ public Message buildImageMessage(ImageMessage imageMessage) {
224
248
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#media-object">API documentation</a>
225
249
*/
226
250
public Message buildStickerMessage (StickerMessage stickerMessage ) {
227
- var message = new Message (to , MessageType .STICKER );
251
+ var message = new Message (to , MessageType .STICKER , context );
228
252
message .stickerMessage = stickerMessage ;
229
253
return message ;
230
254
@@ -238,7 +262,7 @@ public Message buildStickerMessage(StickerMessage stickerMessage) {
238
262
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#media-object">API documentation</a>
239
263
*/
240
264
public Message buildVideoMessage (VideoMessage videoMessage ) {
241
- var message = new Message (to , MessageType .VIDEO );
265
+ var message = new Message (to , MessageType .VIDEO , context );
242
266
message .videoMessage = videoMessage ;
243
267
return message ;
244
268
@@ -252,7 +276,7 @@ public Message buildVideoMessage(VideoMessage videoMessage) {
252
276
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#location-object">API documentation</a>
253
277
*/
254
278
public Message buildReactionMessage (ReactionMessage reactionMessage ) {
255
- var message = new Message (to , MessageType .REACTION );
279
+ var message = new Message (to , MessageType .REACTION , context );
256
280
message .reactionMessage = reactionMessage ;
257
281
return message ;
258
282
@@ -266,7 +290,7 @@ public Message buildReactionMessage(ReactionMessage reactionMessage) {
266
290
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#location-messages">API documentation</a>
267
291
*/
268
292
public Message buildLocationMessage (LocationMessage locationMessage ) {
269
- var message = new Message (to , MessageType .LOCATION );
293
+ var message = new Message (to , MessageType .LOCATION , context );
270
294
message .locationMessage = locationMessage ;
271
295
return message ;
272
296
0 commit comments