Aracılığıyla paylaş


JavaScript için Azure İletişim Yönetimi istemci kitaplığı - sürüm 1.0.0-beta.3

Yönetim kitaplığı, Azure İletişim Hizmetleri için kullanıcıları ve belirteçleri yönetmek için kullanılır. Bu kitaplık, telefon numarası yönetimine yönelik özellikler de sağlar.

Edinilen telefon numaraları ülkeye, numara türüne ve telefon planına bağlı olarak birçok özelliğe sahip olabilir. Sms gelen ve giden kullanımı, PSTN gelen ve giden kullanım özelliklerine örnek olarak verilebilir. Telefon numaraları bir web kancası URL'si aracılığıyla bota da atanabilir.

Başlarken

Önkoşullar

Yükleme

npm install @azure/communication-administration

Önemli kavramlar

İstemciler

Yönetim paketi iki istemciyi kullanıma sunar. , CommunicationIdentityClient kullanıcıları ve belirteçlerini yönetmek için yöntemler sağlar. , PhoneNumberAdministrationClient telefon planlarını ve numaralarını yönetmek için yöntemler sağlar.

Telefon tarifelerine genel bakış

Telefon planları iki tür gelir; Coğrafi ve Ücretsiz. Coğrafi telefon planları, telefon numaralarının alan kodları coğrafi konumun alan koduyla ilişkili olan bir konumla ilişkilendirilmiş telefon planlarıdır. Toll-Free telefon planları, ilişkili konum olmayan telefon planlarıdır. Örneğin ABD'de ücretsiz sayılar 800 veya 888 gibi alan kodlarıyla birlikte gelebilir.

Aynı ülkedeki tüm coğrafi telefon planları, Coğrafi telefon numarası türüne sahip bir telefon planı grubu halinde gruplandırılır. Aynı ülkedeki tüm Toll-Free telefon planları bir telefon planı grubu halinde gruplandırılır.

Numaraları arama ve alma

Telefon numaraları, telefon planı kimliği, alan kodu ve telefon numarası miktarı sağlayarak arama oluşturma API'si aracılığıyla arama yapılabilir. Sağlanan telefon numarası miktarı on dakika boyunca ayrılacaktır. Bu telefon numarası araması iptal edilebilir veya satın alınabilir. Arama iptal edilirse telefon numaraları başkaları tarafından kullanılabilir hale gelir. Arama satın alınırsa, Azure kaynakları için telefon numaraları alınır.

Numaraları yapılandırma ve atama

Telefon numaraları, yapılandırma numarası API'si aracılığıyla bir geri arama URL'sine atanabilir. Yapılandırmanın bir parçası olarak, alınan bir telefon numarasına, geri arama URL'sine ve uygulama kimliğine ihtiyacınız olacaktır.

Örnekler

Kimlik Doğrulaması

Azure Portal'da İletişim Hizmetleri kaynağınızdan bir anahtar ve/veya bağlantı dizesi alabilirsiniz. Anahtarınız olduktan sonra ve PhoneNumberAdministrationClient kimliklerini aşağıdaki yöntemlerden herhangi biriyle doğrulayabilirsinizCommunicationIdentityClient:

İstemciyi başlatmadan önce ile AzureKeyCredential oluşturma KeyCredential

import { AzureKeyCredential } from "@azure/core-auth";
import { CommunicationIdentityClient } from "@azure/communication-administration";

const credential = new AzureKeyCredential(KEY);
const client = new CommunicationIdentityClient(HOST, credential);

Bağlantı dizesi kullanma

import { PhoneNumberAdministrationClient } from "@azure/communication-administration";

const connectionString = `endpoint=HOST;accessKey=KEY`;
const client = new CommunicationIdentityClient(connectionString);

İstemciyi başlatmak için bir anahtar kullanırsanız, uygun uç noktayı da sağlamanız gerekir. Bu uç noktayı Azure Portal'daki İletişim Hizmetleri kaynağınızdan alabilirsiniz.

Kullanım

CommunicationIdentityClient

CommunicationIdentityClient örneği oluşturma

import { CommunicationIdentityClient } from "@azure/communication-administration";

const client = new CommunicationIdentityClient(CONNECTION_STRING);

Yeni kullanıcı oluşturma

createUser Yeni bir kullanıcı oluşturmak için yöntemini kullanın.

const user = await client.createUser();

Kullanıcı belirteci oluşturma ve yenileme

issueToken Mevcut bir kullanıcı için belirteç vermek veya yenilemek için yöntemini kullanın. yöntemi ayrıca iletişim belirteci kapsamları listesini alır. Kapsam seçenekleri şunlardır:

  • chat (Sohbet)
  • pstn (Ortak anahtarlı telefon ağı)
  • voip (IP üzerinden ses)
let { token } = await client.issueToken(user, ["chat"]);

Kullanıcı belirtecini yenilemek için aynı kullanıcıya başka bir belirteç gönderin.

