Compartir a través de


Biblioteca cliente del paquete SMS de Azure Communication para Python: versión 1.0.1

Este paquete contiene un SDK de Python para Azure Communication Services para SMS. Obtenga más información sobre Azure Communication Services aquí

Código fuente | Paquete (Pypi) | Documentación de referencia de API | Documentación del producto

Introducción

Requisitos previos

  • Se requiere Python 2.7, 3.6 o posterior para usar este paquete.
  • Un recurso de Communication Services implementado. Puede usar Azure Portal o el Azure PowerShell para configurarlo.
  • Debe tener un número de teléfono configurado que esté asociado a una suscripción de Azure.

Instalar el paquete

Instale la biblioteca cliente de SMS de Azure Communication para Python con pip:

pip install azure-communication-sms

Conceptos clave

El paquete SMS de comunicación de Azure se usa para hacer lo siguiente:

  • Envío de un SMS de un remitente a un solo destinatario
  • Envío de un SMS de un remitente a varios destinatarios

Ejemplos

En la sección siguiente se proporcionan varios fragmentos de código que abarcan algunas de las tareas Azure Communication Services más comunes, entre las que se incluyen:

Inicialización del cliente

Para inicializar el cliente SMS, la cadena de conexión se puede usar para crear instancias. Como alternativa, también puede usar la autenticación de Active Directory mediante 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())

Envío de un SMS de un remitente a un solo destinatario

Una vez inicializado el cliente, se puede invocar el send método :

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_: número de teléfono habilitado por SMS asociado al servicio de comunicación.
  • to: número de teléfono o lista de números de teléfono a los que desea enviar un mensaje.
  • message: mensaje que desea enviar.
  • enable_delivery_report: parámetro opcional que puede usar para configurar los informes de entrega. Resulta útil para los escenarios en los que quiere emitir eventos cuando se entregan mensajes SMS.
  • tag: parámetro opcional que puede usar para configurar el etiquetado personalizado.

Envío de un SMS de un remitente a varios destinatarios

Una vez inicializado el cliente, se puede invocar el send método :

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_: número de teléfono habilitado por SMS asociado al servicio de comunicación.
  • to: número de teléfono o lista de números de teléfono a los que desea enviar un mensaje.
  • message: mensaje que desea enviar.
  • enable_delivery_report: parámetro opcional que puede usar para configurar los informes de entrega. Resulta útil para los escenarios en los que quiere emitir eventos cuando se entregan mensajes SMS.
  • tag: parámetro opcional que puede usar para configurar el etiquetado personalizado.

Solución de problemas

Las operaciones de SMS producirán una excepción si se produce un error en la solicitud al servidor. El cliente SMS generará excepciones definidas en Azure Core. Las excepciones no se producirán si el error se debe a un mensaje individual, solo si se produce un error con la solicitud general. Use la marca correcta para validar cada resultado individual para comprobar si se envió el mensaje.

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)

Pasos siguientes

Más código de ejemplo

Eche un vistazo al directorio de ejemplos para obtener ejemplos detallados de cómo usar esta biblioteca para enviar un sms.

Envío de comentarios

Si encuentra algún error o tiene sugerencias, envíe un problema en la sección Problemas del proyecto.

Contribuciones

Este proyecto agradece las contribuciones y sugerencias. La mayoría de las contribuciones requieren que acepte un Contrato de licencia para el colaborador (CLA) que declara que tiene el derecho a concedernos y nos concede los derechos para usar su contribución. Para más detalles, visite https://cla.microsoft.com.

Cuando se envía una solicitud de incorporación de cambios, un bot de CLA determinará de forma automática si tiene que aportar un CLA y completar la PR adecuadamente (por ejemplo, la etiqueta, el comentario). Solo siga las instrucciones que le dará el bot. Solo será necesario que lo haga una vez en todos los repositorios con nuestro CLA.

Este proyecto ha adoptado el Código de conducta de Microsoft Open Source. Para más información, consulte las preguntas más frecuentes del código de conducta o póngase en contacto con opencode@microsoft.com si tiene cualquier otra pregunta o comentario.