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
- Egy Azure-előfizetés.
- Egy meglévő Communication Services-erőforrás. Ha létre kell hoznia az erőforrást, használhatja az Azure Portalt, a Azure PowerShell vagy az Azure CLI-t.
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
- Telefonszámok vásárlása keresésből
- Megvásárolt telefonszám kiadása
- Telefonszám-képességek frissítése
- Megvásárolt telefonszám beszerzése
- Megvásárolt telefonszámok listázása
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 searchId
beginPurchasePhoneNumbers
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();
Telefonszámok vásárlása keresésből
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.
Kapcsolódó projektek
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: