التشغيل السريع: الحصول على أرقام الهواتف وإدارتها

هام

تعتمد قدرات SMS وPSTN على رقم الهاتف الذي تستخدمه والبلد/المنطقة التي تعمل فيها كما هو محدد بواسطة عنوان فوترة Azure الخاص بك. لمزيد من المعلومات، تفضل بزيارة وثائق أهلية الاشتراك.

هام

للحصول على طلبات عالية الحجم أو في حالة عدم توفر رقم هاتفك المطلوب، يرجى زيارة هذه الصفحة للحصول على مزيد من المساعدة.

المتطلبات الأساسية

الحصول على رقم الهاتف

لبدء توفير الأرقام، انتقل إلى مورد Communication Services المُتاحة على مدخل Azure.

تعرض لقطة الشاشة الصفحة الرئيسية لمورد Communication Services.

البحث عن أرقام الهاتف المتوفرة

انتقل إلى شفرة أرقام الهاتف في قائمة الموارد.

تعرض لقطة الشاشة صفحة هاتف مورد خدمات الاتصالات.

اضغط على زر الحصول على لبدء تشغيل المعالج. سيرشدك المعالج الموجود في شفرة أرقام الهواتف من خلال طرح سلسلة من الأسئلة التي تساعدك في اختيار رقم الهاتف الذي يناسب السيناريو.

ستحتاج أولاً إلى اختيار البلد/المنطقة التي ترغب في إتاحة رقم الهاتف فيها. بعد اختيار البلد/المنطقة، ستحتاج بعد ذلك إلى تحديد حالة الاستخدام التي تناسب احتياجاتك بشكل أفضل.

تظهرلقطة الشاشة طريقة الحصول على أرقام الهواتف.

حدد ميزات رقم هاتفك

ينقسم تكوين رقم هاتفك إلى خطوتين:

  1. تحديد نوع الرقم
  2. تحديد إمكانيات الرقم

يمكنك الاختيار من بين نوعين من أرقام الهواتف: محلي، وهاتف مجاني. عند تحديد نوع الرقم، يمكنك اختيار الميزة بعد ذلك.

في مثالنا، اخترنا نوع رقم مجاني باستخدام ميزات إجراء المكالمات وإرسال رسائل SMS وتلقيها.

تعرضلقطة الشاشة طريقة عرض تحديد الميزات.

من هنا، حدد الزر التالي: الأرقام أسفل الصفحة لتخصيص رقم (أرقام) الهاتف الذي ترغب في توفيره.

تخصيص أرقام الهواتف

في صفحة الأرقام، ستقوم بتخصيص رقم الهاتف الذي تريد توفيره.

تعرض لقطة الشاشة صفحة تحديد الأرقام.

إشعار

يُظهر التشغيل السريع تدفق تخصيص نوع الرقم المجاني. قد تختلف التجربة قليلا إذا اخترت نوع "الرقم المحلي "، ولكن ستكون النتيجة النهائية هي نفسها.

اختر رمز المنطقة من قائمة رموز المناطق المتوفرة وأدخل الكمية التي تريد توفيرها، ثم انقر فوق بحث للعثور على أرقام تفي بمتطلباتك المحددة. سيتم عرض أرقام الهواتف التي تلبي احتياجاتك بالإضافة إلى تكلفتها الشهرية.

تعرض لقطة الشاشة صفحة تحديد الأرقام مع الأرقام المحتفظ بها.

إشعار

يعتمد التوفر على نوع الرقم والموقع والميزات التي حددتها. يتم الاحتفاظ بالأرقام لفترة قصيرة قبل انتهاء صلاحية المعاملة. إذا انتهت صلاحية المعاملة، فستحتاج إلى إعادة تحديد الأرقام.

لعرض ملخص الشراء ووضع طلبك، حدد الزر التالي: المُلخص متاحأسفل الصفحة.

شراء أرقام الهواتف

ستراجع صفحة الملخص نوع الرقم والميزات وأرقام الهاتف وإجمالي التكلفة الشهرية لتوفير أرقام الهواتف.

إشعار

