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