Skip to content

This is a module that extends Magento2 API to get list of TOP products

License

Notifications You must be signed in to change notification settings

OxCom/magento2-top-products

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jan 11, 2021
a4e4d1b · Jan 11, 2021

History

21 Commits
Aug 29, 2018
Oct 5, 2018
Sep 5, 2018
Aug 29, 2018
Oct 25, 2017
Oct 4, 2018
Jan 11, 2021
Oct 25, 2017

Repository files navigation

Magento2 Top Products API

This is a module that extends Magento2 API to get list of TOP products by next filters:

  • TOP selling products
  • TOP Free products
  • TOP Rated products

Top selling and free products are fetching from Magento2 reports.

Top rated products are fetching from Rates module and results are based on aggregated data.

Install

$ composer require oxcom/magento2-top-products
$ bin/magento module:enable OxCom_MagentoTopProducts
$ bin/magento setup:upgrade
$ bin/magento setup:di:compile

API requests

GET /V1/products/top/{type} - Get list of top products by type. Where type can be:

  • selling - TOP selling products
  • free - TOP Free products
  • rated - TOP Rated products
Search criteria params

pageSize - Page size

currentPage - Current page

ratingCode - filter by rating type. This options is related ony for rated type. Possible values can be found in rating table.

period - filter by period. This options is related only for selling or free type. Possible values are:

  • yearly - annual report (default)
  • monthly - monthly report
  • daily - daily report

filter_groups - As product search criteria this filter will allow you to process products collection with more requirements.

Search criteria examples:

Filter top selling products by:

  • period: daily
  • price > 10
  • visibility = 4
  • pageSize = 10
  • currentPage = 2
$ curl -X GET \
  'https://example.com/rest/all/V1/products/top/selling?searchCriteria%5Bfilter_groups%5D%5B0%5D%5Bfilters%5D%5B0%5D%5Bfield%5D=visibility&searchCriteria%5Bfilter_groups%5D%5B0%5D%5Bfilters%5D%5B0%5D%5Bvalue%5D=4&searchCriteria%5Bfilter_groups%5D%5B0%5D%5Bfilters%5D%5B0%5D%5Bcondition_type%5D=eq&searchCriteria%5BpageSize%5D=10&searchCriteria%5BcurrentPage%5D=2&searchCriteria%5Bfilter_groups%5D%5B0%5D%5Bfilters%5D%5B1%5D%5Bfield%5D=price&searchCriteria%5Bfilter_groups%5D%5B0%5D%5Bfilters%5D%5B1%5D%5Bvalue%5D=10&searchCriteria%5Bfilter_groups%5D%5B0%5D%5Bfilters%5D%5B1%5D%5Bcondition_type%5D=gt&searchCriteria%5Bperiod%5D=daily' \
  -H 'authorization: Bearer {api-token}' \
  -H 'cache-control: no-cache'

Filter top rated products by:

  • ratingCode: Rating
  • status = 2
  • visibility = 4
  • pageSize = 10
  • currentPage = 2
$ curl -X GET \
  'https://example.com/rest/all/V1/products/top/rated?searchCriteria%5Bfilter_groups%5D%5B0%5D%5Bfilters%5D%5B0%5D%5Bfield%5D=visibility&searchCriteria%5Bfilter_groups%5D%5B0%5D%5Bfilters%5D%5B0%5D%5Bvalue%5D=4&searchCriteria%5Bfilter_groups%5D%5B0%5D%5Bfilters%5D%5B0%5D%5Bcondition_type%5D=eq&searchCriteria%5BpageSize%5D=10&searchCriteria%5BcurrentPage%5D=2&searchCriteria%5Bfilter_groups%5D%5B0%5D%5Bfilters%5D%5B1%5D%5Bfield%5D=status&searchCriteria%5Bfilter_groups%5D%5B0%5D%5Bfilters%5D%5B1%5D%5Bvalue%5D=1&searchCriteria%5Bfilter_groups%5D%5B0%5D%5Bfilters%5D%5B1%5D%5Bcondition_type%5D=eq&searchCriteria%5BratingCode%5D=Rating' \
  -H 'authorization: Bearer {api-token}' \
  -H 'cache-control: no-cache'

Dependencies

This module is using exists functionality of next modules:

  • magento/module-catalog
  • magento/module-review
  • magento/module-sales

Bugs and Issues

Please, if You found a bug or something, that is not working properly, contact me and tell what's wrong. It's nice to have an example how to reproduce a bug, or any idea how to fix it in Your request. I'll take care about it ASAP.

About

This is a module that extends Magento2 API to get list of TOP products

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages