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.messages.whatsapp;
017
018import com.fasterxml.jackson.annotation.JsonProperty;
019import com.vonage.client.JsonableBaseObject;
020
021/**
022 * Used for inbound interactive messages.
023 *
024 * @since 7.2.0
025 */
026public final class Reply extends JsonableBaseObject {
027        private String id, title, description;
028
029        Reply() {}
030
031        /**
032         * An identifier to help identify the exact interactive message response.
033         *
034         * @return The reply ID.
035         */
036        @JsonProperty("id")
037        public String getId() {
038                return id;
039        }
040
041        /**
042         * The title displayed on the interactive option chosen.
043         *
044         * @return The chosen option's title.
045         */
046        @JsonProperty("title")
047        public String getTitle() {
048                return title;
049        }
050
051        /**
052         * A description that may be added to the interactive options presented (available only on interactive lists).
053         *
054         * @return The description, or {@code null} if not applicable.
055         */
056        @JsonProperty("description")
057        public String getDescription() {
058                return description;
059        }
060}