Pracuję nad natywną aplikacją mobilną i chcę wyświetlać produkt po wybraniu kategorii przez klienta. Jestem w stanie uzyskać listę produktu według kategorii w żądaniu odpoczynku, ale ta lista nie zawiera wielu szczegółów na temat produktu.
Request : http://localhost/magento2/index.php/rest/V1/categories/24/products
( 24 jest identyfikatorem kategorii )
Response : [{"sku":"WH01","position":1,"category_id":"24"},...]
Wcześniej na Magento 1.9
liście produktów było coś takiego
{ 2: { entity_id: „2” typ_id: „prosty” sku: „Levis Bagpack” opis: „Bagpack” short_description: „Bagpack” słowo kluczowe meta_keys: null nazwa: „Levis Bagpack” meta_title: null meta_description: null regular_price_with_tax: 45 regular_price_with_tax: 45 final_price_with_tax: 45 cena_końcowa bez podatku: 45 is_saleable: true image_url: "http://172.16.8.24:8080/magento/media/catalog/product/cache/0/image/9df78eab33525d08d6e5fb8d27136e95/images/catalog/product/placeholder/image.jpg" } -
Co powinienem zrobić, aby uzyskać więcej informacji o produkcie, aby móc wyświetlać obraz i inne rzeczy w aplikacji mobilnej?
Odpowiedzi:
Może możesz wypróbować interfejs API REST GET / V1 / products /: sku, aby uzyskać wszystkie szczegóły ( https://github.com/magento/magento2/blob/develop/app/code/Magento/Catalog/etc/webapi.xml # l36 )
Zwrócona wartość będzie reprezentacją \ Magento \ Catalog \ Api \ Data \ ProductInterface (w tym dodatkowe atrybuty) https://github.com/magento/magento2/blob/develop/app/code/Magento/Catalog/Api/Data /ProductInterface.php
Sprawdź \ Magento \ Catalog \ Api \ ProductRepositoryInterface :: pobierz, które usługi REST API GET / V1 / products /: sku.
Możesz złożyć wiele żądań dla wszystkich kodów SKU produktu.
LUB
Możesz użyć interfejsu API wyszukiwania, aby pobrać całą listę w jednym żądaniu na podstawie kryteriów:
np .: http: //localhost/magento2/index.php/rest/V1/products? searchCriteria [filter_groups] [0] [filtry] [0] [field] = sku & searchCriteria [filter_groups] [0] [filtry] [0] [wartość] = simple & searchCriteria [grupy_filtrów] [0] [filtry] [1] [pole] = SKU & searchCriteria [grupy_filtrów] [0] [filtry] [1] [wartość] = Simple2 i kryteria wyszukiwania [grupy_filtrów] [0] [filtry] [0 ] [condition_type] = eq & searchCriteria [current_page] = 1 & searchCriteria [page_size] = 2
W tym przypadku wyszukiwane są produkty z kodami SKU - simple i Simple2.
źródło
Dodatkowo (nie zastępując) do innych odpowiedzi, jeśli po tym nadal brakuje Ci informacji, możesz wypełnić luki, pisząc własne funkcje API: https://alankent.wordpress.com/2015/07/24 / Creating-a-new-rest-web-service-in-magento-2 /
źródło
Podobnie możesz zmienić $ requestUrl i filtrować listę produktów według identyfikatora kategorii i uzyskać szczegółowe informacje o produkcie.
Potwierdź, czy to rozwiązuje problem, czy nie. W przeciwnym razie opublikuję inne rozwiązanie.
źródło
Oprócz tego, co powiedział @airboss, pracujemy nad naszym interfejsem API w stylu „integracji”. Jest to wywołanie API, które ma dodatkowe atrybuty rozszerzalne (katalog, sprzedaż).
Za kilka tygodni powinieneś być w stanie wykonać wywołanie REST API GET / V1 / products /: sku i uzyskać wszystko związane z tym produktem (jeśli jesteś autoryzowany jako klient, nie zobaczysz obiektu zapasowego). Na przykład, jeśli nazwiesz SKU, który jest produktem w pakiecie, otrzymasz prosty produkt, tablicę opcji produktu, tablicę linków do produktów, adresy URL mediów i obiekt magazynowy *. To samo, gdy używasz interfejsu API wyszukiwania (wkrótce nazwiemy go filtrem).
-Głaskanie pod brodę
źródło