تتمثل الأسعار المعروضة في الرسوم الشهرية المتكررة التي تغطي تكلفة تأجير رقم الهاتف المحدد لك. لا يتضمن هذا العرض تكاليف الدفع عند الانتقال التي يتم تكبدها عند إجراء المكالمات أو تلقيها. قوائم الأسعار متوفرة هنا. تعتمد التكاليف على نوع الرقم والوجهات التي يتم طلبها. على سبيل المثال، قد يختلف سعر الدقيقة للمكالمة من رقم سياتل الإقليمي إلى رقم إقليمي في نيويورك ومكالمة من نفس الرقم إلى رقم هاتف محمول في المملكة المتحدة.

وفي النهاية، حدد وضع الترتيب في أسفل الصفحة للتأكيد.

تعرض لقطة الشاشة صفحة الملخص مع نوع الرقم والميزات وأرقام الهاتف وإجمالي التكلفة الشهرية المعروضة.

العثور عن أرقام الهواتف المُتاحة على بوابة Azure

انتقل إلى موردAzure Communication Services المُتاحة على مدخل Azure:

تعرض لقطة الشاشة الصفحة الرئيسية لمورد Communication Services.

حدد شفرة أرقام الهاتف في القائمة لإدارة أرقام هاتفك.

تعرض لقطة الشاشة الصفحة الرئيسية لمورد Communication Services.

إشعار

قد يستغرق الأمر بضع دقائق لعرض الأرقام المتوفرة في هذه الصفحة.

تحديث قدرات أرقام الهاتف

في صفحة أرقام الهاتف، يمكنك تحديد رقم هاتف لتكوينه.

تعرضلقطة الشاشة صفحة ميزات التحديث.

حدد الميزات من الخيارات المتوفرة، ثم انقر فوق حفظ لتطبيق التحديد.

إصدار رقم الهاتف

في صفحة الأرقام، يُمكنك إصدار أرقام الهواتف.

تظهرلقطة الشاشة صفحة أرقام هواتف المراد إصدارها.

حدد رقم الهاتف الذي تريد إصداره ثم حدد زر الإصدار.

هام

هذه الميزة من Azure Communication Services قيد المعاينة حاليا.

يتم توفير واجهات برمجة التطبيقات وSDKs للمعاينة دون اتفاقية على مستوى الخدمة. نوصي بعدم استخدامها لأحمال عمل الإنتاج. قد لا تكون بعض الميزات مدعومة، أو قد تكون لها قدرات مقيدة.

لمزيد من المعلومات، راجع شروط الاستخدام التكميلية لمعاينات Microsoft Azure.

تقدم Azure Communication Services تجربة مستخدم جديدة لشراء أرقام الهواتف. يتم إصدار هذه التجربة حاليا، وقد يتم تعريفك بهذه التجربة عند شراء رقم هاتف في مدخل Microsoft Azure. إذا كانت لديك ملاحظات حول هذه التجربة، فلا تتردد في تقديمها من خلال الزر تقديم الملاحظات على ملحق مدخل Microsoft Azure.

المتطلبات الأساسية

