Inicio rápido: Obtención y administración de números de teléfono
Importante
Las capacidades de SMS y RTC dependen del número de teléfono que use y del país o región en el que trabaja, determinado por su dirección de facturación de Azure. Para más información, visite la documentación de Idoneidad de la suscripción.
Importante
Para pedidos de gran volumen o en caso de que el número de teléfono deseado no esté disponible, visite esta página para obtener más ayuda.
Prerrequisitos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Recurso activo de Communication Services.
Obtención de un número de teléfono
Para empezar a aprovisionar números, vaya al recurso de Communication Services en Azure Portal.
Búsqueda de los números de teléfono disponibles
Vaya a la hoja Phone Numbers (Números de teléfono) en el menú de recursos.
Presione el botón Obtener para iniciar el asistente. El asistente de la hoja Phone numbers (Números de teléfono) le guiará por una serie de preguntas que le ayudarán a elegir el número de teléfono que mejor se adapte a su escenario.
En primer lugar, deberá elegir el valor de País o región donde desea aprovisionar el número de teléfono. Después de seleccionar el país o la región, deberá seleccionar el valor de Use case (Caso de uso) que mejor se adapte a sus necesidades.
Selección de las características de los números de teléfono
La configuración del número de teléfono se divide en dos pasos:
- Selección del tipo del tipo de número.
- Selección de las funcionalidades del número.
Puede seleccionar entre dos tipos de números de teléfono: Local y Gratuito. Después de seleccionar un tipo de número, puede elegir las características.
En nuestro ejemplo, hemos seleccionado un tipo de número Gratuito con las características Hacer llamadas y Send and receive SMS (Enviar y recibir SMS).
Desde aquí, haga clic en el botón Next: Numbers (Siguiente: números) en la parte inferior de la página para personalizar los números de teléfono que le gustaría aprovisionar.
Personalización de los números de teléfono
En la página Numbers (Números), personalizará los números de teléfono que le gustaría aprovisionar.
Nota
En este inicio rápido se muestra el flujo de personalización del tipo Número gratuito. La experiencia puede ser ligeramente diferente si ha elegido el tipo de número Local, pero el resultado final será el mismo.
Elija el valor de Código de área de la lista de códigos de área disponibles y escriba la cantidad que desea aprovisionar y, a continuación, haga clic en Buscar para buscar números que cumplan los requisitos seleccionados. Los números de teléfono que satisfagan sus necesidades se mostrarán junto con el costo mensual.
Nota
La disponibilidad depende del tipo de número, la ubicación y las características que haya seleccionado. Los números se reservan durante un breve período de tiempo antes de que expire la transacción. Si la transacción expira, tendrá que volver a seleccionar los números.
Para ver el resumen de la compra y realizar el pedido, haga clic en el botón Next: Summary (Siguiente: resumen) situado en la parte inferior de la página.
Compra de números de teléfono
En la página de resumen se revisará el tipo de número, las características, los números de teléfono y el costo mensual total para aprovisionar los números de teléfono.
Nota
Los precios que se muestran son los cargos periódicos mensuales que cubren el costo por conceder el número de teléfono seleccionado. Los costos de pago por uso, que se incurren al realizar o recibir llamadas, no se incluyen en esta vista. Los costos de lista están disponibles aquí. Estos costos dependen del tipo de número y de la ubicación del número a llamar. Por ejemplo, precio por minuto para una llamada de un número regional de Seattle a un número regional de Nueva York y una llamada del mismo número a un número de teléfono móvil del Reino Unido puede ser diferente.
Finalmente, haga clic en Place order (Realizar pedido) situado en la parte inferior de la página para confirmar.
Busque los números de teléfono en Azure Portal
En Azure Portal, vaya al recurso de Azure Communication Services:
Seleccione la hoja Números de teléfono en el menú para administrar los números de teléfono.
Nota
Los números aprovisionados pueden tardar unos minutos en mostrarse en esta página.
Actualización de las funcionalidades del número de teléfono
En la página Números de teléfono puede seleccionar un número de teléfono para configurarlo.
Seleccione las características de las opciones disponibles y haga clic en Guardar para aplicar la selección.
Descarte de un número de teléfono
En la página Números puede descartar números de teléfono.
Seleccione el número de teléfono que desea descartar y haga clic en el botón Release (Descartar).
Importante
Esta característica de Azure Communication Services se encuentra actualmente en versión preliminar.
Las API y los SDK en versión preliminar se proporcionan sin contrato de nivel de servicio. Se recomienda no usarlos para las cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que sus funcionalidades estén limitadas.
Para obtener más información, consulte Términos de uso complementarios para las Versiones preliminares de Microsoft Azure.
Azure Communication Services presenta una nueva experiencia de usuario para comprar números de teléfono. Esta experiencia se está lanzando actualmente como paquete piloto, y es posible que la vea al comprar un número de teléfono en Azure Portal. Si tiene comentarios sobre ella, no dude en enviarlos a través del botón Enviar comentarios en la extensión de Azure Portal.
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Recurso activo de Communication Services.
Comprar un número de teléfono
Vaya al recurso de Communication Services en Azure Portal.
En la información general del recurso de Communication Services, seleccione la opción "Números de teléfono" en el menú de la izquierda.
Seleccione Obtener en la parte superior izquierda de la página para comprar el número de teléfono. Al hacerlo, se iniciará nuestro asistente para compras:
Deberá elegir el valor de País o región donde desea aprovisionar el número de teléfono. La disponibilidad de país o región se basa en la ubicación de facturación de la suscripción de Azure. Puede encontrar más información sobre los números disponibles para cada país o región aquí. A continuación, elegirá el tipo de número. Puede seleccionar entre dos tipos de números de teléfono: Local y Gratuito.
Seleccione Buscar para extraer números que cumplan los criterios seleccionados. Tiene varios filtros para buscar el número que se adapte a sus necesidades, entre los que se incluyen:
- Caso de uso: por si usa este número para llamar desde una aplicación (A2P) o desde un agente humano (P2P).
- Llamadas: para determinar las funcionalidades de llamadas que le gustaría que tuviera el número de teléfono, como realizar llamadas o recibir llamadas.
- SMS: para determinar las funcionalidades de SMS que le gustaría que tuviera su número de teléfono, como envío o recepción de mensajes SMS.
- Personalizado: también puede agregar filtros personalizados para obtener un prefijo determinado o un conjunto de dígitos en el número de teléfono.
Una vez que encuentre el número o números de teléfono que desea, seleccione Agregar al carrito para llevar los números al carrito de telefonía. Estos números se conservan durante 16 minutos antes de que el carrito se borre automáticamente.
Nota:
Los precios que se muestran son los cargos periódicos mensuales que cubren el costo por conceder el número de teléfono seleccionado. Los costos de pago por uso, que se incurren al realizar o recibir llamadas, no se incluyen en esta vista. Los costos de lista están disponibles aquí. Estos costos dependen del tipo de número y de la ubicación del número a llamar. Por ejemplo, precio por minuto para una llamada de un número regional de Seattle a un número regional de Nueva York y una llamada del mismo número a un número de teléfono móvil del Reino Unido puede ser diferente.
Seleccione Siguiente para revisar la compra. Para completar la compra, seleccione Comprar ahora.
Puede encontrar los números comprados en la página Números de teléfono. Puede llevar algo de tiempo aprovisionar los números.
Actualización de las funcionalidades del número de teléfono
En la página Números de teléfono puede seleccionar un número de teléfono para configurarlo.
Seleccione las características de las opciones disponibles y Guardar para aplicar la selección.
Descarte de un número de teléfono
En la página Números puede descartar números de teléfono.
Seleccione el número de teléfono que desea descartar con el botón Descartar.
Requisitos previos
Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
Un recurso activo de Communication Services y una cadena de conexión. Cree un recurso de Communication Services.
Instale la CLI de Azure.
Un número de teléfono comprado.
Instalación
Adición de la extensión
Agregue la extensión Azure Communication Services para la CLI de Azure mediante el comando az extension
.
az extension add --name communication
Inicio de sesión en la CLI de Azure
Deberá iniciar sesión en la CLI de Azure. Para iniciar sesión, ejecute el comando az login
desde el terminal y proporcione sus credenciales.
Operations
Enumeración de los números de teléfono comprados
Ejecute el siguiente comando para recuperar todos los números de teléfono comprados.
az communication phonenumber list --connection-string "<yourConnectionString>"
Realice este reemplazo en el código:
- Reemplace
<yourConnectionString>
por la cadena de conexión.
Obtención de los detalles del número de teléfono comprado
Ejecute el siguiente comando para obtener los detalles de un número de teléfono comprado.
az communication phonenumber show --phonenumber <purchasedPhoneNumber> --connection-string "<yourConnectionString>"
Haga estas sustituciones en el código:
- Reemplace
<purchasedPhoneNumber>
por un número de teléfono habilitado para SMS asociado al recurso de Communication Services. - Reemplace
<yourConnectionString>
por la cadena de conexión.
Nota:
La opción de la CLI de Azure solo proporciona funcionalidad para enumerar y mostrar números de teléfono. No admite otras operaciones, como buscar, comprar, editar o liberar números de teléfono.
(Opcional) Uso de operaciones de números de teléfono de la CLI de Azure sin pasar una cadena de conexión
Puede configurar la variable de entorno AZURE_COMMUNICATION_CONNECTION_STRING
para usar operaciones de números de teléfono de la CLI de Azure sin tener que usar --connection_string
para pasar la cadena de conexión. Para configurar una variable de entorno, abra una ventana de consola y seleccione el sistema operativo en las pestañas siguientes. Reemplace <yourConnectionString>
por la cadena de conexión real.
Abra una ventana de consola y escriba el siguiente comando:
setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"
Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas en ejecución que necesiten leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.
Nota:
Busque el código finalizado de este inicio rápido en GitHub
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- La versión más reciente de la biblioteca cliente de .NET Core para su sistema operativo.
- Un recurso activo de Communication Services y una cadena de conexión. Cree un recurso de Communication Services.
Comprobación de requisitos previos
- En una ventana de terminal o de comandos, ejecute
dotnet
para comprobar que la biblioteca cliente de .NET esté instalada.
Instalación
Creación de una aplicación de C#
En una ventana de consola (por ejemplo, cmd, PowerShell o Bash), use el comando dotnet new
para crear una nueva aplicación de consola con el nombre PhoneNumbersQuickstart
. Este comando crea un sencillo proyecto "Hola mundo" de C# con un solo archivo de origen: Program.cs.
dotnet new console -o PhoneNumbersQuickstart
Cambie el directorio a la carpeta de la aplicación recién creada y use el comando dotnet build
para compilar la aplicación.
cd PhoneNumbersQuickstart
dotnet build
Instalar el paquete
Mientras sigue en el directorio de aplicaciones, instale el paquete de la biblioteca cliente de PhoneNumbers de Azure Communication Services para .NET con el comando dotnet add package
.
dotnet add package Azure.Communication.PhoneNumbers --version 1.0.0
Agregue la directiva using
a la parte superior de Program.cs para incluir el espacio de nombres.
using System;
using System.Linq;
using System.Threading.Tasks;
using Azure.Communication.PhoneNumbers;
Actualice la signatura de función Main
para que sea asincrónica.
static async Task Main(string[] args)
{
...
}
Autenticar el cliente
Los clientes de Números telefonicos se pueden autenticar mediante la cadena de conexión adquirida de los recursos de Azure Communication Services en Azure Portal.
// Get a connection string to our Azure Communication Services resource.
var connectionString = "<connection_string>";
var client = new PhoneNumbersClient(connectionString);
Los clientes de PhoneNumbers también tienen la opción de autenticarse con la autenticación de Microsoft Entra. Con esta opción, las variables de entorno AZURE_CLIENT_SECRET
AZURE_CLIENT_ID
y AZURE_TENANT_ID
deben configurarse para la autenticación.
// Get an endpoint to our Azure Communication Services resource.
var endpoint = new Uri("<endpoint_url>");
TokenCredential tokenCredential = new DefaultAzureCredential();
client = new PhoneNumbersClient(endpoint, tokenCredential);
Administración de números de teléfono
Búsqueda de los números de teléfono disponibles
Para adquirir números de teléfono, primero debe buscar los que están disponibles. Para buscar números de teléfono, proporcione el código de área, el tipo de asignación, las funcionalidades del número de teléfono, el tipo de número de teléfono y la cantidad. Tenga en cuenta que proporcionar el código de área para el tipo de número de teléfono gratuito es opcional.
var capabilities = new PhoneNumberCapabilities(calling:PhoneNumberCapabilityType.None, sms:PhoneNumberCapabilityType.Outbound);
var searchOptions = new PhoneNumberSearchOptions { AreaCode = "833", Quantity = 1 };
var searchOperation = await client.StartSearchAvailablePhoneNumbersAsync("US", PhoneNumberType.TollFree, PhoneNumberAssignmentType.Application, capabilities, searchOptions);
await searchOperation.WaitForCompletionAsync();
Compra de números de teléfono
El resultado de la búsqueda de números de teléfono es un valor de PhoneNumberSearchResult
. Este valor contiene el valor de SearchId
, que se puede pasar a la API de compra de números de para obtener los números en la búsqueda. Tenga en cuenta que, al llamar a la API de compra de números de teléfono, se realizará un cargo a su cuenta de Azure.
var purchaseOperation = await client.StartPurchasePhoneNumbersAsync(searchOperation.Value.SearchId);
await purchaseOperation.WaitForCompletionResponseAsync();
Obtención de números de teléfono
Después de comprar un número, puede recuperarlo del cliente.
var getPhoneNumberResponse = await client.GetPurchasedPhoneNumberAsync("+14255550123");
Console.WriteLine($"Phone number: {getPhoneNumberResponse.Value.PhoneNumber}, country code: {getPhoneNumberResponse.Value.CountryCode}");
También puede recuperar todos los números de teléfono comprados.
var purchasedPhoneNumbers = client.GetPurchasedPhoneNumbersAsync();
await foreach (var purchasedPhoneNumber in purchasedPhoneNumbers)
{
Console.WriteLine($"Phone number: {purchasedPhoneNumber.PhoneNumber}, country code: {purchasedPhoneNumber.CountryCode}");
}
Actualización de las funcionalidades del número de teléfono
Con un número comprado, puede actualizar las funcionalidades.
var updateCapabilitiesOperation = await client.StartUpdateCapabilitiesAsync("+14255550123", calling: PhoneNumberCapabilityType.Outbound, sms: PhoneNumberCapabilityType.InboundOutbound);
await updateCapabilitiesOperation.WaitForCompletionAsync();
Descarte de un número de teléfono
Puede liberar los números de teléfono comprados.
var releaseOperation = await client.StartReleasePhoneNumberAsync("+14255550123");
await releaseOperation.WaitForCompletionResponseAsync();
Ejecución del código
Ejecute la aplicación desde el directorio de la aplicación con el comando dotnet run
.
dotnet run
Código de ejemplo
Puede descargar la aplicación de ejemplo de GitHub.
Nota
Busque el código finalizado de este inicio rápido en GitHub
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Kit de desarrollo de Java (JDK), versión 8 o posterior.
- Apache Maven.
- Un recurso de Communication Services implementado y una cadena de conexión. Cree un recurso de Communication Services.
Instalación
Creación de una aplicación Java
Abra el terminal o la ventana de comandos. Vaya al directorio en el que quiere crear la aplicación Java. Ejecute el siguiente comando para generar el proyecto de Java a partir de la plantilla maven-archetype-quickstart.
mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
Observará que la tarea "generar" creó un directorio con el mismo nombre que el objeto artifactId
. En este directorio, el directorio src/main/java contiene el código fuente del proyecto, el directorio src/test/java directory
contiene el origen de la prueba y el archivo pom.xml
es el modelo de objetos del proyecto o POM.
Instalar el paquete
Abra el archivo pom.xml en el editor de texto. Agregue los siguientes elementos de dependencia al grupo de dependencias.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-common</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-phonenumbers</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.2.3</version>
</dependency>
Instalación del marco de la aplicación
Desde el directorio del proyecto:
- Vaya al directorio /src/main/java/com/communication/quickstart.
- Abra el archivo App.java en el editor.
- Reemplace la instrucción
System.out.println("Hello world!");
. - Agregue directivas
import
.
Use el código siguiente para empezar:
import com.azure.communication.phonenumbers.*;
import com.azure.communication.phonenumbers.models.*;
import com.azure.core.http.rest.*;
import com.azure.core.util.Context;
import com.azure.core.util.polling.LongRunningOperationStatus;
import com.azure.core.util.polling.PollResponse;
import com.azure.core.util.polling.SyncPoller;
import com.azure.identity.*;
import java.io.*;
public class App
{
public static void main( String[] args ) throws IOException
{
System.out.println("Azure Communication Services - Phone Numbers Quickstart");
// Quickstart code goes here
}
}
Autenticación del cliente de números de teléfono
PhoneNumberClientBuilder está habilitado para usar la autenticación de Microsoft Entra
// You can find your endpoint and access key from your resource in the Azure portal
String endpoint = "https://<RESOURCE_NAME>.communication.azure.com";
PhoneNumbersClient phoneNumberClient = new PhoneNumbersClientBuilder()
.endpoint(endpoint)
.credential(new DefaultAzureCredentialBuilder().build())
.buildClient();
Como alternativa, también es posible usar el punto de conexión y la clave de acceso del recurso de comunicación para la autenticación.
// You can find your connection string from your resource in the Azure portal
String connectionString = "endpoint=https://<RESOURCE_NAME>.communication.azure.com/;accesskey=<ACCESS_KEY>";
PhoneNumbersClient phoneNumberClient = new PhoneNumbersClientBuilder()
.connectionString(connectionString)
.buildClient();
Administración de números de teléfono
Búsqueda de los números de teléfono disponibles
Para adquirir números de teléfono, primero debe buscar los que están disponibles. Para buscar números de teléfono, proporcione el código de área, el tipo de asignación, las funcionalidades del número de teléfono, el tipo de número de teléfono y la cantidad. Tenga en cuenta que proporcionar el código de área para el tipo de número de teléfono gratuito es opcional.
PhoneNumberCapabilities capabilities = new PhoneNumberCapabilities()
.setCalling(PhoneNumberCapabilityType.INBOUND)
.setSms(PhoneNumberCapabilityType.INBOUND_OUTBOUND);
PhoneNumberSearchOptions searchOptions = new PhoneNumberSearchOptions().setAreaCode("833").setQuantity(1);
SyncPoller<PhoneNumberOperation, PhoneNumberSearchResult> poller = phoneNumberClient
.beginSearchAvailablePhoneNumbers("US", PhoneNumberType.TOLL_FREE, PhoneNumberAssignmentType.APPLICATION, capabilities, searchOptions, Context.NONE);
PollResponse<PhoneNumberOperation> response = poller.waitForCompletion();
String searchId = "";
if (LongRunningOperationStatus.SUCCESSFULLY_COMPLETED == response.getStatus()) {
PhoneNumberSearchResult searchResult = poller.getFinalResult();
searchId = searchResult.getSearchId();
System.out.println("Searched phone numbers: " + searchResult.getPhoneNumbers());
System.out.println("Search expires by: " + searchResult.getSearchExpiresBy());
System.out.println("Phone number costs:" + searchResult.getCost().getAmount());
}
Compra de números de teléfono
El resultado de la búsqueda de números de teléfono es un valor de PhoneNumberSearchResult. Este valor contiene el valor de searchId
, que se puede pasar a la API de compra de números de para obtener los números en la búsqueda. Tenga en cuenta que, al llamar a la API de compra de números de teléfono, se realizará un cargo a su cuenta de Azure.
PollResponse<PhoneNumberOperation> purchaseResponse = phoneNumberClient.beginPurchasePhoneNumbers(searchId, Context.NONE).waitForCompletion();
System.out.println("Purchase phone numbers operation is: " + purchaseResponse.getStatus());
Obtención de números de teléfono
Después de comprar un número, puede recuperarlo del cliente.
PurchasedPhoneNumber phoneNumber = phoneNumberClient.getPurchasedPhoneNumber("+14255550123");
System.out.println("Phone Number Country Code: " + phoneNumber.getCountryCode());
También puede recuperar todos los números de teléfono comprados.
PagedIterable<PurchasedPhoneNumber> phoneNumbers = phoneNumberClient.listPurchasedPhoneNumbers(Context.NONE);
PurchasedPhoneNumber phoneNumber = phoneNumbers.iterator().next();
System.out.println("Phone Number Country Code: " + phoneNumber.getCountryCode());
Actualización de las funcionalidades del número de teléfono
Con un número comprado, puede actualizar las funcionalidades.
PhoneNumberCapabilities capabilities = new PhoneNumberCapabilities();
capabilities
.setCalling(PhoneNumberCapabilityType.INBOUND)
.setSms(PhoneNumberCapabilityType.INBOUND_OUTBOUND);
SyncPoller<PhoneNumberOperation, PurchasedPhoneNumber> poller = phoneNumberClient.beginUpdatePhoneNumberCapabilities("+18001234567", capabilities, Context.NONE);
PollResponse<PhoneNumberOperation> response = poller.waitForCompletion();
if (LongRunningOperationStatus.SUCCESSFULLY_COMPLETED == response.getStatus()) {
PurchasedPhoneNumber phoneNumber = poller.getFinalResult();
System.out.println("Phone Number Calling capabilities: " + phoneNumber.getCapabilities().getCalling()); //Phone Number Calling capabilities: inbound
System.out.println("Phone Number SMS capabilities: " + phoneNumber.getCapabilities().getSms()); //Phone Number SMS capabilities: inbound+outbound
}
Liberación de números de teléfono
Puede liberar los números de teléfono comprados.
PollResponse<PhoneNumberOperation> releaseResponse =
phoneNumberClient.beginReleasePhoneNumber("+14255550123", Context.NONE).waitForCompletion();
System.out.println("Release phone number operation is: " + releaseResponse.getStatus());
Ejecución del código
Navegue hasta el directorio que contiene el archivo pom.xml y compile el proyecto mediante el siguiente comando mvn
.
mvn compile
A continuación, compile el paquete.
mvn package
Ejecute el siguiente comando mvn
para ejecutar la aplicación.
mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false
La salida de la aplicación describe cada acción que se completa:
Azure Communication Services - Phone Numbers Quickstart
Searched phone numbers: [+18001234567]
Purchase phone numbers operation is: SUCCESSFULLY_COMPLETED
Phone Number Country Code: US
Phone Number Calling capabilities: inbound
Phone Number SMS capabilities: inbound
Release phone number operation is: SUCCESSFULLY_COMPLETED
Nota
Busque el código finalizado de este inicio rápido en GitHub
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Versión 3.7 o superiores de Python.
- Un recurso de Communication Services implementado y una cadena de conexión. Cree un recurso de Communication Services.
Instalación
Creación de una nueva aplicación de Python
Abra la ventana de comandos o el terminal, cree un directorio para la aplicación y vaya hasta él.
mkdir phone-numbers-quickstart && cd phone-numbers-quickstart
Use un editor de texto para crear un archivo denominado phone_numbers_sample.py en el directorio raíz del proyecto y agregue el siguiente código. En las siguientes secciones se agregará el resto de código del inicio rápido.
import os
from azure.communication.phonenumbers import PhoneNumbersClient
try:
print('Azure Communication Services - Phone Numbers Quickstart')
# Quickstart code goes here
except Exception as ex:
print('Exception:')
print(ex)
Instalar el paquete
Mientras sigue en el directorio de aplicaciones, instale el paquete de la biblioteca cliente de administración de Azure Communication Services para Python con el comando pip install
.
pip install azure-communication-phonenumbers
Autenticación del cliente de números de teléfono
PhoneNumbersClient
se habilita para usar la autenticación de Microsoft Entra. El uso del objeto DefaultAzureCredential
es la forma más fácil de empezar a trabajar con Microsoft Entra ID y puede instalarlo mediante el comando pip install
.
pip install azure-identity
La creación de un objeto DefaultAzureCredential
requiere que tenga AZURE_CLIENT_ID
, AZURE_CLIENT_SECRET
y AZURE_TENANT_ID
ya establecidos como variables de entorno con sus valores correspondientes en la aplicación de Microsoft Entra registrada.
Para obtener información rápida sobre cómo obtener estas variables de entorno, puede seguir el artículo Inicio rápido de configuración de entidades de servicio desde la CLI.
Una vez que haya instalado la biblioteca azure-identity
, podemos seguir con la autenticación del cliente.
import os
from azure.communication.phonenumbers import PhoneNumbersClient
from azure.identity import DefaultAzureCredential
# You can find your endpoint from your resource in the Azure portal
endpoint = 'https://<RESOURCE_NAME>.communication.azure.com'
try:
print('Azure Communication Services - Phone Numbers Quickstart')
credential = DefaultAzureCredential()
phone_numbers_client = PhoneNumbersClient(endpoint, credential)
except Exception as ex:
print('Exception:')
print(ex)
Como alternativa, también es posible usar el punto de conexión y la clave de acceso del recurso de comunicación para la autenticación.
import os
from azure.communication.phonenumbers import PhoneNumbersClient
# You can find your connection string from your resource in the Azure portal
connection_string = 'https://<RESOURCE_NAME>.communication.azure.com/;accesskey=<YOUR_ACCESS_KEY>'
try:
print('Azure Communication Services - Phone Numbers Quickstart')
phone_numbers_client = PhoneNumbersClient.from_connection_string(connection_string)
except Exception as ex:
print('Exception:')
print(ex)
Functions
Una vez que se ha autenticado PhoneNumbersClient
, podemos empezar a trabajar en las diferentes funciones que puede hacer.
Búsqueda de los números de teléfono disponibles
Para comprar números de teléfono, primero debe buscar los números de teléfono disponibles. Para buscar números de teléfono, proporcione el código de área, el tipo de asignación, las funcionalidades de número de teléfono, el tipo de número de teléfono y la cantidad (el valor predeterminado está establecido en 1). Tenga en cuenta que proporcionar el código de área para el tipo de número de teléfono gratuito es opcional.
import os
from azure.communication.phonenumbers import PhoneNumbersClient, PhoneNumberCapabilityType, PhoneNumberAssignmentType, PhoneNumberType, PhoneNumberCapabilities
from azure.identity import DefaultAzureCredential
# You can find your endpoint from your resource in the Azure portal
endpoint = 'https://<RESOURCE_NAME>.communication.azure.com'
try:
print('Azure Communication Services - Phone Numbers Quickstart')
credential = DefaultAzureCredential()
phone_numbers_client = PhoneNumbersClient(endpoint, credential)
capabilities = PhoneNumberCapabilities(
calling = PhoneNumberCapabilityType.INBOUND,
sms = PhoneNumberCapabilityType.INBOUND_OUTBOUND
)
search_poller = phone_numbers_client.begin_search_available_phone_numbers(
"US",
PhoneNumberType.TOLL_FREE,
PhoneNumberAssignmentType.APPLICATION,
capabilities,
polling = True
)
search_result = search_poller.result()
print ('Search id: ' + search_result.search_id)
phone_number_list = search_result.phone_numbers
print('Reserved phone numbers:')
for phone_number in phone_number_list:
print(phone_number)
except Exception as ex:
print('Exception:')
print(ex)
Compra de números de teléfono
El resultado de la búsqueda de números de teléfono es un valor de PhoneNumberSearchResult
. Este valor contiene el valor de searchId
, que se puede pasar a la API de compra de números de para obtener los números en la búsqueda. Tenga en cuenta que, al llamar a la API de compra de números de teléfono, se realizará un cargo a su cuenta de Azure.
import os
from azure.communication.phonenumbers import (
PhoneNumbersClient,
PhoneNumberCapabilityType,
PhoneNumberAssignmentType,
PhoneNumberType,
PhoneNumberCapabilities
)
from azure.identity import DefaultAzureCredential
# You can find your endpoint from your resource in the Azure portal
endpoint = 'https://<RESOURCE_NAME>.communication.azure.com'
try:
print('Azure Communication Services - Phone Numbers Quickstart')
credential = DefaultAzureCredential()
phone_numbers_client = PhoneNumbersClient(endpoint, credential)
capabilities = PhoneNumberCapabilities(
calling = PhoneNumberCapabilityType.INBOUND,
sms = PhoneNumberCapabilityType.INBOUND_OUTBOUND
)
search_poller = phone_numbers_client.begin_search_available_phone_numbers(
"US",
PhoneNumberType.TOLL_FREE,
PhoneNumberAssignmentType.APPLICATION,
capabilities,
area_code="833",
polling = True
)
search_result = poller.result()
print ('Search id: ' + search_result.search_id)
phone_number_list = search_result.phone_numbers
print('Reserved phone numbers:')
for phone_number in phone_number_list:
print(phone_number)
purchase_poller = phone_numbers_client.begin_purchase_phone_numbers(search_result.search_id, polling = True)
purchase_poller.result()
print("The status of the purchase operation was: " + purchase_poller.status())
except Exception as ex:
print('Exception:')
print(ex)
Obtención de los números de teléfono comprados
Después de comprar un número, puede recuperarlo del cliente.
purchased_phone_number_information = phone_numbers_client.get_purchased_phone_number("+18001234567")
print('Phone number: ' + purchased_phone_number_information.phone_number)
print('Country code: ' + purchased_phone_number_information.country_code)
También puede recuperar todos los números de teléfono comprados.
purchased_phone_numbers = phone_numbers_client.list_purchased_phone_numbers()
print('Purchased phone numbers:')
for purchased_phone_number in purchased_phone_numbers:
print(purchased_phone_number.phone_number)
Actualización de las funcionalidades del número de teléfono
Puede actualizar las funcionalidades de un número de teléfono anteriormente comprado.
update_poller = phone_numbers_client.begin_update_phone_number_capabilities(
"+18001234567",
PhoneNumberCapabilityType.OUTBOUND,
PhoneNumberCapabilityType.OUTBOUND,
polling = True
)
update_poller.result()
print('Status of the operation: ' + update_poller.status())
Liberación de números de teléfono
Puede liberar los números de teléfono comprados.
release_poller = phone_numbers_client.begin_release_phone_number("+18001234567")
release_poller.result()
print('Status of the operation: ' + release_poller.status())
Ejecución del código
Desde un símbolo del sistema de la consola, vaya al directorio que contiene el archivo phone_numbers_sample.py y ejecute el siguiente comando de Python para ejecutar la aplicación.
python phone_numbers_sample.py
Nota
Busque el código finalizado de este inicio rápido en GitHub
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Versiones de Node.js, Active LTS y Maintenance LTS (se recomiendan 8.11.1 y 10.14.1).
- Un recurso activo de Communication Services y una cadena de conexión. Cree un recurso de Communication Services.
Comprobación de requisitos previos
- En una ventana de terminal o de comandos, ejecute
node --version
para comprobar que Node.js está instalado.
Instalación
Creación de una nueva aplicación Node.js
En primer lugar, abra la ventana de comandos o de terminal, cree un nuevo directorio para la aplicación y navegue hasta este.
mkdir phone-numbers-quickstart && cd phone-numbers-quickstart
Ejecute npm init -y
para crear un archivo package.json con la configuración predeterminada.
npm init -y
Cree un archivo llamado phone-numbers-quickstart.js en la raíz del directorio que acaba de crear. Agréguele el siguiente fragmento de código:
async function main() {
// quickstart code will here
}
main();
Instalar el paquete
Use el comando npm install
para instalar la biblioteca cliente de números de teléfono de Azure Communication Services para JavaScript.
npm install @azure/communication-phone-numbers --save
La opción --save
agrega la biblioteca como dependencia en el archivo package.json.
Autenticar el cliente
Importe la clase PhoneNumbersClient desde la biblioteca cliente y cree una instancia con la cadena de conexión. El código siguiente recupera la cadena de conexión para el recurso de una variable de entorno denominada COMMUNICATION_SERVICES_CONNECTION_STRING
. Aprenda a administrar la cadena de conexión del recurso.
Agregue el código siguiente en la parte superior de phone-numbers-quickstart.js:
const { PhoneNumbersClient } = require('@azure/communication-phone-numbers');
// This code demonstrates how to fetch your connection string
// from an environment variable.
const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];
// Instantiate the phone numbers client
const phoneNumbersClient = new PhoneNumbersClient(connectionString);
Administración de números de teléfono
Búsqueda de los números de teléfono disponibles
Para adquirir números de teléfono, primero debe buscar los que están disponibles. Para buscar números de teléfono, proporcione el código de área, el tipo de asignación, las funcionalidades del número de teléfono, el tipo de número de teléfono y la cantidad. Tenga en cuenta que para el tipo de número de teléfono gratuito, el código de área es opcional.
Agregue el siguiente fragmento de código a la función main
:
/**
* Search for Available Phone Number
*/
// Create search request
const searchRequest = {
countryCode: "US",
phoneNumberType: "tollFree",
assignmentType: "application",
capabilities: {
sms: "outbound",
calling: "none"
},
areaCode: "833",
quantity: 1
};
const searchPoller = await phoneNumbersClient.beginSearchAvailablePhoneNumbers(searchRequest);
// The search is underway. Wait to receive searchId.
const { searchId, phoneNumbers } = await searchPoller.pollUntilDone();
const phoneNumber = phoneNumbers[0];
console.log(`Found phone number: ${phoneNumber}`);
console.log(`searchId: ${searchId}`);
Compra de un número de teléfono
El resultado de la búsqueda de números de teléfono es PhoneNumberSearchResult
. Este valor contiene el valor de searchId
, que se puede pasar a la API de compra de números de para obtener los números en la búsqueda. Tenga en cuenta que, al llamar a la API de compra de números de teléfono, se realizará un cargo a su cuenta de Azure.
Agregue el siguiente fragmento de código a la función main
:
/**
* Purchase Phone Number
*/
const purchasePoller = await phoneNumbersClient.beginPurchasePhoneNumbers(searchId);
// Purchase is underway.
await purchasePoller.pollUntilDone();
console.log(`Successfully purchased ${phoneNumber}`);
Actualización de las funcionalidades del número de teléfono
Ahora que ha comprado un número de teléfono, agregue el código siguiente para actualizar sus funcionalidades:
/**
* Update Phone Number Capabilities
*/
// Create update request.
// This will update phone number to send and receive sms, but only send calls.
const updateRequest = {
sms: "inbound+outbound",
calling: "outbound"
};
const updatePoller = await phoneNumbersClient.beginUpdatePhoneNumberCapabilities(
phoneNumber,
updateRequest
);
// Update is underway.
await updatePoller.pollUntilDone();
console.log("Phone number updated successfully.");
Obtención de los números de teléfono comprados
Una vez comprado, puede recuperar el número del cliente. Agregue el código siguiente a la función main
para obtener el número de teléfono que acaba de comprar:
/**
* Get Purchased Phone Number
*/
const { capabilities } = await phoneNumbersClient.getPurchasedPhoneNumber(phoneNumber);
console.log("These capabilities:", capabilities, "should be the same as these:", updateRequest, ".");
También puede recuperar todos los números de teléfono comprados.
const purchasedPhoneNumbers = await phoneNumbersClient.listPurchasedPhoneNumbers();
for await (const purchasedPhoneNumber of purchasedPhoneNumbers) {
console.log(`Phone number: ${purchasedPhoneNumber.phoneNumber}, country code: ${purchasedPhoneNumber.countryCode}.`);
}
Descarte de un número de teléfono
Ahora puede descartar el número de teléfono comprado. Agregue el siguiente fragmento de código a la función main
:
/**
* Release Purchased Phone Number
*/
const releasePoller = await phoneNumbersClient.beginReleasePhoneNumber(phoneNumber);
// Release is underway.
await releasePoller.pollUntilDone();
console.log("Successfully release phone number.");
Ejecución del código
Use el comando node
para ejecutar el código que agregó al archivo phone-numbers-quickstart.js.
node phone-numbers-quickstart.js
Solución de problemas
Preguntas y problemas comunes:
Cuando se publica un número de teléfono, el número de teléfono se muestra en el recurso de ACS en Azure Portal hasta el final del ciclo de facturación. Tampoco se puede volver a comprar hasta el final del ciclo de facturación.
Si se elimina un recurso de Communication Services, los números de teléfono asociados a ese recurso se liberan automáticamente al mismo tiempo.
Pasos siguientes
En esta guía de inicio rápido, ha aprendido a hacer lo siguiente:
- Comprar un número de teléfono
- Administrar el número de teléfono
- Liberar un número de teléfono
- Envío de la aplicación de verificación de número gratuito (vea si es necesario)