Je ne parviens pas à envoyer de SMS (Short Message Service) à des numéros indiens via Amazon Simple Notification Service (Amazon SNS) à l'aide de l'identifiant expéditeur.
Brève description
Lorsque vous envoyez des messages à des destinataires en Inde, Amazon SNS utilise par défaut les itinéraires ILDO (International Long Distance Operator) pour transmettre ces messages. Ces messages semblent avoir été envoyés à partir d'identifiants numériques aléatoires.
Remarque : Si vous utilisez la connexion ILDO pour l'Inde, le prix de l'envoi de SMS est supérieur à celui de la route locale.
Pour envoyer des messages via des itinéraires locaux, utilisez un identifiant d'expéditeur alphabétique préenregistré lors de la publication de SMS via SNS. Assurez-vous d'enregistrer le cas d'utilisation et les modèles de messages auprès de l'Autorité de régulation des télécommunications de l'Inde (TRAI) via les portails DLT (Distributed Ledger Technology). Pour plus d'informations, consultez la section Conditions d'enregistrement de l'identifiant expéditeur pour l'Inde. Vous pouvez envoyer les SMS avec l'ID expéditeur enregistré à l'aide de la requête SNS Publish API.
Remarque :
- Lorsque vous publiez un message à l'aide de la console Amazon SNS, utilisez des attributs spécifiques au pays pour l'Inde, tels que Entity ID et l'Template ID.
- Lorsque vous utilisez l'API SNS Publish, ajoutez le paramètre MessageAttributes pour définir des valeurs telles que AWS.mm.SMS.EntityID et AWS.mm.SMS.TemplateID. Pour plus d'informations, consultez la section Envoi d'un message (SDK AWS).
Résolution
Suivez ces étapes pour identifier et résoudre les problèmes de livraison de SMS liés à l'utilisation de l'identifiant expéditeur.
Vérifiez la Région AWS dans laquelle l'identifiant de l'expéditeur est enregistré et la Région AWS utilisée pour l'envoi de SMS
Le service SNS prend en charge les identifiants d'expéditeur dans plusieurs régions, voir Régions et pays pris en charge. Envoyez les messages en utilisant la même Région AWS que celle dans laquelle l'identifiant de l'expéditeur a été enregistré.
Assurez-vous d'inclure l'ID d'expéditeur correct ainsi que l'ID d’entité et l’ID de modèle correspondants
Vérifiez que l'entityId et l’TemplateId sont corrects. Vérifiez avec les valeurs reçues du portail DLT.
Exemple d'appel d'API de publication en Python (Boto3) :
import boto3
client = boto3.client('sns')
response = client.publish(
PhoneNumber='+91xxxxxxxxxx',
Message="Registered Test Message",
MessageAttributes={
'AWS.MM.SMS.EntityId': {
'DataType': 'String',
'StringValue': '<EntityId>'
},
'AWS.MM.SMS.TemplateId': {
'DataType': 'String',
'StringValue': '<TemplateId>'
},
'AWS.SNS.SMS.SenderID': {
'DataType': 'String',
'StringValue': '<SenderID>'
},
'AWS.SNS.SMS.SMSType': {
'DataType': 'String',
'StringValue': 'Transactional'
}
}
)
Remarque : Remplacez <EntityId> par votre identifiant d'entité enregistrée, <TemplateId> par l'identifiant de modèle que vous avez enregistré, et <SenderID> par votre identifiant d'expéditeur enregistré. Pour les autres langues, consultez la page SDK AWS spécifiques à chaque langue.
Activez les journaux Amazon CloudWatch, puis consultez les journaux de livraison de SMS
Pour plus d'informations, consultez l'article Comment accéder aux journaux de livraison des SMS dans les rubriques Amazon SNS ? À partir des journaux de livraison de SMS, consultez les notifications providerResponse suivantes :
- Le téléphone a bloqué les SMS
- Bloqué en tant que spam par l'opérateur téléphonique
- L'opérateur téléphonique a bloqué ce message
Les transporteurs et les fournisseurs peuvent bloquer les messages si le contenu du message ne correspond pas au modèle enregistré sur le portail DLT. Ils peuvent également bloquer les messages s'ils contiennent des caractères distincts du modèle enregistré. Pour plus d'informations, consultez les raisons pour lesquelles les opérateurs peuvent bloquer les SMS et les problèmes de correspondance entre les modèles.
Vérifiez les problèmes liés aux fournisseurs et aux transporteurs en aval
Pour résoudre les problèmes potentiels en aval, créez un dossier d'assistance pour Amazon SNS. Fournissez les informations suivantes dans le dossier d'assistance :
- La Région AWS dans laquelle vous avez enregistré l'identifiant de l'expéditeur pour envoyer des SMS
- Le fichier CSV du portail DLT qui contient le modèle enregistré
- Trois ou quatre échantillons de journaux SMS. Les journaux incluent les identifiants de message (ainsi que l'horodatage et le fuseau horaire) des SMS ayant échoué pour chacun des différents numéros. Ces échantillons de journal ne doivent pas dater de plus de 48 à 72 heures.
**Remarque :**En Inde, les SMS promotionnels ne peuvent être envoyés que de 9 h à 21 h, heure standard indienne (IST). Tout message envoyé en dehors de cette période peut entraîner des non-livraisons.