شراء رقم هاتف

  1. انتقل إلى مورد Communication Service في مدخل Microsoft Azure.

    تعرض لقطة الشاشة الصفحة الرئيسية لمورد Communication Services.

  2. في نظرة عامة على موارد Communication Services، حدد الخيار "الهاتف numbers" في القائمة اليسرى.

    لقطة شاشة تعرض صفحة أرقام هواتف مورد Communication Services.

  3. حدد الحصول على أعلى يسار الصفحة لشراء رقم هاتفك. يؤدي تحديد هذا إلى تشغيل معالج التسوق لدينا:

    لقطة شاشة تعرض معالج البحث في عربة التسوق لرقم الهاتف.

  4. اختر البلد/المنطقة التي ترغب في توفير رقم الهاتف فيها. يعتمد توفر البلد على موقع الفوترة لاشتراك Azure الخاص بك. يمكن العثور على مزيد من المعلومات حول الأرقام المتوفرة لكل بلد هنا. بعد ذلك، ستختار نوع الرقم. يمكنك الاختيار من بين نوعين من أرقام الهواتف: محلي، وهاتف مجاني.

  5. حدد بحث لسحب الأرقام التي تفي بالمعايير المحددة. لديك عوامل تصفية مختلفة للبحث عن الرقم الذي يناسب احتياجاتك، بما في ذلك:

    • حالة الاستخدام: هذا يتعلق بما إذا كنت تستخدم هذا الرقم للاتصال من تطبيق (A2P) أو من عامل بشري (P2P).
    • الاتصال: هذا لتحديد إمكانيات الاتصال التي تريدها لرقم هاتفك: إجراء المكالمات و/أو تلقي المكالمات.
    • رسالة نصية قصيرة: هذا لتحديد قدرات الرسائل القصيرة التي ترغب فيها لرقم هاتفك: إرسال و/أو تلقي رسائل SMS.
    • مخصص: يمكنك أيضا إضافة عوامل تصفية مخصصة للحصول على بادئة معينة أو مجموعة من الأرقام في رقم هاتفك.

    لقطة شاشة تعرض صفحة شراء رقم الهاتف مع أرقام الهواتف المتوفرة.

  6. بمجرد العثور على رقم الهاتف أو الأرقام التي تختارها، حدد إضافة إلى عربة التسوق للاحتفاظ بالأرقام في عربة الهتفية. يتم الاحتفاظ بهذه الأرقام لمدة 16 دقيقة قبل مسح سلة التسوق تلقائيا.

    لقطة شاشة تعرض عربة التسوق برقم الهاتف مع رقمي هاتف في السلة.

    إشعار

    تتمثل الأسعار المعروضة في الرسوم الشهرية المتكررة التي تغطي تكلفة تأجير رقم الهاتف المحدد لك. لا يتضمن هذا العرض تكاليف الدفع عند الانتقال التي يتم تكبدها عند إجراء المكالمات أو تلقيها. قوائم الأسعار متوفرة هنا. تعتمد التكاليف على نوع الرقم والوجهات التي يتم طلبها. على سبيل المثال، قد يختلف سعر الدقيقة للمكالمة من رقم سياتل الإقليمي إلى رقم إقليمي في نيويورك ومكالمة من نفس الرقم إلى رقم هاتف محمول في المملكة المتحدة.

  7. حدد التالي لمراجعة عملية الشراء. لإكمال عملية الشراء، حدد شراء الآن.

    لقطة شاشة تعرض رقمي هاتف للمراجعة والشراء.

  8. يمكنك العثور على الأرقام التي تم شراؤها مرة أخرى في صفحة أرقام الهاتف. قد يستغرق توفير الأرقام بضع دقائق.

    لقطة شاشة لصفحة أرقام الهواتف مع أرقام الهواتف التي تم شراؤها حديثا في صندوق بحد أحمر.

تحديث قدرات أرقام الهاتف

في صفحة أرقام الهاتف، يمكنك تحديد رقم هاتف لتكوينه.

تعرضلقطة الشاشة صفحة ميزات التحديث.

حدد الميزات من الخيارات المتوفرة، ثم حدد حفظ لتطبيق التحديد.

إصدار رقم الهاتف

في صفحة الأرقام، يُمكنك إصدار أرقام الهواتف.

تظهرلقطة الشاشة صفحة أرقام هواتف المراد إصدارها.

حدد رقم الهاتف الذي تريد إصداره، ثم حدد على الزر إصدار .

المتطلبات الأساسية

الإعداد

إضافة الملحق

أضف ملحق Azure Communication Services ل Azure CLI باستخدام az extension الأمر .

az extension add --name communication

تسجيل الدخول إلى واجهة سطر الأوامر Azure

ستحتاج إلى تسجيل الدخول إلى Azure CLI. يمكنك تسجيل الدخول لتشغيل az login الأمر من المحطة الطرفية وتوفير بيانات الاعتماد الخاصة بك.

العمليات

قائمة أرقام (أرقام) الهاتف التي تم شراؤها

قم بتشغيل الأمر التالي لاسترداد جميع أرقام الهواتف التي تم شراؤها.

az communication phonenumber list --connection-string "<yourConnectionString>"

قم بإجراء هذا الاستبدال في التعليمات البرمجية:

  • استبدل <yourConnectionString> سلسلة الاتصال الخاص بك.

الحصول على تفاصيل رقم الهاتف الذي تم شراؤه

قم بتشغيل الأمر التالي للحصول على تفاصيل رقم الهاتف لرقم هاتف تم شراؤه.

