node.js를 사용하여 WooCommerce REST API를 통해 주문 광고 항목의 메타 데이터를 업데이트하는 문제에 대해 뼈 아팠습니다. WooCommerce REST API : 배송을위한 광고 주문 항목 메타 데이터 업데이트
나는 주문을 업데이트하기위한 다음 단계에 따라 (그리고 일부 필드와 성공적인했다)했습니다 : 이제 https://woocommerce.github.io/woocommerce-rest-api-docs/#update-an-order, 내가 주문의 선적 라인 항목의 수를 변화 달성하고자하는 것. 내가 일반적으로 WordPress UI에서 부분 주문 WC 플러그인을 사용하는 것.
아래에서 orders API 호출을 사용하여 WC에서받은 광고 항목의 스크린 샷을 찾을 수 있습니다. 의 값을 당신이 볼 수 있듯이
"line_items": [{
"id": 1937,
"name": "Maya",
"product_id": 1271,
"variation_id": 1272,
"quantity": 2,
"tax_class": "",
"subtotal": "140.00",
"subtotal_tax": "0.00",
"total": "140.00",
"total_tax": "0.00",
"taxes": [],
"meta_data": [{
"id": 21637,
"key": "pa_product-color",
"value": "beige"
}, {
"id": 21638,
"key": "pa_shoe-size",
"value": "42"
}, {
"id": 21639,
"key": "pa_shoe-width",
"value": "wide"
}, {
"id": 21640,
"key": "shipped",
"value": [{
"qty": 1,
"date": "Nov 21, 2017"
}
]
}
],
"sku": "2522BE42W",
"price": 70
},
다음 meta_data 배열의 마지막 요소는 키 '제공'이 있고 발송했다 (이 개 주문한 항목 중) 하나를 알리는 하나의 객체와 배열을 포함 '선적 된'열쇠는 사물이다. "data":{"status":400,"params":{"line_items":"line_items[0][meta_data][3][value] is not of type string."}}}
내가 문자열로 값을 보내려고, 즉 lineItems[0].meta_data = [{key:"shipped", value: "[{qty:'2'}]" }]
내가 오류를 얻을 하지만 화장실 취급 : 나는 화장실에 (다시)을 보내 TY 때, 나는 말하는 오류가 이 문자열이 아닌 객체로하고, DB에 출하 수량을 내가 의도하는 방식을 업데이트하지 않습니다 (만 0 대신에 아래로 출하 수량을 끌어) :
{
"id": 21640,
"key": "shipped",
"value": "[{qty:'2'}]"
}
어떤 통찰력이나 아이디어 - 어떻게 할 수 WC API를 통해 광고 항목의 출하 수량을 수정합니까?
당신은 원시 데이터로 스크린 샷을 교체해야합니다 ... woocommerce에 의해 허용되는 (문자열로) 직렬화 된 배열해야한다 보인다 . 하지만 REST API에 대한 전문가가 아니기 때문에 어떻게 설정해야하는지 모르겠습니다. – LoicTheAztec
@LoicTheAztec, 나는 직렬화 된 배열'''({[qty : '2'}] ")'''을 사용했다고 생각합니다. – genau