Biblioteca de clientes de Números de Telefone de Comunicação do Azure para JavaScript – versão 1.0.0
A biblioteca de números de telefone fornece recursos para administração de números de telefone.
Os números de telefone adquiridos podem vir com muitos recursos, dependendo do país, tipo de número e tipo de atribuição. Exemplos de recursos são uso de entrada e saída de SMS, uso de entrada e saída PSTN. Os números de telefone também podem ser atribuídos a um bot por meio de uma URL de webhook.
Introdução
Pré-requisitos
- Uma assinatura do Azure.
- Um recurso existente dos Serviços de Comunicação. Se você precisar criar o recurso, poderá usar o Portal do Azure, o Azure PowerShell ou a CLI do Azure.
Instalando o
npm install @azure/communication-phone-numbers
Suporte ao navegador
Pacote JavaScript
Para usar essa biblioteca de clientes no navegador, primeiro você precisa usar um empacotador. Para obter detalhes sobre como fazer isso, consulte nossa documentação de agrupamento.
Principais conceitos
O pacote de números de telefone expõe o PhoneNumbersClient
que fornece métodos para gerenciar números de telefone.
Tipos de número de telefone
Números de telefone vêm em dois tipos; Geográfico e gratuito. Números de telefone geográficos são números de telefone associados a um local, cujos códigos de área estão associados ao código de área de uma localização geográfica. Toll-Free números de telefone não estão associados a um local. Por exemplo, nos EUA, números gratuitos podem vir com códigos de área, como 800 ou 888.
Todos os números de telefone geográficos no mesmo país são agrupados em um grupo de planos telefônicos com um tipo de número de telefone Geográfico. Todos os Toll-Free números de telefone dentro do mesmo país são agrupados em um grupo de planos telefônicos.
Pesquisando e adquirindo números
Os números de telefone podem ser pesquisados por meio da API de criação da pesquisa fornecendo um tipo de número de telefone (geográfico ou gratuito), tipo de atribuição (pessoa ou aplicativo), recursos de chamada e sms, um código de área e quantidade de números de telefone. A quantidade fornecida de números de telefone será reservada por 15 minutos. Essa pesquisa de números de telefone pode ser cancelada ou comprada. Se a pesquisa for cancelada, os números de telefone ficarão disponíveis para outras pessoas. Se a pesquisa for adquirida, os números de telefone serão adquiridos para o recurso do Azure.
Configurando números de telefone
Os números de telefone podem ter uma combinação de recursos. Eles podem ser configurados para dar suporte a chamadas de entrada e/ou de saída ou também se você não usar o número de telefone para chamada. O mesmo se aplica aos recursos de sms.
É importante considerar o tipo de atribuição do seu número de telefone. Alguns recursos são restritos a um tipo de atribuição específico.
Exemplos
Autenticação
Para criar um objeto cliente para acessar a API dos Serviços de Comunicação, você precisará de um connection string
ou do endpoint
recurso dos Serviços de Comunicação e de um credential
. O cliente números de telefone pode usar credenciais do Azure Active Directory ou uma credencial de chave de API para autenticar.
Você pode obter uma chave e/ou uma cadeia de conexão do recurso dos Serviços de Comunicação no Portal do Azure. Você também pode encontrar o ponto de extremidade do recurso dos Serviços de Comunicação no Portal do Azure.
Depois de ter uma chave, você poderá autenticar o PhoneNumbersClient
com qualquer um dos seguintes métodos:
Usando uma cadeia de conexão
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
Usando uma chave de acesso com AzureKeyCredential
Se você usar uma chave para inicializar o cliente, também precisará fornecer o ponto de extremidade apropriado. Você pode obter esse ponto de extremidade do recurso dos Serviços de Comunicação no Portal do Azure. Depois de ter uma chave e um ponto de extremidade, você poderá autenticar com o seguinte código:
import { AzureKeyCredential } from "@azure/core-auth";
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const credential = new AzureKeyCredential("<key-from-resource>");
const client = new PhoneNumbersClient("<endpoint-from-resource>", credential);
Usando uma credencial do Azure Active Directory
A autenticação de cadeia de conexão é usada na maioria dos exemplos, mas você também pode autenticar com o Azure Active Directory usando a biblioteca de Identidade do Azure. Para usar o provedor DefaultAzureCredential mostrado abaixo ou outros provedores de credenciais fornecidos com o SDK do Azure, instale o @azure/identity
pacote:
npm install @azure/identity
O @azure/identity
pacote fornece uma variedade de tipos de credencial que seu aplicativo pode usar para fazer isso. O LEIAME para @azure/identity
fornece mais detalhes e exemplos para começar.
import { DefaultAzureCredential } from "@azure/identity";
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
let credential = new DefaultAzureCredential();
const client = new PhoneNumbersClient("<endpoint-from-resource>", credential);
Uso
As seções a seguir fornecem snippets de código que abrangem algumas das tarefas comuns usando o cliente Serviços de Comunicação do Azure Números de Telefone. Os cenários abordados aqui consistem em:
- Pesquisar números de telefone disponíveis
- Comprar números de telefone de uma pesquisa
- Liberar um número de telefone comprado
- Atualizar recursos de número de telefone
- Obter um número de telefone comprado
- Listar números de telefone comprados
Pesquisar números de telefone disponíveis
Use o beginSearchAvailablePhoneNumbers
método para pesquisar números de telefone e reserve-os. Os números de telefone retornados são reservados por 15 minutos e podem ser comprados durante esse período fornecendo o searchId
beginPurchasePhoneNumbers
ao método .
beginSearchAvailablePhoneNumbers
é uma operação de execução longa e retorna um sondador.
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
async function main() {
const searchRequest = {
countryCode: "US",
phoneNumberType: "tollFree",
assignmentType: "application",
capabilities: {
sms: "outbound",
calling: "none"
},
quantity: 1
};
const searchPoller = await client.beginSearchAvailablePhoneNumbers(searchRequest);
// The search is underway. Wait to receive searchId.
const searchResults = searchPoller.pollUntilDone();
console.log(`Found phone number: ${searchResults.phoneNumbers[0]}`);
console.log(`searchId: ${searchResults.searchId}`);
}
main();
Comprar números de telefone de uma pesquisa
Use o beginPurchasePhoneNumbers
método para comprar os números de telefone de sua pesquisa. Os números de telefone adquiridos serão atribuídos ao recurso dos Serviços de Comunicação usado ao iniciar o cliente. O searchId
retornado de beginSearchAvailablePhoneNumbers
é necessário.
beginPurchasePhoneNumbers
é uma operação de execução longa e retorna um sondador.
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
async function main() {
const searchRequest = {
countryCode: "US",
phoneNumberType: "tollFree",
assignmentType: "application",
capabilities: {
sms: "outbound",
calling: "none"
},
quantity: 1
};
const searchPoller = await client.beginSearchAvailablePhoneNumbers(searchRequest);
// The search is underway. Wait to receive searchId.
const { searchId, phoneNumbers } = searchPoller.pollUntilDone();
const purchasePoller = await client.beginPurchasePhoneNumbers(searchId);
// Purchase is underway.
await purchasePoller.pollUntilDone();
console.log(`Successfully purchased ${phoneNumbers[0]}`);
}
main();
Liberar um número de telefone comprado
Use o beginReleasePhoneNumber
método para liberar um número de telefone comprado anteriormente. Os números de telefone liberados não serão mais associados ao recurso dos Serviços de Comunicação e não estarão disponíveis para uso com outras operações (por exemplo, . SMS) do recurso. O número de telefone que está sendo liberado é necessário.
beginReleasePhoneNumber
é uma operação de execução longa e retorna um sondador.
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
async function main() {
const phoneNumberToRelease = "<phone-number-to-release>";
const releasePoller = await client.beginReleasePhoneNumber(phoneNumberToRelease);
// Release is underway.
await releasePoller.pollUntilDone();
console.log("Successfully release phone number.");
}
main();
Atualizar as funcionalidades do número de telefone
Use o beginUpdatePhoneNumberCapabilities
método para atualizar os recursos de um número de telefone comprado. Os números de telefone podem ser configurados para dar suporte a chamadas de entrada e/ou de saída e sms ou nenhum deles.
beginUpdatePhoneNumberCapabilities
é uma operação de execução longa e retorna um sondador.
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
async function main() {
const phoneNumberToUpdate = "<phone-number-to-update>";
// This will update phone number to send and receive sms, but only send calls.
const updateRequest = {
sms: "inbound+outbound",
calling: "outbound"
};
const updatePoller = await client.beginUpdatePhoneNumberCapabilities(
phoneNumberToUpdate,
updateRequest
);
// Update is underway.
const { capabilities } = await updatePoller.pollUntilDone();
console.log(`These are the update capabilities: ${capabilities}`);
}
main();
Obter um número de telefone comprado
Use o getPurchasedPhoneNumber
método para obter informações sobre um número de telefone comprado. Essas informações incluem o tipo, os recursos, o custo e a data de compra do número de telefone.
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
async main function() {
const phoneNumberToGet = "<phone-number-to-get>";
const phoneNumber = await client.getPurchasedPhoneNumber(phoneNumberToGet);
console.log(`The id is the same as the phone number: ${phoneNumber.id}`);
console.log(`Phone number type is ${phoneNumber.phoneNumberType}`);
}
main();
Listar números de telefone comprados
Use o listPurchasedPhoneNumbers
método para usar a página em todos os números de telefone adquiridos.
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
async main function() {
const phoneNumbers = await client.listPurchasedPhoneNumbers();
for await (const phoneNumber of phoneNumbers) {
console.log(`The id is the same as the phone number: ${phoneNumber.id}`);
console.log(`Phone number type is ${phoneNumber.phoneNumberType}`);
}
}
main();
Solução de problemas
Próximas etapas
Examine o diretório de exemplos para obter exemplos detalhados sobre como usar essa biblioteca.
Contribuição
Se você quiser contribuir com essa biblioteca, leia o guia de contribuição para saber como criar e testar o código.
Projetos relacionados