Magento 2 - REST API का उपयोग करके ऑर्डर बनाएं


24

मोबाइल क्लाइंट से ऑर्डर बनाने के लिए मुझे Magento REST API का उपयोग करना होगा। मेरे मामले में, मोबाइल पक्ष सीधे पेपाल एसडीके का उपयोग करके भुगतान को लागू करेगा। मनीऑर्डर के लिए भुगतान विधि निर्धारित करके और अतिथि चेकआउट करने के लिए मुझे एक आदेश बनाने की आवश्यकता है। इसे प्राप्त करने के लिए मुझे किस API (s) का उपयोग करना चाहिए?

जवाबों:


27

मुझे अंत में यह समझ आ गया। यहाँ मैं क्या कर रहा हूँ।

एकल उत्पाद प्राप्त करें

curl -g -X GET "$base_url/index.php/rest/V1/products/24-MB05/" \
-H "Authorization: Bearer $token" 

गाड़ी बनाएँ

curl -g -X POST "$base_url/index.php/rest/V1/guest-carts/" \
-H "Authorization: Bearer $token" 

गाड़ी ले आओ

curl -g -X GET "$base_url/index.php/rest/V1/guest-carts/56241bf6bc084cd7589426c8754fc9c5" \
-H "Authorization: Bearer $token" 

कार्ट में उत्पाद जोड़ें

curl -g -X POST "$base_url/index.php/rest/V1/guest-carts/56241bf6bc084cd7589426c8754fc9c5/items" \
-H "Authorization: Bearer $token" \
-H "Content-Type:application/json" \
 -d '{ "cartItem": { "quote_id": "56241bf6bc084cd7589426c8754fc9c5", "sku": "24-MB05", "qty": 1 } }'

शिपिंग जानकारी जोड़ें

curl -g -X POST "$base_url/index.php/rest/V1/guest-carts/56241bf6bc084cd7589426c8754fc9c5/shipping-information" \
    -H "Authorization: Bearer $token" \
    -H "Content-Type:application/json" \
     -d '
{
    "addressInformation": {
        "shippingAddress": {
            "region": "MH",
            "region_id": 0,
            "country_id": "IN",
            "street": [
                "Chakala,Kalyan (e)"
            ],
            "company": "abc",
            "telephone": "1111111",
            "postcode": "12223",
            "city": "Mumbai",
            "firstname": "Sameer",
            "lastname": "Sawant",
            "email": "abc@abc.com",
            "prefix": "address_",
            "region_code": "MH",
            "sameAsBilling": 1
        },
        "billingAddress": {
            "region": "MH",
            "region_id": 0,
            "country_id": "IN",
            "street": [
                "Chakala,Kalyan (e)"
            ],
            "company": "abc",
            "telephone": "1111111",
            "postcode": "12223",
            "city": "Mumbai",
            "firstname": "Sameer",
            "lastname": "Sawant",
            "email": "abc@abc.com",
            "prefix": "address_",
            "region_code": "MH"
        },
        "shipping_method_code": "flatrate",
        "shipping_carrier_code": "flatrate"
    }
}
 '

भुगतान विधि प्राप्त करें

curl -g -X GET "$base_url/index.php/rest/V1/guest-carts/56241bf6bc084cd7589426c8754fc9c5/payment-information" \
    -H "Authorization: Bearer $token" 

आदेश देना

curl -g -X PUT "$base_url/index.php/rest/V1/guest-carts/56241bf6bc084cd7589426c8754fc9c5/order" \
    -H "Authorization: Bearer $token" \
    -H "Content-Type:application/json" \
     -d '
{
    "paymentMethod": {
        "method": "checkmo"
    }
}'                      

1
मैंने आपके उत्तर के आधार पर एक नमूना php स्क्रिप्ट बनाई है, अगर कोई php के माध्यम से यह कोशिश करना चाहता है: github.com/acolono/php-magento-api-sandbox
Nebel54

1
@zzpaul, ऊपर दिए गए तरीके का उपयोग करके पे-डाउन विधि का उपयोग करके क्रेडिटकार्ड डेटा कैसे पास करें?
राकेश जेसादिया

6

मुझे लगता है कि थोड़ी गलती है: आदेश देने के लिए, शरीर पर, इसे भुगतान करना होगा पहली कुंजी, इस तरह से:

{
    "paymentMethod": { 
        "method": "checkmo" 
    }
}

