/* * Copyright (c) 2023 Vaughn Nugent * * Library: VNLib * Package: Emails.Transactional.Client * File: TransactionResult.cs * * TransactionResult.cs is part of Emails.Transactional.Client which is part of the larger * VNLib collection of libraries and utilities. * * Emails.Transactional.Client is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published * by the Free Software Foundation, either version 2 of the License, * or (at your option) any later version. * * Emails.Transactional.Client is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Emails.Transactional.Client. If not, see http://www.gnu.org/licenses/. */ using System; using System.Collections.Generic; using System.Text.Json.Serialization; using VNLib.Plugins; namespace Emails.Transactional.Client { /// /// A JSON serializable object that contains the results of the transaction /// public class TransactionResult : WebMessage { /// /// The unique identifier for the transaction /// [JsonPropertyName("transaction_id")] public string TransactionId { get; set; } = string.Empty; /// /// The raw SMTP result if SMTP was used /// [JsonPropertyName("smtp_status")] public string? SmtpStatus { get; set; } /// /// A system specific error code /// [JsonPropertyName("error_code")] public string? ErrorCode { get; set; } /// /// A string description of the error /// [JsonPropertyName("error_description")] public string? ErrorDescription { get; set; } /// /// A collection of server validation errors /// [JsonPropertyName("errors")] public ICollection ValidationErrors { get; set; } = Array.Empty(); } }