{ token } = await client.issueToken(user, ["chat"]);

Kullanıcı için belirteçleri iptal etme

revokeTokens Bir kullanıcının verilen tüm belirteçlerini iptal etmek için yöntemini kullanın.

await client.revokeTokens(user);

revokeTokensisteğe bağlı ikinci bir bağımsız değişken alır. tokensValidFrom Bu tarih sağlanırsa, revokeTokens önce verilen tüm belirteçleri iptal eder. Aksi takdirde tüm belirteçler iptal edilir.

Kullanıcı silme

deleteUser Kullanıcı silmek için yöntemini kullanın.

await client.deleteUser(user);

PhoneNumberAdministrationClient

PhoneNumberAdministrationClient örneği oluşturma

import { CommunicationIdentityClient } from "@azure/communication-administration";

const client = new CommunicationIdentityClient(CONNECTION_STRING);

Ülkeler alınıyor

listSupportedCountries Desteklenen ülkelerin listesini almak için yöntemini kullanın.

const countries = await client.listSupportedCountries();

for await (const country of countries) {
  console.log(`Country code: ${country.countryCode}`);
  console.log(`Country name: ${country.localizedName}`);
}

Telefon planı gruplarını alma

Telefon planı grupları Coğrafi ve Ücretsiz olmak üzere iki tür olarak gelir. listPhonePlanGroups Almak için yöntemini kullanın.

const countryCode = "US";
const phonePlanGroups = await client.listPhonePlanGroups(countryCode);

for await (const phonePlanGroup of phonePlanGroups) {
  console.log(`Phone plan group id: ${phonePlanGroup.phonePlanGroupId}`);
}

Konum seçeneklerini alma

Coğrafi telefon planları için kullanılabilir coğrafi konumları sorgulayabilirsiniz. Konum seçenekleri, bir ülkenin coğrafi hiyerarşisi gibi yapılandırılmıştır. Örneğin, ABD'nin eyaletleri vardır ve her eyaletin içinde şehirler bulunur.

Konumun getPhonePlanLocationOptions seçeneklerini almak için yöntemini kullanın.

const { locationOptions } = await client.getPhonePlanLocationOptions({
  countryCode: "US",
  phonePlanGroupId: "phonePlanGroupId",
  phonePlanId: "phonePlanId"
});

console.log(`Got location options for: ${locationOptions.labelId}`);

Alan kodları alınıyor

Coğrafi telefon planları için alan kodlarının getirilmesi için konum seçenekleri sorgularının ayarlanması gerekir. tarafından döndürülen konum seçenekleri nesnesine çapraz geçiş yaparak coğrafi konumlar zincirini getPhonePlanLocationOptionsdahil etmeniz gerekir.

getAreaCodes Coğrafi telefon planlarının alan kodlarını almak için yöntemini kullanın.

const { primaryAreaCodes } = await client.getAreaCodes({
  locationType: "selection",
  countryCode: "US",
  phonePlanId: "phonePlanId",
  locationOptionsQueries
});

Satın almak için telefon numaralarını ayırma

beginReservePhoneNumbers Telefon numaralarını aramak ve ayırmak için yöntemini kullanın. Bu uzun süre çalışan bir işlemdir.

const reservePoller = await client.beginReservePhoneNumbers({
    name: "Phone number search 800",
    description: "Search for 800 phone numbers"
    phonePlanIds: ["phone-plan-id-1"],
    areaCode: "800",
    quantity: 3
});

Rezervasyonun sonuçlarını almak için oluşturduğunuz poller üzerindeki yöntemini kullanın pollUntilDone .

const phoneNumberReservation = await reservePoller.pollUntilDone();

Oluşturduğunuz poller üzerinde yöntemini çağırarak cancelOperation yoklamayı ve rezervasyonu iptal edebilirsiniz.

await reservePoller.cancelOperation();

Rezervasyondan telefon numaraları satın alma

Rezervasyonunuzdan beginPurchasePhoneNumbers telefon numaralarını satın almak için yöntemini kullanın. döndürülen reservationIdbeginReservePhoneNumbers gereklidir. beginPurchasePhoneNumbers uzun süre çalışan bir işlemdir.

const { reservationId } = phoneNumberReservation;
const purchasePoller = await client.beginPurchasePhoneNumbers(reservationId);

Satın alma işleminin sonuçlarını almak için oluşturduğunuz satın alma puanlayıcısı üzerindeki yöntemini kullanın pollUntilDone .

const results = await purchasePoller.pollUntilDone();

Sorun giderme

Sonraki adımlar

Bu kitaplığın nasıl kullanılacağına ilişkin ayrıntılı örnekler için lütfen samples dizinine göz atın.

Katkıda bulunma

Bu kitaplığa katkıda bulunmak isterseniz, kodu derleme ve test etme hakkında daha fazla bilgi edinmek için lütfen katkıda bulunma kılavuzunu okuyun.

İzlenimler