Megosztás a következőn keresztül:


Azure Communication Phone Numbers ügyfélkódtár JavaScripthez – 1.0.0-s verzió

A telefonszámtár lehetővé teszi a telefonszámok felügyeletét.

A megvásárolt telefonszámok számos funkcióval rendelkezhetnek, az országtól, a szám típusától és a hozzárendelés típusától függően. Ilyen például az SMS bejövő és kimenő használata, a PSTN bejövő és kimenő használata. A telefonszámok webhook URL-címen keresztül is hozzárendelhetők a robothoz.

Első lépések

Előfeltételek

Telepítés

npm install @azure/communication-phone-numbers

Böngészőtámogatás

JavaScript-csomag

Ahhoz, hogy ezt az ügyfélkódtárat a böngészőben használhassa, először egy kötegelőt kell használnia. Ennek módjáról a csomagkontraszt dokumentációjában talál további információt.

Fő fogalmak

A telefonszám-csomag a telefonszámok PhoneNumbersClient kezelésére szolgáló módszereket teszi elérhetővé.

Telefonszámtípusok

A telefonszámok kétféle típusúak; Földrajzi és ingyenes. A földrajzi telefonszámok egy helyhez társított telefonszámok, amelyek körzetszámai egy földrajzi hely körzetszámához vannak társítva. Toll-Free telefonszámok nincsenek helyhez rendelve. Az USA-ban például az ingyenesen hívható számok tartalmazhatnak olyan körzetszámokat, mint a 800 vagy a 888.

Az ugyanazon országon belüli összes földrajzi telefonszám egy földrajzi telefonszámtípusú telefoncsomag-csoportba van csoportosítva. Az ugyanazon országon belüli összes Toll-Free telefonszám telefoncsomagba van csoportosítva.

Számok keresése és beszerzése

A telefonszámok a keresési létrehozási API-val kereshetők, ha megadja a telefonszám típusát (földrajzi vagy ingyenes), a hozzárendelés típusát (személy vagy alkalmazás), a hívási és SMS-képességeket, a körzetszámot és a telefonszámok mennyiségét. A megadott telefonszámok mennyisége 15 percig lesz fenntartva. A telefonszámok keresése megszakítható vagy megvásárolható. Ha a keresés megszakad, akkor a telefonszámok elérhetővé válnak mások számára. Ha a keresés meg van vásárolva, a rendszer beszerzi a telefonszámokat az Azure-erőforráshoz.

Telefonszámok konfigurálása

A telefonszámok a képességek kombinációjával is rendelkezhetnek. Konfigurálhatók úgy, hogy támogassák a bejövő és/vagy kimenő hívásokat, vagy sem, ha nem használja a telefonszámot a híváshoz. Ugyanez vonatkozik az SMS-képességekre is.

Fontos figyelembe venni a telefonszám hozzárendelési típusát. Egyes képességek egy adott hozzárendelési típusra korlátozódnak.

Példák

Hitelesítés

Ahhoz, hogy létrehozhasson egy ügyfélobjektumot a Communication Services API eléréséhez, szüksége lesz egy connection string vagy a endpoint Communication Services-erőforrásra és egy credential. A Telefonszámok ügyfél az Azure Active Directory hitelesítő adatait vagy egy API-kulcs hitelesítő adatait használhatja a hitelesítéshez.

Kulcs és/vagy kapcsolati sztring az Azure Portalon található Communication Services-erőforrásból szerezheti be. A Communication Services-erőforrás végpontját az Azure Portalon is megtalálhatja.

Miután rendelkezik egy kulccsal, a PhoneNumbersClient következő módszerek bármelyikével hitelesítheti:

Kapcsolati sztring használata

import { PhoneNumbersClient } from "@azure/communication-phone-numbers";

const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);

Hozzáférési kulcs használata a következővel: AzureKeyCredential

Ha kulcs használatával inicializálja az ügyfelet, meg kell adnia a megfelelő végpontot is. Ezt a végpontot a Communication Services-erőforrásból szerezheti be az Azure Portalon. Miután rendelkezik egy kulccsal és végponttal, a következő kóddal végezhet hitelesítést:

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);

Azure Active Directory-hitelesítő adatok használata

A legtöbb példában kapcsolati sztring-hitelesítést használnak, de az Azure Active Directoryval is végezhet hitelesítést az Azure Identity Library használatával. Az alább látható DefaultAzureCredential szolgáltató vagy az Azure SDK-hoz biztosított egyéb hitelesítőadat-szolgáltatók használatához telepítse a @azure/identity csomagot:

npm install @azure/identity

A @azure/identity csomag számos hitelesítőadat-típust biztosít, amelyeket az alkalmazás ehhez használhat. A README for @azure/identity további részleteket és mintákat biztosít az első lépésekhez.

import { DefaultAzureCredential } from "@azure/identity";
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";

let credential = new DefaultAzureCredential();
const client = new PhoneNumbersClient("<endpoint-from-resource>", credential);

Használat

Az alábbi szakaszokban olyan kódrészleteket mutatunk be, amelyek a Azure Communication Services Telefonszámok ügyféllel kapcsolatos gyakori feladatokat ismertetik. Az itt tárgyalt forgatókönyvek a következőkből állnak:

Elérhető telefonszámok keresése

A metódus használatával beginSearchAvailablePhoneNumbers keressen telefonszámokat, és foglalja le őket. A visszaadott telefonszámok 15 percig vannak fenntartva, és ebben az időszakban a metódus megadásával searchIdbeginPurchasePhoneNumbers vásárolhatók meg.

beginSearchAvailablePhoneNumbers egy hosszú ideig futó művelet, és egy pollert ad vissza.

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

Ezzel a beginPurchasePhoneNumbers módszerrel vásárolhatja meg a telefonszámokat a keresésből. A megvásárolt telefonszámok az ügyfél indításakor használt Communication Services-erőforráshoz lesznek rendelve. A searchId visszaadott érték beginSearchAvailablePhoneNumbers megadása kötelező.

beginPurchasePhoneNumbers egy hosszú ideig futó művelet, és egy pollert ad vissza.

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

Megvásárolt telefonszám kiadása

A metódussal beginReleasePhoneNumber kiadhat egy korábban megvásárolt telefonszámot. A kiadott telefonszámok már nem lesznek társítva a Communication Services-erőforráshoz, és nem lesznek elérhetők más műveletekhez (például SMS) az erőforrásról. A felszabadított telefonszám megadása kötelező.

beginReleasePhoneNumber egy hosszú ideig futó művelet, és egy pollert ad vissza.

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

Telefonszám-képességek frissítése

beginUpdatePhoneNumberCapabilities A módszerrel frissítheti a megvásárolt telefonszámok képességeit. A telefonszámok konfigurálhatók úgy, hogy támogassák a bejövő és/vagy kimenő hívásokat és sms-eket, vagy egyiket sem.

beginUpdatePhoneNumberCapabilities egy hosszú ideig futó művelet, és egy pollert ad vissza.

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

Megvásárolt telefonszám beszerzése

A metódussal getPurchasedPhoneNumber információkat kérhet le egy megvásárolt telefonszámról. Ezek az információk tartalmazzák a telefonszám típusát, képességeit, költségeit és a vásárlás dátumát.

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

Megvásárolt telefonszámok listázása

A metódussal listPurchasedPhoneNumbers az összes megvásárolt telefonszámot átlapozásra használhatja.

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

Hibaelhárítás

Következő lépések

A kódtár használatára vonatkozó részletes példákért tekintse meg a mintakönyvtárat.

Közreműködés

Ha hozzá szeretne járulni ehhez a kódtárhoz, olvassa el a közreműködői útmutatót , amelyből többet is megtudhat a kód buildeléséhez és teszteléséhez.

Megjelenések