Bandwidth Java Numbers

Java SDK for Bandwidth Numbers

Лицензия

Лицензия

Группа

Группа

com.bandwidth.sdk
Идентификатор

Идентификатор

numbers
Последняя версия

Последняя версия

0.3.0
Дата

Дата

Тип

Тип

jar
Описание

Описание

Bandwidth Java Numbers
Java SDK for Bandwidth Numbers
Ссылка на сайт

Ссылка на сайт

https://github.com/Bandwidth/numbers-java-sdk
Система контроля версий

Система контроля версий

https://github.com/Bandwidth/numbers-java-sdk/tree/master

Скачать numbers

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.bandwidth.sdk/numbers/ -->
<dependency>
    <groupId>com.bandwidth.sdk</groupId>
    <artifactId>numbers</artifactId>
    <version>0.3.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.bandwidth.sdk/numbers/
implementation 'com.bandwidth.sdk:numbers:0.3.0'
// https://jarcasting.com/artifacts/com.bandwidth.sdk/numbers/
implementation ("com.bandwidth.sdk:numbers:0.3.0")
'com.bandwidth.sdk:numbers:jar:0.3.0'
<dependency org="com.bandwidth.sdk" name="numbers" rev="0.3.0">
  <artifact name="numbers" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.bandwidth.sdk', module='numbers', version='0.3.0')
)
libraryDependencies += "com.bandwidth.sdk" % "numbers" % "0.3.0"
[com.bandwidth.sdk/numbers "0.3.0"]

Зависимости

runtime (5)

Идентификатор библиотеки Тип Версия
com.fasterxml.jackson.datatype : jackson-datatype-jdk8 jar 2.8.6
org.asynchttpclient : async-http-client jar 2.6.0
com.google.guava : guava jar 27.0-jre
com.fasterxml.jackson.datatype : jackson-datatype-guava jar 2.9.5
com.fasterxml.jackson.dataformat : jackson-dataformat-xml jar 2.9.4

test (3)

Идентификатор библиотеки Тип Версия
org.assertj : assertj-core jar 3.11.1
org.mockito : mockito-core jar 2.23.0
junit : junit jar 4.12

Модули Проекта

Данный проект не имеет модулей.

Bandwidth Numbers Java SDK

Java SDK for Bandwidth's number management API.

Release Notes

Version Notes
0.3.0 Fixed quantity and tollFreeWildCardPattern for search requests

Dependency

Maven

<dependency>
    <groupId>com.bandwidth.sdk</groupId>
    <artifactId>numbers</artifactId>
    <version>(put desired version here)</version>
</dependency>

Gradle

compile 'com.bandwidth.sdk:numbers:(put desired version here)'

Quick Start

All objects in the SDK follow the Builder pattern for easy construction. To search for and order numbers, construct the relevant request and pass it to the appropriate client method.

Construct the client

Instances of the NumbersClient must be closed, typically on application shutdown to avoid resource leaks. Use the provided close method. The client also implements the AutoClosable interface for convenient use in try-with-resources blocks.

The client builder exposes a configuration method that allows access to the underlying AsyncHttpClient configuration should you want to configure it. See the documentation for that project to see what can be configured.

NumbersClientImpl numbersClient = NumbersClientImpl.builder()
   .account("1")
   .username("username")
   .password("password")
   .build();

// Optionally an AsyncHttpClientConfig may be provided to fine tune settings
NumbersClientImpl numbersClient = NumbersClientImpl.builder()
   .account("1")
   .username("username")
   .password("password")
   .config(
       new DefaultAsyncHttpClientConfig.Builder()
      .setRequestTimeout(60_000)
      .build())
   .build();

Search for available telephone numbers

AvailableNumberSearchRequest availableNumberSearchRequest = AvailableNumberSearchRequest.builder()
   .state("NC")
   .city("CARY")
   .enableTNDetail(false)
   .quantity(10)
   .tollFreeWildCardPattern("8**")
   .build();

SearchResult searchResult = numbersClient.getAvailableTelephoneNumbers(availableNumberSearchRequest);

Place an order for telephone numbers

Placing an order is a synchronous operation that will submit an order request to bandwidth and poll until the order has completed behind the scenes. One invocation may result in several API calls in the background before control returns to the calling thread.

// Each order type has a separate implementation
ExistingTelephoneNumberOrderType existingTelephoneNumberOrderType = ExistingTelephoneNumberOrderType.builder()
   .addTelephoneNumberList("8042994451")
   .build();

// Wrap the order type in an Order wrapper and choose site id and peer for numbers to be associated with
Order order = Order.builder()
   .siteId("1")
   .peerId("500539")
   .existingTelephoneNumberOrderType(existingTelephoneNumberOrderType)
   .build();

OrderResponse orderResponse = numbersClient.orderTelephoneNumbers(order);

Important Links

public class MyAwesomeBandwidthNumbersApp {
    
    public static void main(String[] args) {
       
          try (NumbersClientImpl numbersClient = NumbersClientImpl.builder()
             .account("1")
             .username("username")
             .password("password")
             .build()) {
    
             AvailableNumberSearchRequest availableNumberSearchRequest = AvailableNumberSearchRequest.builder()
                .state("NC")
                .city("CARY")
                .enableTNDetail(false)
                .quantity(10)
                .build();
    
             SearchResult searchResult = numbersClient.getAvailableTelephoneNumbers(availableNumberSearchRequest);
    
             // putting it all together, place an order for numbers returned from a number search
             ExistingTelephoneNumberOrderType existingTelephoneNumberOrderType =
                ExistingTelephoneNumberOrderType.builder()
                   .addAllTelephoneNumberList(searchResult.getTelephoneNumberList())
                   .build();
    
             Order order = Order.builder()
                .siteId("1")
                .peerId("500539")
                .existingTelephoneNumberOrderType(existingTelephoneNumberOrderType)
                .build();
    
             OrderResponse orderResponse = numbersClient.orderTelephoneNumbers(order);
          }
       }
}
com.bandwidth.sdk

Bandwidth

Bandwidth Open Source

Версии библиотеки

Версия
0.3.0
0.2.0
0.1.0