Releases: AfterShip/tracking-sdk-net
14.0.0
Breaking Changes - AfterShip Tracking .NET SDK v14.0.0
1. Response Structure Complete Refactor
Major Change: All response classes now have a wrapper structure with ResponseHeader and Data properties instead of directly containing response data.
// v13 - Direct access to response properties
var response = client.Tracking.CreateTracking(request);
string id = response.Id;
string trackingNumber = response.TrackingNumber;
// v14 - Must access through Data property
var response = client.Tracking.CreateTracking(request);
string id = response.Data.Id;
string trackingNumber = response.Data.TrackingNumber;
var headers = response.ResponseHeader; // New: Access to HTTP response headersApplies to all API responses: CreateTracking, GetTrackingById, GetTrackings, UpdateTrackingById, GetCouriers, etc.
2. Model Name Changes - Prefix Naming Convention
Most nested model classes changed from suffix naming to prefix naming:
// v13 - Suffix naming
CourierEstimatedDeliveryDateTracking
ShipmentWeightTracking
AftershipEstimatedDeliveryDateTracking
CarbonEmissionsTracking
CustomEstimatedDeliveryDateTracking
FirstEstimatedDeliveryTracking
LatestEstimatedDeliveryTracking
FirstMileTracking
LastMileTracking
CustomersTracking
// v14 - Prefix naming
TrackingCourierEstimatedDeliveryDate
TrackingShipmentWeight
TrackingAftershipEstimatedDeliveryDate
TrackingCarbonEmissions
TrackingCustomEstimatedDeliveryDate
TrackingFirstEstimatedDelivery
TrackingLatestEstimatedDelivery
TrackingFirstMile
TrackingLastMile
TrackingCustomers3. Enum Member Name Changes
Tag enum member names changed to PascalCase:
| v13 | v14 |
|---|---|
Tag.Inforeceived |
Tag.InfoReceived |
Tag.Intransit |
Tag.InTransit |
Tag.Outfordelivery |
Tag.OutForDelivery |
Tag.Attemptfail |
Tag.AttemptFail |
Tag.Availableforpickup |
Tag.AvailableForPickup |
4. String to Enum Changes
Several string fields have been changed to enums (following API documentation):
Request Models (Input)
// 1. CreateTrackingRequest.DeliveryType
// v13
var request = new CreateTrackingRequest();
request.DeliveryType = "pickup_at_store";
// v14
var request = new CreateTrackingRequest();
request.DeliveryType = CreateTrackingRequestDeliveryType.PickupAtStore;
// 2. UpdateTrackingByIdRequest.DeliveryType
// v13
updateRequest.DeliveryType = "door_to_door";
// v14
updateRequest.DeliveryType = UpdateTrackingByIdRequestDeliveryType.DoorToDoor;
// 3. MarkTrackingCompletedByIdRequest.Reason
// v13
markRequest.Reason = "DELIVERED";
// v14
markRequest.Reason = MarkTrackingCompletedByIdRequestReason.Delivered;Response Models (Output)
// 4. Tracking.SignatureRequirement
// v13
string signature = tracking.SignatureRequirement;
// v14
TrackingSignatureRequirement? signature = tracking.SignatureRequirement;13.0.0
12.0.0
11.0.0
10.0.0
What's Changed
- feat: added github action config file. by @AfterShip-Team-Mocha in #7
- feat: supporting 2025-01 version. by @AfterShip-Team-Mocha in #8
New Contributors
- @AfterShip-Team-Mocha made their first contribution in #7
Full Changelog: https://github.com/AfterShip/tracking-sdk-net/commits/10.0.0
9.0.0
- supporting 2024-10 version.
API and SDK Version
Each SDK version is designed to work with a specific API version. Please refer to the table below to identify the supported API versions for each SDK version, ensuring you select the appropriate SDK version for the API version you intend to use.
| SDK Version | Supported API Version | Branch |
|---|---|---|
| 9.x.x | 2024-10 | https://github.com/AfterShip/tracking-sdk-net/tree/2024-10 |
| 8.x.x | 2024-07 | https://github.com/AfterShip/tracking-sdk-net/tree/2024-07 |
| 7.x.x | 2024-04 | https://github.com/AfterShip/tracking-sdk-net/tree/2024-04 |
| <=6.x.x | Legacy API | https://github.com/AfterShip/aftership-sdk-net |