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

com.sinch.sdk.domains.numbers.models.v1.ActiveNumber 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;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import java.time.Instant;
import java.util.List;

/** The phone number that has been rented by a customer and assigned to a project. */
@JsonDeserialize(builder = ActiveNumberImpl.Builder.class)
public interface ActiveNumber {

  /**
   * The phone number in The phone number in E.164 format with
   * leading +.
   *
   * @return phoneNumber
   */
  String getPhoneNumber();

  /**
   * Project ID. Your project ID can be Found on your Sinch Customer Dashboard.
   *
   * @return projectId
   */
  String getProjectId();

  /**
   * User supplied name for the phone number.
   *
   * @return displayName
   */
  String getDisplayName();

  /**
   * ISO 3166-1 alpha-2 country code of the phone number. Example US, GB
   * or SE.
   *
   * @return regionCode
   * @readOnly This field is returned by the server and cannot be modified
   */
  String getRegionCode();

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

  /**
   * The capability of the number.
   *
   * @return capability
   */
  List getCapability();

  /**
   * Get money
   *
   * @return money
   */
  Money getMoney();

  /**
   * How often the recurring price is charged in months.
   *
   * @return paymentIntervalMonths
   * @readOnly This field is returned by the server and cannot be modified
   */
  Integer getPaymentIntervalMonths();

  /**
   * The date of the next charge.
   *
   * @return nextChargeDate
   * @readOnly This field is returned by the server and cannot be modified
   */
  Instant getNextChargeDate();

  /**
   * The timestamp when the subscription will expire if an expiration date has been set.
   *
   * @return expireAt
   * @readOnly This field is returned by the server and cannot be modified
   */
  Instant getExpireAt();

  /**
   * 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 ActiveNumberImpl.Builder();
  }

  /** Dedicated Builder */
  interface Builder {

    /**
     * see getter
     *
     * @param phoneNumber see getter
     * @return Current builder
     * @see #getPhoneNumber
     */
    Builder setPhoneNumber(String phoneNumber);

    /**
     * see getter
     *
     * @param projectId see getter
     * @return Current builder
     * @see #getProjectId
     */
    Builder setProjectId(String projectId);

    /**
     * see getter
     *
     * @param displayName see getter
     * @return Current builder
     * @see #getDisplayName
     */
    Builder setDisplayName(String displayName);

    /**
     * see getter
     *
     * @param regionCode see getter
     * @return Current builder
     * @see #getRegionCode
     * @readOnly This field is returned by the server and cannot be modified
     */
    Builder setRegionCode(String regionCode);

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

    /**
     * see getter
     *
     * @param capability see getter
     * @return Current builder
     * @see #getCapability
     */
    Builder setCapability(List capability);

    /**
     * see getter
     *
     * @param money see getter
     * @return Current builder
     * @see #getMoney
     */
    Builder setMoney(Money money);

    /**
     * see getter
     *
     * @param paymentIntervalMonths see getter
     * @return Current builder
     * @see #getPaymentIntervalMonths
     * @readOnly This field is returned by the server and cannot be modified
     */
    Builder setPaymentIntervalMonths(Integer paymentIntervalMonths);

    /**
     * see getter
     *
     * @param nextChargeDate see getter
     * @return Current builder
     * @see #getNextChargeDate
     * @readOnly This field is returned by the server and cannot be modified
     */
    Builder setNextChargeDate(Instant nextChargeDate);

    /**
     * see getter
     *
     * @param expireAt see getter
     * @return Current builder
     * @see #getExpireAt
     * @readOnly This field is returned by the server and cannot be modified
     */
    Builder setExpireAt(Instant expireAt);

    /**
     * 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
     */
    ActiveNumber build();
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy