2015-11-24 5 views
6

पर मेटा डेटा के साथ आदेश बनाएं: https://github.com/kloon/WooCommerce-REST-API-Client-LibraryWooCommerce एपीआई: मैं WooCommerce में आदेश बनाने के लिए इस एपीआई का उपयोग कर रहा हूँ लाइन आइटम

जब मैं एक आदेश जोड़ रहा:

$orderData = array(
    "order" => array(
     "line_items" => array( 
      array(
       "product_id" => 1, 
       "quantity" => 1 
      ) 
     ) 
    ) 
); 

$client->orders->create($orderData); 

सब कुछ ठीक काम करता है, ऑर्डर WooCommerce में बनाया गया है।

लेकिन जब मैं विविधता के बारे में मेटा डेटा के साथ एक उत्पाद विविधता जोड़ना चाहता हूं, तो मुझे यह कैसे करना चाहिए?

मैं कई बातें की कोशिश की, जिनमें शामिल हैं:

$orderData = array(
    "order" => array(
     "line_items" => array( 
      array(
       "product_id" => 1, 
       "quantity" => 1, 
       "variation_id" => 2, 
       "variations" => array(
        "color" => "black" 
       ) 
      ) 
     ) 
    ) 
); 

$client->orders->create($orderData); 

क्या मैं हासिल करना चाहते हैं, जब साथ आदेश हो रही:

$client->orders->get($order_id); 

रंग की जानकारी पहले से ही की मेटा डेटा में जोड़ा जाता है लाइन आइटम (ताकि रंग वर्णन आदेश विवरण में दिख रहा है जब एक ईमेल भेज):

line_items: [ 
    { 
     id: ..., 
     subtotal: "...", 
     subtotal_tax: "...", 
     total: "...", 
     total_tax: "...", 
     price: "...", 
     quantity: 1, 
     tax_class: null, 
     name: "Product name", 
     product_id: 1, 
     sku: "", 
     meta: [ 
      { 
       key: "color", 
       label: "Color", 
       value: "black" 
      } 
     ] 
    } 
] 

उम्मीद है कि सवाल पर्याप्त स्पष्ट है और कोई मुझे सही समाधान के लिए इंगित कर सकता है :)

इसे पढ़ने के लिए आपके धैर्य के लिए धन्यवाद।

उत्तर

0

ऑर्डर देने पर आप उत्पाद विविधता डेटा निर्दिष्ट नहीं कर सकते हैं, उत्पाद विविधता पहले से मौजूद होनी चाहिए और विविधता आईडी का उपयोग करने के लिए संदर्भित किया जाएगा।

उदाहरण के लिए यदि आप "काला" भिन्नता के एक आदेश जगह हैं (कहते हैं कि यह भिन्नता आईडी 12 है):

"line_items": [ 
    { 
    "product_id": 1, 
    "variation_id": 12, 
    "quantity": 1 
    } 
] 

एक उत्पाद बदलाव के लिए मेटाडाटा को जोड़ने नहींorders एंडपॉइंट का उपयोग करके किया जा सकता है , उत्पादों को अद्यतन करने के लिए products एंडपॉइंट का उपयोग करें।