0

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를 통해 광고 항목의 출하 수량을 수정합니까?

+0

당신은 원시 데이터로 스크린 샷을 교체해야합니다 ... woocommerce에 의해 허용되는 (문자열로) 직렬화 된 배열해야한다 보인다 . 하지만 REST API에 대한 전문가가 아니기 때문에 어떻게 설정해야하는지 모르겠습니다. – LoicTheAztec

+0

@LoicTheAztec, 나는 직렬화 된 배열'''({[qty : '2'}] ")'''을 사용했다고 생각합니다. – genau

답변