Bibliothèque cliente du service SMS Azure Communications pour Java - version 1.1.18
Azure Communication SMS est utilisé pour envoyer des messages texte simples.
| Code sourcePackage (Maven) | Documentation de référence sur les | APIDocumentation produit
Prise en main
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Java Development Kit (JDK) version 8 ou ultérieure.
- Apache Maven.
- Une ressource Communication Services déployée. Vous pouvez utiliser le portail Azure ou le Azure PowerShell pour le configurer.
Inclure le package
Inclure le fichier de nomenclature
Incluez le kit azure-sdk-bom à votre projet pour qu’il soit dépendant de la version disponibilité générale (GA) de la bibliothèque. Dans l’extrait de code suivant, remplacez l’espace réservé {bom_version_to_target} par le numéro de version. Pour en savoir plus sur la nomenclature, consultez LE FICHIER README DE NOMENCLATURE DU KIT DE DÉVELOPPEMENT LOGICIEL AZURE.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-sdk-bom</artifactId>
<version>{bom_version_to_target}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Incluez ensuite la dépendance directe dans la section des dépendances sans la balise de version.
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-sms</artifactId>
</dependency>
</dependencies>
Inclure une dépendance directe
Si vous souhaitez prendre la dépendance sur une version particulière de la bibliothèque qui n’est pas présente dans la nomenclature, ajoutez la dépendance directe à votre projet comme suit.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-sms</artifactId>
<version>1.1.18</version>
</dependency>
Authentifier le client
Authentification par jeton Azure Active Directory
Un DefaultAzureCredential
objet doit être passé à via la SmsClientBuilder
fonction credential(). Endpoint et httpClient doivent également être définis via les fonctions endpoint() et httpClient() respectivement.
AZURE_CLIENT_SECRET
, AZURE_CLIENT_ID
et AZURE_TENANT_ID
les variables d’environnement sont nécessaires pour créer un objet DefaultAzureCredential.
// You can find your endpoint and access key from your resource in the Azure Portal
String endpoint = "https://<RESOURCE_NAME>.communication.azure.com";
SmsClient smsClient = new SmsClientBuilder()
.endpoint(endpoint)
.credential(new DefaultAzureCredentialBuilder().build())
.buildClient();
Authentification par clé d’accès
SMS utilise l’authentification HMAC avec la clé d’accès aux ressources.
La clé d’accès doit être fournie à via la SmsClientBuilder
fonction credential(). Endpoint et httpClient doivent également être définis via les fonctions endpoint() et httpClient() respectivement.
// You can find your endpoint and access key from your resource in the Azure Portal
String endpoint = "https://<resource-name>.communication.azure.com";
AzureKeyCredential azureKeyCredential = new AzureKeyCredential("<access-key>");
SmsClient smsClient = new SmsClientBuilder()
.endpoint(endpoint)
.credential(azureKeyCredential)
.buildClient();
Vous pouvez également fournir l’ensemble des chaîne de connexion à l’aide de la fonction connectionString() au lieu de fournir le point de terminaison et la clé d’accès.
// You can find your connection string from your resource in the Azure Portal
String connectionString = "https://<resource-name>.communication.azure.com/;<access-key>";
SmsClient smsClient = new SmsClientBuilder()
.connectionString(connectionString)
.buildClient();
Concepts clés
Il existe deux formes d’authentification différentes pour utiliser le service SMS Azure Communication.
Exemples
Envoi d’un message SMS 1:1
Utilisez la send
fonction ou sendWithResponse
pour envoyer un SMS à un numéro de téléphone unique.
SmsSendResult sendResult = smsClient.send(
"<from-phone-number>",
"<to-phone-number>",
"Weekly Promotion");
System.out.println("Message Id: " + sendResult.getMessageId());
System.out.println("Recipient Number: " + sendResult.getTo());
System.out.println("Send Result Successful:" + sendResult.isSuccessful());
Envoyer un message SMS 1:N
Pour envoyer un SMS à une liste de destinataires, appelez la send
fonction ou sendWithResponse
avec une liste de numéros de téléphone des destinataires. Vous pouvez également ajouter un objet d’options pour spécifier si le rapport de remise doit être activé et définir des balises personnalisées.
SmsSendOptions options = new SmsSendOptions();
options.setDeliveryReportEnabled(true);
options.setTag("Marketing");
Iterable<SmsSendResult> sendResults = smsClient.sendWithResponse(
"<from-phone-number>",
Arrays.asList("<to-phone-number1>", "<to-phone-number2>"),
"Weekly Promotion",
options /* Optional */,
Context.NONE).getValue();
for (SmsSendResult result : sendResults) {
System.out.println("Message Id: " + result.getMessageId());
System.out.println("Recipient Number: " + result.getTo());
System.out.println("Send Result Successful:" + result.isSuccessful());
}
Dépannage
Les opérations SMS lèvent une exception si la demande adressée au serveur échoue.
Les exceptions ne sont pas levées si l’erreur est provoquée par un message individuel, uniquement en cas d’échec de la demande globale.
Utilisez l’indicateur isSuccessful()
pour valider chaque résultat individuel afin de vérifier si le message a été envoyé.
try {
SmsSendOptions options = new SmsSendOptions();
options.setDeliveryReportEnabled(true);
options.setTag("Marketing");
Response<Iterable<SmsSendResult>> sendResults = smsClient.sendWithResponse(
"<from-phone-number>",
Arrays.asList("<to-phone-number1>", "<to-phone-number2>"),
"Weekly Promotion",
options /* Optional */,
Context.NONE);
Iterable<SmsSendResult> smsSendResults = sendResults.getValue();
for (SmsSendResult result : smsSendResults) {
if (result.isSuccessful()) {
System.out.println("Successfully sent this message: " + result.getMessageId() + " to " + result.getTo());
} else {
System.out.println("Something went wrong when trying to send this message " + result.getMessageId() + " to " + result.getTo());
System.out.println("Status code " + result.getHttpStatusCode() + " and error message " + result.getErrorMessage());
}
}
} catch (RuntimeException ex) {
System.out.println(ex.getMessage());
}
Étapes suivantes
- En savoir plus sur SMS dans Azure Communication Services
- Pour obtenir un guide de base sur la configuration des rapports de remise pour vos messages SMS, reportez-vous au démarrage rapide Gérer les événements SMS.
Contribution
Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) spécifiant que vous avez le droit de nous accorder les droits d’utiliser votre contribution, et que vous nous les accordez.
Quand vous envoyez une demande de tirage (pull request), un bot CLA détermine automatiquement si vous devez fournir un contrat CLA et agrémenter la demande de tirage de façon appropriée (par exemple, avec une étiquette ou un commentaire). Suivez simplement les instructions fournies par le bot. Vous ne devez effectuer cette opération qu’une seule fois sur tous les dépôts utilisant notre contrat CLA.
Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.