I see there are a few questions/answers on this particular error. However, none are in relationship to the FedEx Track API specifically. I'm attempting to iterate a list of tracking numbers through this service to capture their status. I have a developer account, API KEY, Secret KEY, and also have obtained the oAuth Token as needed. When attempting to call the API I'm receiving the following error under status code 422:
Response: {'transactionId': 'b8e70ec3-72b3-41b0-886a-f42f2559adb7', 'errors': [{'code': 'INVALID.INPUT.EXCEPTION', 'message': 'Invalid field value in the input'}]}.
If I remove the token, I'll receive a 400 status error. I believe this tells me I'm using the correct token, and API post method. However, I feel there is something I've missed. I've read through the documentation and believe I'm passing all the appropriate information.
Below is the code I've been running:
authoriztion_key = get_oauth()
url = f"{sandbox_url}/track/v1/trackingnumbers"
payload = {
"trackingInfo": [
{
"trackingNumberInfo": {
"trackingNumber": f"{tracking_number}"
}
}
],
"includeDetailedScans": 1
}
headers = {
'Content-Type': "application/json",
'x-locale': "en_US",
'Authorization': f'Bearer {authoriztion_key}'
}
print(f"\nEnpoint: {url}")
print(f'\nPayload: {payload}')
print(f'\nHeaders: {headers}')
response = requests.post(url, data=payload, headers=headers)
print(f'\nStatus: {response.status_code}')
print(f'Response: {response.json()}')
If anyone is able to spot the error, let me know.
includeDetailedScans:Indicates if detailed scans are requested or not. Valid values are True, or False.Did you try giving it a boolean value instead of an int?