UPS Rate API报9110034错误:请求选项异常排查求助
排查UPS Rate API错误9110034(Missing or invalid request option)的常见原因
即使Payload里包含RequestOption字段仍触发这个错误,大概率是以下几个问题:
RequestOption取值不符合API要求
UPS Rate API对这个字段的取值有明确限定,比如只能用Shop(获取多费率选项)或Rate(获取单一费率)这类官方指定值。如果填了拼写错误的内容(比如shop小写、Shops复数)或者自定义值,直接会判定为无效。字段层级放错位置
RequestOption必须嵌套在RateRequest -> Request这个层级下,官方标准结构示例:
{ "RateRequest": { "Request": { "RequestOption": "Shop" }, // 其他必填字段(发件人、收件人、包裹信息等) } }
如果你的RequestOption直接放在RateRequest根节点,或者嵌套到其他对象里,API会识别不到这个字段。
HTTP请求头配置错误
PHP请求里必须设置Content-Type: application/json,否则API无法正确解析JSON格式的Payload,哪怕字段写对了也会被判定缺失。同时要确保Authorization头正确携带Bearer令牌。Payload存在JSON语法错误
比如遗漏逗号、引号不配对、括号不闭合这类小问题,会导致API无法完整解析Payload,自然识别不到RequestOption字段。可以把生成的Payload复制到JSON校验工具里检查格式。
针对你的PHP代码,额外检查这几点:
- 用
json_encode()生成Payload时,确保没有因为数组结构错误导致RequestOption字段被遗漏 - curl请求中是否设置了
CURLOPT_HTTPHEADER,包含正确的Content-Type和Authorization头 - 打印出生成的最终Payload字符串,和官方示例逐一对比结构和字段值
内容的提问来源于stack exchange,提问作者nOmi
相关产品推荐
相关产品推荐