az communication phonenumber show --phonenumber <purchasedPhoneNumber> --connection-string "<yourConnectionString>"

قم بإجراء هذه الاستبدالات في التعليمات البرمجية:

  • استبدل <purchasedPhoneNumber> برقم هاتف مقترن بمورد Communication Services.
  • استبدل <yourConnectionString> سلسلة الاتصال الخاص بك.

إشعار

يوفر خيار Azure CLI وظائف فقط لإدراج أرقام الهواتف وإظهارها. ولا يدعم عمليات أخرى مثل البحث عن أرقام الهواتف أو شرائها أو تحريرها أو تحريرها.

(اختياري) استخدام عمليات أرقام هواتف Azure CLI دون المرور في سلسلة الاتصال

يمكنك تكوين AZURE_COMMUNICATION_CONNECTION_STRING متغير البيئة لاستخدام عمليات أرقام هواتف Azure CLI دون الحاجة إلى استخدام --connection_string لتمرير سلسلة الاتصال. لتكوين متغير بيئة، افتح إطار وحدة التحكم وحدد نظام التشغيل من علامات التبويب أدناه. استبدل <yourConnectionString> بسلسلة الاتصال الفعلية الخاصة بك.

افتح إطار وحدة التحكم وأدخل الأمر التالي:

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

بعد إضافة متغير البيئة، قد تحتاج إلى إعادة تشغيل أي برامج قيد التشغيل ستحتاج إلى قراءة متغير البيئة، بما في ذلك إطار وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فعد تشغيل Visual Studio قبل تشغيل المثال.

إشعار

ابحث عن التعليمات البرمجية النهائية لهذه البداية السريعة في GitHub.

المتطلبات الأساسية

التحقق من المتطلبات الأساسية

  • في النافذة الطرفية أو نافذة الأوامر، قم بتشغيل dotnet الأمر للتحقق من تثبيت NET client library.

الإعداد

إنشاء تطبيق C# جديد

في نافذة وحدة تحكم (مثل cmd أو PowerShell أو Bash)، استخدم الأمر ⁧dotnet new⁩ لإنشاء تطبيق وحدة تحكم جديد بالاسم ⁧PhoneNumbersQuickstart⁩. هذا الأمر ينشئ مشروع "مرحباً بالعالم" بسيطاً بلغة #C باستخدام ملف مصدر واحد: Program.cs.

dotnet new console -o PhoneNumbersQuickstart

قم بتغيير الدليل الخاص بك إلى مجلد التطبيق الذي تم إنشاؤه حديثًا، واستخدم الأمر dotnet build للتحويل البرمجي لتطبيقك.

cd PhoneNumbersQuickstart
dotnet build

تثبيت الحزمة

أثناء الاستمرار في دليل التطبيق، تثبيت مAzure Communication PhoneNumbers client library for .NET package باستخدام dotnet add package الأمر.

dotnet add package Azure.Communication.PhoneNumbers --version 1.0.0

إضافة using توجيه إلى أعلى البرنامج.cs لتضمين namespaces.

using System;
using System.Linq;
using System.Threading.Tasks;
using Azure.Communication.PhoneNumbers;

تحديث Main توقيع الدالة ليكون متزامناً.

static async Task Main(string[] args)
{
  ...
}

مصادقة العميل

يمكن مصادقة عملاء الهاتف Number باستخدام سلسلة الاتصال الحصول عليها من موارد Azure Communication Services في مدخل Microsoft Azure.

// Get a connection string to our Azure Communication Services resource.
var connectionString = "<connection_string>";
var client = new PhoneNumbersClient(connectionString);

الهاتف العملاء رقم لديهم أيضا خيار المصادقة باستخدام مصادقة Microsoft Entra. مع هذا AZURE_CLIENT_SECRET الخيار، AZURE_CLIENT_ID، ومتغيرات البيئة تحتاج إلى إعدادها AZURE_TENANT_ID للمصادقة.

// Get an endpoint to our Azure Communication Services resource.
var endpoint = new Uri("<endpoint_url>");
TokenCredential tokenCredential = new DefaultAzureCredential();
client = new PhoneNumbersClient(endpoint, tokenCredential);

إدارة أرقام الهاتف

البحث عن أرقام الهواتف المتاحة

من أجل شراء أرقام الهواتف، يجب عليك أولاً البحث عن أرقام الهواتف المتاحة. للبحث عن أرقام الهواتف، أدخل رمز المنطقة ونوع التعيين وإمكانات رقم الهاتفونوع رقم الهاتفوالكمية. لاحظ أنه بالنسبة لنوع رقم الهاتف المجاني، يعد توفير رمز المنطقة أمرًا اختياريًا.

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

شراء أرقام الهواتف

نتيجة البحث عن أرقام الهواتف هي PhoneNumberSearchResult. يحتوي على SearchId والذي يمكن تمريره إلى واجهة برمجة تطبيقات الأرقام الخاصة بالشراء للحصول على الأرقام في البحث. لاحظ أن الاتصال بواجهة برمجة تطبيقات أرقام الهواتف الخاصة بالشراء سيؤدي إلى فرض رسوم على حساب Azure الخاص بك.

var purchaseOperation = await client.StartPurchasePhoneNumbersAsync(searchOperation.Value.SearchId);
await purchaseOperation.WaitForCompletionResponseAsync();

الحصول على رقم (أرقام) الهاتف

بعد شراء الرقم، يمكنك استرداده من العميل.

var getPhoneNumberResponse = await client.GetPurchasedPhoneNumberAsync("+14255550123");
Console.WriteLine($"Phone number: {getPhoneNumberResponse.Value.PhoneNumber}, country code: {getPhoneNumberResponse.Value.CountryCode}");

يمكنك أيضًا استرداد جميع أرقام الهواتف التي تم شراؤها.

var purchasedPhoneNumbers = client.GetPurchasedPhoneNumbersAsync();
await foreach (var purchasedPhoneNumber in purchasedPhoneNumbers)
{
    Console.WriteLine($"Phone number: {purchasedPhoneNumber.PhoneNumber}, country code: {purchasedPhoneNumber.CountryCode}");
}

تحديث قدرات رقم الهاتف

أي رقم تم شراؤه، يمكنك تحديث إمكاناته.

var updateCapabilitiesOperation = await client.StartUpdateCapabilitiesAsync("+14255550123", calling: PhoneNumberCapabilityType.Outbound, sms: PhoneNumberCapabilityType.InboundOutbound);
await updateCapabilitiesOperation.WaitForCompletionAsync();

إصدار رقم الهاتف

يمكنك التخلي عن رقم هاتف تم شراؤه.

var releaseOperation = await client.StartReleasePhoneNumberAsync("+14255550123");
await releaseOperation.WaitForCompletionResponseAsync();

تشغيل التعليمات البرمجية

شغّل التطبيق من دليل تطبيقك باستخدام الأمر dotnet run.

dotnet run

نموذج التعليمات البرمجية

يمكنك تنزيل نموذج التطبيق من GitHub

إشعار

ابحث عن التعليمات البرمجية النهائية لهذه البداية السريعة في GitHub.

المتطلبات الأساسية

الإعداد

إنشاء تطبيق Java جديد

افتح نافذة المحطة الطرفية أو نافذة الأوامر. انتقل إلى الدليل الذي تريد إنشاء تطبيق Java فيه. تشغيل الأمر أدناه لإنشاء مشروع Java من قالب maven-archetype-quickstart.

mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false

ستلاحظ أن المهمة "إنشاء" أعدت دليلاً بنفس اسم artifactId. ضمن هذا الدليل، يحتوي الدليل src/main/java على التعليمة البرمجية المصدر للمشروع، بينما يحتوي src/test/java directory على مصدر الاختبار، أما الملف pom.xml فهو نموذج كائن المشروع أو POM.

تثبيت الحزمة

افتح ملف pom.xml في محرر النص. أضف عناصر التبعية التالية إلى مجموعة التبعيات.

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

إعداد إطار عمل التطبيق

من دليل المشروع:

  1. انتقل إلى دليل /src/main/java/com/communication/quickstart
  2. فتح الملف App.java في المحرر الخاص بك
  3. استبدال System.out.println("Hello world!"); العبارة
  4. أضف توجيهات import

استخدم الكود التالي للبدء:

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
    }
}

مصادقة عميل أرقام الهاتف

