Biblioteca de clientes do Pacote SMS de Comunicação do Azure para Python – versão 1.0.1

Esse pacote contém um SDK do Python para Serviços de Comunicação do Azure para SMS. Leia mais sobre Serviços de Comunicação do Azure aqui

Código-fonte | Pacote (Pypi) | Documentação de referência de API | Documentação do produto

Introdução

Pré-requisitos

  • Python 2.7, ou 3.6 ou posteriores, é necessário para usar esse pacote.
  • Um recurso dos Serviços de Comunicação implantado. Você pode usar o Portal do Azure ou o Azure PowerShell para configurá-lo.
  • Você deve ter um número de telefone configurado associado a uma assinatura do Azure

Instalar o pacote

Instale a biblioteca de clientes sms de comunicação do Azure para Python com pip:

pip install azure-communication-sms

Principais conceitos

O pacote SMS de Comunicação do Azure é usado para fazer o seguinte:

  • Enviar uma mensagem SMS 1:1
  • Enviar uma mensagem SMS 1:N

Exemplos

A seção a seguir fornece vários snippets de código que abrangem algumas das tarefas de Serviços de Comunicação do Azure mais comuns, incluindo:

Inicialização do cliente

Para inicializar o cliente SMS, a cadeia de conexão pode ser usada para instanciar. Como alternativa, você também pode usar a autenticação do Active Directory usando DefaultAzureCredential.

from azure.communication.sms import SmsClient
from azure.identity import DefaultAzureCredential

connection_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())

Enviar uma mensagem SMS 1:1

Depois que o cliente for inicializado, o send método poderá ser invocado:

from azure.communication.sms import SendSmsOptions

sms_responses = sms_client.send(
    from_="<from-phone-number>",
    to="<to-phone-number-1>",
    message="Hello World via SMS",
    enable_delivery_report=True, # optional property
    tag="custom-tag") # optional property
  • from_: um número de telefone habilitado para SMS associado ao serviço de comunicação.
  • to: o número de telefone ou a lista de números de telefone para os quais você deseja enviar uma mensagem.
  • message: a mensagem que você deseja enviar.
  • enable_delivery_report: um parâmetro opcional que você pode usar para configurar relatórios de entrega. Isso é útil para cenários em que você deseja emitir eventos quando mensagens SMS são entregues.
  • tag: um parâmetro opcional que você pode usar para configurar a marcação personalizada.

Enviar uma mensagem SMS 1:N

Depois que o cliente for inicializado, o send método poderá ser invocado:

from azure.communication.sms import SendSmsOptions

sms_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 property
    tag="custom-tag") # optional property
  • from_: um número de telefone habilitado para SMS associado ao serviço de comunicação.
  • to: o número de telefone ou a lista de números de telefone para os quais você deseja enviar uma mensagem.
  • message: a mensagem que você deseja enviar.
  • enable_delivery_report: um parâmetro opcional que você pode usar para configurar relatórios de entrega. Isso é útil para cenários em que você deseja emitir eventos quando mensagens SMS são entregues.
  • tag: um parâmetro opcional que você pode usar para configurar a marcação personalizada.

Solução de problemas

As operações de SMS gerarão uma exceção se a solicitação para o servidor falhar. O cliente SMS gerará exceções definidas no Azure Core. Exceções não serão geradas se o erro for causado por uma mensagem individual, somente se algo falhar com a solicitação geral. Use o sinalizador bem-sucedido para validar cada resultado individual para verificar se a mensagem foi enviada.

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")
        
    for sms_response in sms_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))
except Exception as ex:
    print('Exception:')
    print(ex)

Próximas etapas

Mais códigos de exemplo

Examine o diretório de exemplos para obter exemplos detalhados de como usar essa biblioteca para enviar um sms.

Forneça comentários

Se você encontrar bugs ou tiver sugestões, registre um problema na seção Problemas do projeto

Contribuição

Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder, e de fato concede, os direitos de usar sua contribuição. Para obter detalhes, visite https://cla.microsoft.com.

Quando você envia uma solicitação de pull, um bot do CLA determina automaticamente se você precisa fornecer um CLA e preencher a PR corretamente (por exemplo, rótulo, comentário). Basta seguir as instruções fornecidas pelo bot. Você só precisará fazer isso uma vez em todos os repositórios que usam nosso CLA.

Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.