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; 017 018import com.fasterxml.jackson.annotation.JsonProperty; 019import com.vonage.client.Jsonable; 020import com.vonage.client.JsonableBaseObject; 021import java.util.UUID; 022 023/** 024 * Response returned when sending a message. Regardless of the channel or message type, 025 * the returned response (HTTP 202 payload) is always the same format. 026 */ 027public class MessageResponse extends JsonableBaseObject { 028 protected UUID messageUuid; 029 030 /** 031 * Protected to prevent users from explicitly creating this object. 032 */ 033 protected MessageResponse() { 034 } 035 036 /** 037 * Returns the UUID of the message that was sent. 038 * 039 * @return The unique message ID. 040 */ 041 @JsonProperty("message_uuid") 042 public UUID getMessageUuid() { 043 return messageUuid; 044 } 045 046 /** 047 * Creates an instance of this class from a JSON payload. 048 * 049 * @param json The JSON string to parse. 050 * @return An instance of this class with the fields populated, if present. 051 */ 052 public static MessageResponse fromJson(String json) { 053 return Jsonable.fromJson(json); 054 } 055}