Php Shopify API实现更新失败,无法处理实体

Php Shopify API实现更新失败,无法处理实体,php,json,api,shopify,Php,Json,Api,Shopify,不久前,我开发了一个使用ShopifAPI的web应用程序,它已经运行了大约2个月了,直到本周开始出现错误 我们正在尝试使用PHP中的API调用更新订单履行 在PHP中,我们发布以下内容: 我们发布以下变量:$fulfillment\u update 变量设置如下: $fulfillment_update = " 'fulfillment': { 'tracking_number': '', 'notify_customer': true

不久前,我开发了一个使用ShopifAPI的web应用程序,它已经运行了大约2个月了,直到本周开始出现错误

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

在PHP中,我们发布以下内容:

我们发布以下变量:$fulfillment\u update

变量设置如下:

$fulfillment_update = "
     'fulfillment': { 
        'tracking_number': '',
        'notify_customer': true
            }";
< P> >空白跟踪号码,是强制Suffice系统生成实现电子邮件,并标记为完成的订单-不添加任何跟踪号码,NoTyjySub始终设置为true。 ShopifAPI回来(从周末开始)说:“不可处理的实体”

女士们先生们,有什么想法吗


提前谢谢

我在你的请求参数中看到一些奇怪的参数编码。以下是Rails得到的信息:

{"_json"=>"'fulfillment': { 'tracking_number': '', 'notify_customer': true}", "order_id"=>"147265452"}
这是一个散列,其中包含一个键
“\u json”
,以及一个包含json作为字符串的值。这表明您以某种方式错误地传递了数据。您可以发布用于启动HTTP请求的完整代码吗


附言:您知道现有的PHP客户端库吗?下面是一个列表,我强烈建议您使用其中一个,除非您有特定的理由不这样做:

我在您的请求参数上看到一些奇怪的参数编码。以下是Rails得到的信息:

{"_json"=>"'fulfillment': { 'tracking_number': '', 'notify_customer': true}", "order_id"=>"147265452"}
这是一个散列,其中包含一个键
“\u json”
,以及一个包含json作为字符串的值。这表明您以某种方式错误地传递了数据。您可以发布用于启动HTTP请求的完整代码吗



附言:您知道现有的PHP客户端库吗?下面是一个列表,我强烈建议您使用其中一个,除非您有特定的理由不这样做:

是否记录了使用空“跟踪号”来调用某些特定行为的行为,或者这是您自己的黑客行为?也许他们只是修复了你所依赖的一个bug……我在模仿你可以使用Shopify内置的后端管理面板的方式,你只需单击“更新履行信息”并将跟踪号码留空。你可以说他们已经修复了一个bug——唯一的问题是那些不想发送跟踪信息的人——我已经联系了Shopify,但他们通常需要很多天才能回复。祈祷有办法绕过它!与其模仿某些东西,不如阅读API文档……如果有帮助的话:-“修改现有的实现”->这里没有提到是否需要或必须发布/放置任何一个变量来完成这项工作?这是否表示缺少适当的文档?您指定的URL缺少履行id,这是您尝试更新特定履行时所必需的。这就是我所能告诉你的,没有你正在使用的实际商店名称和API密钥。使用空的“跟踪号”来调用某些特定行为的行为是有记录的还是你自己的黑客行为?也许他们只是修复了你所依赖的一个bug……我在模仿你可以使用Shopify内置的后端管理面板的方式,你只需单击“更新履行信息”并将跟踪号码留空。你可以说他们已经修复了一个bug——唯一的问题是那些不想发送跟踪信息的人——我已经联系了Shopify,但他们通常需要很多天才能回复。祈祷有办法绕过它!与其模仿某些东西,不如阅读API文档……如果有帮助的话:-“修改现有的实现”->这里没有提到是否需要或必须发布/放置任何一个变量来完成这项工作?这是否表示缺少适当的文档?您指定的URL缺少履行id,这是您尝试更新特定履行时所必需的。这就是我所能告诉你的,没有你正在使用的实际店名和API密钥。我只是想澄清一下:我的印象是“”只用于更新现有的履行?也许一路上我把你弄糊涂了——我们只是想设定一个订单来完成,不管上面写着什么——你是说我们不能再设定一个完整的订单来“完成”?啊,我明白了。你在问题中的措辞(“我们正试图更新订单履行”)让我感到困惑。我将编辑我的答案以匹配您的实际问题:)而不是浪费您太多的时间,我现在怀疑我的代码中可能有非UTF8字符(不知道它们来自何处),一旦我进行了这方面的调查,我会让您知道!不管我做什么Shopify在使用PUT时只返回“未找到”,如果我使用POST,我会得到无法处理的实体错误。谢谢你的帮助,David-你的回答为我指明了正确的方向-我认为有两个问题:1)我没有正确地将参数作为数组发送到PHP“call”函数,因此它将参数发送到Shopify是错误的。2) 文件中(我相信)有一些奇怪的ANSI字符-我将文件重新编码为UTF8只是为了澄清:我的印象是“”仅用于更新现有的履行?也许一路上我把你弄糊涂了——我们只是想设定一个订单来完成,不管上面写着什么——你是说我们不能再设定一个完整的订单来“完成”?啊,我明白了。你在问题中的措辞(“我们正试图更新订单履行”)让我感到困惑。我将编辑我的答案以匹配您的实际问题:)而不是浪费您太多的时间,我现在怀疑我的代码中可能有非UTF8字符(不知道它们来自何处),一旦我进行了这方面的调查,我会让您知道!不管我怎么做,Shopify在使用PUT时只返回“未找到”,如果我使用POST,我会返回无法处理的实体错误,谢谢