Fedex Create Shipment API报INVALID.INPUT.EXCEPTION错误排查求助
排查Fedex Create Shipment API模糊输入错误的方法
问题场景
我的Fedex Create Shipment请求体如下:
{ "mergeLabelDocOption": "LABELS_AND_DOCS", "requestedShipment": { "shipDatestamp": "2023-05-17", "shipper": { "address": { "streetLines": [ "1309 S Agnew Avenue", "Apt 303" ], "city": "Oklahoma City", "stateOrProvinceCode": "OK", "postalCode": "73108", "countryCode": "US" }, "contact": { "personName": "Kattie Ortiz", "emailAddress": "dorthy.glover@gmail.com", "phoneNumber": "17182934300", "companyName": "Kyle Wilderman LLC" } }, "soldTo": { "address": { "streetLines": [ "1309 S Agnew Avenue", "Apt 303" ], "city": "Oklahoma City", "stateOrProvinceCode": "OK", "postalCode": "73108", "countryCode": "US" }, "contact": { "personName": "Kattie Ortiz", "emailAddress": "dorthy.glover@gmail.com", "phoneNumber": "17182934300", "companyName": "Kyle Wilderman LLC" }, "accountNumber": { "value": "740561073" } }, "recipients": { "address": { "streetLines": [ "13450 Farmcrest Ct" ], "city": "Herndon", "stateOrProvinceCode": "VA", "postalCode": "20171", "countryCode": "US" }, "contact": { "personName": "Kattie Ortiz", "emailAddress": "dorthy.glover@gmail.com", "phoneNumber": "17182934300" } }, "pickupType": "USE_SCHEDULED_PICKUP", "serviceType": "FEDEX_GROUND", "packagingType": "YOUR_PACKAGING", "totalWeight": 50, "origin": { "address": { "streetLines": [ "1309 S Agnew Avenue", "Apt 303" ], "city": "Oklahoma City", "stateOrProvinceCode": "OK", "postalCode": "73108", "countryCode": "US" }, "contact": { "personName": "Kattie Ortiz", "emailAddress": "dorthy.glover@gmail.com", "phoneNumber": "17182934300", "companyName": "Kyle Wilderman LLC" } }, "shippingChargesPayment": { "paymentType": "SENDER", "payor": { "responsibleParty": { "address": { "streetLines": [ "1309 S Agnew Avenue", "Apt 303" ], "city": "Oklahoma City", "stateOrProvinceCode": "OK", "postalCode": "73108", "countryCode": "US" }, "contact": { "personName": "Kattie Ortiz", "emailAddress": "dorthy.glover@gmail.com", "phoneNumber": "17182934300", "companyName": "Kyle Wilderman LLC" }, "accountNumber": { "value": "740561073" } } } }, "emailNotificationDetail": { "aggregationType": "PER_PACKAGE", "emailNotificationRecipients": [ { "name": "Kattie Ortiz", "emailNotificationRecipientType": "RECIPIENT", "emailAddress": "dorthy.glover@gmail.com", "notificationFormatType": "HTML", "notificationType": "EMAIL", "notificationEventType": [ "ON_DELIVERY", "ON_EXCEPTION", "ON_SHIPMENT", "ON_TENDER", "ON_PICKUP", "ON_ESTIMATED_DELIVERY", "ON_LABEL", "ON_PICKUP_DRIVER_ARRIVED", "ON_PICKUP_DRIVER_ASSIGNED", "ON_PICKUP_DRIVER_DEPARTED", "ON_PICKUP_DRIVER_EN_ROUTE" ] }, { "name": "Kattie Ortiz", "emailNotificationRecipientType": "SHIPPER", "emailAddress": "dorthy.glover@gmail.com", "notificationFormatType": "HTML", "notificationType": "EMAIL", "notificationEventType": [ "ON_DELIVERY", "ON_EXCEPTION", "ON_SHIPMENT", "ON_TENDER", "ON_PICKUP", "ON_ESTIMATED_DELIVERY", "ON_LABEL", "ON_PICKUP_DRIVER_ARRIVED", "ON_PICKUP_DRIVER_ASSIGNED", "ON_PICKUP_DRIVER_DEPARTED", "ON_PICKUP_DRIVER_EN_ROUTE" ] } ] }, "blockInsightVisibility": false, "labelSpecification": { "labelFormatType": "COMMON2D", "labelStockType": "PAPER_7X475", "labelRotation": "LEFT", "imageType": "PDF" }, "rateRequestType": "PREFERRED", "preferredCurrency": "USD", "totalPackageCount": 1, "requestedPackageLineItems": [ { "sequenceNumber": 7, "groupPackageCount": 1, "weight": { "units": "LB", "value": 50 }, "dimensions": { "length": 20, "width": 20, "height": 10, "units": "IN" }, "itemDescription": "Ea exercitation impe" } ] }, "labelResponseOptions": "URL_ONLY", "accountNumber": { "value": "740561073" }, "shipAction": "CONFIRM", "processingOptionType": "SYNCHRONOUS_ONLY", "oneLabelAtATime": false }
该请求在Fedex开发者官网的"立即尝试"面板可正常运行,但自行调用时返回错误:
{ "transactionId": "61be5128-1ccd-44e5-9a44-52ac93b8xxx", "errors": [ { "code": "INVALID.INPUT.EXCEPTION", "message": "Invalid field value in the input" } ] }
排查步骤
- 抓包对比官网与本地请求:用浏览器开发者工具捕获官网"立即尝试"发送的完整请求(含请求头、请求体),和本地代码生成的请求逐字段对比,重点检查字段大小写、数值类型、枚举值拼写、可选字段的差异。Fedex部分字段严格区分大小写,官网可能自动修正了字段名,而本地代码可能存在拼写错误。
- 验证认证与请求头:确认本地请求的
Authorizationtoken有效且未过期,Content-Type是否为application/json,是否遗漏了官网自动添加的其他请求头(如环境标识类头信息)。 - 检查字段约束细节:
- 检查
sequenceNumber:当前包裹序列数是7,但totalPackageCount为1,Fedex要求序列数应从1开始且与包裹总数匹配,这大概率是问题点。 - 检查
phoneNumber:美国号码是否需要带+前缀(如+17182934300),部分地区号码格式要求严格。 - 检查
shipDatestamp:日期是否为有效日期,是否符合API的时间范围(比如不能是超过90天的历史日期)。 - 检查地址字段:
streetLines是否包含特殊字符,长度是否符合Fedex的限制。
- 检查
- 逐步精简请求体:先移除可选字段(如
emailNotificationDetail、soldTo),只保留必填字段发起请求。如果请求成功,再逐个添加移除的字段,定位到导致错误的具体字段。 - 开启详细错误日志:登录Fedex开发者后台,查看是否有开启详细错误日志的选项,部分API支持返回具体的错误字段信息;如果使用Fedex官方SDK,开启调试模式打印完整的请求响应内容。
内容的提问来源于stack exchange,提问作者jemee tala
相关产品推荐
相关产品推荐