تم تمكين الهاتف NumberClientBuilder لاستخدام مصادقة 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();

بدلاً من ذلك، استخدم نقطة النهاية ومفتاح الوصول من مورد الاتصال للمصادقة.

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

إدارة أرقام الهاتف

البحث عن أرقام الهاتف المتوفرة

من أجل شراء أرقام الهواتف، يجب عليك أولاً البحث عن أرقام الهواتف المتاحة. للبحث عن أرقام الهواتف، أدخل رمز المنطقة ونوع التعيين وإمكانات رقم الهاتفونوع رقم الهاتفوالكمية. لاحظ أنه بالنسبة لنوع رقم الهاتف المجاني، يعد توفير رمز المنطقة أمرًا اختياريًا.

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

شراء أرقام الهواتف

نتيجة البحث عن أرقام الهواتف هي PhoneNumberSearchResult. يحتوي على searchId والذي يمكن تمريره إلى واجهة برمجة تطبيقات الأرقام الخاصة بالشراء للحصول على الأرقام في البحث. لاحظ أن الاتصال بواجهة برمجة تطبيقات أرقام الهواتف الخاصة بالشراء سيؤدي إلى فرض رسوم على حساب Azure الخاص بك.

PollResponse<PhoneNumberOperation> purchaseResponse = phoneNumberClient.beginPurchasePhoneNumbers(searchId, Context.NONE).waitForCompletion();
System.out.println("Purchase phone numbers operation is: " + purchaseResponse.getStatus());

رقم (أرقام) الهاتف

بعد شراء الرقم، يمكنك استرداده من العميل.

PurchasedPhoneNumber phoneNumber = phoneNumberClient.getPurchasedPhoneNumber("+14255550123");
System.out.println("Phone Number Country Code: " + phoneNumber.getCountryCode());

يمكنك أيضًا استرداد جميع أرقام الهواتف التي تم شراؤها.

PagedIterable<PurchasedPhoneNumber> phoneNumbers = phoneNumberClient.listPurchasedPhoneNumbers(Context.NONE);
PurchasedPhoneNumber phoneNumber = phoneNumbers.iterator().next();
System.out.println("Phone Number Country Code: " + phoneNumber.getCountryCode());

تحديث قدرات أرقام الهاتف

أي رقم تم شراؤه، يمكنك تحديث إمكاناته.

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
}

إصدار رقم الهاتف

يمكنك التخلي عن رقم هاتف تم شراؤه.

PollResponse<PhoneNumberOperation> releaseResponse =
    phoneNumberClient.beginReleasePhoneNumber("+14255550123", Context.NONE).waitForCompletion();
System.out.println("Release phone number operation is: " + releaseResponse.getStatus());

تشغيل التعليمات البرمجية

انتقل إلى الدليل الذي يحتوي على ملف pom.xml وترجمة المشروع باستخدام mvn الأمر التالي.

mvn compile

ثم قم ببناء الحزمة.

mvn package

قم بتشغيل الأمر التالي mvn لتنفيذ التطبيق.

mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false

يصف إخراج التطبيق كل إجراء يتم إكماله:

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

إشعار

ابحث عن التعليمات البرمجية النهائية لهذه البداية السريعة في GitHub.

المتطلبات الأساسية

الإعداد

إنشاء تطبيق Python جديد

افتح المحطة الطرفية أو نافذة الأوامر لديك، وأنشئ دليلاً جديدًا لتطبيقك، وانتقل إليه.

mkdir phone-numbers-quickstart && cd phone-numbers-quickstart

استخدم محرر نص لإنشاء ملف يسمى phone_numbers_sample.py في دليل جذر المشروع وإضافة التعليمات البرمجية التالية. سنقوم بإضافة رمز التشغيل السريع المتبقي في الأقسام التالية.

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)

تثبيت الحزمة

أثناء وجودك في دليل التطبيق، قم بتثبيت مكتبة عميل إدارة خدمات الاتصال في Azure لحزمة Python باستخدام الأمر pip install.

pip install azure-communication-phonenumbers

مصادقة عميل أرقام الهاتف

PhoneNumbersClient تم تمكين لاستخدام مصادقة Microsoft Entra. DefaultAzureCredential استخدام الكائن هو أسهل طريقة لبدء استخدام معرف Microsoft Entra ويمكنك تثبيته باستخدام pip install الأمر .

