001/*
002 *   Copyright 2024 Vonage
003 *
004 *   Licensed under the Apache License, Version 2.0 (the "License");
005 *   you may not use this file except in compliance with the License.
006 *   You may obtain a copy of the License at
007 *
008 *        http://www.apache.org/licenses/LICENSE-2.0
009 *
010 *   Unless required by applicable law or agreed to in writing, software
011 *   distributed under the License is distributed on an "AS IS" BASIS,
012 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 *   See the License for the specific language governing permissions and
014 *   limitations under the License.
015 */
016package com.vonage.client.account;
017
018import com.fasterxml.jackson.annotation.JsonProperty;
019import com.vonage.client.Jsonable;
020import com.vonage.client.JsonableBaseObject;
021
022/**
023 * Details of the configured account settings.
024 */
025public class SettingsResponse extends JsonableBaseObject {
026    private String incomingSmsUrl, deliveryReceiptUrl;
027    private Integer maxOutboundMessagesPerSecond, maxInboundMessagesPerSecond, maxApiCallsPerSecond;
028
029    @Deprecated
030    public SettingsResponse() {}
031
032    /**
033     * URL where Vonage will send a webhook when an incoming SMS is received when a
034     * number-specific URL is not configured.
035     *
036     * @return The default URL for inbound SMS webhooks.
037     */
038    @JsonProperty("mo-callback-url")
039    public String getIncomingSmsUrl() {
040        return incomingSmsUrl;
041    }
042
043    /**
044     * URL where Vonage will send a webhook when a delivery receipt is received when a
045     * number-specific URL is not configured.
046     *
047     * @return The default URL for delivery receipt webhooks.
048     */
049    @JsonProperty("dr-callback-url")
050    public String getDeliveryReceiptUrl() {
051        return deliveryReceiptUrl;
052    }
053
054    /**
055     * Maximum number of outbound messages per second for the account.
056     *
057     * @return The maximum number of messages that can be sent per second.
058     */
059    @JsonProperty("max-outbound-request")
060    public Integer getMaxOutboundMessagesPerSecond() {
061        return maxOutboundMessagesPerSecond;
062    }
063
064    /**
065     * Maximum number of inbound messages per second for the account.
066     *
067     * @return The maximum number of messages that can be received per second.
068     */
069    @JsonProperty("max-inbound-request")
070    public Integer getMaxInboundMessagesPerSecond() {
071        return maxInboundMessagesPerSecond;
072    }
073
074    /**
075     * Maximum number of API calls per second for the account.
076     *
077     * @return The maximum number of API calls that can be made per second.
078     */
079    @JsonProperty("max-calls-per-second")
080    public Integer getMaxApiCallsPerSecond() {
081        return maxApiCallsPerSecond;
082    }
083
084    @Deprecated
085    public static SettingsResponse fromJson(String json) {
086        return Jsonable.fromJson(json);
087    }
088}