मैं कैसे आराम से मैं Magento2 पर हूँ एपीआई में अपने विस्तार के साथ उत्पाद सूची प्राप्त कर सकते हैं


9

मैं मूल मोबाइल एप्लिकेशन पर काम कर रहा हूं और ग्राहक द्वारा एक श्रेणी चुने जाने के बाद उत्पाद प्रदर्शित करना चाहता हूं। मैं बाकी अनुरोध में श्रेणी के द्वारा उत्पाद की सूची प्राप्त करने में सक्षम हूं, लेकिन उस सूची में उत्पाद के बारे में अधिक विवरण नहीं है।

Request : http://localhost/magento2/index.php/rest/V1/categories/24/products        

( 24 श्रेणी की आईडी है )

Response : [{"sku":"WH01","position":1,"category_id":"24"},...]

इससे पहले Magento 1.9उत्पाद सूची में कुछ ऐसा था

{
2: {
Unit_id: "2"
type_id: "सरल"
sku: "लेविस बैगपैक"
विवरण: "बैगपैक"
short_description: "बैगपैक"
meta_keyword: null
नाम: "लेविस बैगपैक"
meta_title: अशक्त
meta_description: अशक्त
regular_price_with_tax: 45
regular_price_without_tax: 45
फाइनल_प्राइस_विथ_टैक्स: 45
फ़ाइनल_प्राइस_विथआउट_टैक्स: 45
is_saleable: सच
image_url: "http://172.16.8.24:8080/magento/media/catalog/product/cache/0/image/9df78eab33525d08d6e5f88b27136e95/images/catalog/product/placeholder/image.jpg"
} -

क्या मैं तो मैं मोबाइल एप्लिकेशन में छवि और अन्य चीजों को दिखा सकते हैं उत्पाद के बारे में अधिक जानकारी प्राप्त करने के लिए क्या करना चाहिए?


SOAP एपीआई कैसे लागू करें (उदाहरण: ग्राहक एपीआई)?
मनोज कुमार

जवाबों:


4

हो सकता है कि आप सभी विवरण ( https://github.com/magento/magento2/blob/develop/app/code/code/Magento/Catalog/etc/webapi.xml) प्राप्त करने के लिए GET / V1 / उत्पादों /: sku REST API आज़मा सकते हैं। # l36 )

लौटाया गया मूल्य \ Magento \ कैटलॉग \ Api \ Data \ ProductInterface (अतिरिक्त विशेषताओं सहित) https://github.com/magento/magento2/blob/develop/app/code/Magento-Catalog/Api/Data का प्रतिनिधित्व करेगा /ProductInterface.php

चेक \ Magento \ कैटलॉग \ Api \ ProductRepositoryInterface :: GET / V1 / उत्पादों /: sku REST API को कौन सी सेवाएँ मिलती हैं।

आप सभी उत्पाद SKU के लिए कई अनुरोध कर सकते हैं।

या

आप अपने मापदंड के आधार पर पूरी सूची लाने के लिए खोज एपीआई का उपयोग कर सकते हैं:

ex: http: //localhost/magento2/index.php/rest/V1/products? सर्चक्रिटेरिया [फिल्टर_ग्रुप्स] [0] [फिल्टर] [0] [फील्ड] = स्कू और सर्चक्रैटेरिया [फ़िल्टर_ग्रुप्स] [0] [फिल्टर] [0] [value] = सरल और searchCriteria [filter_groups] [0] [फिल्टर] [1] [क्षेत्र] = sku और searchCriteria [filter_groups] [0] [फिल्टर] [1] [value] = Simple2 और searchCriteria [filter_groups] [0] [फिल्टर] [0 ] [condition_type] = eq और searchCriteria [CURRENT_PAGE] = 1 & searchCriteria [PAGE_SIZE] = 2

इस मामले में SKU के साथ उत्पाद - सरल और Simple2 खोजे जा रहे हैं।


SOAP एपीआई कैसे लागू करें (उदाहरण: ग्राहक एपीआई)?
मनोज कुमार


हमने कोशिश की, लेकिन मैं इस पर प्रहार कर रहा हूं, कृपया थ्रेड magento.stackexchange.com/questions/76569/…
मनोज कुमार

@airboss 192.168.1.180/magento/index.php/rest/V1/products/SKU एप में छवि का URL पूर्ण url नहीं है .. इसका कुछ इस तरह से है कि {{विशेषता_कोड ":" small_image "," value " ":" / 6/4/64275-152378-large.jpg "}, '। कैसे इस URL के लिए उपसर्ग पाने के लिए एक विचार?
nr5

storeConfigManager सेवा का उपयोग करें और BaseMediaUrl प्राप्त करें, फिर अपने पूर्ण पथ के साथ आने के लिए छवि से प्राप्त पथ को जोड़ें। आप सुरक्षित आधार यूआरएल के लिए सिक्योरमीडिया का उपयोग भी कर सकते हैं। - लिंक: devdocs.magento.com/swagger/index.html#//…
चक

2

इसके अलावा (अन्य प्रतिस्थापन के रूप में नहीं), यदि उसके बाद भी आप जानकारी के एक टुकड़े को याद कर रहे हैं, तो आप अपने स्वयं के एपीआई कार्यों को लिखकर अंतराल भर सकते हैं: https://alankent.wordpress.com/2015/07/24 / बनाने एक नया-आराम-वेब-सेवा-इन-Magento-2 /


SOAP एपीआई कैसे लागू करें (उदाहरण: ग्राहक एपीआई)?
मनोज कुमार

2
define('BASEURL','http://localhost/magento20_0407/');

$apiUser = 'testUser'; 
$apiPass = 'admin123';
$apiUrl = BASEURL.'index.php/rest/V1/integration/admin/token';
/*
    Magento 2 REST API Authentication
*/
$data = array("username" => $apiUser, "password" => $apiPass);                                                                    
$data_string = json_encode($data);                       
try{
    $ch = curl_init($apiUrl); 
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
        'Content-Type: application/json',                                                                                
        'Content-Length: ' . strlen($data_string))                                                                       
    );       
    $token = curl_exec($ch);
    $token = json_decode($token);
    if(isset($token->message)){
        echo $token->message;
    }else{
        $key = $token;
    }
}catch(Exception $e){
    echo 'Error: '.$e->getMessage();
}


/*
    Get Product By SKU REST API Magento 2
    Use above key into header
*/
$headers = array("Authorization: Bearer $key"); 
//$requestUrl = BASEURL.'index.php/rest/V1/products/24-MB01';//24-MB01 is the sku.
//$requestUrl = BASEURL.'index.php/rest/V1/products?searchCriteria[page_size]=10';// get total 10 products
//$requestUrl = BASEURL.'index.php/rest/V1/categories/24/products';// 24 category id
$requestUrl = BASEURL.'index.php/rest/V1/products?searchCriteria=';//get all products

$ch = curl_init();
try{
    $ch = curl_init($requestUrl); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);   

    $result = curl_exec($ch);
    $result = json_decode($result);

    if(isset($result->message)){
        echo $result->message;
    }else{
        print_r($result);
    }
}catch(Exception $e){
    echo 'Error: '.$e->getMessage();
}

