All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sinch.sdk.domains.numbers.models.v1.request.AvailableNumberRentAnyRequest Maven / Gradle / Ivy

There is a newer version: 1.4.0
Show newest version
/*
 * Numbers | Sinch
 *
 * OpenAPI document version: 1.0.2
 * Contact: [email protected]
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * Do not edit the class manually.
 */

package com.sinch.sdk.domains.numbers.models.v1.request;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.sinch.sdk.domains.numbers.models.v1.Capability;
import com.sinch.sdk.domains.numbers.models.v1.NumberType;
import com.sinch.sdk.domains.numbers.models.v1.SmsConfiguration;
import com.sinch.sdk.domains.numbers.models.v1.VoiceConfiguration;
import java.util.List;

/**
 * Request message for searching and renting in one go any number that matches the search criteria.
 */
@JsonDeserialize(builder = AvailableNumberRentAnyRequestImpl.Builder.class)
public interface AvailableNumberRentAnyRequest {

  /**
   * Get numberPattern
   *
   * @return numberPattern
   */
  SearchPattern getNumberPattern();

  /**
   * Region code to filter by. ISO 3166-1 alpha-2 country code of the phone number. Example: 
   * US, GB or SE.
   *
   * @return regionCode
   */
  String getRegionCode();

  /**
   * Get type
   *
   * @return type
   */
  NumberType getType();

  /**
   * Number capabilities to filter by, SMS and/or VOICE.
   *
   * @return capabilities
   */
  List getCapabilities();

  /**
   * Get smsConfiguration
   *
   * @return smsConfiguration
   */
  SmsConfiguration getSmsConfiguration();

  /**
   * Get voiceConfiguration
   *
   * @return voiceConfiguration
   */
  VoiceConfiguration getVoiceConfiguration();

  /**
   * The active number's callback URL to be called for provisioning / deprovisioning updates
   *
   * @return callbackUrl
   */
  String getCallbackUrl();

  /**
   * Getting builder
   *
   * @return New Builder instance
   */
  static Builder builder() {
    return new AvailableNumberRentAnyRequestImpl.Builder();
  }

  /** Dedicated Builder */
  interface Builder {

    /**
     * see getter
     *
     * @param numberPattern see getter
     * @return Current builder
     * @see #getNumberPattern
     */
    Builder setNumberPattern(SearchPattern numberPattern);

    /**
     * see getter
     *
     * @param regionCode see getter
     * @return Current builder
     * @see #getRegionCode
     */
    Builder setRegionCode(String regionCode);

    /**
     * see getter
     *
     * @param type see getter
     * @return Current builder
     * @see #getType
     */
    Builder setType(NumberType type);

    /**
     * see getter
     *
     * @param capabilities see getter
     * @return Current builder
     * @see #getCapabilities
     */
    Builder setCapabilities(List capabilities);

    /**
     * see getter
     *
     * @param smsConfiguration see getter
     * @return Current builder
     * @see #getSmsConfiguration
     */
    Builder setSmsConfiguration(SmsConfiguration smsConfiguration);

    /**
     * see getter
     *
     * @param voiceConfiguration see getter
     * @return Current builder
     * @see #getVoiceConfiguration
     */
    Builder setVoiceConfiguration(VoiceConfiguration voiceConfiguration);

    /**
     * see getter
     *
     * @param callbackUrl see getter
     * @return Current builder
     * @see #getCallbackUrl
     */
    Builder setCallbackUrl(String callbackUrl);

    /**
     * Create instance
     *
     * @return The instance build with current builder values
     */
    AvailableNumberRentAnyRequest build();
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy