diff --git a/EasyPost/Models/API/Address.cs b/EasyPost/Models/API/Address.cs
index d476dfcac..6456d4089 100644
--- a/EasyPost/Models/API/Address.cs
+++ b/EasyPost/Models/API/Address.cs
@@ -10,66 +10,154 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost address.
+ ///
public class Address : EasyPostObject, IAddressParameter
{
#region JSON Properties
+ ///
+ /// The specific designation for the address (only relevant if the address is a carrier facility).
+ ///
[JsonProperty("carrier_facility")]
public string? CarrierFacility { get; set; }
+
+ ///
+ /// The city the address is located in.
+ ///
[JsonProperty("city")]
public string? City { get; set; }
+
+ ///
+ /// The name of the company.
+ ///
[JsonProperty("company")]
public string? Company { get; set; }
+
+ ///
+ /// The ISO 3166 code of the country the address is located in.
+ ///
[JsonProperty("country")]
public string? Country { get; set; }
+
+ ///
+ /// The email address of the person or organization.
+ ///
[JsonProperty("email")]
public string? Email { get; set; }
+
+ ///
+ /// Potential error encountered while processing the address.
+ ///
[JsonProperty("error")]
public string? Error { get; set; }
+
+ ///
+ /// The federal tax ID of the person or organization.
+ ///
[JsonProperty("federal_tax_id")]
public string? FederalTaxId { get; set; }
+
+ ///
+ /// A human-readable message for any errors that occurred during the address's life cycle.
+ ///
[JsonProperty("message")]
public string? Message { get; set; }
+
+ ///
+ /// The name of the person or organization.
+ ///
[JsonProperty("name")]
public string? Name { get; set; }
+
+ ///
+ /// The phone number of the person or organization.
+ ///
[JsonProperty("phone")]
public string? Phone { get; set; }
+
+ ///
+ /// Whether the address is a residential address.
+ ///
[JsonProperty("residential")]
public bool? Residential { get; set; }
+
+ ///
+ /// The state the address is located in.
+ ///
[JsonProperty("state")]
public string? State { get; set; }
+ ///
+ /// The state tax ID of the person or organization.
+ ///
[JsonProperty("state_tax_id")]
public string? StateTaxId { get; set; }
+
+ ///
+ /// The first line of the street address.
+ ///
[JsonProperty("street1")]
public string? Street1 { get; set; }
+
+ ///
+ /// The second line of the street address.
+ ///
[JsonProperty("street2")]
public string? Street2 { get; set; }
+
+ ///
+ /// The result of any verifications.
+ ///
[JsonProperty("verifications")]
public Verifications? Verifications { get; set; }
+
+ ///
+ /// The zip code the address is located in.
+ ///
[JsonProperty("zip")]
public string? Zip { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Address()
{
}
}
+ ///
+ /// Class representing a collection of EasyPost es.
+ ///
public class AddressCollection : PaginatedCollection
{
#region JSON Properties
+ ///
+ /// The es in the collection.
+ ///
[JsonProperty("addresses")]
public List? Addresses { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal AddressCollection()
{
}
+ ///
+ /// Construct the parameter set for retrieving the next page of this paginated collection.
+ ///
+ /// The entries on the current page of this paginated collection.
+ /// The request size of the next page.
+ /// The type of parameters to construct.
+ /// A TParameters-type parameters set.
protected internal override TParameters BuildNextPageParameters(IEnumerable entries, int? pageSize = null)
{
BetaFeatures.Parameters.Addresses.All parameters = Filters != null ? (BetaFeatures.Parameters.Addresses.All)Filters : new BetaFeatures.Parameters.Addresses.All();
diff --git a/EasyPost/Models/API/ApiKey.cs b/EasyPost/Models/API/ApiKey.cs
index 69f570bf3..3b14b920d 100644
--- a/EasyPost/Models/API/ApiKey.cs
+++ b/EasyPost/Models/API/ApiKey.cs
@@ -4,32 +4,53 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost API key.
+ ///
public class ApiKey : EasyPostObject
{
#region JSON Properties
+ ///
+ /// The actual key value to use for authentication.
+ ///
[JsonProperty("key")]
public string? Key { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal ApiKey()
{
}
}
+ ///
+ /// Class representing a collection of EasyPost s.
+ ///
public class ApiKeyCollection : EasyPostObject
{
#region JSON Properties
+ ///
+ /// A list of all child user's API keys.
+ ///
[JsonProperty("children")]
public List? Children { get; set; }
+ ///
+ /// A lis of all API keys active for the current user's account.
+ ///
[JsonProperty("keys")]
public List? Keys { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal ApiKeyCollection()
{
}
diff --git a/EasyPost/Models/API/Batch.cs b/EasyPost/Models/API/Batch.cs
index 8623c2bba..2874ca369 100644
--- a/EasyPost/Models/API/Batch.cs
+++ b/EasyPost/Models/API/Batch.cs
@@ -10,49 +10,122 @@
namespace EasyPost.Models.API
{
- public class Batch : EasyPostObject, IBatchParameter
+ ///
+ /// Class representing an EasyPost batch.
+ ///
+ public class Batch : EasyPostObject
{
#region JSON Properties
+ ///
+ /// Potential error encountered while processing the batch.
+ ///
[JsonProperty("error")]
public string? Error { get; set; }
+
+ ///
+ /// The URL of the label image.
+ ///
[JsonProperty("label_url")]
public string? LabelUrl { get; set; }
+
+ ///
+ /// A human-readable message for any errors that occurred during the batch's life cycle.
+ ///
[JsonProperty("message")]
public string? Message { get; set; }
+
+ ///
+ /// The number of shipments in the batch.
+ ///
[JsonProperty("num_shipments")]
public int? NumShipments { get; set; }
+
+ ///
+ /// An optional field that may be used in place of ID in some API endpoints.
+ ///
[JsonProperty("reference")]
public string? Reference { get; set; }
+
+ ///
+ /// The associated with the batch.
+ ///
[JsonProperty("scan_form")]
public ScanForm? ScanForm { get; set; }
+
+ ///
+ /// The s associated with the batch.
+ ///
[JsonProperty("shipments")]
public List? Shipments { get; set; }
+
+ ///
+ /// The current state of the batch.
+ /// Possible values include: "creating", "creation_failed", "created", "purchasing", "purchase_failed", "purchased", "label_generating" and "label_generated".
+ ///
[JsonProperty("state")]
public string? State { get; set; }
+
+ ///
+ /// A dictionary of statuses and their counts.
+ /// Valid statuses are:
+ ///
+ /// -
+ /// "postage_purchased"
+ ///
+ /// -
+ /// "postage_purchase_failed"
+ ///
+ /// -
+ /// "queued_for_purchase"
+ ///
+ /// -
+ /// "creation_failed"
+ ///
+ ///
+ ///
[JsonProperty("status")]
public Dictionary? Status { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Batch()
{
}
}
+ ///
+ /// Class representing a collection of EasyPost es.
+ ///
public class BatchCollection : PaginatedCollection
{
#region JSON Properties
+ ///
+ /// The es in the collection.
+ ///
[JsonProperty("batches")]
public List? Batches { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal BatchCollection()
{
}
+ ///
+ /// Construct the parameter set for retrieving the next page of this paginated collection.
+ ///
+ /// The entries on the current page of this paginated collection.
+ /// The request size of the next page.
+ /// The type of parameters to construct.
+ /// A TParameters-type parameters set.
protected internal override TParameters BuildNextPageParameters(IEnumerable entries, int? pageSize = null)
{
BetaFeatures.Parameters.Shipments.All parameters = Filters != null ? (BetaFeatures.Parameters.Shipments.All)Filters : new BetaFeatures.Parameters.Shipments.All();
diff --git a/EasyPost/Models/API/BatchShipment.cs b/EasyPost/Models/API/BatchShipment.cs
index dbb44af1a..e30c0bdb7 100644
--- a/EasyPost/Models/API/BatchShipment.cs
+++ b/EasyPost/Models/API/BatchShipment.cs
@@ -3,19 +3,51 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost batch shipment.
+ ///
public class BatchShipment : EasyPostObject
{
#region JSON Properties
+ ///
+ /// A human-readable message for any errors that occurred during the batch shipment's life cycle.
+ ///
[JsonProperty("batch_message")]
public string? BatchMessage { get; set; }
+
+ ///
+ /// The current state of the batch shipment.
+ /// Valid statuses are:
+ ///
+ /// -
+ /// "postage_purchased"
+ ///
+ /// -
+ /// "postage_purchase_failed"
+ ///
+ /// -
+ /// "queued_for_purchase"
+ ///
+ /// -
+ /// "creation_failed"
+ ///
+ ///
+ ///
[JsonProperty("batch_status")]
public string? BatchStatus { get; set; }
+
+ ///
+ /// The tracking code associated with the batch shipment.
+ ///
[JsonProperty("tracking_code")]
public string? TrackingCode { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal BatchShipment()
{
}
diff --git a/EasyPost/Models/API/Beta/CarrierMetadata.cs b/EasyPost/Models/API/Beta/CarrierMetadata.cs
index 65eb2a60d..3d1c9d751 100644
--- a/EasyPost/Models/API/Beta/CarrierMetadata.cs
+++ b/EasyPost/Models/API/Beta/CarrierMetadata.cs
@@ -5,6 +5,9 @@
namespace EasyPost.Models.API.Beta
{
#pragma warning disable CA1724 // Naming conflicts with Parameters.Beta.CarrierMetadata
+ ///
+ /// Class representing an EasyPost carrier metadata summary.
+ ///
public class CarrierMetadata
{
#region JSON Properties
@@ -16,6 +19,9 @@ public class CarrierMetadata
}
#pragma warning restore CA1724 // Naming conflicts with Parameters.Beta.CarrierMetadata
+ ///
+ /// Class representing a carrier in a EasyPost carrier metadata summary.
+ ///
public class Carrier
{
#region JSON Properties
@@ -41,6 +47,9 @@ public class Carrier
#endregion
}
+ ///
+ /// Class representing a predefined package in a EasyPost carrier metadata summary.
+ ///
public class PredefinedPackage
{
#region JSON Properties
@@ -66,6 +75,9 @@ public class PredefinedPackage
#endregion
}
+ ///
+ /// Class representing a service level in a EasyPost carrier metadata summary.
+ ///
public class ServiceLevel
{
#region JSON Properties
@@ -91,6 +103,9 @@ public class ServiceLevel
#endregion
}
+ ///
+ /// Class representing a shipment option in a EasyPost carrier metadata summary.
+ ///
public class ShipmentOption
{
#region JSON Properties
@@ -116,6 +131,9 @@ public class ShipmentOption
#endregion
}
+ ///
+ /// Class representing a supported feature in a EasyPost carrier metadata summary.
+ ///
public class SupportedFeature
{
#region JSON Properties
diff --git a/EasyPost/Models/API/Beta/PaymentRefund.cs b/EasyPost/Models/API/Beta/PaymentRefund.cs
index c02a6cf3d..6c1406309 100644
--- a/EasyPost/Models/API/Beta/PaymentRefund.cs
+++ b/EasyPost/Models/API/Beta/PaymentRefund.cs
@@ -4,25 +4,49 @@
namespace EasyPost.Models.API.Beta
{
+ ///
+ /// Class representing an EasyPost payment refund.
+ ///
public class PaymentRefund : EasyPostObject
{
#region JSON Properties
+ ///
+ /// The amount of the refund, in the associated currency and units (e.g. cents).
+ ///
[JsonProperty("refunded_amount")]
public int? RefundedAmount { get; set; }
+ ///
+ /// The currency of the refund. Defaults to USD.
+ ///
// ReSharper disable once StringLiteralTypo
[JsonProperty("refunded_amount_currencys")]
public string? RefundedAmountCurrencies { get; set; }
+
+ ///
+ /// The IDs of the logs of the payments being refunded.
+ ///
[JsonProperty("refunded_payment_logs")]
public List? RefundedPaymentLogIds { get; set; }
+
+ ///
+ /// The ID of the new payment log created for the refund.
+ ///
[JsonProperty("payment_log_id")]
public string? PaymentLogId { get; set; }
+
+ ///
+ /// A list of s encountered while processing the refund.
+ ///
[JsonProperty("errors")]
public List? Errors { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal PaymentRefund()
{
}
diff --git a/EasyPost/Models/API/Beta/StatelessRate.cs b/EasyPost/Models/API/Beta/StatelessRate.cs
index 16a7a69d6..c88c40ad1 100644
--- a/EasyPost/Models/API/Beta/StatelessRate.cs
+++ b/EasyPost/Models/API/Beta/StatelessRate.cs
@@ -4,6 +4,9 @@
namespace EasyPost.Models.API.Beta
{
+ ///
+ /// Class representing an EasyPost stateless rate.
+ ///
public class StatelessRate : EphemeralEasyPostObject
{
#region JSON Properties
diff --git a/EasyPost/Models/API/Brand.cs b/EasyPost/Models/API/Brand.cs
index 3249f5b19..003d53e85 100644
--- a/EasyPost/Models/API/Brand.cs
+++ b/EasyPost/Models/API/Brand.cs
@@ -3,31 +3,74 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost brand.
+ ///
public class Brand : EasyPostObject
{
#region JSON Properties
+ ///
+ /// A base64-encoded string for a PNG, JPEG, GIF or SVG image.
+ ///
[JsonProperty("ad")]
public string? Ad { get; set; }
+
+ ///
+ /// A URL to link to when the ad is clicked.
+ /// Maximum length is 255 characters.
+ ///
[JsonProperty("ad_href")]
public string? AdHref { get; set; }
+
+ ///
+ /// A hex code for the background color of the brand.
+ ///
[JsonProperty("background_color")]
public string? BackgroundColor { get; set; }
+
+ ///
+ /// A hex code for the color of the brand.
+ ///
[JsonProperty("color")]
public string? Color { get; set; }
+
+ ///
+ /// A base64-encoded string for a PNG, JPEG, GIF or SVG image.
+ ///
[JsonProperty("logo")]
public string? Logo { get; set; }
+
+ ///
+ /// A URL to link to when the logo is clicked.
+ ///
[JsonProperty("logo_href")]
public string? LogoHref { get; set; }
+
+ ///
+ /// The name of the brand associated with the .
+ ///
[JsonProperty("name")]
public string? Name { get; set; }
+
+ ///
+ /// A name to store this brand preset as.
+ /// Either "theme1" or "theme2".
+ ///
[JsonProperty("theme")]
public string? Theme { get; set; }
+
+ ///
+ /// The ID of the associated with this brand.
+ ///
[JsonProperty("user_id")]
public string? UserId { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Brand()
{
}
diff --git a/EasyPost/Models/API/CarbonOffset.cs b/EasyPost/Models/API/CarbonOffset.cs
index 175bab354..3100a4f34 100644
--- a/EasyPost/Models/API/CarbonOffset.cs
+++ b/EasyPost/Models/API/CarbonOffset.cs
@@ -3,19 +3,37 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost carbon offset object.
+ ///
public class CarbonOffset : EasyPostObject
{
#region JSON Properties
+ ///
+ /// The currency of the price.
+ /// Currently only "USD" is supported.
+ ///
[JsonProperty("currency")]
public string? Currency { get; set; }
+
+ ///
+ /// The estimated amount of carbon grams emitted by the shipment.
+ ///
[JsonProperty("grams")]
public int? Grams { get; set; }
+
+ ///
+ /// The price to offset the .
+ ///
[JsonProperty("price")]
public string? Price { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal CarbonOffset()
{
}
diff --git a/EasyPost/Models/API/CarrierAccount.cs b/EasyPost/Models/API/CarrierAccount.cs
index c5f29a9b4..0177d7423 100644
--- a/EasyPost/Models/API/CarrierAccount.cs
+++ b/EasyPost/Models/API/CarrierAccount.cs
@@ -9,28 +9,73 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost carrier account.
+ ///
public class CarrierAccount : EasyPostObject, ICarrierAccountParameter
{
#region JSON Properties
+ ///
+ /// The type of billing used by the carrier account.
+ ///
[JsonProperty("billing_type")]
public string? BillingType { get; set; }
+
+ ///
+ /// Only the reference and description are possible to update if set to true.
+ ///
+ [JsonProperty("clone")]
+ public bool? Clone { get; set; }
+
+ ///
+ /// The raw credential pairs for client library consumption.
+ ///
[JsonProperty("credentials")]
public Dictionary? Credentials { get; set; }
+
+ ///
+ /// An optional, human-readable description of the carrier account.
+ ///
[JsonProperty("description")]
public string? Description { get; set; }
+
+ ///
+ /// Expanded credential fields.
+ ///
+ [JsonProperty("fields")]
+ public CarrierFields? Fields { get; set; }
+
+ ///
+ /// The name used when displaying a readable value for the type of the carrier account.
+ ///
[JsonProperty("readable")]
public string? Readable { get; set; }
+
+ ///
+ /// An optional field that may be used in place of ID in some API endpoints.
+ ///
[JsonProperty("reference")]
public string? Reference { get; set; }
+
+ ///
+ /// The raw test credential pairs for client library consumption.
+ ///
[JsonProperty("test_credentials")]
[SuppressMessage("ReSharper", "InconsistentNaming", Justification = "TestCredentials is the correct name for this property")]
public Dictionary? TestCredentials { get; set; }
+
+ ///
+ /// The name of the carrier account type.
+ ///
[JsonProperty("type")]
public string? Type { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal CarrierAccount()
{
}
diff --git a/EasyPost/Models/API/CarrierDetail.cs b/EasyPost/Models/API/CarrierDetail.cs
index 24f972cc4..8efa376c0 100644
--- a/EasyPost/Models/API/CarrierDetail.cs
+++ b/EasyPost/Models/API/CarrierDetail.cs
@@ -4,31 +4,84 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost 's carrier details.
+ ///
public class CarrierDetail : EasyPostObject
{
#region JSON Properties
+ ///
+ /// The alternate identifier for the package, as provided by the carrier.
+ ///
[JsonProperty("alternate_identifier")]
public string? AlternateIdentifier { get; set; }
+
+ ///
+ /// The type of container the associated was shipped in.
+ ///
[JsonProperty("container_type")]
public string? ContainerType { get; set; }
+
+ ///
+ /// The location to which the package is being sent, represented as a string for presentation purposes.
+ ///
[JsonProperty("destination_location")]
public string? DestinationLocation { get; set; }
+
+ ///
+ /// The location to which the package is being sent.
+ ///
+ [JsonProperty("destination_tracking_location")]
+ public TrackingLocation? DestinationTrackingLocation { get; set; }
+
+ ///
+ /// The estimated delivery date, as provided by the carrier, in the local time zone.
+ ///
[JsonProperty("est_delivery_date_local")]
public string? EstDeliveryDateLocal { get; set; }
+
+ ///
+ /// The estimated delivery time, as provided by the carrier, in the local time zone.
+ ///
[JsonProperty("est_delivery_time_local")]
public string? EstDeliveryTimeLocal { get; set; }
+
+ ///
+ /// The date and time the carrier guarantees the package to be delivered by.
+ ///
[JsonProperty("guaranteed_delivery_date")]
public DateTime? GuaranteedDeliveryDate { get; set; }
+
+ ///
+ /// The date and time of the first attempt by the carrier to deliver the package.
+ ///
[JsonProperty("initial_delivery_attempt")]
public DateTime? InitialDeliveryAttempt { get; set; }
+
+ ///
+ /// The location from which package originated, represented as a string for presentation purposes.
+ ///
[JsonProperty("origin_location")]
public string? OriginLocation { get; set; }
+
+ ///
+ /// The location from which package originated.
+ ///
+ [JsonProperty("origin_tracking_location")]
+ public TrackingLocation? OriginTrackingLocation { get; set; }
+
+ ///
+ /// The service level the associated was shipped with.
+ ///
[JsonProperty("service")]
public string? Service { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal CarrierDetail()
{
}
diff --git a/EasyPost/Models/API/CarrierFields.cs b/EasyPost/Models/API/CarrierFields.cs
new file mode 100644
index 000000000..1a473c796
--- /dev/null
+++ b/EasyPost/Models/API/CarrierFields.cs
@@ -0,0 +1,80 @@
+using EasyPost._base;
+using Newtonsoft.Json;
+
+namespace EasyPost.Models.API
+{
+ ///
+ /// Class representing an EasyPost 's credentials.
+ ///
+ public class CarrierFields : EasyPostObject
+ {
+ #region JSON Properties
+
+ ///
+ /// The credentials used in the production environment.
+ ///
+ [JsonProperty("credentials")]
+ public CarrierField? Credentials { get; set; }
+
+ ///
+ /// The credentials used in the test environment.
+ ///
+ [JsonProperty("test_credentials")]
+#pragma warning disable SA1515
+ // ReSharper disable once InconsistentNaming
+#pragma warning restore SA1515
+ public CarrierField? TestCredentials { get; set; }
+
+ ///
+ /// For USPS, this designates that no credentials are required.
+ ///
+ [JsonProperty("auto_link")]
+ public bool? AutoLink { get; set; }
+
+ ///
+ /// When true, a separate authentication process will be required through the UI to link this account type.
+ ///
+ [JsonProperty("custom_workflow")]
+ public bool? CustomWorkflow { get; set; }
+
+ #endregion
+ }
+
+ ///
+ /// Class representing a single EasyPost 's credentials entry details.
+ ///
+ public class CarrierField : EasyPostObject
+ {
+ #region JSON Properties
+
+ ///
+ /// The key of the field.
+ ///
+ [JsonProperty("key")]
+ public string? Key { get; set; }
+
+ ///
+ /// The visibility value is used to control form field types.
+ /// See for more details.
+ ///
+ [JsonProperty("visibility")]
+ public string? Visibility { get; set; }
+
+ ///
+ /// The label value is used in form rendering to display a more precise name for the field.
+ /// Possible values include: "visible", "checkbox", "fake", "password" and "masked".
+ ///
+ [JsonProperty("label")]
+ public string? Label { get; set; }
+
+ ///
+ /// The value of the field.
+ /// Checkbox fields use "0" and "1" as false and true, respectively.
+ /// All other field types present plaintext, partially-masked or fully-masked credential data for reference.
+ ///
+ [JsonProperty("value")]
+ public string? Value { get; set; }
+
+ #endregion
+ }
+}
diff --git a/EasyPost/Models/API/CarrierType.cs b/EasyPost/Models/API/CarrierType.cs
index b7b6405a8..4a154fbe0 100644
--- a/EasyPost/Models/API/CarrierType.cs
+++ b/EasyPost/Models/API/CarrierType.cs
@@ -4,21 +4,57 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost carrier type.
+ ///
public class CarrierType : EasyPostObject
{
#region JSON Properties
+ ///
+ /// Expanded credential fields.
+ /// Contains at least one of the following keys:
+ ///
+ /// -
+ /// "auto_link"
+ ///
+ /// -
+ /// "credentials"
+ ///
+ /// -
+ /// "test_credentials"
+ ///
+ /// -
+ /// "custom_workflow"
+ ///
+ ///
+ ///
[JsonProperty("fields")]
- public Dictionary? Fields { get; set; }
+ public Dictionary? Fields { get; set; } // TODO: This should be a CarrierFields object.
+
+ ///
+ /// The logo for the carrier.
+ ///
[JsonProperty("logo")]
public string? Logo { get; set; }
+
+ ///
+ /// The human-readable name of the carrier.
+ ///
[JsonProperty("readable")]
public string? Readable { get; set; }
+
+ ///
+ /// The type of the carrier.
+ ///
[JsonProperty("type")]
public string? Type { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal CarrierType()
{
}
diff --git a/EasyPost/Models/API/CustomsInfo.cs b/EasyPost/Models/API/CustomsInfo.cs
index 7ee19aee4..7e0a6f53b 100644
--- a/EasyPost/Models/API/CustomsInfo.cs
+++ b/EasyPost/Models/API/CustomsInfo.cs
@@ -6,33 +6,144 @@
namespace EasyPost.Models.API
{
#pragma warning disable CA1724 // Naming conflicts with Parameters.CustomInfo
+ ///
+ /// Class representing an EasyPost customs info object.
+ ///
public class CustomsInfo : EasyPostObject, ICustomsInfoParameter
{
#region JSON Properties
+ ///
+ /// A human-readable description of the contents of the package.
+ /// Required for certain carriers, and always required if is "other".
+ /// Maximum length is 255 characters.
+ ///
[JsonProperty("contents_explanation")]
public string? ContentsExplanation { get; set; }
+
+ ///
+ /// The type of contents in the package.
+ /// May be one of the following:
+ ///
+ /// -
+ /// "documents"
+ ///
+ /// -
+ /// "gift"
+ ///
+ /// -
+ /// "merchandise"
+ ///
+ /// -
+ /// "returned_goods"
+ ///
+ /// -
+ /// "sample"
+ ///
+ /// -
+ /// "dangerous_goods"
+ ///
+ /// -
+ /// "humanitarian_donation"
+ ///
+ /// -
+ /// "other"
+ ///
+ ///
+ ///
[JsonProperty("contents_type")]
public string? ContentsType { get; set; }
+
+ ///
+ /// Whether to electronically certify the information provided.
+ ///
[JsonProperty("customs_certify")]
- public string? CustomsCertify { get; set; }
+ public bool? CustomsCertify { get; set; }
+
+ ///
+ /// A list of the items being shipped.
+ ///
[JsonProperty("customs_items")]
public List? CustomsItems { get; set; }
+
+ ///
+ /// The name of the person signing the customs form.
+ /// Required if is true.
+ ///
[JsonProperty("customs_signer")]
public string? CustomsSigner { get; set; }
+
+ ///
+ /// A customs declaration message, available for eligible carriers.
+ ///
[JsonProperty("declaration")]
public string? Declaration { get; set; }
+
+ ///
+ /// Whether the customs form is marked as "EEL" or "PFC".
+ /// Valid values are:
+ ///
+ /// -
+ /// "EEL"
+ ///
+ /// -
+ /// "PFC"
+ ///
+ ///
+ /// See https://www.easypost.com/customs-guide for more information.
+ ///
[JsonProperty("eel_pfc")]
public string? EelPfc { get; set; }
+
+ ///
+ /// What to do if the package is undeliverable.
+ /// Valid values are:
+ ///
+ /// -
+ /// "abandon"
+ ///
+ /// -
+ /// "return"
+ ///
+ ///
+ /// Default is "return".
+ ///
[JsonProperty("non_delivery_option")]
public string? NonDeliveryOption { get; set; }
+
+ ///
+ /// Explanation for the restriction type.
+ /// Required if is not "none".
+ ///
[JsonProperty("restriction_comments")]
public string? RestrictionComments { get; set; }
+
+ ///
+ /// The type of restriction placed on the package.
+ /// Valid values are:
+ ///
+ /// -
+ /// "none"
+ ///
+ /// -
+ /// "quarantine"
+ ///
+ /// -
+ /// "sanitary_phytosanitary_inspection"
+ ///
+ /// -
+ /// "other"
+ ///
+ ///
+ ///
[JsonProperty("restriction_type")]
public string? RestrictionType { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal CustomsInfo()
{
}
diff --git a/EasyPost/Models/API/CustomsItem.cs b/EasyPost/Models/API/CustomsItem.cs
index 95c7bc9e0..fb26779ef 100644
--- a/EasyPost/Models/API/CustomsItem.cs
+++ b/EasyPost/Models/API/CustomsItem.cs
@@ -4,29 +4,69 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost customs item.
+ ///
public class CustomsItem : EasyPostObject, ICustomsItemParameter
{
#region JSON Properties
+ ///
+ /// The SKU, UPC or other product identifier.
+ ///
[JsonProperty("code")]
public string? Code { get; set; }
+
+ ///
+ /// The three-letter ISO 4217 currency code.
+ /// Defaults to "USD".
+ ///
[JsonProperty("currency")]
public string? Currency { get; set; }
+
+ ///
+ /// The description of the item being shipped.
+ ///
[JsonProperty("description")]
public string? Description { get; set; }
+
+ ///
+ /// The Harmonized Tariff Schedule (HTS) code for the item.
+ /// See https://hts.usitc.gov/ for more information.
+ ///
[JsonProperty("hs_tariff_number")]
public string? HsTariffNumber { get; set; }
+
+ ///
+ /// The two-letter ISO 3166 country code where the item is being shipped from.
+ ///
[JsonProperty("origin_country")]
public string? OriginCountry { get; set; }
+
+ ///
+ /// The quantity of the item being shipped.
+ ///
[JsonProperty("quantity")]
public int? Quantity { get; set; }
+
+ ///
+ /// The value of the item being shipped, in US Dollars.
+ /// Total value should equal unit value multiplied by the .
+ ///
[JsonProperty("value")]
public double? Value { get; set; }
+
+ ///
+ /// The weight of the item being shipped, in ounces.
+ ///
[JsonProperty("weight")]
public double? Weight { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal CustomsItem()
{
}
diff --git a/EasyPost/Models/API/EndShipper.cs b/EasyPost/Models/API/EndShipper.cs
index 9fbacefd3..ee2b2805b 100644
--- a/EasyPost/Models/API/EndShipper.cs
+++ b/EasyPost/Models/API/EndShipper.cs
@@ -10,55 +10,125 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost EndShipper.
+ ///
public class EndShipper : EasyPostObject, IEndShipperParameter
{
#region JSON Properties
+ ///
+ /// The city the end shipper is located in.
+ ///
[JsonProperty("city")]
public string? City { get; set; }
+
+ ///
+ /// The name of the company.
+ ///
[JsonProperty("company")]
public string? Company { get; set; }
+
+ ///
+ /// The ISO 3166 code of the country the end shipper is located in.
+ /// Code must be "US" for a valid end shipper.
+ ///
[JsonProperty("country")]
public string? Country { get; set; }
+
+ ///
+ /// The email address of the person or organization.
+ ///
[JsonProperty("email")]
public string? Email { get; set; }
+
+ ///
+ /// Potential error encountered while processing the end shipper.
+ ///
[JsonProperty("error")]
public string? Error { get; set; }
+
+ ///
+ /// A human-readable message for any errors that occurred during the end shipper's life cycle.
+ ///
[JsonProperty("message")]
public string? Message { get; set; }
+
+ ///
+ /// The name of the person or organization.
+ ///
[JsonProperty("name")]
public string? Name { get; set; }
+
+ ///
+ /// The phone number of the person or organization.
+ ///
[JsonProperty("phone")]
public string? Phone { get; set; }
+
+ ///
+ /// The state the end shipper is located in.
+ ///
[JsonProperty("state")]
public string? State { get; set; }
+
+ ///
+ /// The first line of the end shipper street address.
+ ///
[JsonProperty("street1")]
public string? Street1 { get; set; }
+
+ ///
+ /// The second line of the end shipper street address.
+ ///
[JsonProperty("street2")]
public string? Street2 { get; set; }
+
+ ///
+ /// The zip code the end shipper is located in.
+ ///
[JsonProperty("zip")]
public string? Zip { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal EndShipper()
{
}
}
+ ///
+ /// Class representing a collection of EasyPost s.
+ ///
public class EndShipperCollection : PaginatedCollection
{
#region JSON Properties
+ ///
+ /// The s in the collection.
+ ///
[JsonProperty("end_shippers")]
public List? EndShippers { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal EndShipperCollection()
{
}
+ ///
+ /// Construct the parameter set for retrieving the next page of this paginated collection.
+ ///
+ /// The entries on the current page of this paginated collection.
+ /// The request size of the next page.
+ /// The type of parameters to construct.
+ /// A TParameters-type parameters set.
// Cannot currently get the next page of EndShippers, so this is not implemented.
protected internal override TParameters BuildNextPageParameters(IEnumerable entries, int? pageSize = null) => throw new EndOfPaginationError();
}
diff --git a/EasyPost/Models/API/Error.cs b/EasyPost/Models/API/Error.cs
index cc3a7e969..7cc372639 100644
--- a/EasyPost/Models/API/Error.cs
+++ b/EasyPost/Models/API/Error.cs
@@ -8,7 +8,7 @@ namespace EasyPost.Models.API
{
#pragma warning disable CA1716
///
- /// Represents an error returned by the EasyPost API.
+ /// Represents an error returned by the EasyPost API.
/// These are typically informational about why a request failed (server-side validation issues, missing data, etc.).
/// This is different than the EasyPostError class, which represents exceptions in the EasyPost library,
/// such as bad HTTP status codes or local validation issues.
@@ -18,13 +18,27 @@ public class Error : EasyPostObject
{
#region JSON Properties
+ ///
+ /// A machine-readable description of the problem encountered.
+ ///
[JsonProperty("code")]
public string? Code { get; set; }
+
+ ///
+ /// A breakdown of errors encountered for specific fields in the request.
+ ///
[JsonProperty("errors")]
public List? Errors { get; set; }
+
+ ///
+ /// The field of the request that caused the error.
+ ///
[JsonProperty("field")]
public string? Field { get; set; }
+ ///
+ /// A human-readable description of the problem encountered.
+ ///
[JsonIgnore]
public string? Message
{
@@ -41,6 +55,9 @@ public class Error : EasyPostObject
}
}
+ ///
+ /// A human-readable suggestion to resolve the problem encountered.
+ ///
[JsonProperty("suggestion")]
public string? Suggestion { get; set; }
@@ -53,10 +70,20 @@ public class Error : EasyPostObject
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Error()
{
}
+ ///
+ /// Traverse the returned element for error messages.
+ /// This will handle potential inconsistent data structures in EasyPost error messages.
+ ///
+ /// The current element to traverse.
+ /// Previously-collected error messages.
+ /// A collection of error message strings.
private static ICollection CollectErrorMessages(object? element, ICollection collectedMessages)
{
switch (element)
diff --git a/EasyPost/Models/API/Event.cs b/EasyPost/Models/API/Event.cs
index 8037462e8..0d6874019 100644
--- a/EasyPost/Models/API/Event.cs
+++ b/EasyPost/Models/API/Event.cs
@@ -7,46 +7,100 @@
namespace EasyPost.Models.API
{
#pragma warning disable CA1716
+ ///
+ /// Class representing an EasyPost event.
+ ///
public class Event : EasyPostObject
#pragma warning restore CA1716
{
#region JSON Properties
+ ///
+ /// URLs that have already been successfully notified as of the time the current webhook was sent.
+ ///
[JsonProperty("completed_urls")]
public List? CompletedUrls { get; set; }
+
+ ///
+ /// The result type and event name.
+ /// See https://www.easypost.com/docs/api#possible-event-types for a list of possible values.
+ ///
[JsonProperty("description")]
public string? Description { get; set; }
+
+ ///
+ /// URls that have not yet been successfully notified as of the time the current webhook was sent.
+ /// The URL receiving this event will still be listed here.
+ ///
[JsonProperty("pending_urls")]
public List? PendingUrls { get; set; }
+
+ ///
+ /// Any previous values of relevant result attributes.
+ ///
[JsonProperty("previous_attributes")]
public Dictionary? PreviousAttributes { get; set; }
+
+ ///
+ /// The result of the event.
+ /// See the "object" key to determine its specific type.
+ /// This field will not be returned when retrieving events directly from the API.
+ ///
[JsonProperty("result")]
public Dictionary? Result { get; set; }
+
+ ///
+ /// The current status of the event.
+ /// Possible values are "pending", "completed", "failed", "in_queue" and "retrying".
+ ///
[JsonProperty("status")]
public string? Status { get; set; }
+
+ ///
+ /// The ID of the associated with the event and .
+ ///
[JsonProperty("user_id")]
public string? UserId { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Event()
{
}
}
+ ///
+ /// Class representing a collection of EasyPost s.
+ ///
public class EventCollection : PaginatedCollection
{
#region JSON Properties
+ ///
+ /// The s in the collection.
+ ///
[JsonProperty("events")]
public List? Events { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal EventCollection()
{
}
+ ///
+ /// Construct the parameter set for retrieving the next page of this paginated collection.
+ ///
+ /// The entries on the current page of this paginated collection.
+ /// The request size of the next page.
+ /// The type of parameters to construct.
+ /// A TParameters-type parameters set.
protected internal override TParameters BuildNextPageParameters(IEnumerable entries, int? pageSize = null)
{
BetaFeatures.Parameters.Events.All parameters = Filters != null ? (BetaFeatures.Parameters.Events.All)Filters : new BetaFeatures.Parameters.Events.All();
diff --git a/EasyPost/Models/API/Fee.cs b/EasyPost/Models/API/Fee.cs
index 91ba56946..92e6eaea3 100644
--- a/EasyPost/Models/API/Fee.cs
+++ b/EasyPost/Models/API/Fee.cs
@@ -3,21 +3,43 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost fee.
+ ///
public class Fee : EasyPostObject
{
#region JSON Properties
+ ///
+ /// The amount of the fee, in US cents with sub-cent precision.
+ ///
[JsonProperty("amount")]
public double? Amount { get; set; }
+
+ ///
+ /// Whether EasyPost has successfully charged your account for the fee.
+ ///
[JsonProperty("charged")]
public bool? Charged { get; set; }
+
+ ///
+ /// Whether the fee has been refunded successfully.
+ ///
[JsonProperty("refunded")]
public bool? Refunded { get; set; }
+
+ ///
+ /// The category of the fee.
+ /// Possible types include "LabelFee", "CarbonOffsetFee", "PostageFee", "InsuranceFee" and "TrackerFee".
+ ///
[JsonProperty("type")]
public string? Type { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Fee()
{
}
diff --git a/EasyPost/Models/API/Form.cs b/EasyPost/Models/API/Form.cs
index 127efea79..244998ea0 100644
--- a/EasyPost/Models/API/Form.cs
+++ b/EasyPost/Models/API/Form.cs
@@ -3,19 +3,37 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost form.
+ ///
public class Form : EasyPostObject
{
#region JSON Properties
+ ///
+ /// The type of form.
+ /// Possible values include "cn22", "cod_return_label", "commercial_invoice", "high_value_report", "label_qr_code", "nafta_certificate_of_origin", "order_summary", "return_packing_slip" and "rma_qr_code".
+ ///
[JsonProperty("form_type")]
public string? FormType { get; set; }
+
+ ///
+ /// The URL where the form can be downloaded.
+ ///
[JsonProperty("form_url")]
public string? FormUrl { get; set; }
+
+ ///
+ /// Whether EasyPost has submitted the form to the carrier on behalf of the user.
+ ///
[JsonProperty("submitted_electronically")]
public bool? SubmittedElectronically { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Form()
{
}
diff --git a/EasyPost/Models/API/Insurance.cs b/EasyPost/Models/API/Insurance.cs
index 7d53fe3af..3299e395f 100644
--- a/EasyPost/Models/API/Insurance.cs
+++ b/EasyPost/Models/API/Insurance.cs
@@ -11,55 +11,125 @@
namespace EasyPost.Models.API
{
#pragma warning disable CA1724 // Naming conflicts with Parameters.Insurance
+ ///
+ /// Class representing an EasyPost insurance object.
+ ///
public class Insurance : EasyPostObject, IInsuranceParameter
{
#region JSON Properties
+ ///
+ /// The value of the insured goods, in US cents with sub-cent precision.
+ ///
[JsonProperty("amount")]
public string? Amount { get; set; }
+
+ ///
+ /// The from which the shipment is being sent.
+ ///
[JsonProperty("from_address")]
public Address? FromAddress { get; set; }
+
+ ///
+ /// A list of errors encountered during the attempted purchase of the insurance.
+ ///
[JsonProperty("messages")]
public List? Messages { get; set; }
+
+ ///
+ /// The insurance provider used by EasyPost.
+ ///
[JsonProperty("provider")]
public string? Provider { get; set; }
+
+ ///
+ /// The identifying number for some insurance providers used by EasyPost.
+ ///
[JsonProperty("provider_id")]
public string? ProviderId { get; set; }
+
+ ///
+ /// An optional field that may be used in place of ID in some API endpoints.
+ ///
[JsonProperty("reference")]
public string? Reference { get; set; }
+
+ ///
+ /// The ID of the being insured, if postage was purchased through EasyPost.
+ ///
[JsonProperty("shipment_id")]
public string? ShipmentId { get; set; }
+
+ ///
+ /// The current status of the insurance.
+ /// Possible values include "new", "pending", "purchased", "failed" and "cancelled".
+ ///
[JsonProperty("status")]
public string? Status { get; set; }
+
+ ///
+ /// The to which the shipment is being sent.
+ ///
[JsonProperty("to_address")]
public Address? ToAddress { get; set; }
+
+ ///
+ /// The associated with this insurance.
+ ///
[JsonProperty("tracker")]
public Tracker? Tracker { get; set; }
+
+ ///
+ /// The tracking code of either the created using EasyPost, or provided by the user during creation of the insurance.
+ ///
[JsonProperty("tracking_code")]
public string? TrackingCode { get; set; }
+
+ ///
+ /// The for the insurance.
+ ///
[JsonProperty("fee")]
public Fee? Fee { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Insurance()
{
}
}
#pragma warning restore CA1724 // Naming conflicts with Parameters.Insurance
+ ///
+ /// Class representing a collection of EasyPost objects.
+ ///
public class InsuranceCollection : PaginatedCollection
{
#region JSON Properties
+ ///
+ /// The s in the collection.
+ ///
[JsonProperty("insurances")]
public List? Insurances { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal InsuranceCollection()
{
}
+ ///
+ /// Construct the parameter set for retrieving the next page of this paginated collection.
+ ///
+ /// The entries on the current page of this paginated collection.
+ /// The request size of the next page.
+ /// The type of parameters to construct.
+ /// A TParameters-type parameters set.
protected internal override TParameters BuildNextPageParameters(IEnumerable entries, int? pageSize = null)
{
BetaFeatures.Parameters.Insurance.All parameters = Filters != null ? (BetaFeatures.Parameters.Insurance.All)Filters : new BetaFeatures.Parameters.Insurance.All();
diff --git a/EasyPost/Models/API/Message.cs b/EasyPost/Models/API/Message.cs
index c9cf7d95e..f645ee5e3 100644
--- a/EasyPost/Models/API/Message.cs
+++ b/EasyPost/Models/API/Message.cs
@@ -3,21 +3,43 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost or message.
+ ///
public class Message : EasyPostObject
{
#region JSON Properties
+ ///
+ /// The name of the carrier producing the error.
+ ///
[JsonProperty("carrier")]
public string? Carrier { get; set; }
+
+ ///
+ /// The account ID of the carrier producing the error.
+ /// Useful if you have multiple accounts with the same carrier.
+ ///
[JsonProperty("carrier_account_id")]
public string? CarrierAccountId { get; set; }
+
+ ///
+ /// The text from the carrier explaining the problem.
+ ///
[JsonProperty("message")]
public string? Text { get; set; } // "Message" is the enclosing class name
+
+ ///
+ /// The category of error that occurred.
+ ///
[JsonProperty("type")]
public string? Type { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Message()
{
}
diff --git a/EasyPost/Models/API/Options.cs b/EasyPost/Models/API/Options.cs
index 15d71a51d..a652b9ab6 100644
--- a/EasyPost/Models/API/Options.cs
+++ b/EasyPost/Models/API/Options.cs
@@ -5,30 +5,118 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost options set.
+ ///
public class Options : EasyPostObject
{
#region JSON Properties
+ ///
+ /// When true, an additional handling fee will be applied to the shipment.
+ /// An Additional Handling charge may be applied to the following:
+ ///
+ /// -
+ /// Any article that is encased in an outside shipping container made of metal or wood.
+ ///
+ /// -
+ /// Any item, such as a barrel, drum, pail or tire, that is not fully encased in a corrugated cardboard shipping container.
+ ///
+ /// -
+ /// Any package with the longest side exceeding 60 inches or its second longest side exceeding 30 inches.
+ ///
+ /// -
+ /// Any package with an actual weight greater than 70 pounds.
+ ///
+ ///
+ ///
[JsonProperty("additional_handling")]
public bool? AdditionalHandling { get; set; }
+
+ ///
+ /// Setting this option to "0", will allow the minimum amount of address information to pass the validation check. Only for USPS postage.
+ ///
[JsonProperty("address_validation_level")]
public string? AddressValidationLevel { get; set; }
+
+ ///
+ /// Set this option to true if your shipment contains alcohol.
+ ///
+ ///
+ /// Carrier
+ /// Details
+ ///
+ /// -
+ /// UPS
+ /// Only supported for US Domestic shipments.
+ ///
+ /// -
+ /// FedEx
+ /// Only supported for US Domestic shipments.
+ ///
+ /// -
+ /// Canada Post
+ ///
+ /// Requires adult signature 19 years or older.
+ /// If you want adult signature 18 years or older, instead set to "ADULT_SIGNATURE".
+ ///
+ ///
+ ///
+ ///
[JsonProperty("alcohol")]
public bool? Alcohol { get; set; }
+
+ ///
+ /// A reference ID for aggregating DHL eCommerce billing data.
+ ///
[JsonProperty("billing_ref")]
public string? BillingRef { get; set; }
+
+ ///
+ /// Obsolete. Use instead.
+ ///
+ [Obsolete("Use Payment instead.")]
[JsonProperty("bill_receiver_account")]
public string? BillReceiverAccount { get; set; }
+
+ ///
+ /// Obsolete. Use instead.
+ ///
+ [Obsolete("Use Payment instead.")]
[JsonProperty("bill_receiver_postal_code")]
public string? BillReceiverPostalCode { get; set; }
+
+ ///
+ /// Obsolete. Use instead.
+ ///
+ [Obsolete("Use Payment instead.")]
[JsonProperty("bill_third_party_account")]
public string? BillThirdPartyAccount { get; set; }
+
+ ///
+ /// Obsolete. Use instead.
+ ///
+ [Obsolete("Use Payment instead.")]
[JsonProperty("bill_third_party_country")]
public string? BillThirdPartyCountry { get; set; }
+
+ ///
+ /// Obsolete. Use instead.
+ ///
+ [Obsolete("Use Payment instead.")]
[JsonProperty("bill_third_party_postal_code")]
public string? BillThirdPartyPostalCode { get; set; }
+
+ ///
+ /// Setting this option to true will indicate to the carrier to prefer delivery by drone, if the carrier supports drone delivery.
+ ///
[JsonProperty("by_drone")]
public bool? ByDrone { get; set; }
+
+ ///
+ /// Setting this to true will add a charge to reduce carbon emissions by carriers who support this option.
+ /// Alternatively, see which is provided by EasyPost and works with all carriers.
+ ///
[JsonProperty("carbon_neutral")]
public bool? CarbonNeutral { get; set; }
[JsonProperty("carrier_insurance_amount")]
@@ -37,12 +125,41 @@ public class Options : EasyPostObject
public string? CarrierNotificationEmail { get; set; }
[JsonProperty("carrier_notification_sms")]
public string? CarrierNotificationSms { get; set; }
+
+ ///
+ /// Certified Mail provides the sender with a mailing receipt and, upon request, electronic verification that an article was delivered or that a delivery attempt was made.
+ ///
[JsonProperty("certified_mail")]
public bool? CertifiedMail { get; set; }
+
+ ///
+ /// The ID of the to which the COD payment should be returned.
+ /// Defaults to the origin address.
+ /// Only available on FedEx shipments.
+ ///
[JsonProperty("cod_address_id")]
public string? CodAddressId { get; set; }
+
+ ///
+ /// Adding an amount will have the carrier collect the specified amount from the recipient.
+ ///
[JsonProperty("cod_amount")]
public string? CodAmount { get; set; }
+
+ ///
+ /// Method for payment.
+ ///
+ /// -
+ /// "CASH"
+ ///
+ /// -
+ /// "CHECK"
+ ///
+ /// -
+ /// "MONEY_ORDER"
+ ///
+ ///
+ ///
[JsonProperty("cod_method")]
public string? CodMethod { get; set; }
[JsonProperty("commercial_invoice_format")]
@@ -53,8 +170,18 @@ public class Options : EasyPostObject
public string? CommercialInvoiceSignature { get; set; }
[JsonProperty("commercial_invoice_size")]
public string? CommercialInvoiceSize { get; set; }
+
+ ///
+ /// A description of the content of the shipment.
+ ///
+ [JsonProperty("content_description")]
+ public string? ContentDescription { get; set; }
[JsonProperty("cost_center")]
public string? CostCenter { get; set; }
+
+ ///
+ /// Which currency this will show for rates if carrier allows.
+ ///
[JsonProperty("currency")]
public string? Currency { get; set; }
[JsonProperty("customs_broker_address_id")]
@@ -65,38 +192,334 @@ public class Options : EasyPostObject
public double? DeclaredValue { get; set; }
[JsonProperty("delivered_duty_paid")]
public bool? DeliveredDutyPaid { get; set; }
+
+ ///
+ /// If you want to request a signature, you can pass "ADULT_SIGNATURE" or "SIGNATURE".
+ /// You may also request "NO_SIGNATURE" to leave the package at the door.
+ /// "NO_SIGNATURE" is equivalent to releasing liability.
+ /// Some options may be limited for international shipments. Carrier specific delivery confirmation options are:
+ ///
+ ///
+ /// Carrier
+ /// Details
+ ///
+ /// -
+ /// FedEx
+ ///
+ ///
+ /// -
+ /// "INDIRECT_SIGNATURE"
+ /// Requires the signature of someone at the delivery address or from somebody nearby, such as a neighbor
+ ///
+ ///
+ ///
+ ///
+ /// -
+ /// USPS
+ ///
+ ///
+ /// -
+ /// "ADULT_SIGNATURE_RESTRICTED"
+ /// Requires the signature of the addressee only, who must be 21 years of age or older
+ ///
+ /// -
+ /// "SIGNATURE_RESTRICTED"
+ /// Requires the signature of the recipient or a responsible party
+ ///
+ ///
+ ///
+ ///
+ /// -
+ /// Canada Post
+ ///
+ ///
+ /// -
+ /// "DO_NOT_SAFE_DROP"
+ /// Tells the carrier to not hide the package ("safe drop")
+ ///
+ ///
+ ///
+ ///
+ /// -
+ /// GSO
+ ///
+ ///
+ /// -
+ /// "STANDARD_SIGNATURE"
+ ///
+ ///
+ ///
+ ///
+ /// -
+ /// DHL Express
+ ///
+ ///
+ /// -
+ /// "SIGNATURE"
+ /// DHL Express Direct Signature
+ ///
+ /// -
+ /// "NO_SIGNATURE"
+ /// DHL Express Signature Release
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
[JsonProperty("delivery_confirmation")]
public string? DeliveryConfirmation { get; set; }
[JsonProperty("delivery_time_preference")]
public string? DeliveryTimePreference { get; set; }
+
+ ///
+ /// The earliest a package should be delivered.
+ /// Supported carriers vary.
+ ///
+ [JsonProperty("delivery_min_datetime")]
+ public string? DeliveryMinDatetime { get; set; }
+
+ ///
+ /// The latest a package should be delivered.
+ /// Supported carriers vary.
+ ///
[JsonProperty("delivery_max_datetime")]
public string? DeliveryMaxDatetime { get; set; }
[JsonProperty("dropoff_max_datetime")]
public DateTime? DropoffMaxDatetime { get; set; }
+
+ ///
+ /// Method the customer will use to transfer the package to the carrier.
+ /// Supported types and their corresponding carrier codes are:
+ ///
+ ///
+ /// Carrier
+ /// Details
+ ///
+ /// -
+ /// FedEx
+ ///
+ ///
+ /// -
+ /// "REGULAR_PICKUP"
+ /// Customer to transfer package during regular pickup (default)
+ ///
+ /// -
+ /// "SCHEDULED_PICKUP"
+ /// Customer to transfer package during scheduled pickup
+ ///
+ /// -
+ /// "RETAIL_LOCATION"
+ /// Customer to transfer package at FedEx retail location
+ ///
+ /// -
+ /// "STATION"
+ /// "STATION"
+ ///
+ /// -
+ /// "DROP_BOX"
+ /// Customer to use carrier drop box for package transfer
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
[JsonProperty("dropoff_type")]
public string? DropoffType { get; set; }
+
+ ///
+ /// Package contents contain dry ice.
+ ///
+ ///
+ /// Carrier
+ /// Details
+ ///
+ /// -
+ /// UPS
+ /// Needs to be set.
+ ///
+ /// -
+ /// UPS MailInnovations
+ /// Needs to be set.
+ ///
+ /// -
+ /// FedEx
+ /// Needs to be set.
+ ///
+ ///
+ ///
[JsonProperty("dry_ice")]
public bool? DryIce { get; set; }
+
+ ///
+ /// Whether the dry ice is for medical use.
+ ///
+ ///
+ /// Carrier
+ /// Details
+ ///
+ /// -
+ /// UPS
+ /// Needs to be set.
+ ///
+ /// -
+ /// UPS MailInnovations
+ /// Needs to be set.
+ ///
+ ///
+ ///
[JsonProperty("dry_ice_medical")]
public string? DryIceMedical { get; set; }
+
+ ///
+ /// Weight of the dry ice, in ounces.
+ ///
+ ///
+ /// Carrier
+ /// Details
+ ///
+ /// -
+ /// UPS
+ /// Needs to be set.
+ ///
+ /// -
+ /// UPS MailInnovations
+ /// Needs to be set.
+ ///
+ /// -
+ /// FedEx
+ /// Needs to be set.
+ ///
+ ///
+ ///
[JsonProperty("dry_ice_weight")]
public string? DryIceWeight { get; set; }
+
+ ///
+ /// Set to bill the correct account for purchasing postage.
+ /// This option is only available with FedEx and UPS.
+ ///
+ ///
+ /// Key
+ /// Value
+ ///
+ /// -
+ /// type
+ /// One of the following:
+ ///
+ /// -
+ /// "THIRD_PARTY"
+ ///
+ /// -
+ /// "RECEIVER"
+ ///
+ ///
+ ///
+ ///
+ /// -
+ /// account
+ /// Account number
+ ///
+ /// -
+ /// country
+ /// Country code that the account is based in
+ ///
+ /// -
+ /// postage_code
+ /// Postal code that the account is based in
+ ///
+ ///
+ ///
[JsonProperty("duty_payment")]
public Dictionary? DutyPayment { get; set; }
[JsonProperty("duty_payment_account")]
public string? DutyPaymentAccount { get; set; }
+
+ ///
+ /// Possible values are:
+ ///
+ /// -
+ /// "ADDRESS_SERVICE_REQUESTED"
+ ///
+ /// -
+ /// "FORWARDING_SERVICE_REQUESTED"
+ ///
+ /// -
+ /// "CHANGE_SERVICE_REQUESTED"
+ ///
+ /// -
+ /// "RETURN_SERVICE_REQUESTED"
+ ///
+ /// -
+ /// "LEAVE_IF_NO_RESPONSE"
+ ///
+ ///
+ ///
[JsonProperty("endorsement")]
public string? Endorsement { get; set; }
+
+ ///
+ /// Specify the responsible for the shipment.
+ ///
[JsonProperty("end_shipper_id")]
public string? EndShipperId { get; set; }
+
+ ///
+ /// Additional cost to be added to the invoice of this .
+ /// Only applies to UPS currently.
+ ///
[JsonProperty("freight_charge")]
public string? FreightCharge { get; set; }
[JsonProperty("group")]
public string? Group { get; set; }
+
+ ///
+ /// This is to designate special instructions for the carrier, such as "Do not drop!".
+ ///
[JsonProperty("handling_instructions")]
public string? HandlingInstructions { get; set; }
+
+ ///
+ /// Dangerous goods indicator.
+ /// Possible values are:
+ ///
+ /// -
+ /// "PRIMARY_CONTAINED"
+ ///
+ /// -
+ /// "PRIMARY_PACKED"
+ ///
+ /// -
+ /// "PRIMARY"
+ ///
+ /// -
+ /// "SECONDARY_CONTAINED"
+ ///
+ /// -
+ /// "SECONDARY_PACKED"
+ ///
+ /// -
+ /// "SECONDARY"
+ ///
+ /// -
+ /// "ORMD"
+ ///
+ /// -
+ /// "LIMITED_QUANTITY"
+ ///
+ /// -
+ /// "LITHIUM"
+ ///
+ ///
+ /// Applies to USPS, FedEx and DHL eCommerce.
+ ///
[JsonProperty("hazmat")]
public string? Hazmat { get; set; }
+
+ ///
+ /// Package will wait at carrier facility for pickup.
+ ///
[JsonProperty("hold_for_pickup")]
public bool? HoldForPickup { get; set; }
[JsonProperty("image_format")]
@@ -107,18 +530,92 @@ public class Options : EasyPostObject
public string? ImportFederalTaxId { get; set; }
[JsonProperty("import_state_tax_id")]
public string? ImportStateTaxId { get; set; }
+
+ ///
+ /// Incoterm negotiated for shipment.
+ /// Supported values are:
+ ///
+ /// -
+ /// "EXW"
+ ///
+ /// -
+ /// "FCA"
+ ///
+ /// -
+ /// "CPT"
+ ///
+ /// -
+ /// "CIP"
+ ///
+ /// -
+ /// "DAT"
+ ///
+ /// -
+ /// "DAP"
+ ///
+ /// -
+ /// "DDP"
+ ///
+ /// -
+ /// "FAS"
+ ///
+ /// -
+ /// "FOB"
+ ///
+ /// -
+ /// "CFR"
+ ///
+ /// -
+ /// "CIF"
+ ///
+ ///
+ /// Setting this value to anything other than "DDP" will pass the cost and responsibility of duties on to the recipient of the package(s), as specified by Incoterms rules.
+ ///
[JsonProperty("incoterm")]
public string? Incoterm { get; set; }
+
+ ///
+ /// Invoice number to print on the postage label.
+ ///
[JsonProperty("invoice_number")]
public string? InvoiceNumber { get; set; }
+
+ ///
+ /// Set the date that will appear on the postage label.
+ /// Accepts ISO 8601 formatted string including time zone offset.
+ /// EasyPost stores all dates as UTC time.
+ ///
[JsonProperty("label_date")]
public DateTime? LabelDate { get; set; }
+
+ ///
+ /// Supported label formats are:
+ ///
+ /// -
+ /// "PNG"
+ ///
+ /// -
+ /// "PDF"
+ ///
+ /// -
+ /// "ZPL"
+ ///
+ /// -
+ /// "EPL2"
+ ///
+ ///
+ /// "PNG" is the only format that allows for conversion.
+ ///
[JsonProperty("label_format")]
public string? LabelFormat { get; set; }
[JsonProperty("label_size")]
public string? LabelSize { get; set; }
[JsonProperty("license_number")]
public string? LicenseNumber { get; set; }
+
+ ///
+ /// Whether or not the parcel can be processed by the carriers equipment.
+ ///
[JsonProperty("machinable")]
public string? Machinable { get; set; }
[JsonProperty("neutral_delivery")]
@@ -131,12 +628,63 @@ public class Options : EasyPostObject
public string? OverlabelOriginalTrackingNumber { get; set; }
[JsonProperty("parties_to_transaction_are_related")]
public string? PartiesToTransactionAreRelated { get; set; }
+
+ ///
+ /// Setting payment type to bill the correct account for purchasing postage.
+ /// "THIRD_PARTY" is only supported on passthrough billed carriers.
+ ///
+ ///
+ /// Key
+ /// Value
+ ///
+ /// -
+ /// type
+ /// One of the following:
+ ///
+ /// -
+ /// "SENDER"
+ ///
+ /// -
+ /// "THIRD_PARTY"
+ ///
+ /// -
+ /// "RECEIVER"
+ ///
+ /// -
+ /// "COLLECT"
+ ///
+ ///
+ /// Defaults to "SENDER".
+ ///
+ ///
+ /// -
+ /// account
+ /// Account number. Required for "RECEIVER" and "THIRD_PARTY".
+ ///
+ /// -
+ /// country
+ /// Country code that the account is based in. Required for "THIRD_PARTY".
+ ///
+ /// -
+ /// postage_code
+ /// Postal code that the account is based in. Required for "RECEIVER" and "THIRD_PARTY".
+ ///
+ ///
+ ///
[JsonProperty("payment")]
public Dictionary? Payment { get; set; }
[JsonProperty("peel_and_return")]
public bool? PeelAndReturn { get; set; }
+ ///
+ /// The latest a package should be picked up.
+ /// Supported carriers vary.
+ ///
[JsonProperty("pickup_max_datetime")]
public DateTime? PickupMaxDatetime { get; set; }
+ ///
+ /// The earliest a package should be picked up.
+ /// Supported carriers vary.
+ ///
[JsonProperty("pickup_min_datetime")]
public DateTime? PickupMinDatetime { get; set; }
[JsonProperty("po_sort")]
@@ -145,44 +693,253 @@ public class Options : EasyPostObject
public bool? PostageLabelInline { get; set; }
[JsonProperty("print_custom")]
public List>? PrintCustom { get; set; }
+ ///
+ /// You can optionally print custom messages on labels.
+ /// Message to print on the label in spot 1.
+ ///
[JsonProperty("print_custom_1")]
public string? PrintCustom1 { get; set; }
+
+ ///
+ /// Create a barcode for this custom reference if supported by carrier.
+ ///
[JsonProperty("print_custom_1_barcode")]
public bool? PrintCustom1Barcode { get; set; }
+
+ ///
+ /// Specify the type of .
+ ///
+ ///
+ /// Carrier
+ /// Details
+ ///
+ /// -
+ /// FedEx
+ ///
+ ///
+ /// -
+ /// (null)
+ /// If is not provided, it defaults to Customer Reference
+ ///
+ /// -
+ /// PO
+ /// Purchase Order Number
+ ///
+ /// -
+ /// DP
+ /// Department Number
+ ///
+ /// -
+ /// RMA
+ /// Return Merchandise Authorization
+ ///
+ ///
+ ///
+ ///
+ /// -
+ /// UPS
+ ///
+ ///
+ /// -
+ /// AJ
+ /// Accounts Receivable Customer Account
+ ///
+ /// -
+ /// AT
+ /// Appropriation Number
+ ///
+ /// -
+ /// BM
+ /// Bill of Lading Number
+ ///
+ /// -
+ /// 9V
+ /// Collect on Delivery (COD) Number
+ ///
+ /// -
+ /// ON
+ /// Dealer Order Number
+ ///
+ /// -
+ /// DP
+ /// Department Number
+ ///
+ /// -
+ /// 3Q
+ /// Food and Drug Administration (FDA) Product Code
+ ///
+ /// -
+ /// IK
+ /// Invoice Number
+ ///
+ /// -
+ /// MK
+ /// Manifest Key Number
+ ///
+ /// -
+ /// MJ
+ /// Model Number
+ ///
+ /// -
+ /// PM
+ /// Part Number
+ ///
+ /// -
+ /// PC
+ /// Production Code
+ ///
+ /// -
+ /// PO
+ /// Purchase Order Number
+ ///
+ /// -
+ /// RQ
+ /// Purchase Request Number
+ ///
+ /// -
+ /// RZ
+ /// Return Authorization Number
+ ///
+ /// -
+ /// SA
+ /// Salesperson Number
+ ///
+ /// -
+ /// SE
+ /// Serial Number
+ ///
+ /// -
+ /// ST
+ /// Store Number
+ ///
+ /// -
+ /// TN
+ /// Transaction Reference Number
+ ///
+ /// -
+ /// EI
+ /// Employer's ID Number
+ ///
+ /// -
+ /// TJ
+ /// Federal Taxpayer ID No.
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
[JsonProperty("print_custom_1_code")]
public string? PrintCustom1Code { get; set; }
+
+ ///
+ /// You can optionally print custom messages on labels.
+ /// Message to print on the label in spot 2.
+ ///
[JsonProperty("print_custom_2")]
public string? PrintCustom2 { get; set; }
+
+ ///
+ /// Create a barcode for this custom reference if supported by carrier.
+ ///
[JsonProperty("print_custom_2_barcode")]
public bool? PrintCustom2Barcode { get; set; }
+
+ ///
+ /// Specify the type of .
+ /// See for a list of valid values.
+ ///
[JsonProperty("print_custom_2_code")]
public string? PrintCustom2Code { get; set; }
+
+ ///
+ /// You can optionally print custom messages on labels.
+ /// Message to print on the label in spot 3.
+ ///
[JsonProperty("print_custom_3")]
public string? PrintCustom3 { get; set; }
+
+ ///
+ /// Create a barcode for this custom reference if supported by carrier.
+ ///
[JsonProperty("print_custom_3_barcode")]
public bool? PrintCustom3Barcode { get; set; }
+
+ ///
+ /// Specify the type of .
+ /// See for a list of valid values.
+ ///
[JsonProperty("print_custom_3_code")]
public string? PrintCustom3Code { get; set; }
[JsonProperty("print_rate")]
public bool? PrintRate { get; set; }
[JsonProperty("receiver_liquor_license")]
public string? ReceiverLiquorLicense { get; set; }
+
+ ///
+ /// Registered Mail is the most secure service that the USPS offers.
+ /// It incorporates a system of receipts to monitor the movement of the mail from the point of acceptance to delivery.
+ ///
[JsonProperty("registered_mail")]
public bool? RegisteredMail { get; set; }
+
+ ///
+ /// The value of the package contents for purposes.
+ ///
[JsonProperty("registered_mail_amount")]
public double? RegisteredMailAmount { get; set; }
+
+ ///
+ /// An electronic return receipt may be purchased at the time of mailing and provides a shipper with evidence of delivery (to whom the mail was delivered and date of delivery), and information about the recipient's actual delivery address.
+ /// Only applies to the USPS.
+ ///
[JsonProperty("return_receipt")]
public bool? ReturnReceipt { get; set; }
[JsonProperty("return_service")]
public string? ReturnService { get; set; }
+
+ ///
+ /// Set this value to true for delivery on Saturday.
+ /// When set, you will only get rates for services that are eligible for Saturday delivery.
+ /// If no services are available for Saturday delivery, then you will not be returned any rates.
+ /// You may need to create two shipments, one with the option set and one without to get all your eligible rates.
+ ///
[JsonProperty("saturday_delivery")]
public bool? SaturdayDelivery { get; set; }
[JsonProperty("settlement_method")]
public string? SettlementMethod { get; set; }
+
+ ///
+ /// You can use this to override the hub ID you have on your account.
+ ///
[JsonProperty("smartpost_hub")]
public string? SmartpostHub { get; set; }
+
+ ///
+ /// The manifest ID is used to group SmartPost packages onto a manifest for each trailer.
+ ///
[JsonProperty("smartpost_manifest")]
public string? SmartpostManifest { get; set; }
+
+ ///
+ /// This option allows you to request the following USPS mail classes:
+ ///
+ ///
+ /// Type
+ /// Code
+ ///
+ /// -
+ /// Media Mail
+ /// USPS.MEDIAMAIL
+ ///
+ /// -
+ /// Library Mail
+ /// USPS.LIBRARYMAIL
+ ///
+ ///
+ /// These mail classes have restrictions that must be followed.
+ /// See the DMM (https://pe.usps.com/DMM300/Index) for eligibility rules.
+ ///
[JsonProperty("special_rates_eligibility")]
public string? SpecialRatesEligibility { get; set; }
[JsonProperty("suppress_etd")]
@@ -190,7 +947,10 @@ public class Options : EasyPostObject
#endregion
- public Options()
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ internal Options()
{
}
}
diff --git a/EasyPost/Models/API/Order.cs b/EasyPost/Models/API/Order.cs
index b3597ec60..bcfcef83e 100644
--- a/EasyPost/Models/API/Order.cs
+++ b/EasyPost/Models/API/Order.cs
@@ -8,6 +8,9 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost order.
+ ///
public class Order : EasyPostObject, IOrderParameter
{
#region JSON Properties
@@ -26,6 +29,10 @@ public class Order : EasyPostObject, IOrderParameter
public List? Messages { get; set; }
[JsonProperty("rates")]
public List? Rates { get; set; }
+
+ ///
+ /// An optional field that may be used in place of ID in some API endpoints.
+ ///
[JsonProperty("reference")]
public string? Reference { get; set; }
[JsonProperty("return_address")]
@@ -39,6 +46,9 @@ public class Order : EasyPostObject, IOrderParameter
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Order()
{
}
diff --git a/EasyPost/Models/API/Parcel.cs b/EasyPost/Models/API/Parcel.cs
index b87cbea0d..d377f89c9 100644
--- a/EasyPost/Models/API/Parcel.cs
+++ b/EasyPost/Models/API/Parcel.cs
@@ -4,6 +4,9 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost parcel.
+ ///
public class Parcel : EasyPostObject, IParcelParameter
{
#region JSON Properties
@@ -21,6 +24,9 @@ public class Parcel : EasyPostObject, IParcelParameter
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Parcel()
{
}
diff --git a/EasyPost/Models/API/Payload.cs b/EasyPost/Models/API/Payload.cs
index 6e3f9d9ec..9815303f1 100644
--- a/EasyPost/Models/API/Payload.cs
+++ b/EasyPost/Models/API/Payload.cs
@@ -4,6 +4,9 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost event payload.
+ ///
public class Payload : EasyPostObject
{
#region JSON Properties
@@ -25,6 +28,9 @@ public class Payload : EasyPostObject
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Payload()
{
}
diff --git a/EasyPost/Models/API/PaymentMethod.cs b/EasyPost/Models/API/PaymentMethod.cs
index 0e20bc891..6c26635fc 100644
--- a/EasyPost/Models/API/PaymentMethod.cs
+++ b/EasyPost/Models/API/PaymentMethod.cs
@@ -8,8 +8,8 @@ namespace EasyPost.Models.API
{
///
/// Represents a credit card or a bank account.
- /// Have to collect all possible properties since we can't anticipate which type of payment method the API will return.
///
+ // Have to collect all possible properties since we can't anticipate which type of payment method the API will return.
public class PaymentMethod : EasyPostObject
{
#region JSON Properties
diff --git a/EasyPost/Models/API/PaymentMethodType.cs b/EasyPost/Models/API/PaymentMethodType.cs
index 7ae8591a0..0281ee5ef 100644
--- a/EasyPost/Models/API/PaymentMethodType.cs
+++ b/EasyPost/Models/API/PaymentMethodType.cs
@@ -2,13 +2,31 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Enum representing an EasyPost payment method type.
+ ///
public class PaymentMethodType : ValueEnum
{
+ ///
+ /// The bank account payment method type.
+ ///
public static readonly PaymentMethodType BankAccount = new(2, "bank_accounts");
+
+ ///
+ /// The credit card payment method type.
+ ///
public static readonly PaymentMethodType CreditCard = new(1, "credit_cards");
+ ///
+ /// Gets the endpoint for this payment method type.
+ ///
internal string? EndPoint => Value.ToString();
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The internal ID of this enum.
+ /// The endpoint associated with this enum.
private PaymentMethodType(int id, string endpoint)
: base(id, endpoint)
{
diff --git a/EasyPost/Models/API/PaymentMethodsSummary.cs b/EasyPost/Models/API/PaymentMethodsSummary.cs
index f67bda102..e3a0151db 100644
--- a/EasyPost/Models/API/PaymentMethodsSummary.cs
+++ b/EasyPost/Models/API/PaymentMethodsSummary.cs
@@ -4,7 +4,7 @@
namespace EasyPost.Models.API
{
///
- /// Represents a summary of the primary and secondary payment methods on the user's account.
+ /// Represents a summary of the primary and secondary payment methods on the user's account.
///
public class PaymentMethodsSummary : EasyPostObject
{
@@ -17,6 +17,9 @@ public class PaymentMethodsSummary : EasyPostObject
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal PaymentMethodsSummary()
{
}
diff --git a/EasyPost/Models/API/Pickup.cs b/EasyPost/Models/API/Pickup.cs
index 84c593c1b..970feb3ea 100644
--- a/EasyPost/Models/API/Pickup.cs
+++ b/EasyPost/Models/API/Pickup.cs
@@ -11,6 +11,9 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost pickup.
+ ///
public class Pickup : EasyPostObject, IPickupParameter
{
#region JSON Properties
@@ -35,6 +38,10 @@ public class Pickup : EasyPostObject, IPickupParameter
public string? Name { get; set; }
[JsonProperty("pickup_rates")]
public List? PickupRates { get; set; }
+
+ ///
+ /// An optional field that may be used in place of ID in some API endpoints.
+ ///
[JsonProperty("reference")]
public string? Reference { get; set; }
[JsonProperty("status")]
@@ -48,6 +55,9 @@ public class Pickup : EasyPostObject, IPickupParameter
/// List of Rate objects.
private IEnumerable Rates => PickupRates != null ? PickupRates.Cast().ToList() : new List();
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Pickup()
{
}
@@ -63,19 +73,35 @@ internal Pickup()
public PickupRate LowestRate(List? includeCarriers = null, List? includeServices = null, List? excludeCarriers = null, List? excludeServices = null) => (PickupRate)Utilities.Rates.GetLowestRate(Rates, includeCarriers, includeServices, excludeCarriers, excludeServices);
}
+ ///
+ /// Class representing a collection of EasyPost objects.
+ ///
public class PickupCollection : PaginatedCollection
{
#region JSON Properties
+ ///
+ /// The s in the collection.
+ ///
[JsonProperty("pickups")]
public List? Pickups { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal PickupCollection()
{
}
+ ///
+ /// Construct the parameter set for retrieving the next page of this paginated collection.
+ ///
+ /// The entries on the current page of this paginated collection.
+ /// The request size of the next page.
+ /// The type of parameters to construct.
+ /// A TParameters-type parameters set.
protected internal override TParameters BuildNextPageParameters(IEnumerable entries, int? pageSize = null)
{
BetaFeatures.Parameters.Pickups.All parameters = Filters != null ? (BetaFeatures.Parameters.Pickups.All)Filters : new BetaFeatures.Parameters.Pickups.All();
diff --git a/EasyPost/Models/API/PickupRate.cs b/EasyPost/Models/API/PickupRate.cs
index bbcf06a86..2c154c4fb 100644
--- a/EasyPost/Models/API/PickupRate.cs
+++ b/EasyPost/Models/API/PickupRate.cs
@@ -2,6 +2,9 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost pickup rate.
+ ///
public class PickupRate : Rate
{
#region JSON Properties
@@ -11,6 +14,9 @@ public class PickupRate : Rate
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal PickupRate()
{
}
diff --git a/EasyPost/Models/API/PostageLabel.cs b/EasyPost/Models/API/PostageLabel.cs
index 2509fe766..f4f7568c2 100644
--- a/EasyPost/Models/API/PostageLabel.cs
+++ b/EasyPost/Models/API/PostageLabel.cs
@@ -4,6 +4,9 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost postage label.
+ ///
public class PostageLabel : EasyPostObject
{
#region JSON Properties
@@ -35,6 +38,9 @@ public class PostageLabel : EasyPostObject
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal PostageLabel()
{
}
diff --git a/EasyPost/Models/API/Rate.cs b/EasyPost/Models/API/Rate.cs
index d8e2b5009..57f5e2e20 100644
--- a/EasyPost/Models/API/Rate.cs
+++ b/EasyPost/Models/API/Rate.cs
@@ -4,6 +4,9 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost rate.
+ ///
public class Rate : EasyPostObject
{
#region JSON Properties
@@ -43,6 +46,9 @@ public class Rate : EasyPostObject
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Rate()
{
}
diff --git a/EasyPost/Models/API/RateWithEstimatedDeliveryDate.cs b/EasyPost/Models/API/RateWithEstimatedDeliveryDate.cs
index fdb0248ff..e52edaa14 100644
--- a/EasyPost/Models/API/RateWithEstimatedDeliveryDate.cs
+++ b/EasyPost/Models/API/RateWithEstimatedDeliveryDate.cs
@@ -4,35 +4,65 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing a with an estimated delivery date.
+ ///
public class RateWithEstimatedDeliveryDate
{
#region JSON Properties
+ ///
+ /// The object.
+ ///
[JsonProperty("rate")]
public Rate? Rate { get; set; }
+
+ ///
+ /// Estimated for the .
+ ///
[JsonProperty("easypost_time_in_transit_data")]
public TimeInTransitDetails? EasyPostTimeInTransitData { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal RateWithEstimatedDeliveryDate()
{
}
}
+ ///
+ /// Class representing estimated transit times for a .
+ ///
public class TimeInTransitDetails
{
#region JSON Properties
+ ///
+ /// Confidence levels for days in transit estimates.
+ ///
[JsonProperty("days_in_transit")]
public TimeInTransit? DaysInTransit { get; set; }
+
+ ///
+ /// EasyPost's estimated delivery date for the associated .
+ ///
[JsonProperty("easypost_time_in_transit_data")]
public string? EasyPostEstimatedDeliveryDate { get; set; }
+
+ ///
+ /// The planned departure date for the shipment.
+ ///
[JsonProperty("planned_ship_date")]
public DateTime? PlannedShipDate { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal TimeInTransitDetails()
{
}
diff --git a/EasyPost/Models/API/ReferralCustomer.cs b/EasyPost/Models/API/ReferralCustomer.cs
index 7488ffc3c..61b54cb5b 100644
--- a/EasyPost/Models/API/ReferralCustomer.cs
+++ b/EasyPost/Models/API/ReferralCustomer.cs
@@ -6,26 +6,48 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost referral customer.
+ ///
public class ReferralCustomer : BaseUser, IReferralCustomerParameter
{
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal ReferralCustomer()
{
}
}
+ ///
+ /// Class representing a collection of EasyPost s.
+ ///
public class ReferralCustomerCollection : PaginatedCollection
{
#region JSON Properties
+ ///
+ /// The s in the collection.
+ ///
[JsonProperty("referral_customers")]
public List? ReferralCustomers { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal ReferralCustomerCollection()
{
}
+ ///
+ /// Construct the parameter set for retrieving the next page of this paginated collection.
+ ///
+ /// The entries on the current page of this paginated collection.
+ /// The request size of the next page.
+ /// The type of parameters to construct.
+ /// A TParameters-type parameters set.
protected internal override TParameters BuildNextPageParameters(IEnumerable entries, int? pageSize = null)
{
BetaFeatures.Parameters.ReferralCustomers.All parameters = Filters != null ? (BetaFeatures.Parameters.ReferralCustomers.All)Filters : new BetaFeatures.Parameters.ReferralCustomers.All();
diff --git a/EasyPost/Models/API/Refund.cs b/EasyPost/Models/API/Refund.cs
index 257ea8240..821afa89b 100644
--- a/EasyPost/Models/API/Refund.cs
+++ b/EasyPost/Models/API/Refund.cs
@@ -7,6 +7,9 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost refund.
+ ///
public class Refund : EasyPostObject, IRefundParameter
{
#region JSON Properties
@@ -24,24 +27,43 @@ public class Refund : EasyPostObject, IRefundParameter
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Refund()
{
}
}
+ ///
+ /// Class representing a collection of EasyPost s.
+ ///
public class RefundCollection : PaginatedCollection
{
#region JSON Properties
+ ///
+ /// The s in the collection.
+ ///
[JsonProperty("refunds")]
public List? Refunds { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal RefundCollection()
{
}
+ ///
+ /// Construct the parameter set for retrieving the next page of this paginated collection.
+ ///
+ /// The entries on the current page of this paginated collection.
+ /// The request size of the next page.
+ /// The type of parameters to construct.
+ /// A TParameters-type parameters set.
protected internal override TParameters BuildNextPageParameters(IEnumerable entries, int? pageSize = null)
{
BetaFeatures.Parameters.Refunds.All parameters = Filters != null ? (BetaFeatures.Parameters.Refunds.All)Filters : new BetaFeatures.Parameters.Refunds.All();
diff --git a/EasyPost/Models/API/Report.cs b/EasyPost/Models/API/Report.cs
index 5e708be39..7e9b6b95d 100644
--- a/EasyPost/Models/API/Report.cs
+++ b/EasyPost/Models/API/Report.cs
@@ -8,6 +8,9 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost report.
+ ///
public class Report : EasyPostObject, IReportParameter
{
#region JSON Properties
@@ -27,24 +30,43 @@ public class Report : EasyPostObject, IReportParameter
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Report()
{
}
}
+ ///
+ /// Class representing a collection of EasyPost s.
+ ///
public class ReportCollection : PaginatedCollection
{
#region JSON Properties
+ ///
+ /// The s in the collection.
+ ///
[JsonProperty("reports")]
public List? Reports { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal ReportCollection()
{
}
+ ///
+ /// Construct the parameter set for retrieving the next page of this paginated collection.
+ ///
+ /// The entries on the current page of this paginated collection.
+ /// The request size of the next page.
+ /// The type of parameters to construct.
+ /// A TParameters-type parameters set.
protected internal override TParameters BuildNextPageParameters(IEnumerable entries, int? pageSize = null)
{
BetaFeatures.Parameters.Reports.All parameters = Filters != null ? (BetaFeatures.Parameters.Reports.All)Filters : new BetaFeatures.Parameters.Reports.All();
diff --git a/EasyPost/Models/API/ScanForm.cs b/EasyPost/Models/API/ScanForm.cs
index 05504feb7..489276fd8 100644
--- a/EasyPost/Models/API/ScanForm.cs
+++ b/EasyPost/Models/API/ScanForm.cs
@@ -7,6 +7,9 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost scan form.
+ ///
public class ScanForm : EasyPostObject, IScanFormParameter
{
#region JSON Properties
@@ -19,6 +22,10 @@ public class ScanForm : EasyPostObject, IScanFormParameter
public string? FormFileType { get; set; }
[JsonProperty("form_url")]
public string? FormUrl { get; set; }
+
+ ///
+ /// A human-readable message for any errors that occurred during the scan form's life cycle.
+ ///
[JsonProperty("message")]
public string? Message { get; set; }
[JsonProperty("status")]
@@ -28,24 +35,43 @@ public class ScanForm : EasyPostObject, IScanFormParameter
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal ScanForm()
{
}
}
+ ///
+ /// Class representing a collection of EasyPost s.
+ ///
public class ScanFormCollection : PaginatedCollection
{
#region JSON Properties
+ ///
+ /// The s in the collection.
+ ///
[JsonProperty("scan_forms")]
public List? ScanForms { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal ScanFormCollection()
{
}
+ ///
+ /// Construct the parameter set for retrieving the next page of this paginated collection.
+ ///
+ /// The entries on the current page of this paginated collection.
+ /// The request size of the next page.
+ /// The type of parameters to construct.
+ /// A TParameters-type parameters set.
protected internal override TParameters BuildNextPageParameters(IEnumerable entries, int? pageSize = null)
{
BetaFeatures.Parameters.ScanForms.All parameters = Filters != null ? (BetaFeatures.Parameters.ScanForms.All)Filters : new BetaFeatures.Parameters.ScanForms.All();
diff --git a/EasyPost/Models/API/Shipment.cs b/EasyPost/Models/API/Shipment.cs
index 112b8de09..9c8fca7ca 100644
--- a/EasyPost/Models/API/Shipment.cs
+++ b/EasyPost/Models/API/Shipment.cs
@@ -10,6 +10,9 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost shipment.
+ ///
public class Shipment : EasyPostObject, IShipmentParameter
{
#region JSON Properties
@@ -48,6 +51,10 @@ public class Shipment : EasyPostObject, IShipmentParameter
public PostageLabel? PostageLabel { get; set; }
[JsonProperty("rates")]
public List? Rates { get; set; }
+
+ ///
+ /// An optional field that may be used in place of ID in some API endpoints.
+ ///
[JsonProperty("reference")]
public string? Reference { get; set; }
[JsonProperty("refund_status")]
@@ -75,6 +82,9 @@ public class Shipment : EasyPostObject, IShipmentParameter
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Shipment()
{
}
@@ -100,19 +110,35 @@ public Rate LowestRate(List? includeCarriers = null, List? inclu
}
}
+ ///
+ /// Class representing a collection of EasyPost s.
+ ///
public class ShipmentCollection : PaginatedCollection
{
#region JSON Properties
+ ///
+ /// The s in the collection.
+ ///
[JsonProperty("shipments")]
public List? Shipments { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal ShipmentCollection()
{
}
+ ///
+ /// Construct the parameter set for retrieving the next page of this paginated collection.
+ ///
+ /// The entries on the current page of this paginated collection.
+ /// The request size of the next page.
+ /// The type of parameters to construct.
+ /// A TParameters-type parameters set.
protected internal override TParameters BuildNextPageParameters(IEnumerable entries, int? pageSize = null)
{
BetaFeatures.Parameters.Shipments.All parameters = Filters != null ? (BetaFeatures.Parameters.Shipments.All)Filters : new BetaFeatures.Parameters.Shipments.All();
diff --git a/EasyPost/Models/API/Smartrate.cs b/EasyPost/Models/API/SmartRate.cs
similarity index 85%
rename from EasyPost/Models/API/Smartrate.cs
rename to EasyPost/Models/API/SmartRate.cs
index 21126080c..cee6e3455 100644
--- a/EasyPost/Models/API/Smartrate.cs
+++ b/EasyPost/Models/API/SmartRate.cs
@@ -4,6 +4,9 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost SmartRate.
+ ///
public class SmartRate : EasyPostObject
{
#region JSON Properties
@@ -43,6 +46,9 @@ public class SmartRate : EasyPostObject
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal SmartRate()
{
}
diff --git a/EasyPost/Models/API/TaxIdentifier.cs b/EasyPost/Models/API/TaxIdentifier.cs
index 0ad6afb86..a36d7aee6 100644
--- a/EasyPost/Models/API/TaxIdentifier.cs
+++ b/EasyPost/Models/API/TaxIdentifier.cs
@@ -4,6 +4,9 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost tax identifier.
+ ///
public class TaxIdentifier : EasyPostObject, ITaxIdentifierParameter
{
#region JSON Properties
@@ -19,6 +22,9 @@ public class TaxIdentifier : EasyPostObject, ITaxIdentifierParameter
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal TaxIdentifier()
{
}
diff --git a/EasyPost/Models/API/TimeInTransit.cs b/EasyPost/Models/API/TimeInTransit.cs
index f594f0091..3be905ca1 100644
--- a/EasyPost/Models/API/TimeInTransit.cs
+++ b/EasyPost/Models/API/TimeInTransit.cs
@@ -3,6 +3,9 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost time in transit summary.
+ ///
public class TimeInTransit : EphemeralEasyPostObject
{
#region JSON Properties
@@ -24,6 +27,9 @@ public class TimeInTransit : EphemeralEasyPostObject
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal TimeInTransit()
{
}
diff --git a/EasyPost/Models/API/Tracker.cs b/EasyPost/Models/API/Tracker.cs
index 9dccc993c..acd773057 100644
--- a/EasyPost/Models/API/Tracker.cs
+++ b/EasyPost/Models/API/Tracker.cs
@@ -8,6 +8,9 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost tracker.
+ ///
public class Tracker : EasyPostObject, ITrackerParameter
{
#region JSON Properties
@@ -39,24 +42,43 @@ public class Tracker : EasyPostObject, ITrackerParameter
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Tracker()
{
}
}
+ ///
+ /// Class representing a collection of EasyPost s.
+ ///
public class TrackerCollection : PaginatedCollection
{
#region JSON Properties
+ ///
+ /// The s in the collection.
+ ///
[JsonProperty("trackers")]
public List? Trackers { get; set; }
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal TrackerCollection()
{
}
+ ///
+ /// Construct the parameter set for retrieving the next page of this paginated collection.
+ ///
+ /// The entries on the current page of this paginated collection.
+ /// The request size of the next page.
+ /// The type of parameters to construct.
+ /// A TParameters-type parameters set.
protected internal override TParameters BuildNextPageParameters(IEnumerable entries, int? pageSize = null)
{
BetaFeatures.Parameters.Trackers.All parameters = Filters != null ? (BetaFeatures.Parameters.Trackers.All)Filters : new BetaFeatures.Parameters.Trackers.All();
diff --git a/EasyPost/Models/API/TrackingDetail.cs b/EasyPost/Models/API/TrackingDetail.cs
index d03ae30e0..c5e2e98e7 100644
--- a/EasyPost/Models/API/TrackingDetail.cs
+++ b/EasyPost/Models/API/TrackingDetail.cs
@@ -4,12 +4,19 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost tracker detail object.
+ ///
public class TrackingDetail : EasyPostObject
{
#region JSON Properties
[JsonProperty("datetime")]
public DateTime? Datetime { get; set; }
+
+ ///
+ /// A human-readable message for any errors that occurred during the tracking detail's life cycle.
+ ///
[JsonProperty("message")]
public string? Message { get; set; }
[JsonProperty("status")]
@@ -21,6 +28,9 @@ public class TrackingDetail : EasyPostObject
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal TrackingDetail()
{
}
diff --git a/EasyPost/Models/API/TrackingLocation.cs b/EasyPost/Models/API/TrackingLocation.cs
index 489720e23..ff6beeb30 100644
--- a/EasyPost/Models/API/TrackingLocation.cs
+++ b/EasyPost/Models/API/TrackingLocation.cs
@@ -3,6 +3,9 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost tracking location.
+ ///
public class TrackingLocation : EasyPostObject
{
#region JSON Properties
@@ -18,6 +21,9 @@ public class TrackingLocation : EasyPostObject
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal TrackingLocation()
{
}
diff --git a/EasyPost/Models/API/User.cs b/EasyPost/Models/API/User.cs
index 3c48e916d..47aa057df 100644
--- a/EasyPost/Models/API/User.cs
+++ b/EasyPost/Models/API/User.cs
@@ -1,12 +1,11 @@
-using System.Collections.Generic;
-using System.Threading.Tasks;
-using EasyPost.BetaFeatures.Parameters;
+using EasyPost.BetaFeatures.Parameters;
using EasyPost.Models.Shared;
-using EasyPost.Utilities.Internal.Attributes;
-using EasyPost.Utilities.Internal.Extensions;
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost user.
+ ///
public class User : BaseUser, IUserParameter
{
internal User()
diff --git a/EasyPost/Models/API/Verification.cs b/EasyPost/Models/API/Verification.cs
index 96a2b16b0..3796662ba 100644
--- a/EasyPost/Models/API/Verification.cs
+++ b/EasyPost/Models/API/Verification.cs
@@ -4,6 +4,9 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost verification object.
+ ///
public class Verification : EasyPostObject
{
#region JSON Properties
@@ -17,6 +20,9 @@ public class Verification : EasyPostObject
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Verification()
{
}
diff --git a/EasyPost/Models/API/VerificationDetails.cs b/EasyPost/Models/API/VerificationDetails.cs
index ca0061bda..f0f7ee87a 100644
--- a/EasyPost/Models/API/VerificationDetails.cs
+++ b/EasyPost/Models/API/VerificationDetails.cs
@@ -3,6 +3,9 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost verification details object.
+ ///
public class VerificationDetails : EasyPostObject
{
#region JSON Properties
@@ -16,6 +19,9 @@ public class VerificationDetails : EasyPostObject
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal VerificationDetails()
{
}
diff --git a/EasyPost/Models/API/Verifications.cs b/EasyPost/Models/API/Verifications.cs
index 5f1685395..9744ece51 100644
--- a/EasyPost/Models/API/Verifications.cs
+++ b/EasyPost/Models/API/Verifications.cs
@@ -3,6 +3,9 @@
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost verifications object.
+ ///
public class Verifications : EasyPostObject
{
#region JSON Properties
@@ -14,6 +17,9 @@ public class Verifications : EasyPostObject
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Verifications()
{
}
diff --git a/EasyPost/Models/API/Webhook.cs b/EasyPost/Models/API/Webhook.cs
index b93362689..6a3169e04 100644
--- a/EasyPost/Models/API/Webhook.cs
+++ b/EasyPost/Models/API/Webhook.cs
@@ -1,13 +1,13 @@
using System;
-using System.Collections.Generic;
-using System.Threading.Tasks;
using EasyPost._base;
using EasyPost.BetaFeatures.Parameters;
-using EasyPost.Utilities.Internal.Attributes;
using Newtonsoft.Json;
namespace EasyPost.Models.API
{
+ ///
+ /// Class representing an EasyPost webhook.
+ ///
public class Webhook : EasyPostObject, IWebhookParameter
{
#region JSON Properties
@@ -19,6 +19,9 @@ public class Webhook : EasyPostObject, IWebhookParameter
#endregion
+ ///
+ /// Initializes a new instance of the class.
+ ///
internal Webhook()
{
}
diff --git a/EasyPost/Models/Shared/BaseUser.cs b/EasyPost/Models/Shared/BaseUser.cs
index 970e9f4d0..9e8672bae 100644
--- a/EasyPost/Models/Shared/BaseUser.cs
+++ b/EasyPost/Models/Shared/BaseUser.cs
@@ -5,6 +5,9 @@
namespace EasyPost.Models.Shared
{
+ ///
+ /// Base class for all EasyPost user objects.
+ ///
public class BaseUser : EasyPostObject
{
#region JSON Properties
diff --git a/EasyPost/Models/Shared/PaginatedCollection.cs b/EasyPost/Models/Shared/PaginatedCollection.cs
index 427f12234..f4ea3d826 100644
--- a/EasyPost/Models/Shared/PaginatedCollection.cs
+++ b/EasyPost/Models/Shared/PaginatedCollection.cs
@@ -7,9 +7,9 @@
namespace EasyPost.Models.Shared
{
///
- /// A collection of s with multiple pages.
+ /// A paginated collection of s.
///
- public abstract class PaginatedCollection : EasyPost._base.EasyPostObject where TEntries : EasyPost._base.EasyPostObject
+ public abstract class PaginatedCollection : _base.EasyPostObject where TEntries : _base.EasyPostObject
{
#region JSON Properties
@@ -59,6 +59,6 @@ public abstract class PaginatedCollection : EasyPost._base.EasyPostObj
/// A TParameters-type set of parameters to use for the subsequent API call.
/// Thrown if there are no more items to retrieve for the paginated collection.
// This method is abstract and must be implemented for each collection.
- protected internal abstract TParameters BuildNextPageParameters(IEnumerable entries, int? pageSize = null) where TParameters : EasyPost.BetaFeatures.Parameters.BaseParameters;
+ protected internal abstract TParameters BuildNextPageParameters(IEnumerable entries, int? pageSize = null) where TParameters : BetaFeatures.Parameters.BaseParameters;
}
}
diff --git a/EasyPost/_base/EphemeralEasyPostObject.cs b/EasyPost/_base/EphemeralEasyPostObject.cs
index a4f378cef..3356eb160 100644
--- a/EasyPost/_base/EphemeralEasyPostObject.cs
+++ b/EasyPost/_base/EphemeralEasyPostObject.cs
@@ -29,8 +29,8 @@ public abstract class EphemeralEasyPostObject : IEasyPostObject
///
public override bool Equals(object? obj) => GetType() == obj?.GetType() && GetHashCode() == ((EphemeralEasyPostObject)obj).GetHashCode();
-#pragma warning disable CA1307 // Specify StringComparison
///
+#pragma warning disable CA1307 // Specify StringComparison
public override int GetHashCode() => AsJson().GetHashCode() ^ GetType().GetHashCode();
#pragma warning restore CA1307 // Specify StringComparison
diff --git a/Makefile b/Makefile
index 333a3d723..795cbcad5 100644
--- a/Makefile
+++ b/Makefile
@@ -35,7 +35,7 @@ coverage-check:
## docs - Generates library documentation
docs:
- dotnet tool run docfx docfx.json
+ dotnet tool run docfx docs/docfx.json
## format - Formats the project
format: