diff --git a/application/src/main/java/org/thingsboard/server/service/sms/aws/AwsSmsSender.java b/application/src/main/java/org/thingsboard/server/service/sms/aws/AwsSmsSender.java index c6cea69540..47b677cb14 100644 --- a/application/src/main/java/org/thingsboard/server/service/sms/aws/AwsSmsSender.java +++ b/application/src/main/java/org/thingsboard/server/service/sms/aws/AwsSmsSender.java @@ -20,6 +20,7 @@ import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.services.sns.AmazonSNS; import com.amazonaws.services.sns.AmazonSNSClient; +import com.amazonaws.services.sns.model.MessageAttributeValue; import com.amazonaws.services.sns.model.PublishRequest; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -28,9 +29,20 @@ import org.thingsboard.rule.engine.api.sms.exception.SmsException; import org.thingsboard.rule.engine.api.sms.exception.SmsSendException; import org.thingsboard.server.service.sms.AbstractSmsSender; +import java.util.HashMap; +import java.util.Map; + @Slf4j public class AwsSmsSender extends AbstractSmsSender { + private static final Map SMS_ATTRIBUTES = new HashMap<>(); + + static { + SMS_ATTRIBUTES.put("AWS.SNS.SMS.SMSType", new MessageAttributeValue() + .withStringValue("Transactional") + .withDataType("String")); + } + private AmazonSNS snsClient; public AwsSmsSender(AwsSnsSmsProviderConfiguration config) { @@ -51,6 +63,7 @@ public class AwsSmsSender extends AbstractSmsSender { message = this.prepareMessage(message); try { PublishRequest publishRequest = new PublishRequest() + .withMessageAttributes(SMS_ATTRIBUTES) .withPhoneNumber(numberTo) .withMessage(message); this.snsClient.publish(publishRequest);