pip install azure-identity

يتطلب إنشاء كائن DefaultAzureCredential أن يكون لديك AZURE_CLIENT_ID، AZURE_CLIENT_SECRET، وتعيينه AZURE_TENANT_ID بالفعل كمتغيرات بيئة بقيمها المقابلة من تطبيق Microsoft Entra المسجل.

للحصول على تكثيف سريع حول كيفية الحصول على متغيرات البيئة المذكورة، يمكنك اتباع التشغيل السريع: إعداد مبادئ الخدمة من CLI.

بمجرد تثبيت مكتبة azure-identity، يمكننا متابعة مصادقة العميل.

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)

بدلاً من ذلك، استخدم نقطة النهاية ومفتاح الوصول من مورد الاتصال للمصادقة.

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)

الوظائف

بمجرد مصادقة PhoneNumbersClient، يمكننا البدء في العمل على الوظائف المختلفة التي يمكنه القيام بها.

البحث عن أرقام الهاتف المتوفرة

من أجل شراء أرقام الهواتف، يجب عليك أولاً البحث عن أي أرقام هواتف متوفرة. للبحث عن أرقام الهواتف ، قدم رمز المنطقة ونوع التعيين وإمكانيات رقم الهاتف، ونوع رقم الهاتف، والكمية (تم تعيين الكمية الافتراضية على 1). لاحظ أنه بالنسبة لنوع رقم الهاتف المجاني، يعد توفير رمز المنطقة أمرًا اختياريًا.

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)

شراء أرقام الهواتف

نتيجة البحث عن أرقام الهواتف هي PhoneNumberSearchResult. يحتوي على searchId والذي يمكن تمريره إلى واجهة برمجة تطبيقات الأرقام الخاصة بالشراء للحصول على الأرقام في البحث. لاحظ أن الاتصال بواجهة برمجة تطبيقات أرقام الهواتف الخاصة بالشراء سيؤدي إلى فرض رسوم على حساب 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)

الحصول على رقم (أرقام) الهاتف المشتراة

بعد شراء الرقم، يمكنك استرداده من العميل.

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)

يمكنك أيضًا استرداد جميع أرقام الهواتف التي تم شراؤها.

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)

تحديث قدرات أرقام الهاتف

يمكنك تحديث إمكانات رقم هاتف تم شراؤه مسبقًا.

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

إصدار رقم الهاتف

يمكنك التخلي عن رقم هاتف تم شراؤه.

release_poller = phone_numbers_client.begin_release_phone_number("+18001234567")
release_poller.result()
print('Status of the operation: ' + release_poller.status())

تشغيل التعليمات البرمجية

من موجه وحدة التحكم، انتقل إلى الدليل الذي يحتوي على ملف phone_numbers_sample.py، ثم نفذ أمر Python التالي لتشغيل التطبيق.

python phone_numbers_sample.py

إشعار

ابحث عن التعليمات البرمجية النهائية لهذه البداية السريعة في GitHub.

المتطلبات الأساسية

التحقق من المتطلبات الأساسية

  • في نافذة طرفية أو نافذة أوامر، قم بتشغيل node --version للتحقق من تثبيت Node.js.

الإعداد

إنشاء تطبيق Node.js جديد

أولًا، افتح نافذة طرفية أو نافذة الأوامر الخاصة بك، وأنشئ دليلاً جديدًا لتطبيقك، وانتقل إليه.

mkdir phone-numbers-quickstart && cd phone-numbers-quickstart

قم بتشغيل npm init -y لإنشاء ملف package.json بالإعدادات الافتراضية.

npm init -y

إنشاء ملف يسمى phone-numbers-quickstart.js في جذر الدليل الذي قمت بإنشائه للتو. أضف القصاصة البرمجية التالية إليه:

async function main() {
    // quickstart code will here
}

main();

تثبيت الحزمة

استخدم الأمر npm installلتثبيت مكتبة عميل أرقام هواتف خدمات الاتصال في Azure لـ JavaScript.

npm install @azure/communication-phone-numbers --save

يضيف الخيار --saveالمكتبة كعنصر تبعية في ملفpackage.json الخاص بك.

