UPS Rating API报错111546(无效重量) 集成问题求助
UPS Rating API 使用
shoptimeintransit选项时始终返回“Invalid Weight”错误 我首次在此发帖,希望提问方式正确。
背景
我正在公司基于Yii2框架的内部Web应用中集成UPS API,处理文档和查找准确信息的过程颇为曲折。目前UPS Shipping功能正常,但调用Rating API并使用shoptimeintransit选项结合TimeInTransit计算运费时遇到瓶颈,所有API调用均采用JSON格式。
问题描述
无论尝试何种RequestOption或重量值,接口始终返回Invalid Weight(无效重量)错误。
已尝试方案
根据UPS文档要求,包裹重量字符串必须恰好6个字符(这与Shipping API不同,颇为奇怪)。在UnitOfMeasurement设为KGS的情况下,我尝试了1、10、100、1000kg的各种组合,包括使用小数点和逗号作为分隔符,也考虑了分隔符是否计入字符数(甚至仅输入“1”——这个值在不包含TimeInTransit选项时可正常使用),但返回结果始终相同。我搜索过该错误的相关信息,但未找到有效内容。
JSON请求示例
{ "RateRequest": { "Request": { "SubVersion": "v2205", "RequestOption": "shoptimeintransit", "TransactionReference": { "CustomerContext": "TEST" } }, "Shipment": { "Shipper": { "Name": "[CompanyName]", "AttentionName": "[ContactName]", "Phone": { "Number": "[Number]" }, "ShipperNumber": "[Number]", "Address": { "AddressLine": "[Some Address]", "City": "[Some City]", "PostalCode": "[Some ZIP]", "CountryCode": "DE" } }, "ShipTo": { "Name": "Mustermann GmbH", "Address": { "AddressLine": "Mustergasse 11", "City": "Musterstadt", "PostalCode": "123456", "CountryCode": "DE" } }, "PaymentDetails": { "ShipmentCharge": { "Type": "01", "BillShipper": { "AccountNumber": "[Number]" } } }, "Package": [ { "PackagingType": { "Code": "02" }, "Dimensions": { "UnitOfMeasurement": { "Code": "CM", "Description": "Centimeters" }, "Length": "10", "Width": "10", "Height": "10" }, "PackageWeight": { "UnitOfMeasurement": { "Code": "KGS", "Description": "Kilograms" }, "Weight": "10.000" } } ], "DeliveryTimeInformation": { "PackageBillType": "03" } } } }
请求参数
- version: v2205
- RequestOption: shoptimeintransit
- transactionSrc: testing
该请求已在developer.ups.com的“Try It”功能中测试。若有信息缺失,我会补充说明,这段集成经历实在令人头疼……
内容的提问来源于stack exchange,提问作者avataxi
相关产品推荐
相关产品推荐

