似乎很简单。我正在尝试通过WooCommerce中的V2 API更新订单。
以下是发出的请求:
PUT /wc-api/v2/orders/8054?oauth_consumer_key=ck_notgoingtogiveittoyouinexample&oauth_nonce=same&oauth_signature_method=HMAC-SHA256&oauth_timestamp=1436817942&oauth_signature=same HTTP/1.1
这是请求正文中的json:
{"order": {"status": "completed"}}
以下是我得到的结果:
{"errors":[{"code":"woocommerce_api_invalid_customer_id","message":"Customer ID is invalid"}]}
奇怪的是,我不是要求更新客户ID,也不是要求更新状态。
此外,当发生这种情况时,WooCommerce确实会更新状态,但它没有正确设置。
我收到了关于以下顺序的状态说明:
{订单状态由{。
更改
我是否必须将整个订单对象序列化回服务器?如果没有,任何想法我做错了什么?
谢谢!
[更新#1]
因此,在跟踪API代码并添加一些调试日志记录之后,我注意到$ data没有被设置为从路由进入更新功能。由于我遵循了所有适当的要求“请求体中的json,标题中包含json内容类型”,我不确定是怎么回事。我能够通过使用API代码作为模板来创建我自己的订单更新功能来解决这个问题。现在我只是调用自己的FlagOrderCompleted,它工作正常,因为我不需要传递参数。它是hacky,并不是一个全能的解决方案,但至少它正在发挥作用!