【问题标题】:Shopify API fulfilment update fails unprocessable entityShopify API 履行更新失败无法处理的实体
【发布时间】:2012-11-14 12:04:28
【问题描述】:

不久前我开发了一个使用 Shopify API 的 Web 应用程序,它已经运行了大约 2 个月没有问题,直到本周开始出现错误。

我们正在尝试使用 PHP 中的 API 调用更新订单履行。

在 PHP 中,我们 POST 到以下内容: http://www.the-web-shop-like-this.com/admin/orders/0123456789/fulfillments.json

我们发布以下变量:$fulfillment_update

变量设置如下:

$fulfillment_update = "
     'fulfillment': { 
        'tracking_number': '',
        'notify_customer': true
            }";

发布空白 tracking_number 是为了强制 shopify 系统生成履行电子邮件并将该订单标记为已履行 - 从未添加跟踪号,并且 notify_customer 始终设置为 true。

Shopify API 回来(从周末开始)说:“无法处理的实体”。

女士们和男士们有什么想法吗?

提前致谢!

【问题讨论】:

  • 是有一个空的'tracking_number'来调用某些特定行为的行为记录还是你自己的黑客行为?也许他们只是修复了一个你依赖的错误……
  • 我在模仿您可以使用 Shopify 内置的后端管理面板的方式,您只需单击“更新履行信息”并将跟踪号留空。您可能会说他们已经修复了一个错误 - 唯一的问题是对于那些不想发送跟踪信息的人 - 我已经联系了 Shopify 但他们通常需要很多天才能回复。祈祷有办法解决它!
  • 您应该阅读 API 文档,而不是模仿某些东西……
  • 如果有帮助:api.shopify.com/fulfillment.html - “修改现有的 Fulfillment” -> 没有提及是否需要或必须发布/放置任何一个变量来完成这项工作?这是否意味着缺乏适当的文档?
  • 您指定的 URL 缺少履行 ID,如果您尝试更新特定履行,则需要此 ID。在没有您使用的实际商店名称和 API 密钥的情况下,我只能告诉您这些。

标签: php json api shopify


【解决方案1】:

我在您的请求参数上看到了一些奇怪的参数编码。这是 Rails 得到的:

{"_json"=>"'fulfillment': { 'tracking_number': '', 'notify_customer': true}", "order_id"=>"147265452"}

这是一个带有键 '_json' 和一个包含 json 作为字符串的值的散列。这表明您以某种方式错误地传递了数据。你能发布你用来启动 HTTP 请求的完整代码吗?

P.S.:您知道现有的 PHP 客户端库吗?这是一个列表,我强烈建议您使用其中之一,除非您有特定的理由不这样做:http://wiki.shopify.com/Shopify_App_Development#.E2.80.9CI.E2.80.99m_a_PHP_developer.E2.80.9D

【讨论】:

  • 只是为了澄清一下:我的印象是“the-web-shop-like-this.com/admin/orders/0123456789/fulfillments/…”仅用于更新现有的履行?也许一路上我让你感到困惑 - 我们只想设置一个订单来履行,不管它是什么行 - 你是说我们不能再将整个订单设置为“履行”?
  • 啊,我明白了。您在问题中的措辞(“我们正在尝试更新订单履行”)让我感到困惑。我将编辑我的答案以匹配您的实际问题:)
  • 与其浪费你太多时间我现在怀疑我的代码中可能有非 UTF8 字符(不知道它们来自哪里),一旦我知道了就会告诉你追求这个调查途径!
  • 不管我做什么 Shopify 在使用 PUT 时只会返回“未找到”,如果我使用 POST,则会返回无法处理的实体错误
  • 感谢您的帮助大卫-您的回答为我指明了正确的方向-我认为有两个问题:1)我没有将我的参数作为数组发送到 PHP“调用”函数正确-因此将它们发送到 Shopify 错误。 2) 文件中有(我相信)一些奇怪的 ANSI 字符 - 我已将文件重新编码为 UTF8
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-17
相关资源
最近更新 更多