Skip to content

Commit 4248bec

Browse files
author
James Van Dyne
committed
Enables support for TrackingNumberUniqieIdentifier params to help tracking duplicate tracking numbers
1 parent b8a036e commit 4248bec

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

fedex/services/track_service.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ def __init__(self, config_obj, *args, **kwargs):
3030
3131
@type config_obj: L{FedexConfig}
3232
@param config_obj: A valid FedexConfig object.
33+
34+
@type tracking_number_unique_id: str
35+
@param tracking_number_unique_id: Used to distinguish duplicate FedEx tracking numbers.
3336
"""
3437
self._config_obj = config_obj
3538

@@ -38,6 +41,11 @@ def __init__(self, config_obj, *args, **kwargs):
3841
'intermediate': '0', 'minor': '0'}
3942
self.TrackPackageIdentifier = None
4043
"""@ivar: Holds the TrackPackageIdentifier WSDL object."""
44+
45+
self.TrackingNumberUniqueIdentifier = None
46+
self.tracking_number_unique_id = kwargs.pop('tracking_number_unique_id', None)
47+
48+
"""@ivar: Holds the TrackingNumberUniqueIdentifier WSDL object."""
4149
# Call the parent FedexBaseService class for basic setup work.
4250
super(FedexTrackRequest, self).__init__(self._config_obj,
4351
'TrackService_v5.wsdl',
@@ -53,6 +61,10 @@ def _prepare_wsdl_objects(self):
5361
# Default to tracking number.
5462
self.TrackPackageIdentifier.Type = 'TRACKING_NUMBER_OR_DOORTAG'
5563

64+
if self.tracking_number_unique_id:
65+
self.TrackingNumberUniqueIdentifier = self.client.factory.create('TrackDetail')
66+
self.TrackingNumberUniqueIdentifier = self.tracking_number_unique_id
67+
5668
def _check_response_for_request_errors(self):
5769
"""
5870
Checks the response to see if there were any errors specific to
@@ -82,6 +94,7 @@ def _assemble_and_send_request(self):
8294
TransactionDetail=self.TransactionDetail,
8395
Version=self.VersionId,
8496
IncludeDetailedScans=self.IncludeDetailedScans,
85-
PackageIdentifier=self.TrackPackageIdentifier)
97+
PackageIdentifier=self.TrackPackageIdentifier,
98+
TrackingNumberUniqueIdentifier = self.TrackingNumberUniqueIdentifier )
8699

87100
return response

0 commit comments

Comments
 (0)