I am writing a service In which I have to register an order tracking number to an external source to track my order automatically.
let trackingObj = {
tracking: {
tracking_number: params.trackingNumber,
order_id: params.orderId,
emails: params.email,
smses: params.phoneNumber,
note: params.optIn
}
}
const aftershipTracking = await AftershipService.postTrackingInfo(trackingObj);
postTrackingInfo: async (body) => {
let _URL = helper.env('AFTER_SHIP_API_URL') + 'trackings';
return await ((await fetch(_URL, {
method: 'POST',
body: JSON.stringify(body),
headers: {
'Content-Type': 'application/json',
'Cache-Control': 'no-cache',
'aftership-api-key': helper.env('AFTER_SHIP_API_KEY')
},
})).json());
}
When I make the first call to register the tracking number, it returns an immediate default object with tag pending.
This returns me which is expected behavior
{
"meta": {
"code": 201
},
"data": {
"tracking": {
"id": "xyzxyzxyzxyzxyzxyxxyzxyxzxyz",
"created_at": "2020-06-25T14:22:09+00:00",
"updated_at": "2020-06-25T14:22:09+00:00",
"last_updated_at": "2020-06-25T14:22:09+00:00",
"tracking_number": "xxxxxxxxxxxxxxxxxx",
"slug": "fedex",
"active": true,
"android": [],
"custom_fields": null,
"customer_name": null,
"delivery_time": null,
"destination_country_iso3": null,
"courier_destination_country_iso3": null,
"emails": [],
"expected_delivery": null,
"ios": [],
"note": null,
"order_id": null,
"order_id_path": null,
"origin_country_iso3": null,
"shipment_package_count": null,
"shipment_pickup_date": null,
"shipment_delivery_date": null,
"shipment_type": null,
"shipment_weight": null,
"shipment_weight_unit": null,
"signed_by": null,
"smses": [],
"source": "api",
"tag": "Pending",
"subtag": "Pending_001",
"subtag_message": "Pending",
"title": "642028981335",
"tracked_count": 0,
"last_mile_tracking_supported": null,
"language": null,
"unique_token": "deprecated",
"checkpoints": [],
"subscribed_smses": [],
"subscribed_emails": [],
"return_to_sender": false,
"order_promised_delivery_date": null,
"delivery_type": null,
"pickup_location": null,
"pickup_note": null,
"courier_tracking_link": "https://www.fedex.com/apps/fedextrack/?tracknumbers=642028981335&cntry_code=US",
"first_attempted_at": null,
"courier_redirect_link": "https://www.fedex.com/apps/fedextrack/?action=track&tracknumbers=642028981335&cntry_code=US",
"tracking_account_number": null,
"tracking_origin_country": null,
"tracking_destination_country": null,
"tracking_key": null,
"tracking_postal_code": null,
"tracking_ship_date": null,
"tracking_state": null
}
}
}
To get the latest or current tag of a tracking number, I have to make back to back the second request to the same external source with the different endpoint. This has to return the latest information this is what happening in Postman but not happening in Nodejs.
const aftershipTrackingStatus = await AftershipService.getTrackingInfo(aftershipTracking.data.tracking.slug, params.trackingNumber);
getTrackingInfo: async (slug, trackingNumber) => {
let _URL = helper.env('AFTER_SHIP_API_URL') + 'trackings/' + slug + '/' + trackingNumber;
return await ((await fetch(_URL, {
method: 'GET',
body: null,
headers: {
'aftership-api-key': helper.env('AFTER_SHIP_API_KEY')
},
})).json());
},
This again returns me the same result as above in 2nd block which is not expected.
As per Postman, it should return this.
{
"meta": {
"code": 200
},
"data": {
"tracking": {
"id": "xyzxyzxyzxyzxyzxyzxyzxyzxyzxyz",
"created_at": "2020-06-25T06:09:07+00:00",
"updated_at": "2020-06-25T06:09:41+00:00",
"last_updated_at": "2020-06-25T06:09:41+00:00",
"tracking_number": "xxxxxxxxxxxxxxxxx",
"slug": "fedex",
"active": false,
"android": [],
"custom_fields": null,
"customer_name": null,
"delivery_time": 7,
"destination_country_iso3": "USA",
"courier_destination_country_iso3": "USA",
"emails": [],
"expected_delivery": null,
"ios": [],
"note": null,
"order_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"order_id_path": null,
"origin_country_iso3": "USA",
"shipment_package_count": 1,
"shipment_pickup_date": "2020-06-03T06:00:00",
"shipment_delivery_date": "2020-06-09T21:17:56",
"shipment_type": "FedEx Ground",
"shipment_weight": 11.3,
"shipment_weight_unit": "lb",
"signed_by": "Signature not required",
"smses": [],
"source": "api",
"tag": "Delivered",
"subtag": "Delivered_001",
"subtag_message": "Delivered",
"title": "642028981335",
"tracked_count": 1,
"last_mile_tracking_supported": null,
"language": null,
"unique_token": "deprecated",
"checkpoints": [
{
"slug": "fedex",
"city": null,
"created_at": "2020-06-25T06:09:41+00:00",
"location": null,
"country_name": null,
"message": "Shipment information sent to FedEx",
"country_iso3": null,
"tag": "InfoReceived",
"subtag": "InfoReceived_001",
"subtag_message": "Info Received",
"checkpoint_time": "2020-06-03T12:48:00-04:00",
"coordinates": [],
"state": null,
"zip": null,
"raw_tag": "OC"
},
{
"slug": "fedex",
"city": "AUSTELL",
"created_at": "2020-06-25T06:09:41+00:00",
"location": "AUSTELL, GA",
"country_name": null,
"message": "Picked up",
"country_iso3": null,
"tag": "InTransit",
"subtag": "InTransit_002",
"subtag_message": "Acceptance scan",
"checkpoint_time": "2020-06-03T15:37:00-04:00",
"coordinates": [],
"state": "GA",
"zip": null,
"raw_tag": "PU"
},
{
"slug": "fedex",
"city": "AUSTELL",
"created_at": "2020-06-25T06:09:41+00:00",
"location": "AUSTELL, GA",
"country_name": null,
"message": "Arrived at FedEx location",
"country_iso3": null,
"tag": "InTransit",
"subtag": "InTransit_003",
"subtag_message": "Arrival scan",
"checkpoint_time": "2020-06-03T17:52:00-04:00",
"coordinates": [],
"state": "GA",
"zip": null,
"raw_tag": "AR"
},
{
"slug": "fedex",
"city": "AUSTELL",
"created_at": "2020-06-25T06:09:41+00:00",
"location": "AUSTELL, GA",
"country_name": null,
"message": "Left FedEx origin facility",
"country_iso3": null,
"tag": "InTransit",
"subtag": "InTransit_007",
"subtag_message": "Departure Scan",
"checkpoint_time": "2020-06-04T01:13:35-04:00",
"coordinates": [],
"state": "GA",
"zip": null,
"raw_tag": "DP"
},
{
"slug": "fedex",
"city": "POWDER SPRINGS",
"created_at": "2020-06-25T06:09:41+00:00",
"location": "POWDER SPRINGS, GA",
"country_name": null,
"message": "In transit",
"country_iso3": null,
"tag": "InTransit",
"subtag": "InTransit_001",
"subtag_message": "In Transit",
"checkpoint_time": "2020-06-04T13:19:27-04:00",
"coordinates": [],
"state": "GA",
"zip": null,
"raw_tag": "IT"
},
{
"slug": "fedex",
"city": "FORREST CITY",
"created_at": "2020-06-25T06:09:41+00:00",
"location": "FORREST CITY, AR",
"country_name": null,
"message": "In transit",
"country_iso3": null,
"tag": "InTransit",
"subtag": "InTransit_001",
"subtag_message": "In Transit",
"checkpoint_time": "2020-06-05T00:19:37-05:00",
"coordinates": [],
"state": "AR",
"zip": null,
"raw_tag": "IT"
},
{
"slug": "fedex",
"city": "PANHANDLE",
"created_at": "2020-06-25T06:09:41+00:00",
"location": "PANHANDLE, TX",
"country_name": null,
"message": "In transit",
"country_iso3": null,
"tag": "InTransit",
"subtag": "InTransit_001",
"subtag_message": "In Transit",
"checkpoint_time": "2020-06-05T12:21:24-05:00",
"coordinates": [],
"state": "TX",
"zip": null,
"raw_tag": "IT"
},
{
"slug": "fedex",
"city": "WILLIAMS",
"created_at": "2020-06-25T06:09:41+00:00",
"location": "WILLIAMS, AZ",
"country_name": null,
"message": "In transit",
"country_iso3": null,
"tag": "InTransit",
"subtag": "InTransit_001",
"subtag_message": "In Transit",
"checkpoint_time": "2020-06-05T22:24:11-07:00",
"coordinates": [],
"state": "AZ",
"zip": null,
"raw_tag": "IT"
},
{
"slug": "fedex",
"city": "TRACY",
"created_at": "2020-06-25T06:09:41+00:00",
"location": "TRACY, CA",
"country_name": null,
"message": "In transit",
"country_iso3": null,
"tag": "InTransit",
"subtag": "InTransit_001",
"subtag_message": "In Transit",
"checkpoint_time": "2020-06-06T17:25:49-07:00",
"coordinates": [],
"state": "CA",
"zip": null,
"raw_tag": "IT"
},
{
"slug": "fedex",
"city": "TRACY",
"created_at": "2020-06-25T06:09:41+00:00",
"location": "TRACY, CA",
"country_name": null,
"message": "In transit",
"country_iso3": null,
"tag": "InTransit",
"subtag": "InTransit_001",
"subtag_message": "In Transit",
"checkpoint_time": "2020-06-07T06:03:27-07:00",
"coordinates": [],
"state": "CA",
"zip": null,
"raw_tag": "IT"
},
{
"slug": "fedex",
"city": "TRACY",
"created_at": "2020-06-25T06:09:41+00:00",
"location": "TRACY, CA",
"country_name": null,
"message": "In transit",
"country_iso3": null,
"tag": "InTransit",
"subtag": "InTransit_001",
"subtag_message": "In Transit",
"checkpoint_time": "2020-06-07T18:03:54-07:00",
"coordinates": [],
"state": "CA",
"zip": null,
"raw_tag": "IT"
},
{
"slug": "fedex",
"city": "TRACY",
"created_at": "2020-06-25T06:09:41+00:00",
"location": "TRACY, CA",
"country_name": null,
"message": "In transit",
"country_iso3": null,
"tag": "InTransit",
"subtag": "InTransit_001",
"subtag_message": "In Transit",
"checkpoint_time": "2020-06-08T06:04:14-07:00",
"coordinates": [],
"state": "CA",
"zip": null,
"raw_tag": "IT"
},
{
"slug": "fedex",
"city": "TRACY",
"created_at": "2020-06-25T06:09:41+00:00",
"location": "TRACY, CA",
"country_name": null,
"message": "Arrived at FedEx location",
"country_iso3": null,
"tag": "InTransit",
"subtag": "InTransit_003",
"subtag_message": "Arrival scan",
"checkpoint_time": "2020-06-08T21:04:00-07:00",
"coordinates": [],
"state": "CA",
"zip": null,
"raw_tag": "AR"
},
{
"slug": "fedex",
"city": "TRACY",
"created_at": "2020-06-25T06:09:41+00:00",
"location": "TRACY, CA",
"country_name": null,
"message": "Departed FedEx location",
"country_iso3": null,
"tag": "InTransit",
"subtag": "InTransit_007",
"subtag_message": "Departure Scan",
"checkpoint_time": "2020-06-08T23:34:27-07:00",
"coordinates": [],
"state": "CA",
"zip": null,
"raw_tag": "DP"
},
{
"slug": "fedex",
"city": "SAN LEANDRO",
"created_at": "2020-06-25T06:09:41+00:00",
"location": "SAN LEANDRO, CA",
"country_name": null,
"message": "At local FedEx facility",
"country_iso3": null,
"tag": "InTransit",
"subtag": "InTransit_007",
"subtag_message": "Departure Scan",
"checkpoint_time": "2020-06-09T04:36:00-07:00",
"coordinates": [],
"state": "CA",
"zip": null,
"raw_tag": "AR"
},
{
"slug": "fedex",
"city": "SAN LEANDRO",
"created_at": "2020-06-25T06:09:41+00:00",
"location": "SAN LEANDRO, CA",
"country_name": null,
"message": "On FedEx vehicle for delivery",
"country_iso3": null,
"tag": "OutForDelivery",
"subtag": "OutForDelivery_001",
"subtag_message": "Out for Delivery",
"checkpoint_time": "2020-06-09T04:48:00-07:00",
"coordinates": [],
"state": "CA",
"zip": null,
"raw_tag": "OD"
},
{
"slug": "fedex",
"city": "Oakland",
"created_at": "2020-06-25T06:09:41+00:00",
"location": "Oakland, CA",
"country_name": null,
"message": "Delivered - Left at front door. Signature Service not requested.",
"country_iso3": null,
"tag": "Delivered",
"subtag": "Delivered_001",
"subtag_message": "Delivered",
"checkpoint_time": "2020-06-09T14:17:56-07:00",
"coordinates": [],
"state": "CA",
"zip": null,
"raw_tag": "DL"
}
],
"subscribed_smses": [],
"subscribed_emails": [],
"return_to_sender": false,
"order_promised_delivery_date": null,
"delivery_type": null,
"pickup_location": null,
"pickup_note": null,
"courier_tracking_link": "https://www.fedex.com/apps/fedextrack/?tracknumbers=642028981335&cntry_code=US",
"first_attempted_at": "2020-06-09T14:17:56-07:00",
"courier_redirect_link": "https://www.fedex.com/apps/fedextrack/?action=track&tracknumbers=642028981335&cntry_code=US",
"tracking_account_number": null,
"tracking_origin_country": null,
"tracking_destination_country": null,
"tracking_key": null,
"tracking_postal_code": null,
"tracking_ship_date": null,
"tracking_state": null
}
}
}