Package: azure-communication-sms
Azure Communication SMS Package client library for PythonThis package contains a Python SDK for Azure Communication Services for SMS.
Read more about Azure Communication ServiceshereSource code|Package (Pypi)|API reference documentation|Product documentationGetting startedPrerequisitesPython 2.7, or 3.6 or later is required to use this package.A deployed Communication Services resource. You can use theAzure Portalor theAzure PowerShellto set it up.You must have a phone number configured that is associated with an Azure subscriptionInstall the packageInstall the Azure Communication SMS client library for Python withpip:pipinstallazure-communication-smsKey conceptsAzure Communication SMS package is used to do following:Send a 1:1 SMS MessageSend a 1:N SMS MessageExamplesThe following section provides several code snippets covering some of the most common Azure Communication Services tasks, including:Client InitializationSend a 1:1 SMS MessageSend a 1:N SMS MessageClient InitializationTo initialize the SMS Client, the connection string can be used to instantiate.
Alternatively, you can also use Active Directory authentication using DefaultAzureCredential.fromazure.communication.smsimportSmsClientfromazure.identityimportDefaultAzureCredentialconnection_str="endpoint=ENDPOINT;accessKey=KEY"sms_client=SmsClient.from_connection_string(connection_string)# To use Azure Active Directory Authentication (DefaultAzureCredential) make sure to have# AZURE_TENANT_ID, AZURE_CLIENT_ID and AZURE_CLIENT_SECRET as env variables.endpoint="https://<RESOURCE_NAME>.communication.azure.com"sms_client=SmsClient(endpoint,DefaultAzureCredential())Send a 1:1 SMS MessageOnce the client is initialized, thesendmethod can be invoked:fromazure.communication.smsimportSendSmsOptionssms_responses=sms_client.send(from_="<from-phone-number>",to="<to-phone-number-1>",message="Hello World via SMS",enable_delivery_report=True,# optional propertytag="custom-tag")# optional propertyfrom_: An SMS enabled phone number associated with your communication service.to: The phone number or list of phone numbers you wish to send a message to.message: The message that you want to send.enable_delivery_report: An optional parameter that you can use to configure delivery reporting. This is useful for scenarios where you want to emit events when SMS messages are delivered.tag: An optional parameter that you can use to configure custom tagging.Send a 1:N SMS MessageOnce the client is initialized, thesendmethod can be invoked:fromazure.communication.smsimportSendSmsOptionssms_responses=sms_client.send(from_="<from-phone-number>",to=["<to-phone-number-1>","<to-phone-number-2>","<to-phone-number-3>"],message="Hello World via SMS",enable_delivery_report=True,# optional propertytag="custom-tag")# optional propertyfrom_: An SMS enabled phone number associated with your communication service.to: The phone number or list of phone numbers you wish to send a message to.message: The message that you want to send.enable_delivery_report: An optional parameter that you can use to configure delivery reporting. This is useful for scenarios where you want to emit events when SMS messages are delivered.tag: An optional parameter that you can use to configure custom tagging.TroubleshootingSMS operations will throw an exception if the request to the server fails. The SMS client will raise exceptions defined inAzure Core. Exceptions will not be thrown if the error is caused by an individual message, only if something fails with the overall request. Please use the successful flag to validate each individual result to verify if the message was sent.try:sms_responses=sms_client.send(from_="<leased-phone-number>",to=["<to-phone-number-1>","<to-phone-number-2>","<to-phone-number-3>"],message="Hello World via SMS")forsms_responseinsms_responses:if(sms_response.successful):print("Message with message id{}was successful sent to{}".format(sms_response.message_id,sms_response.to))else:print("Message failed to send to{}with the status code{}and error:{}".format(sms_response.to,sms_response.http_status_code,sms_response.error_message))exceptExceptionasex:print('Exception:')print(ex)Next stepsRead more about SMS in Azure Communication ServicesFor a basic guide on how to configure Delivery Reporting for your SMS messages please refer to theHandle SMS Events quickstart.More sample codePlease take a look at thesamplesdirectory for detailed examples of how to use this library to send an sms.Provide FeedbackIf you encounter any bugs or have suggestions, please file an issue in theIssuessection of the projectContributingThis project welcomes contributions and suggestions.  Most contributions require you to agree to a
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visithttps://cla.microsoft.com.When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the
PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.This project has adopted theMicrosoft Open Source Code of Conduct.
For more information see theCode of Conduct FAQor contactopencode@microsoft.comwith any additional questions or comments.