0

在几天前创建的速率对象 ID 上执行事务时,我不断收到此错误。

{
  "source": "USPS",
  "code": "",
  "text": "The selected shipment date must be within 7 days of 02/15/2017, 07:11PM CST."
}

我将 Shippo 与我的 Node.js Web 应用程序集成。我正在使用 shippo node.js 库。

shippo.shipment.create({, function(err, shipping) {});

我建立了一个基本的商店。当用户到达结帐部分时,我会从 Shippo 获得费率。我向用户显示这些费率。用户选择他想要的费率。我将速率对象 ID 保存到数据库中。

shippo.transaction.create({, function(err, transaction) {});

我完成订单并打印运输标签。应用程序进入数据库并检索费率对象 ID 以执行与 shippo 的事务。作为回报,我想得到一个跟踪号和标签信息,但我得到了错误。

我首先认为费率对象 ID 仅持续 7 天,然后自行到期或其他原因。当我检查速率对象 ID 时:

https://api.goshippo.com/rates/2a0b50cbc5184362a0ea2385b490bc7b

它显示对象是 2/18 创建的。今天是2/21。所以这不可能。错误显示“选择的发货日期必须在 2017 年 2 月 15 日下午 7:11 CST 的 7 天内。”

这是什么意思?为什么我得到它?

似乎只对 2 天前创建的对象 ID 进行评分。如果昨天创建了rate object id,我仍然可以毫无问题地执行交易。

截屏

4

1 回答 1

0

看起来您正在使用导致此错误发生的过去(不是同一天)的费率。

当您在/shipments/端点发货时,您可以submission_date在创建发货时指定。如果您不指定submission_date(通常只有在您知道计划将物品发货的日期时才这样做),Shippo 会自动将 设置为submission_date发出请求的日期。

您收到错误的原因是您使用submission_date过去的运费率。一些运营商只允许提交日期为当前日期或未来某个日期。

您可以在此处找到有关可能有帮助的货件对象的更多详细信息。

于 2017-02-22T18:02:15.040 回答