Пример #1
0
def get_new_phonenumber(connection_string):
    try:
        phone_numbers_client = PhoneNumbersClient.from_connection_string(
            connection_string)
        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 = search_poller.result()

        purchase_poller = phone_numbers_client.begin_purchase_phone_numbers(
            search_result.search_id, polling=True)
        purchase_poller.result()
        if(purchase_poller.status() == 'succeeded'):
            phone_number_list = search_result.phone_numbers
            for phone_number in phone_number_list:
                return phone_number

    except Exception as ex:
        return TEST_RECIPIENT_PHONENUMBER_DEFAULT
 async def test_purchase_phone_numbers_from_managed_identity(self):
     endpoint, access_key = parse_connection_str(self.connection_str)
     credential = create_token_credential()
     phone_number_client = PhoneNumbersClient(
         endpoint,
         credential,
         http_logging_policy=get_http_logging_policy())
     capabilities = PhoneNumberCapabilities(
         calling=PhoneNumberCapabilityType.INBOUND,
         sms=PhoneNumberCapabilityType.INBOUND_OUTBOUND)
     async with phone_number_client:
         search_poller = await phone_number_client.begin_search_available_phone_numbers(
             self.country_code,
             PhoneNumberType.TOLL_FREE,
             PhoneNumberAssignmentType.APPLICATION,
             capabilities,
             polling=True)
         phone_number_to_buy = await search_poller.result()
         purchase_poller = await phone_number_client.begin_purchase_phone_numbers(
             phone_number_to_buy.search_id, polling=True)
         await purchase_poller.result()
         release_poller = await phone_number_client.begin_release_phone_number(
             phone_number_to_buy.phone_numbers[0])
     assert release_poller.status(
     ) == PhoneNumberOperationStatus.SUCCEEDED.value
def search_available_phone_numbers():
    capabilities = PhoneNumberCapabilities(
        calling=PhoneNumberCapabilityType.INBOUND,
        sms=PhoneNumberCapabilityType.INBOUND_OUTBOUND)
    poller = phone_numbers_client.begin_search_available_phone_numbers(
        "US",
        PhoneNumberType.TOLL_FREE,
        PhoneNumberAssignmentType.APPLICATION,
        capabilities,
        polling=True)
    print('Acquired phone numbers: ' + poller.result())
Пример #4
0
 def test_search_available_phone_numbers(self):
     capabilities = PhoneNumberCapabilities(
         calling=PhoneNumberCapabilityType.INBOUND,
         sms=PhoneNumberCapabilityType.INBOUND_OUTBOUND)
     poller = self.phone_number_client.begin_search_available_phone_numbers(
         self.country_code,
         PhoneNumberType.TOLL_FREE,
         PhoneNumberAssignmentType.APPLICATION,
         capabilities,
         polling=True)
     assert poller.result()
Пример #5
0
    def test_search_available_phone_numbers_with_invalid_country_code(self):
        capabilities = PhoneNumberCapabilities(
            calling=PhoneNumberCapabilityType.INBOUND,
            sms=PhoneNumberCapabilityType.INBOUND_OUTBOUND)

        with pytest.raises(Exception) as ex:
            self.phone_number_client.begin_search_available_phone_numbers(
                "XX",
                PhoneNumberType.TOLL_FREE,
                PhoneNumberAssignmentType.APPLICATION,
                capabilities,
                polling=True)
 async def test_search_available_phone_numbers_from_managed_identity(self):
     phone_number_client = self._get_managed_identity_phone_number_client()
     capabilities = PhoneNumberCapabilities(
         calling=PhoneNumberCapabilityType.INBOUND,
         sms=PhoneNumberCapabilityType.INBOUND_OUTBOUND)
     async with phone_number_client:
         poller = await phone_number_client.begin_search_available_phone_numbers(
             self.country_code,
             PhoneNumberType.TOLL_FREE,
             PhoneNumberAssignmentType.APPLICATION,
             capabilities,
             polling=True)
     assert poller.result()
Пример #7
0
 def test_search_available_phone_numbers_from_managed_identity(self):
     endpoint, access_key = parse_connection_str(self.connection_str)
     credential = create_token_credential()
     phone_number_client = PhoneNumbersClient(endpoint, credential)
     capabilities = PhoneNumberCapabilities(
         calling=PhoneNumberCapabilityType.INBOUND,
         sms=PhoneNumberCapabilityType.INBOUND_OUTBOUND)
     poller = phone_number_client.begin_search_available_phone_numbers(
         self.country_code,
         PhoneNumberType.TOLL_FREE,
         PhoneNumberAssignmentType.APPLICATION,
         capabilities,
         polling=True)
     assert poller.result()
Пример #8
0
def search_available_phone_numbers():
    capabilities = PhoneNumberCapabilities(
        calling=PhoneNumberCapabilityType.INBOUND,
        sms=PhoneNumberCapabilityType.INBOUND_OUTBOUND)
    poller = phone_numbers_client.begin_search_available_phone_numbers(
        "US",
        PhoneNumberType.TOLL_FREE,
        PhoneNumberAssignmentType.APPLICATION,
        capabilities,
        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)
 def test_purchase_phone_numbers(self):
     capabilities = PhoneNumberCapabilities(
         calling = PhoneNumberCapabilityType.INBOUND,
         sms = PhoneNumberCapabilityType.INBOUND_OUTBOUND
     )
     search_poller = self.phone_number_client.begin_search_available_phone_numbers(
         self.country_code,
         PhoneNumberType.TOLL_FREE,
         PhoneNumberAssignmentType.APPLICATION,
         capabilities,
         polling = True
     )
     phone_number_to_buy = search_poller.result()
     purchase_poller = self.phone_number_client.begin_purchase_phone_numbers(phone_number_to_buy.search_id, polling=True)
     purchase_poller.result()
     release_poller = self.phone_number_client.begin_release_phone_number(phone_number_to_buy.phone_numbers[0])
     assert release_poller.status() == PhoneNumberOperationStatus.SUCCEEDED.value
Пример #10
0
 async def test_purchase_phone_numbers(self):
     capabilities = PhoneNumberCapabilities(
         calling=PhoneNumberCapabilityType.INBOUND,
         sms=PhoneNumberCapabilityType.INBOUND_OUTBOUND)
     async with self.phone_number_client:
         search_poller = await self.phone_number_client.begin_search_available_phone_numbers(
             self.country_code,
             PhoneNumberType.TOLL_FREE,
             PhoneNumberAssignmentType.APPLICATION,
             capabilities,
             polling=True)
         phone_number_to_buy = await search_poller.result()
         purchase_poller = await self.phone_number_client.begin_purchase_phone_numbers(
             phone_number_to_buy.search_id, polling=True)
         await purchase_poller.result()
         release_poller = await self.phone_number_client.begin_release_phone_number(
             phone_number_to_buy.phone_numbers[0])
     assert release_poller.status() == 'succeeded'
 async def test_purchase_phone_numbers_from_managed_identity(self):
     phone_number_client = self._get_managed_identity_phone_number_client()
     capabilities = PhoneNumberCapabilities(
         calling=PhoneNumberCapabilityType.INBOUND,
         sms=PhoneNumberCapabilityType.INBOUND_OUTBOUND)
     async with phone_number_client:
         search_poller = await phone_number_client.begin_search_available_phone_numbers(
             self.country_code,
             PhoneNumberType.TOLL_FREE,
             PhoneNumberAssignmentType.APPLICATION,
             capabilities,
             polling=True)
         phone_number_to_buy = await search_poller.result()
         purchase_poller = await phone_number_client.begin_purchase_phone_numbers(
             phone_number_to_buy.search_id, polling=True)
         await purchase_poller.result()
         release_poller = await phone_number_client.begin_release_phone_number(
             phone_number_to_buy.phone_numbers[0])
     assert release_poller.status(
     ) == PhoneNumberOperationStatus.SUCCEEDED.value
import os
from azure.communication.phonenumbers import PhoneNumbersClient, PhoneNumberCapabilityType, PhoneNumberAssignmentType, PhoneNumberType, PhoneNumberCapabilities

connection_string = 'https://<RESOURCE_NAME>.communication.azure.com/;accesskey=<YOUR_ACCESS_KEY>'
try:
    print('Azure Communication Services - Phone Numbers Quickstart')

    #Initializing phone number client
    phone_numbers_client = PhoneNumbersClient.from_connection_string(
        connection_string)

    capabilities = PhoneNumberCapabilities(
        calling=PhoneNumberCapabilityType.INBOUND,
        sms=PhoneNumberCapabilityType.INBOUND_OUTBOUND)

    #Search available phone numbers
    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
    phone_number = phone_number_list[0:1]

    print('Reserved phone numbers:')
    for phone_number in phone_number_list:
        print(phone_number)