مصادقة العميل

استيراد PhoneNumbersClient من مكتبة العميل ثم إنشاء مثيل مع سلسلة الاتصال. التعليمة البرمجية أدناه تسترد سلسلة الاتصال للمورد من متغير بيئة يسمى COMMUNICATION_SERVICES_CONNECTION_STRING. تعرف على كيفية إدارة سلسلة اتصال الموارد خاصتك.

إضافة التعليمات البرمجية التالية إلى أعلى 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);

إدارة أرقام الهاتف

البحث عن أرقام الهواتف المتاحة

من أجل شراء أرقام الهواتف، يجب عليك أولاً البحث عن أرقام الهواتف المتاحة. للبحث عن أرقام الهواتف، أدخل رمز المنطقة ونوع التعيين وإمكانات رقم الهاتفونوع رقم الهاتفوالكمية. لاحظ أنه بالنسبة لنوع رقم الهاتف المجاني، يعد توفير رمز المنطقة أمرًا اختياريًا.

أضف القصاصة البرمجية التالية إلى الوظيفة 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}`);

شراء رقم الهاتف

نتيجة البحث عن أرقام الهواتف هي PhoneNumberSearchResult. يحتوي على searchId والذي يمكن تمريره إلى واجهة برمجة تطبيقات الأرقام الخاصة بالشراء للحصول على الأرقام في البحث. لاحظ أن الاتصال بواجهة برمجة تطبيقات أرقام الهواتف الخاصة بالشراء سيؤدي إلى فرض رسوم على حساب Azure الخاص بك.

أضف القصاصة البرمجية التالية إلى الوظيفة main الخاصة بك:

/**
 * Purchase Phone Number
 */

const purchasePoller = await phoneNumbersClient.beginPurchasePhoneNumbers(searchId);

// Purchase is underway.
await purchasePoller.pollUntilDone();
console.log(`Successfully purchased ${phoneNumber}`);

تحديث قدرات رقم الهاتف

بعد شراء رقم هاتف الآن، أضف الرمز التالي لتحديث إمكانياته:

/**
 * 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.");

الحصول على رقم (أرقام) الهاتف المشتراة

بعد شراء الرقم، يمكنك استرداده من العميل. أضف الرمز التالي إلى main الوظيفة الخاصة بك للحصول على رقم الهاتف الذي اشتريته للتو:

/**
 * Get Purchased Phone Number
 */

const { capabilities } = await phoneNumbersClient.getPurchasedPhoneNumber(phoneNumber);
console.log("These capabilities:", capabilities, "should be the same as these:", updateRequest, ".");

يمكنك أيضًا استرداد جميع أرقام الهواتف التي تم شراؤها.

const purchasedPhoneNumbers = await phoneNumbersClient.listPurchasedPhoneNumbers();

for await (const purchasedPhoneNumber of purchasedPhoneNumbers) {
  console.log(`Phone number: ${purchasedPhoneNumber.phoneNumber}, country code: ${purchasedPhoneNumber.countryCode}.`);
}

إصدار رقم الهاتف

يمكنك الآن إصدار رقم الهاتف الذي تم شراؤه. أضف رمز القصاصة البرمجية أدناه إلى main الوظيفة الخاصة بك:

/**
 * Release Purchased Phone Number
 */

const releasePoller = await phoneNumbersClient.beginReleasePhoneNumber(phoneNumber);

// Release is underway.
await releasePoller.pollUntilDone();
console.log("Successfully release phone number.");

تشغيل التعليمات البرمجية

استخدم الأمر node لتشغيل الرمز الذي أضفته إلى ملف phone-number-quickstart.js .

node phone-numbers-quickstart.js

استكشاف الأخطاء وإصلاحها

الأسئلة والمشكلات الشائعة:

  • عند إصدار رقم هاتف، يظهر رقم الهاتف في مورد ACS على مدخل Microsoft Azure حتى نهاية دورة الفوترة. كما لا يمكن إعادة شرائها حتى نهاية دورة الفوترة.

  • عند حذف مورد Communication Services، يتم إصدار أرقام الهواتف المقترنة بهذا المورد تلقائيا في نفس الوقت.

الخطوات التالية

في هذا التشغيل السريع، قد تعلّمت كيفية: