在一个请求中获取所有服务的费率

Ula*_*ach 2 ups

是否可以在同一个请求中获得所有可能的 ups 服务的费率?

背景

尽管 UPS 费率文档指出该service元素是可选的 选择性证明

具有service定义元素的请求成功响应,而未定义元素的请求会导致以下错误:

["Error"]=>
array(3) {
  ["ErrorSeverity"]=>
  string(4) "Hard"
  ["ErrorCode"]=>
  string(6) "111100"
  ["ErrorDescription"]=>
  string(58) "The requested service is invalid from the selected origin."
}
Run Code Online (Sandbox Code Playgroud)

此外,我见过的每个示例和库要么只希望为一种类型的服务创建请求,要么为用户指定的每个服务创建一个请求

// 可选,您可以指定要查找的速率 -- 执行多个请求,因此请注意不要做太多

总之

有没有办法从 UPS 返回我丢失的所有服务的费率,或者我们必须为我们希望获得费率的每项服务查询 UPS?

Noa*_*tas 5

您应该能够通过设置/RateRequest/Request/RequestOptiontoShop并省略该/RateRequest/Shipment/Service元素来接收多种服务的费率。

这在 UPS 的 Rate Webservice 端点文档中进行了概述:

客户可以使用评级 API 比较货件的服务吗?

是的。在 ../Request 容器的 RequestOption 元素中使用“Shop”值而不是“Rate”值来检索指定通道对的所有服务的费率。API 响应将返回每个可用服务的费率。这称为“商店”选项。