4
  1. खाली कार्ट बनाएँ url: http: // www। [आपका] .com / बाकी / V1 / कार्ट / मेरा कॉल: पोस्ट प्रतिक्रिया: कार्टिड उदाहरण: 4290

  2. कार्ट url में आइटम जोड़ें: http: // www। [आपका] .com / बाकी / V1 / कार्ट / मेरा आइटम :

    {"cartItem":{
        "sku":"JFCO00017",
        "qty":1,
        "name":"Devil May Cry III 3 Dante",
        "price":81.55,
        "product_type":"simple",
        "quote_id":"4290",
        "product_option":
            {"extension_attributes":
               {
                 "custom_options":[
                  {"option_id":"thumbnail",
             "option_value":"\/d\/e\/devilmaycryiii3dantecosplay_1_.jpg"
               },
               {
                 "option_id":"color_2",
                 "option_value":"Red"
               },
               {
                "option_id":"google_size",
                "option_value":"xxs"}]
           }
        }
      }
    }
  3. बिलिंग जानकारी जोड़ें url: http: // www। [आपका] .com / बाकी / V1 / कार्ट / मेरा / बिलिंग-पता शरीर:

    {
    "address": {
    "city": "Springfield",
    "company": "iprag",
    "countryId": "IN",
    "email": "customer_email@domain.com",
    "firstname": "Jane",
    "lastname": "Doe",
    "postcode": "90210",
    "region": "UP",
    "saveInAddressBook": 1,
    "street": ["Street"],
    "telephone": "5551234"
    },
    "useForShipping": true
    }
  4. शिपिंग-विधियाँ प्राप्त करें url: http: // www। [आपका] .com / बाकी / V1 / कार्ट / मेरा / शिपिंग-विधियाँ

    {
    "carrier_code": "flatrate",
    "method_code": "flatrate",
    "carrier_title": "Flat Rate",
    "method_title": "Fixed",
    "amount": 10,
    "base_amount": 10,
    "available": true,
    "error_message": "",
    "price_excl_tax": 10,
    "price_incl_tax": 10

    }

  5. जोड़ें शिपिंग जानकारी url: http: // www। [आपका] .com / बाकी / V1 / कार्ट / मेरा / शिपिंग-जानकारी :

    {
     "addressInformation": {
     "billingAddress": {
        "city": "Springfield",
        "company": "iprag",
        "email": "customer_email@domain.com",
        "firstname": "Jane",
        "lastname": "Doe",
        "postcode": "335001",
        "region": "UP",
        "street": ["Street"],
        "telephone": "5551234"
    },
    "shippingAddress": {
        "city": "Springfield",
        "company": "iprag",
        "email": "customer_email@domain.com",
        "firstname": "Jane",
        "lastname": "Doe",
        "postcode": "335001",
        "region": "UP",
        "street": ["Street"],
        "telephone": "5551234"
      },
      "shippingCarrierCode": "flatrate",
      "shippingMethodCode": "flatrate"
    }
    }

प्रतिक्रिया: भुगतान विधि और गाड़ी विस्तार

  1. आदेश स्थान URL: http: // www। [आपका] .com / बाकी / V1 / कार्ट / मेरा / आदेश निकाय:

    {
     "paymentMethod":{"method":"checkmo"},
     "shippingMethod":
        {
          "method_code":"flatrate",
    
          "carrier_code":"flatrate",
          "additionalProperties":{}
    
        }
    
    }

प्रतिक्रिया: आदेश


ऊपर दिए गए तरीके का उपयोग करके पेफ़्लो पद्धति से क्रेडिटकार्ड डेटा कैसे पास करें?
राकेश जेसादिया

@RakeshJesadiya, सभी उपलब्ध भुगतान विधि प्राप्त करने के लिए एक Magento बाकी api कॉल है और सूची प्राप्त करें और उपरोक्त विधि की जगह ऑर्डर करें।
मनीष

क्या आप देख सकते हैं और मुझे इसके लिए बता सकते हैं
राकेश जेसादिया

@ अंपुल ने आपने PayPal Pro और Express के साथ REST API का उपयोग करके एक ऑर्डर बनाया है ????
केतन पांचाल

@KetanPanchal नहीं
मनीष

0

एक आधिकारिक ट्यूटोरियल है दिखा रहा है कि REST API के माध्यम से ऑर्डर कैसे किया जाए:
Magento 2.2 के लिए ऑर्डर प्रोसेसिंग ट्यूटोरियल

उनमें बहुत विस्तृत चरण शामिल थे:

  1. स्टोर को कॉन्फ़िगर करें
  2. व्यवस्थापक टोकन प्राप्त करें
  3. एक ग्राहक बनाएँ
  4. एक उद्धरण बनाएँ
  5. कार्ट में आइटम जोड़ें
  6. चेकआउट की तैयारी करें
  7. एक आदेश बनाएँ
  8. एक चालान बनाएँ
  9. एक शिपमेंट बनाएँ
  10. आंशिक वापसी जारी करें

ट्यूटोरियल में विभिन्न प्रकार के उत्पादों, विभिन्न शिपिंग विधि और नमूना कोड के साथ कई अन्य उपयोगी जानकारी को शामिल करना शामिल था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.