Phone Number Management with Java¶
Manage your ACS phone numbers directly from your Java application using the PhoneNumbersClient.
1. Add Phone Numbers Dependency¶
Include the following in your pom.xml:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-phonenumbers</artifactId>
<version>1.1.0</version>
</dependency>
2. Initialize PhoneNumbersClient¶
import com.azure.communication.phonenumbers.PhoneNumbersClient;
import com.azure.communication.phonenumbers.PhoneNumbersClientBuilder;
String connectionString = System.getenv("COMMUNICATION_SERVICES_CONNECTION_STRING");
PhoneNumbersClient client = new PhoneNumbersClientBuilder()
.connectionString(connectionString)
.buildClient();
3. Search and Purchase a Number¶
This is a multi-step process: search, then purchase using the search ID.
import com.azure.communication.phonenumbers.models.*;
import com.azure.core.util.polling.SyncPoller;
public void purchaseNumber() {
// 1. Search for available numbers
PhoneNumberSearchOptions options = new PhoneNumberSearchOptions()
.setQuantity(1);
SyncPoller<PhoneNumberSearchResult, PhoneNumberSearchResult> poller =
client.beginSearchAvailablePhoneNumbers("US", PhoneNumberType.TOLL_FREE,
PhoneNumberAssignmentType.APPLICATION, PhoneNumberCapabilityType.OUTBOUND, options);
PhoneNumberSearchResult searchResult = poller.getFinalResult();
String searchId = searchResult.getSearchId();
// 2. Purchase the number
SyncPoller<Void, Void> purchasePoller = client.beginPurchasePhoneNumbers(searchId);
purchasePoller.waitForCompletion();
System.out.println("Purchased number: " + searchResult.getPhoneNumbers().get(0));
}
4. List Purchased Numbers¶
public void listNumbers() {
client.listPurchasedPhoneNumbers().forEach(number -> {
System.out.println("Number: " + number.getPhoneNumber());
System.out.println("Capabilities: " + number.getCapabilities());
});
}