FedEx Rates API无法同时返回One Rate与重量计费方案,文档存疑
FedEx Rate API:同时获取One Rate和重量计费费率的正确姿势
问题背景
FedEx官方文档提到,客户可通过在费率请求中指定FEDEX_ONE_RATE作为服务选项类型,单次请求同时获取One Rate和基于重量的非One Rate费率,但文档未明确该参数的正确放置位置,且存在属性描述错误:
- 尝试使用
variableOptions属性(文档对该属性的类型描述有误),无论传入字符串还是字符串数组,都会返回枚举值错误:
{"transactionId":"5cdab900-959b-4a4a-b5dd-75fd27ad8c86","errors":[{"code":"INVALID.INPUT.EXCEPTION","message":"Invalid field value in the enum variableOptions"}]}
- 使用
specialShipmentServices属性时,仅能获取One Rate费率,无法拿到基于重量计算的常规费率。
实测可行的解决方案
根据实际调用经验,正确的做法是在请求体的两个字段中配置:
- 在
requestedShipment/serviceType中指定标准服务类型(比如FEDEX_GROUND、FEDEX_2_DAY等) - 在
requestedShipment/rateRequestTypes中同时包含LIST和FEDEX_ONE_RATE两个枚举值
示例请求体片段:
{ "requestedShipment": { "serviceType": "FEDEX_GROUND", "rateRequestTypes": ["LIST", "FEDEX_ONE_RATE"], // 补充必填的发货地址、收货地址、包裹详情等字段 } }
这样配置后,接口会在返回结果中同时给出常规重量费率和One Rate费率。
关于文档问题的说明
FedEx这份Rate v1文档确实存在描述模糊和属性说明错误的问题:
variableOptions字段实际用于配置其他特定可变服务选项(比如SATURDAY_DELIVERY等),并非用于指定One Rate选项,文档的描述误导了开发者。- 官方未明确说明
rateRequestTypes才是同时触发两种费率计算的正确字段。
内容的提问来源于stack exchange,提问作者Adam K
相关产品推荐
相关产品推荐

