diff --git a/Shippo.sln b/Shippo.sln index fe8a37f..be53a43 100644 --- a/Shippo.sln +++ b/Shippo.sln @@ -5,8 +5,6 @@ VisualStudioVersion = 15.0.28010.2019 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Shippo", "Shippo\Shippo.csproj", "{6816FD58-3FC6-4EFC-95F8-D11E9C1D387F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShippoExample", "ShippoExample\ShippoExample.csproj", "{7712EC9C-2581-49EE-8B61-745843F2CD6F}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -17,10 +15,6 @@ Global {6816FD58-3FC6-4EFC-95F8-D11E9C1D387F}.Debug|Any CPU.Build.0 = Debug|Any CPU {6816FD58-3FC6-4EFC-95F8-D11E9C1D387F}.Release|Any CPU.ActiveCfg = Release|Any CPU {6816FD58-3FC6-4EFC-95F8-D11E9C1D387F}.Release|Any CPU.Build.0 = Release|Any CPU - {7712EC9C-2581-49EE-8B61-745843F2CD6F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7712EC9C-2581-49EE-8B61-745843F2CD6F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7712EC9C-2581-49EE-8B61-745843F2CD6F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7712EC9C-2581-49EE-8B61-745843F2CD6F}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Shippo/APIResource.cs b/Shippo/APIResource.cs index b6256e0..c6cc303 100644 --- a/Shippo/APIResource.cs +++ b/Shippo/APIResource.cs @@ -90,8 +90,11 @@ static string GetResponseAsString(WebResponse response) // GET Requests public virtual T DoRequest(string endpoint, string method = "GET", string body = null) { + var jsonSettings = new JsonSerializerSettings { + NullValueHandling = NullValueHandling.Ignore + }; var json = DoRequest(endpoint, method, body); - return JsonConvert.DeserializeObject(json); + return JsonConvert.DeserializeObject(json, jsonSettings); } // GET Requests Helper public virtual string DoRequest(string endpoint) diff --git a/Shippo/Address.cs b/Shippo/Address.cs index 386e31b..7079c29 100644 --- a/Shippo/Address.cs +++ b/Shippo/Address.cs @@ -9,52 +9,52 @@ public class Address : ShippoId { public object IsComplete { get; set; } [JsonProperty(PropertyName = "object_created")] - public object ObjectCreated { get; set; } + public DateTime ObjectCreated { get; set; } [JsonProperty(PropertyName = "object_updated")] - public object ObjectUpdated { get; set; } + public DateTime ObjectUpdated { get; set; } [JsonProperty(PropertyName = "object_owner")] - public object ObjectOwner { get; set; } + public string ObjectOwner { get; set; } [JsonProperty(PropertyName = "name")] - public object Name { get; set; } + public string Name { get; set; } [JsonProperty(PropertyName = "company")] - public object Company { get; set; } + public string Company { get; set; } [JsonProperty(PropertyName = "street1")] - public object Street1 { get; set; } + public string Street1 { get; set; } [JsonProperty(PropertyName = "street_no")] - public object StreetNo { get; set; } + public string StreetNo { get; set; } [JsonProperty(PropertyName = "street2")] - public object Street2 { get; set; } + public string Street2 { get; set; } [JsonProperty(PropertyName = "street3")] public string Street3; [JsonProperty(PropertyName = "city")] - public object City { get; set; } + public string City { get; set; } [JsonProperty(PropertyName = "state")] - public object State { get; set; } + public string State { get; set; } [JsonProperty(PropertyName = "zip")] - public object Zip { get; set; } + public string Zip { get; set; } [JsonProperty(PropertyName = "country")] - public object Country { get; set; } + public string Country { get; set; } [JsonProperty(PropertyName = "phone")] - public object Phone { get; set; } + public string Phone { get; set; } [JsonProperty(PropertyName = "email")] - public object Email { get; set; } + public string Email { get; set; } [JsonProperty(PropertyName = "is_residential")] - public object IsResidential { get; set; } + public bool? IsResidential { get; set; } [JsonProperty(PropertyName = "ip")] public object IP { get; set; } diff --git a/Shippo/BatchShipment.cs b/Shippo/BatchShipment.cs index 394419a..953ae89 100644 --- a/Shippo/BatchShipment.cs +++ b/Shippo/BatchShipment.cs @@ -23,7 +23,7 @@ public class BatchShipment : ShippoId public string Transaction; [JsonProperty(PropertyName = "messages")] - public object Messages; + public IEnumerable Messages; [JsonProperty(PropertyName = "metadata")] public string Metadata; diff --git a/Shippo/CarrierAccount.cs b/Shippo/CarrierAccount.cs index ad63f4e..5d093b4 100644 --- a/Shippo/CarrierAccount.cs +++ b/Shippo/CarrierAccount.cs @@ -5,19 +5,19 @@ namespace Shippo { [JsonObject(MemberSerialization.OptIn)] public class CarrierAccount : ShippoId { [JsonProperty(PropertyName = "account_id")] - public object AccountId { get; set; } + public string AccountId { get; set; } [JsonProperty(PropertyName = "carrier")] - public object Carrier { get; set; } + public string Carrier { get; set; } [JsonProperty(PropertyName = "parameters")] public object Parameters { get; set; } [JsonProperty(PropertyName = "test")] - public object Test { get; set; } + public bool Test { get; set; } [JsonProperty(PropertyName = "active")] - public object Active { get; set; } + public bool Active { get; set; } [JsonProperty(PropertyName = "metadata")] public object Metadata { get; set; } diff --git a/Shippo/CustomsDeclaration.cs b/Shippo/CustomsDeclaration.cs index 52e65d1..0f0a082 100644 --- a/Shippo/CustomsDeclaration.cs +++ b/Shippo/CustomsDeclaration.cs @@ -1,74 +1,75 @@ using System; +using System.Collections.Generic; using Newtonsoft.Json; namespace Shippo { [JsonObject(MemberSerialization.OptIn)] public class CustomsDeclaration : ShippoId { [JsonProperty(PropertyName = "object_created")] - public object ObjectCreated { get; set; } + public DateTime ObjectCreated { get; set; } [JsonProperty(PropertyName = "object_updated")] - public object ObjectUpdated { get; set; } + public DateTime ObjectUpdated { get; set; } [JsonProperty(PropertyName = "object_owner")] - public object ObjectOwner { get; set; } + public string ObjectOwner { get; set; } [JsonProperty(PropertyName = "object_state")] - public object ObjectState { get; set; } + public string ObjectState { get; set; } [JsonProperty(PropertyName = "exporter_reference")] - public object ExporterReference { get; set; } + public string ExporterReference { get; set; } [JsonProperty(PropertyName = "importer_reference")] - public object ImporterReference { get; set; } + public string ImporterReference { get; set; } [JsonProperty(PropertyName = "contents_type")] - public object ContentsType { get; set; } + public string ContentsType { get; set; } [JsonProperty(PropertyName = "contents_explanation")] - public object ContentsExplanation { get; set; } + public string ContentsExplanation { get; set; } [JsonProperty(PropertyName = "invoice")] - public object Invoice { get; set; } + public string Invoice { get; set; } [JsonProperty(PropertyName = "license")] - public object License { get; set; } + public string License { get; set; } [JsonProperty(PropertyName = "certificate")] - public object Certificate { get; set; } + public string Certificate { get; set; } [JsonProperty(PropertyName = "notes")] - public object Notes { get; set; } + public string Notes { get; set; } [JsonProperty(PropertyName = "eel_pfc")] - public object EelPfc { get; set; } + public string EelPfc { get; set; } [JsonProperty(PropertyName = "aes_itn")] - public object AesItn { get; set; } + public string AesItn { get; set; } [JsonProperty(PropertyName = "non_delivery_option")] - public object NonDeliveryOption { get; set; } + public string NonDeliveryOption { get; set; } [JsonProperty(PropertyName = "certify")] - public object Certify { get; set; } + public bool Certify { get; set; } [JsonProperty(PropertyName = "certify_signer")] - public object CertifySigner { get; set; } + public string CertifySigner { get; set; } [JsonProperty (PropertyName = "address_importer")] public Address AddressImporter { get; set; } [JsonProperty(PropertyName = "disclaimer")] - public object Discliamer { get; set; } + public string Discliamer { get; set; } [JsonProperty(PropertyName = "incoterm")] - public object Incoterm { get; set; } + public string Incoterm { get; set; } [JsonProperty(PropertyName = "items")] - public object Items { get; set; } + public List Items { get; set; } [JsonProperty(PropertyName = "metadata")] - public object Metadata { get; set; } + public string Metadata { get; set; } } } diff --git a/Shippo/CustomsItem.cs b/Shippo/CustomsItem.cs index e212832..b4dd262 100644 --- a/Shippo/CustomsItem.cs +++ b/Shippo/CustomsItem.cs @@ -5,43 +5,43 @@ namespace Shippo { [JsonObject(MemberSerialization.OptIn)] public class CustomsItem : ShippoId { [JsonProperty(PropertyName = "object_created")] - public object ObjectCreated { get; set; } + public DateTime ObjectCreated { get; set; } [JsonProperty(PropertyName = "object_updated")] - public object ObjectUPdated { get; set; } + public DateTime ObjectUPdated { get; set; } [JsonProperty(PropertyName = "object_owner")] - public object ObjectOwner { get; set; } + public string ObjectOwner { get; set; } [JsonProperty(PropertyName = "object_state")] - public object ObjectState { get; set; } + public string ObjectState { get; set; } [JsonProperty(PropertyName = "description")] - public object Description { get; set; } + public string Description { get; set; } [JsonProperty(PropertyName = "quantity")] - public object Quantity { get; set; } + public int Quantity { get; set; } [JsonProperty(PropertyName = "net_weight")] - public object NetWeight { get; set; } + public decimal NetWeight { get; set; } [JsonProperty(PropertyName = "mass_unit")] - public object MassUnit { get; set; } + public string MassUnit { get; set; } [JsonProperty(PropertyName = "value_amount")] - public object ValueAmount { get; set; } + public decimal ValueAmount { get; set; } [JsonProperty(PropertyName = "value_currency")] - public object ValueCurrency { get; set; } + public string ValueCurrency { get; set; } [JsonProperty(PropertyName = "tariff_number")] - public object TariffNumber { get; set; } + public string TariffNumber { get; set; } [JsonProperty(PropertyName = "origin_country")] - public object OriginCountry { get; set; } + public string OriginCountry { get; set; } [JsonProperty(PropertyName = "metadata")] - public object Metadata { get; set; } + public string Metadata { get; set; } } } diff --git a/Shippo/Manifest.cs b/Shippo/Manifest.cs index 1213c4f..11a63a1 100644 --- a/Shippo/Manifest.cs +++ b/Shippo/Manifest.cs @@ -1,32 +1,36 @@ using System; +using System.Collections.Generic; using Newtonsoft.Json; namespace Shippo { [JsonObject(MemberSerialization.OptIn)] public class Manifest : ShippoId { [JsonProperty(PropertyName = "object_created")] - public object ObjectCreated { get; set; } + public DateTime ObjectCreated { get; set; } [JsonProperty(PropertyName = "object_updated")] - public object ObjectUpdated { get; set; } + public DateTime ObjectUpdated { get; set; } [JsonProperty(PropertyName = "object_owner")] - public object ObjectOwner { get; set; } + public string ObjectOwner { get; set; } [JsonProperty(PropertyName = "status")] - public object Status { get; set; } + public string Status { get; set; } [JsonProperty(PropertyName = "provider")] public object Provider { get; set; } [JsonProperty(PropertyName = "submission_date")] - public object SubmissionDate { get; set; } + public DateTime SubmissionDate { get; set; } [JsonProperty(PropertyName = "address_from")] public object AddressFrom { get; set; } [JsonProperty(PropertyName = "documents")] - public object Documents { get; set; } + public List Documents { get; set; } + + [JsonProperty(PropertyName = "carrier_account")] + public string Carrier_Account { get; set; } } } diff --git a/Shippo/Parcel.cs b/Shippo/Parcel.cs index 2c22e9b..b6dbd43 100644 --- a/Shippo/Parcel.cs +++ b/Shippo/Parcel.cs @@ -7,40 +7,40 @@ namespace Shippo public class Parcel : ShippoId { [JsonProperty(PropertyName = "object_state")] - public object ObjectState { get; set; } + public string ObjectState { get; set; } [JsonProperty(PropertyName = "object_created")] - public object ObjectCreated { get; set; } + public DateTime ObjectCreated { get; set; } [JsonProperty(PropertyName = "object_updated")] - public object ObjectUpdaed { get; set; } + public DateTime ObjectUpdaed { get; set; } [JsonProperty(PropertyName = "object_owner")] - public object ObjectOwner { get; set; } + public string ObjectOwner { get; set; } [JsonProperty(PropertyName = "length")] - public object Length { get; set; } + public decimal Length { get; set; } [JsonProperty(PropertyName = "width")] - public object Width { get; set; } + public decimal Width { get; set; } [JsonProperty(PropertyName = "height")] - public object Height { get; set; } + public decimal Height { get; set; } [JsonProperty(PropertyName = "distance_unit")] - public object DistanceUnit { get; set; } + public string DistanceUnit { get; set; } [JsonProperty(PropertyName = "weight")] - public object Weight { get; set; } + public decimal Weight { get; set; } [JsonProperty(PropertyName = "mass_unit")] - public object MassUnit { get; set; } + public string MassUnit { get; set; } [JsonProperty(PropertyName = "template")] public string Template; [JsonProperty(PropertyName = "metadata")] - public object Metadata { get; set; } + public string Metadata { get; set; } [JsonProperty(PropertyName = "extra")] public object Extra; @@ -52,11 +52,11 @@ public static Parcel createForShipment(double length, double width, double heigh double weight, string massUnit) { Parcel p = new Parcel(); - p.Length = length; - p.Width = width; - p.Height = height; + p.Length = Convert.ToDecimal(length); + p.Width = Convert.ToDecimal(width); + p.Height = Convert.ToDecimal(height); p.DistanceUnit = distance_unit; - p.Weight = weight; + p.Weight = Convert.ToDecimal(weight); p.MassUnit = massUnit; return p; diff --git a/Shippo/Rate.cs b/Shippo/Rate.cs index fb082c4..97cb3f0 100644 --- a/Shippo/Rate.cs +++ b/Shippo/Rate.cs @@ -1,53 +1,77 @@ using System; +using System.Collections.Generic; using Newtonsoft.Json; -namespace Shippo { +namespace Shippo +{ [JsonObject(MemberSerialization.OptIn)] public class Rate : ShippoId { [JsonProperty(PropertyName = "object_created")] - public object ObjectCreated { get; set; } + public DateTime ObjectCreated { get; set; } [JsonProperty(PropertyName = "object_owner")] - public object ObjectOwner { get; set; } + public string ObjectOwner { get; set; } [JsonProperty(PropertyName = "attributes")] - public object Attributes { get; set; } + public List Attributes { get; set; } [JsonProperty(PropertyName = "amount_local")] - public object AmountLocal { get; set; } + public decimal AmountLocal { get; set; } [JsonProperty(PropertyName = "currency_local")] - public object CurrencyLocal { get; set; } + public string CurrencyLocal { get; set; } [JsonProperty(PropertyName = "amount")] - public object Amount { get; set; } + public decimal Amount { get; set; } [JsonProperty(PropertyName = "currency")] - public object Currency { get; set; } + public string Currency { get; set; } [JsonProperty(PropertyName = "provider")] - public object Provider { get; set; } + public string Provider { get; set; } [JsonProperty(PropertyName = "provider_image_75")] - public object ProviderImage75 { get; set; } + public string ProviderImage75 { get; set; } [JsonProperty(PropertyName = "provider_image_200")] - public object ProviderImage200 { get; set; } + public string ProviderImage200 { get; set; } [JsonProperty(PropertyName = "servicelevel")] public ServiceLevel Servicelevel { get; set; } [JsonProperty(PropertyName = "estimated_days")] - public object EstimatedDays { get; set; } + public int EstimatedDays { get; set; } [JsonProperty(PropertyName = "duration_terms")] - public object DurationTerms { get; set; } + public string DurationTerms { get; set; } [JsonProperty(PropertyName = "messages")] - public object Messages { get; set; } + public List Messages { get; set; } [JsonProperty(PropertyName = "zone")] - public object Zone { get; set; } + public string Zone { get; set; } + + [JsonProperty(PropertyName = "shipment")] + public string ShipmentId { get; set; } + + [JsonProperty(PropertyName = "insurance")] + public bool Insurance { get; set; } + + [JsonProperty(PropertyName = "insurance_amount_local")] + public float Insurance_Amount_Local { get; set; } + + [JsonProperty(PropertyName = "insurance_currency_local")] + public string Insurance_Currency_Local { get; set; } + + [JsonProperty(PropertyName = "insurance_amount")] + public float Insurance_Amount { get; set; } + + [JsonProperty(PropertyName = "insurance_currency")] + public string Insruance_Currency { get; set; } + + [JsonProperty(PropertyName = "carrier_account")] + public string Carrier_Account { get; set; } + } public class ServiceLevel diff --git a/Shippo/Refund.cs b/Shippo/Refund.cs index 47def4f..bcb75c4 100644 --- a/Shippo/Refund.cs +++ b/Shippo/Refund.cs @@ -5,19 +5,19 @@ namespace Shippo { [JsonObject(MemberSerialization.OptIn)] public class Refund : ShippoId { [JsonProperty(PropertyName = "object_created")] - public object ObjectCreated { get; set; } + public DateTime ObjectCreated { get; set; } [JsonProperty(PropertyName = "object_updated")] - public object ObjectUpdated { get; set; } + public DateTime ObjectUpdated { get; set; } [JsonProperty(PropertyName = "object_owner")] - public object ObjectOwner { get; set; } + public string ObjectOwner { get; set; } [JsonProperty(PropertyName = "status")] - public object Status { get; set; } + public string Status { get; set; } [JsonProperty(PropertyName = "transaction")] - public object Transaction { get; set; } + public string Transaction { get; set; } } } diff --git a/Shippo/Shipment.cs b/Shippo/Shipment.cs index 94dedc0..3433a3f 100644 --- a/Shippo/Shipment.cs +++ b/Shippo/Shipment.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using Newtonsoft.Json; namespace Shippo { @@ -7,40 +8,40 @@ namespace Shippo { public class Shipment : ShippoId { [JsonProperty(PropertyName = "status")] - public object Status { get; set; } + public string Status { get; set; } [JsonProperty(PropertyName = "object_created")] - public object ObjectCreated { get; set; } + public DateTime ObjectCreated { get; set; } [JsonProperty(PropertyName = "object_updated")] - public object ObjectUpdated { get; set; } + public DateTime ObjectUpdated { get; set; } [JsonProperty(PropertyName = "object_owner")] - public object ObjectOwner { get; set; } + public string ObjectOwner { get; set; } [JsonProperty(PropertyName = "address_from")] - public object AddressFrom { get; set; } + public string AddressFrom { get; set; } [JsonProperty(PropertyName = "address_to")] - public object AddressTo { get; set; } + public string AddressTo { get; set; } [JsonProperty(PropertyName = "parcels")] - public object[] Parcels { get; set; } + public string[] Parcels { get; set; } [JsonProperty(PropertyName = "shipment_date")] - public object ShipmentDate { get; set; } + public DateTime ShipmentDate { get; set; } [JsonProperty(PropertyName = "address_return")] - public object AddressReturn { get; set; } + public string AddressReturn { get; set; } [JsonProperty(PropertyName = "customs_declaration")] - public object CustomsDeclaration { get; set; } + public string CustomsDeclaration { get; set; } [JsonProperty(PropertyName = "carrier_accounts")] public List CarrierAccounts; [JsonProperty(PropertyName = "metadata")] - public object Metadata { get; set; } + public string Metadata { get; set; } [JsonProperty(PropertyName = "extra")] public object Extra { get; set; } @@ -49,18 +50,25 @@ public class Shipment : ShippoId { public Rate[] Rates { get; set; } [JsonProperty(PropertyName = "messages")] - public object Messages { get; set; } + public IEnumerable Messages { get; set; } [JsonProperty(PropertyName = "test")] public bool? Test; + [JsonProperty(PropertyName = "rates_url")] + public string Rates_Url { get; set; } + + [JsonProperty(PropertyName = "insurance_amount")] + public decimal Insurance_Amount { get; set; } + + public static Shipment createForBatch(Address addressFrom, Address addressTo, Parcel[] parcels) { Shipment s = new Shipment(); - s.AddressFrom = addressFrom; - s.AddressTo = addressTo; - s.Parcels = parcels; + s.AddressFrom = addressFrom.ObjectId; + s.AddressTo = addressTo.ObjectId; + s.Parcels = parcels?.Select(x => x?.ObjectId)?.ToArray() ?? new string[] { }; return s; } } diff --git a/Shippo/ShippoMessage.cs b/Shippo/ShippoMessage.cs new file mode 100644 index 0000000..7d9ed93 --- /dev/null +++ b/Shippo/ShippoMessage.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Shippo +{ + public class ShippoMessage + { + [JsonProperty(PropertyName = "source")] + public string Source { get; set; } + + [JsonProperty(PropertyName = "code")] + public string Code { get; set; } + + [JsonProperty(PropertyName = "text")] + public string Text { get; set; } + } +} diff --git a/Shippo/Transaction.cs b/Shippo/Transaction.cs index 636f58b..3b2bebe 100644 --- a/Shippo/Transaction.cs +++ b/Shippo/Transaction.cs @@ -1,47 +1,56 @@ using System; +using System.Collections.Generic; using Newtonsoft.Json; namespace Shippo { [JsonObject(MemberSerialization.OptIn)] public class Transaction : ShippoId { [JsonProperty(PropertyName = "object_state")] - public object ObjectState { get; set; } + public string ObjectState { get; set; } [JsonProperty(PropertyName = "status")] - public object Status { get; set; } + public string Status { get; set; } [JsonProperty(PropertyName = "object_created")] - public object ObjectCreated { get; set; } + public DateTime ObjectCreated { get; set; } [JsonProperty(PropertyName = "object_updated")] - public object ObjectUPdated { get; set; } + public DateTime ObjectUpdated { get; set; } [JsonProperty(PropertyName = "object_owner")] - public object ObjectOwner { get; set; } + public string ObjectOwner { get; set; } [JsonProperty(PropertyName = "was_test")] - public object WasTest { get; set; } + public bool WasTest { get; set; } [JsonProperty(PropertyName = "rate")] - public object Rate { get; set; } + public string Rate { get; set; } [JsonProperty(PropertyName = "tracking_number")] - public object TrackingNumber { get; set; } + public string TrackingNumber { get; set; } [JsonProperty(PropertyName = "tracking_status")] - public object TrackingStatus { get; set; } + public IEnumerable TrackingStatus { get; set; } [JsonProperty(PropertyName = "tracking_url_provider")] public object TrackingUrlProvider { get; set; } [JsonProperty(PropertyName = "label_url")] - public object LabelURL { get; set; } + public string LabelURL { get; set; } [JsonProperty(PropertyName = "commercial_invoice_url")] - public object CommercialInvoiceUrl { get; set; } + public string CommercialInvoiceUrl { get; set; } [JsonProperty(PropertyName = "messages")] - public object Messages { get; set; } + public IEnumerable Messages { get; set; } + + [JsonProperty(PropertyName = "eta")] + public DateTime ETA { get; set; } + + [JsonProperty(PropertyName = "tracking_history")] + public IEnumerable Tracking_History { get; set; } + + } } diff --git a/ShippoExample/ShippoExample.csproj b/ShippoExample/ShippoExample.csproj index b6f1b0b..ed32de7 100644 --- a/ShippoExample/ShippoExample.csproj +++ b/ShippoExample/ShippoExample.csproj @@ -38,9 +38,6 @@ ..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll - - ..\packages\Shippo.2.1.8\lib\net45\Shippo.dll - @@ -59,5 +56,11 @@ + + + {6816fd58-3fc6-4efc-95f8-d11e9c1d387f} + Shippo + + \ No newline at end of file