Skip to content

Commit e461ea6

Browse files
authored
Merge pull request #1 from green-api/SW-4489
Support for Release 29.39
2 parents f89f7fd + a8c7521 commit e461ea6

7 files changed

Lines changed: 71 additions & 4 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
</parent>
1111
<groupId>com.green-api</groupId>
1212
<artifactId>whatsapp-api-client-java</artifactId>
13-
<version>0.1.8</version>
13+
<version>0.1.9</version>
1414
<description>WhatsApp java client Green API</description>
1515
<licenses>
1616
<license>

src/main/java/com/greenapi/client/pkg/api/methods/GreenApiService.java

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.greenapi.client.pkg.api.methods;
22

33
import com.greenapi.client.pkg.models.request.MessageReq;
4+
import com.greenapi.client.pkg.models.request.EditMessageReq;
5+
import com.greenapi.client.pkg.models.request.DeleteMessageReq;
46
import com.greenapi.client.pkg.models.response.*;
57
import lombok.AllArgsConstructor;
68
import org.springframework.core.ParameterizedTypeReference;
@@ -102,12 +104,32 @@ public ResponseEntity<GetContactInfoResp> getContactInfo(String chatId) {
102104
* The method deletes a message from a chat.
103105
* https://greenapi.com/en/docs/api/service/deleteMessage/
104106
*/
105-
public ResponseEntity<String> deleteMessage(MessageReq messageReq) {
106-
107+
public ResponseEntity<String> deleteMessage(DeleteMessageReq deleteMessageReq) {
107108
String url = host +
108109
"/waInstance" + instanceId +
109110
"/deleteMessage/" +
110111
instanceToken;
112+
var headers = new HttpHeaders();
113+
headers.setContentType(MediaType.APPLICATION_JSON);
114+
115+
var requestEntity = new HttpEntity<>(deleteMessageReq, headers);
116+
117+
return restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class);
118+
}
119+
// Overloaded method for backward compatibility
120+
public ResponseEntity<String> deleteMessage(MessageReq messageReq) {
121+
return deleteMessage(DeleteMessageReq.from(messageReq));
122+
}
123+
124+
/**
125+
* The method edits a message in a chat.
126+
* https://greenapi.com/en/docs/api/service/editMessage/
127+
*/
128+
public ResponseEntity<String> editMessage(EditMessageReq messageReq) {
129+
String url = host +
130+
"/waInstance" + instanceId +
131+
"/editMessage/" +
132+
instanceToken;
111133

112134
var headers = new HttpHeaders();
113135
headers.setContentType(MediaType.APPLICATION_JSON);
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.greenapi.client.pkg.models.request;
2+
3+
import com.fasterxml.jackson.annotation.JsonInclude;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.RequiredArgsConstructor;
7+
8+
@Data
9+
@Builder
10+
@JsonInclude(JsonInclude.Include.NON_NULL)
11+
public class DeleteMessageReq {
12+
private final String chatId;
13+
private final String idMessage;
14+
private Boolean onlySenderDelete;
15+
16+
// MessageReq -> DeleteMessageReq
17+
public static DeleteMessageReq from(MessageReq messageReq) {
18+
return DeleteMessageReq.builder()
19+
.chatId(messageReq.getChatId())
20+
.idMessage(messageReq.getIdMessage())
21+
.build();
22+
}
23+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.greenapi.client.pkg.models.request;
2+
3+
import com.fasterxml.jackson.annotation.JsonInclude;
4+
import lombok.AllArgsConstructor;
5+
import lombok.Builder;
6+
import lombok.Data;
7+
8+
@Data
9+
@AllArgsConstructor
10+
@Builder
11+
@JsonInclude(JsonInclude.Include.NON_NULL)
12+
public class EditMessageReq {
13+
private final String chatId;
14+
private final String idMessage;
15+
private String message;
16+
}

src/main/java/com/greenapi/client/pkg/models/request/InstanceSettingsReq.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,7 @@ public class InstanceSettingsReq {
2828
private final String keepOnlineStatus;
2929
private final String pollMessageWebhook;
3030
private final String incomingBlockWebhook;
31+
private final String incomingCallWebhook;
32+
private final String editedMessageWebhook;
33+
private final String deletedMessageWebhook;
3134
}

src/main/java/com/greenapi/client/pkg/models/request/MessageReq.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
public class MessageReq {
1313
private final String chatId;
1414
private final String idMessage;
15-
}
15+
}

src/main/java/com/greenapi/client/pkg/models/response/Settings.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,7 @@ public class Settings {
2828
private String keepOnlineStatus;
2929
private String pollMessageWebhook;
3030
private String incomingBlockWebhook;
31+
private String incomingCallWebhook;
32+
private String editedMessageWebhook;
33+
private String deletedMessageWebhook;
3134
}

0 commit comments

Comments
 (0)