package com.amazonaws.urlshortener.service; import java.io.IOException; import java.util.HashMap; import java.util.Map; import com.amazonaws.services.pinpoint.AmazonPinpoint; import com.amazonaws.services.pinpoint.AmazonPinpointClientBuilder; import com.amazonaws.services.pinpoint.model.AddressConfiguration; import com.amazonaws.services.pinpoint.model.ChannelType; import com.amazonaws.services.pinpoint.model.DirectMessageConfiguration; import com.amazonaws.services.pinpoint.model.MessageRequest; import com.amazonaws.services.pinpoint.model.SMSMessage; import com.amazonaws.services.pinpoint.model.SendMessagesRequest; public class SendMessage { public static String messageType = "TRANSACTIONAL"; // public static String registeredKeyword = ""; //public static String senderId = ""; public boolean sendSMS(String phonenumber, String url, String appId, String senderId, String registeredKeyword, String region, String templateId, String entityId) { String originationNumber = ""; String destinationNumber = phonenumber; System.out.println("Sending SMS " ); System.out.println("Region inside SMS code =="+region); //sendSMSMessage(pinpoint, message, appId, originationNumber, destinationNumber); try { Map<String,AddressConfiguration> addressMap = new HashMap<String,AddressConfiguration>(); addressMap.put(destinationNumber, new AddressConfiguration() .withChannelType(ChannelType.SMS)); AmazonPinpoint client = AmazonPinpointClientBuilder.standard() .withRegion(region).build(); SendMessagesRequest request = new SendMessagesRequest() .withApplicationId(appId) .withMessageRequest(new MessageRequest() .withAddresses(addressMap) .withMessageConfiguration(new DirectMessageConfiguration() .withSMSMessage(new SMSMessage() .withBody(url) .withEntityId(entityId) .withTemplateId(templateId) .withMessageType(messageType) // .withOriginationNumber(originationNumber) .withSenderId(senderId) .withKeyword(registeredKeyword) ) ) ); System.out.println("Sending message..."); client.sendMessages(request); System.out.println("Message sent!"); return true; } catch (Exception ex) { System.out.println("The message wasn't sent. Error message: " + ex.getMessage()); return false; } } }