一直在尝试更新我附加到每个行项目的行项目元字段。从对特定订单的调用中,您可以看到下面所附的行项目元:
"line_items":[
{
"id":243,
"name":"Example Product",
"product_id":194,
"variation_id":0,
"quantity":2,
"tax_class":"",
"subtotal":"84.00",
"subtotal_tax":"0.00",
"total":"84.00",
"total_tax":"0.00",
"taxes":[ ],
"meta_data":[
{
"id":2197,
"key":"_tracking_number",
"value":""
},
{
"id":2198,
"key":"_estimate_delivery_date",
"value":""
},
{
"id":2199,
"key":"_carrier",
"value":""
},
{
"id":2200,
"key":"_service",
"value":""
},
]
我们的想法是,我们的分销商将以编程方式下拉每个订单,然后更新元数据,从而触发发货确认电子邮件。
我的问题是,当我自己尝试用curl更新meta(测试)时,如下所示:
--data \'{"status":"completed","line_items":{"0":{"meta_data":{"_tracking_number":"being tracked"}}}}\'
我收到一个错误,说:
"Invalid parameter(s): line_items","data":{"status":400,"params":{"line_items":"line_items[0][meta_data] is not of type array."}}
这很混乱,因为line\\u项肯定是一个数组!我也尝试过使用特定的行项目ID,但基于返回结构,行项目ID和元数据都是行项目对象中的顶级键。
我正在访问line_items[0]
要进行测试,因为我只有一个行项目,而line\\u item值是一个数组,您可以从上面看到。
line_items[0][meta_data]
看起来也是一个数组AFAIK。有没有关于我做错了什么的指导?
我也有一个想法,好吧,也许行项目是在路径本身a la中访问的:
/wp-json/wc/v2/orders/2594/line_items
但这方面的许多迭代(也作为参数)也不起作用。
EDIT: 因此,出于某种原因,我不得不添加与行项目关联的product\\u id。。。下面的cURL works(HTTP 200)工作正常,但实际上没有更新字段。我正在使用API的v2。
--data \'{"status":"completed","line_items":{"0":{"product_id":"194","meta_data":{"3":{"_carrier":"carrier"}}}}}\'
知道为什么没有更新吗?