Merge remote-tracking branch 'refs/remotes/origin/release/0.0.2-RELEASE' into release/0.0.2-RELEASE
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
package zw.qantra.tm.domain.dtos.sms;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SmsPopCampaignRequest {
|
||||
private String name;
|
||||
private String message;
|
||||
private String sender_id;
|
||||
@Builder.Default
|
||||
private String contact_import_method = "manual";
|
||||
private String manual_contacts;
|
||||
}
|
||||
@@ -12,16 +12,12 @@ import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import jakarta.mail.internet.MimeMessage;
|
||||
import zw.qantra.tm.domain.dtos.sms.SmsApiResponse;
|
||||
import zw.qantra.tm.domain.dtos.sms.SmsBatchRequest;
|
||||
import zw.qantra.tm.domain.dtos.sms.SmsMessage;
|
||||
import zw.qantra.tm.domain.dtos.sms.SmsPopCampaignRequest;
|
||||
import zw.qantra.tm.rest.RestService;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.InputStreamReader;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Collections;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@@ -32,10 +28,10 @@ public class NotificationService {
|
||||
private final RestService restService;
|
||||
private final JavaMailSender emailSender;
|
||||
|
||||
@Value("${zss.sms.api.url}")
|
||||
private String smsApiUrl;
|
||||
@Value("${zss.sms.api.auth}")
|
||||
private String smsApiAuth;
|
||||
@Value("${sms-pop.url}")
|
||||
private String smsPopUrl;
|
||||
@Value("${sms-pop.apikey}")
|
||||
private String smsPopApiKey;
|
||||
@Value("${sms.debug}")
|
||||
private Boolean smsDebug;
|
||||
|
||||
@@ -108,28 +104,25 @@ public class NotificationService {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
SmsMessage smsMessage = SmsMessage.builder()
|
||||
.reference(UUID.randomUUID().toString())
|
||||
.message(message)
|
||||
.msisdn(to)
|
||||
.build();
|
||||
String phoneNumber = to;
|
||||
if (phoneNumber.startsWith("+")) {
|
||||
phoneNumber = phoneNumber.substring(1);
|
||||
}
|
||||
|
||||
SmsBatchRequest batchRequest = SmsBatchRequest.builder()
|
||||
.batchReference(UUID.randomUUID().toString())
|
||||
.smsList(Collections.singletonList(smsMessage))
|
||||
SmsPopCampaignRequest campaignRequest = SmsPopCampaignRequest.builder()
|
||||
.name("Velocity Payments")
|
||||
.message(message)
|
||||
.sender_id("Velocity")
|
||||
.contact_import_method("manual")
|
||||
.manual_contacts(phoneNumber)
|
||||
.build();
|
||||
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.set("Authorization", smsApiAuth);
|
||||
headers.set("Authorization", "Bearer " + smsPopApiKey);
|
||||
|
||||
SmsApiResponse response = restService.postWithExternalAuth(
|
||||
smsApiUrl,
|
||||
batchRequest,
|
||||
headers,
|
||||
SmsApiResponse.class
|
||||
);
|
||||
restService.postAs(smsPopUrl, campaignRequest, headers, Object.class);
|
||||
|
||||
logger.info("SMS sent to {} - Status: {}, Result: {}", to, response.getStatus(), response.getResult());
|
||||
logger.info("SMS sent to {} via SMSPOP", to);
|
||||
} catch (Exception e) {
|
||||
logger.error("Failed to send SMS to {}: {}", to, e.getMessage(), e);
|
||||
}
|
||||
|
||||
@@ -84,9 +84,10 @@ jobrunr.datasource.password=
|
||||
app.reports.storage-path=/srv/data/reports
|
||||
app.base-url=https://payapi.velocityafrica.net
|
||||
|
||||
zss.sms.api.url=https://secure.zss.co.zw/vportal/cnm/vsms/json/batch
|
||||
zss.sms.api.auth=Basic UWFudHJhdGVjaDpVbUk3OUpwUDh3QTY=
|
||||
sms.debug=false
|
||||
|
||||
sms-pop.url=https://smspop.co.zw/api/campaigns
|
||||
sms-pop.apikey=108|ypBpUtJGlPzelxJl2aySp672I9KKbyaQPtcxMPBrfb70be27
|
||||
|
||||
cloudflare-token=cfut_U0qhvhzAATLqHQa9lad7oRmBmPoJ6n9uIoCBbNOWc9884f18
|
||||
cloudflare-zone-id=378cea8e50c0d9a158816109b3b1fd8d
|
||||
Reference in New Issue
Block a user