Skip to content

Commit 64218b8

Browse files
committed
1 parent 42f2e50 commit 64218b8

File tree

2 files changed

+69
-12
lines changed

2 files changed

+69
-12
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.whatsapp.api.domain.messages;
2+
3+
import com.fasterxml.jackson.annotation.JsonInclude;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
5+
6+
/**
7+
* Object that allow messages to be replied
8+
*
9+
*
10+
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/guides/send-messages#replies">Replies</a>
11+
*/
12+
@JsonInclude(JsonInclude.Include.NON_NULL)
13+
public class Context {
14+
15+
@JsonProperty("message_id")
16+
private String messageId;
17+
18+
/**
19+
* Gets messageId.
20+
*
21+
* @return the messageId
22+
*/
23+
public String getMessageId() {
24+
return messageId;
25+
}
26+
27+
/**
28+
* Sets messageId.
29+
*/
30+
public void setMessageId(String messageId) {
31+
this.messageId = messageId;
32+
}
33+
}

src/main/java/com/whatsapp/api/domain/messages/Message.java

Lines changed: 36 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ public class Message {
1717
private final String messagingProduct = "whatsapp";
1818
@JsonProperty("recipient_type")
1919
private final String recipientType = "individual";
20+
@JsonProperty("context")
21+
private Context context;
2022
/**
2123
* The Interactive message.
2224
*/
@@ -58,9 +60,10 @@ public class Message {
5860
private Message() {
5961
}
6062

61-
private Message(String to, MessageType type) {
63+
private Message(String to, MessageType type, Context context) {
6264
this.to = to;
6365
this.type = type;
66+
this.context = context;
6467
}
6568

6669
/**
@@ -81,12 +84,22 @@ public String getRecipientType() {
8184
return recipientType;
8285
}
8386

87+
/**
88+
* Gets context.
89+
*
90+
* @return the context
91+
*/
92+
public Context getContext() {
93+
return context;
94+
}
95+
8496
/**
8597
* The type Message builder.
8698
*/
8799
public static class MessageBuilder {
88100

89101
private String to;
102+
private Context context;
90103

91104

92105
private MessageBuilder() {
@@ -112,6 +125,17 @@ public MessageBuilder setTo(String to) {
112125
return this;
113126
}
114127

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+
115139
/**
116140
* Build a text objetc, with:
117141
* <ul>
@@ -123,7 +147,7 @@ public MessageBuilder setTo(String to) {
123147
* @return the message
124148
*/
125149
public Message buildTextMessage(TextMessage textMessage) {
126-
var message = new Message(to, MessageType.TEXT);
150+
var message = new Message(to, MessageType.TEXT, context);
127151
message.textMessage = textMessage;
128152
return message;
129153

@@ -139,7 +163,7 @@ public Message buildTextMessage(TextMessage textMessage) {
139163
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#contacts-object">API documentation</a>
140164
*/
141165
public Message buildContactMessage(ContactMessage contactMessage) {
142-
var message = new Message(to, MessageType.CONTACTS);
166+
var message = new Message(to, MessageType.CONTACTS, context);
143167
message.contactMessage = contactMessage.getContacts();
144168
return message;
145169

@@ -153,7 +177,7 @@ public Message buildContactMessage(ContactMessage contactMessage) {
153177
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#template-object">API documentation</a>
154178
*/
155179
public Message buildTemplateMessage(TemplateMessage templateMessage) {
156-
var message = new Message(to, MessageType.TEMPLATE);
180+
var message = new Message(to, MessageType.TEMPLATE, context);
157181
message.templateMessage = templateMessage;
158182
return message;
159183

@@ -167,7 +191,7 @@ public Message buildTemplateMessage(TemplateMessage templateMessage) {
167191
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#interactive-object">API documentation</a>
168192
*/
169193
public Message buildInteractiveMessage(InteractiveMessage interactiveMessage) {
170-
var message = new Message(to, MessageType.INTERACTIVE);
194+
var message = new Message(to, MessageType.INTERACTIVE, context);
171195
message.interactiveMessage = interactiveMessage;
172196
return message;
173197

@@ -182,7 +206,7 @@ public Message buildInteractiveMessage(InteractiveMessage interactiveMessage) {
182206
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#media-object">API documentation</a>
183207
*/
184208
public Message buildAudioMessage(AudioMessage audioMessage) {
185-
var message = new Message(to, MessageType.AUDIO);
209+
var message = new Message(to, MessageType.AUDIO, context);
186210
message.audioMessage = audioMessage;
187211
return message;
188212

@@ -196,7 +220,7 @@ public Message buildAudioMessage(AudioMessage audioMessage) {
196220
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#media-object">API documentation</a>
197221
*/
198222
public Message buildDocumentMessage(DocumentMessage documentMessage) {
199-
var message = new Message(to, MessageType.DOCUMENT);
223+
var message = new Message(to, MessageType.DOCUMENT, context);
200224
message.documentMessage = documentMessage;
201225
return message;
202226

@@ -210,7 +234,7 @@ public Message buildDocumentMessage(DocumentMessage documentMessage) {
210234
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#media-object">API documentation</a>
211235
*/
212236
public Message buildImageMessage(ImageMessage imageMessage) {
213-
var message = new Message(to, MessageType.IMAGE);
237+
var message = new Message(to, MessageType.IMAGE, context);
214238
message.imageMessage = imageMessage;
215239
return message;
216240

@@ -224,7 +248,7 @@ public Message buildImageMessage(ImageMessage imageMessage) {
224248
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#media-object">API documentation</a>
225249
*/
226250
public Message buildStickerMessage(StickerMessage stickerMessage) {
227-
var message = new Message(to, MessageType.STICKER);
251+
var message = new Message(to, MessageType.STICKER, context);
228252
message.stickerMessage = stickerMessage;
229253
return message;
230254

@@ -238,7 +262,7 @@ public Message buildStickerMessage(StickerMessage stickerMessage) {
238262
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#media-object">API documentation</a>
239263
*/
240264
public Message buildVideoMessage(VideoMessage videoMessage) {
241-
var message = new Message(to, MessageType.VIDEO);
265+
var message = new Message(to, MessageType.VIDEO, context);
242266
message.videoMessage = videoMessage;
243267
return message;
244268

@@ -252,7 +276,7 @@ public Message buildVideoMessage(VideoMessage videoMessage) {
252276
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#location-object">API documentation</a>
253277
*/
254278
public Message buildReactionMessage(ReactionMessage reactionMessage) {
255-
var message = new Message(to, MessageType.REACTION);
279+
var message = new Message(to, MessageType.REACTION, context);
256280
message.reactionMessage = reactionMessage;
257281
return message;
258282

@@ -266,7 +290,7 @@ public Message buildReactionMessage(ReactionMessage reactionMessage) {
266290
* @see <a href="https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#location-messages">API documentation</a>
267291
*/
268292
public Message buildLocationMessage(LocationMessage locationMessage) {
269-
var message = new Message(to, MessageType.LOCATION);
293+
var message = new Message(to, MessageType.LOCATION, context);
270294
message.locationMessage = locationMessage;
271295
return message;
272296

0 commit comments

Comments
 (0)