Share via


Biblioteca de clientes do pacote SMS de comunicação Azure para Python - versão 1.0.1

Este pacote contém um Python SDK para Azure Communication Services para SMS. Leia mais sobre Azure Communication Services aqui

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

Introdução

Pré-requisitos

  • Python 2.7, ou 3.6 ou mais tarde é obrigado a usar este pacote.
  • Um recurso de Serviços de Comunicação implantado. Pode utilizar o Portal Azure ou o Azure PowerShell para o configurar.
  • Você deve ter um número de telefone configurado que está associado a uma subscrição Azure

Instale o pacote

Instale a biblioteca de clientes Azure Communication SMS para Python com pip:

pip install azure-communication-sms

Conceitos-chave

O pacote SMS de comunicação Azure é utilizado para fazer o seguinte:

  • Envie uma mensagem SMS 1:1
  • Envie uma mensagem SMS 1:N

Exemplos

A secção seguinte fornece vários fragmentos de código que cobrem algumas das tarefas de Azure Communication Services mais comuns, incluindo:

Inicialização do Cliente

Para inicializar o Cliente SMS, o fio de ligação pode ser utilizado para instantaneamente. Em alternativa, também pode utilizar a autenticação Ative Directory utilizando o 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())

Envie uma mensagem SMS 1:1

Uma vez inicializado o cliente, o send método pode 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 por SMS associado ao seu serviço de comunicação.
  • to: O número de telefone ou a lista de números de telefone para os que deseja enviar uma mensagem.
  • message: A mensagem que pretende enviar.
  • enable_delivery_report: Um parâmetro opcional que pode utilizar para configurar relatórios de entrega. Isto é útil para cenários em que pretende emitir eventos quando as mensagens SMS são entregues.
  • tag: Um parâmetro opcional que pode utilizar para configurar a marcação personalizada.

Envie uma mensagem SMS 1:N

Uma vez inicializado o cliente, o send método pode 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 por SMS associado ao seu serviço de comunicação.
  • to: O número de telefone ou a lista de números de telefone para os que deseja enviar uma mensagem.
  • message: A mensagem que pretende enviar.
  • enable_delivery_report: Um parâmetro opcional que pode utilizar para configurar relatórios de entrega. Isto é útil para cenários em que pretende emitir eventos quando as mensagens SMS são entregues.
  • tag: Um parâmetro opcional que pode utilizar para configurar a marcação personalizada.

Resolução de problemas

As operações de SMS lançarão uma exceção se o pedido ao servidor falhar. O cliente SMS irá levantar exceções definidas no Núcleo Azure. As exceções não serão lançadas se o erro for causado por uma mensagem individual, apenas se algo falhar com o pedido geral. Por favor, utilize a bandeira de sucesso 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)

Passos seguintes

Mais código de amostra

Por favor, dê uma olhada no diretório de amostras para exemplos detalhados de como usar esta biblioteca para enviar uma sms.

Enviar Comentários

Se encontrar algum bug ou tiver sugestões, por favor preencha um problema na secção Questões do projeto

Contribuir

Agradecemos todas as contribuições e sugestões para este projeto. A maioria das contribuições requerem que celebre um Contrato de Licença de Contribuição (CLA) no qual se declare que tem o direito de conceder e que, na verdade, concede-nos os direitos para utilizar a sua contribuição. Para mais detalhes, visite https://cla.microsoft.com.

Quando submete um pedido Pull, um bot do CLA determina automaticamente se tem de fornecer um CLA e decorar o PR de forma adequada (por exemplo, etiqueta, comentário). Só tem de seguir as instruções fornecidas pelo bot. Apenas terá de fazer isto uma vez em todos os repositórios com o nosso CLA.

Este projeto adotou o Microsoft Open Source Code of Conduct (Código de Conduta do Microsoft Open Source). Para mais informações consulte o Código de Conduta FAQ ou contacte opencode@microsoft.com com quaisquer perguntas ou comentários adicionais.