इसी तरह आप $ आईडीयू श्रेणी और फ़िल्टर उत्पाद सूची को श्रेणी आईडी द्वारा बदल सकते हैं और उत्पाद विवरण प्राप्त कर सकते हैं।

कृपया पुष्टि करें कि यह आपकी समस्या को हल करता है या नहीं। और मैं एक और समाधान पोस्ट करूँगा।


1

@Airboss ने जो कहा उसके अलावा, हम एपीआई की हमारी 'एकीकरण' शैली पर काम कर रहे हैं। यह एक एपीआई कॉल है, जिसमें एक्स्टेंसिबल विशेषताएँ हैं (कैटलॉग, सेल्स)।

कुछ हफ्तों में आपको GET / V1 / उत्पादों /: sku REST API कॉल करने में सक्षम होना चाहिए और उस उत्पाद से संबंधित सभी चीजें प्राप्त करें (यदि आप ग्राहक के रूप में अधिकृत हैं तो आपको इन्वेंट्री ऑब्जेक्ट दिखाई नहीं देगा)। उदाहरण के लिए, यदि आप एक स्कू कहते हैं जो एक बंडल किया हुआ उत्पाद है, तो आपको सरल उत्पाद, उत्पाद विकल्पों की एक सरणी, उत्पाद लिंक की एक सरणी, मीडिया यूआरएल, और इन्वेंट्री ऑब्जेक्ट * मिलेगा। जब आप खोज का उपयोग करते हैं तो एक ही बात है (हम जल्द ही इसके बजाय इसे फ़िल्टर कहेंगे) एपीआई।

-Chuck


V1 / उत्पादों API में category_id पैरामीटर शामिल नहीं है? उसके लिए एनी वर्कअराउंड?
nr5
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.