15.0.0
Breaking Changes - AfterShip Tracking Node.js SDK v15.0.0
1. Response Structure Complete Refactor
All Response interfaces now contain response_headers and data structure:
// v14 - Direct access to response properties
const response = await client.tracking.createTracking(request);
const id = response.id;
const trackingNumber = response.tracking_number;
// v15 - Must access through data property
const response = await client.tracking.createTracking(request);
const id = response.data.id;
const trackingNumber = response.data.tracking_number;
const headers = response.response_headers; // New feature: get response headersApplies to all API responses: createTracking, getTrackingById, getTrackings, updateTrackingById, getCouriers, etc.
2. Model Names Simplified
Tracking model naming convention changed:
// v14 - Suffix naming
import { CourierEstimatedDeliveryDateTracking } from './model/CourierEstimatedDeliveryDateTracking';
import { ShipmentWeightTracking } from './model/ShipmentWeightTracking';
import { AftershipEstimatedDeliveryDateTracking } from './model/AftershipEstimatedDeliveryDateTracking';
// v15 - Prefix naming
import { TrackingCourierEstimatedDeliveryDate } from './model/TrackingCourierEstimatedDeliveryDate';
import { TrackingShipmentWeight } from './model/TrackingShipmentWeight';
import { TrackingAftershipEstimatedDeliveryDate } from './model/TrackingAftershipEstimatedDeliveryDate';Response class simplification:
- Old SDK had 120+ specialized response classes (e.g.,
AftershipEstimatedDeliveryDateCreateTrackingResponse,CarbonEmissionsGetTrackingByIdResponse) - New SDK unified these into simple, consistent response interfaces