{"id":18290266,"url":"https://github.com/landofcoder/module-marketplace-graphql","last_synced_at":"2025-04-09T07:26:49.757Z","repository":{"id":40794954,"uuid":"317425289","full_name":"landofcoder/module-marketplace-graphql","owner":"landofcoder","description":"Magento 2 MarketPlace GraphQL extension.","archived":false,"fork":false,"pushed_at":"2024-04-05T09:20:36.000Z","size":160,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-15T01:42:43.038Z","etag":null,"topics":["magento2-graphql","magento2-marketplace","magento2-multi-vendor","pwa","pwa-studio"],"latest_commit_sha":null,"homepage":"https://landofcoder.com/magento-multivendor-marketplace-pwa-studio-solution.html","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"osl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/landofcoder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-01T04:35:23.000Z","updated_at":"2023-08-29T02:16:07.000Z","dependencies_parsed_at":"2023-12-26T04:29:47.853Z","dependency_job_id":"9cdec99c-ea5e-48d3-bd10-c53f8f4d4c9e","html_url":"https://github.com/landofcoder/module-marketplace-graphql","commit_stats":{"total_commits":75,"total_committers":7,"mean_commits":"10.714285714285714","dds":"0.43999999999999995","last_synced_commit":"e4442dfd9fd382f72d1a3e09be7060deb8481c52"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/landofcoder%2Fmodule-marketplace-graphql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/landofcoder%2Fmodule-marketplace-graphql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/landofcoder%2Fmodule-marketplace-graphql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/landofcoder%2Fmodule-marketplace-graphql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/landofcoder","download_url":"https://codeload.github.com/landofcoder/module-marketplace-graphql/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247996815,"owners_count":21030531,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["magento2-graphql","magento2-marketplace","magento2-multi-vendor","pwa","pwa-studio"],"created_at":"2024-11-05T14:10:05.445Z","updated_at":"2025-04-09T07:26:49.736Z","avatar_url":"https://github.com/landofcoder.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mage2 Module Lof MarketplaceGraphQl\n\n    ``landofcoder/module-marketplace-graphql\n``\n\n - [Main Functionalities](#markdown-header-main-functionalities)\n - [Installation](#markdown-header-installation)\n - [Configuration](#markdown-header-configuration)\n - [Specifications](#markdown-header-specifications)\n - [Attributes](#markdown-header-attributes)\n\n\n## Main Functionalities\nmagento 2 marketplace graphql extension\n\n## Marketplace Addons GraphQL Extensions\n- [Seller Coupon Code](https://github.com/landofcoder/module-seller-coupon-graph-ql)\n- [Seller Chat](https://github.com/landofcoder/module-seller-chat-graphql)\n- [Seller Split Cart](https://github.com/landofcoder/module-split-cart-graph-ql)\n- [Seller Product List - Products Slider](https://github.com/landofcoder/module-seller-product-list-graph-ql)\n- [Seller Blog](https://github.com/landofcoder/module-seller-blog-graph-ql)\n- [Seller Product](https://github.com/landofcoder/module-marketplace-seller-product-graph-ql)\n- [Seller Settings](https://github.com/landofcoder/module-marketplace-seller-settings-graph-ql)\n- [Seller Delivery Time Slots](https://github.com/landofcoder/module-seller-delivery-time-slot-graph-ql)\n- Comming soon...\n  \n## Installation\n\\* = in production please use the `--keep-generated` option\n\n### Type 1: Zip file\n\n - Unzip the zip file in `app/code/Lof`\n - Enable the module by running `php bin/magento module:enable Lof_MarketplaceGraphQl`\n - Apply database updates by running `php bin/magento setup:upgrade`\\*\n - Flush the cache by running `php bin/magento cache:flush`\n\n### Type 2: Composer\n\n - Make the module available in a composer repository for example:\n    - private repository `repo.magento.com`\n    - public repository `packagist.org`\n    - public github repository as vcs\n - Add the composer repository to the configuration by running `composer config repositories.repo.magento.com composer https://repo.magento.com/`\n - Install the module composer by running `composer require landofcoder/module-marketplace-graphql`\n - enable the module by running `php bin/magento module:enable Lof_MarketplaceGraphQl`\n - apply database updates by running `php bin/magento setup:upgrade`\\*\n - Flush the cache by running `php bin/magento cache:flush`\n\n### TODO\n- Refactor Graphql queries\n- Refactor Resolvers\n- Add documendation for Graphql queries\n\n## Queries\n\n1. Get Seller Profile Info By Url\n\n```\n{\n    sellerByUrl(\n        seller_url: String! @doc(description: \"Seller Url Key\")\n        get_other_info: Boolean = false @doc(description: \"Get other info: reviews, ratings, total sales, vacation\")\n        get_products: Boolean = false @doc(description: \"Get Latest Products\")\n    ) {\n        address\n        banner_pic\n        city\n        company_description\n        company_locality\n        contact_number\n        country\n        customer_id\n        email\n        gplus_active\n        gplus_id\n        group\n        image\n        name\n        page_layout\n        region\n        return_policy\n        sale\n        seller_id\n        shipping_policy\n        shop_title\n        status\n        store_id\n        thumbnail\n        seller_rates {\n            items {\n                created_at\n                customer_id\n                detail\n                email\n                nickname\n                rate1\n                rate2\n                rate3\n                rating_id\n                seller_id\n                status\n                title\n            }\n            total_count\n        }\n  }\n}\n```\n\nExample:\n\n```\n{\n  sellerByUrl(seller_url: \"seller1\") {\n    shop_title\n    thumbnail\n    logo_pic\n    banner_pic\n    url_key\n    telephone\n    product_count\n    total_sold\n    offers\n    benefits\n    product_shipping_info\n    prepare_time\n    response_ratio\n    response_time\n    creation_time\n  }\n}\n\n```\n\n2. Get Seller Profile By ID\n\n```\n{\n    sellerById(\n        seller_id: Int! @doc(description: \"Seller id\")\n        get_other_info: Boolean = false @doc(description: \"Get other info: reviews, ratings, total sales, vacation\")\n        get_products: Boolean = false @doc(description: \"Get Latest Products\")\n    ) {\n        address\n        banner_pic\n        city\n        company_description\n        company_locality\n        contact_number\n        country\n        customer_id\n        email\n        gplus_active\n        gplus_id\n        group\n        image\n        name\n        page_layout\n        region\n        return_policy\n        sale\n        seller_id\n        shipping_policy\n        shop_title\n        status\n        store_id\n        thumbnail\n        seller_rates {\n            items {\n                created_at\n                customer_id\n                detail\n                email\n                nickname\n                rate1\n                rate2\n                rate3\n                rating_id\n                seller_id\n                status\n                title\n            }\n            total_count\n        }\n  }\n}\n```\n\nExample:\n\n```\n{\n  sellerById(seller_id: 1) {\n    shop_title\n    thumbnail\n    logo_pic\n    banner_pic\n    url_key\n    telephone\n    product_count\n    total_sold\n    offers\n    benefits\n    product_shipping_info\n    prepare_time\n    response_ratio\n    response_time\n    creation_time\n  }\n}\n\n```\n\n\n3. Get List Sellers with Filter options\n\n```\n{\n    sellers (\n        filter: SellerFilterInput,\n        pageSize: Int = 20,\n        currentPage: Int = 1,\n        sort: SellerSortInput\n    ) {\n        total_count\n        items {\n            seller_rates {\n                items {\n                    created_at\n                    customer_id\n                    detail\n                    email\n                    nickname\n                    rate1\n                    rate2\n                    rate3\n                    rating_id\n                    seller_id\n                    status\n                    title\n                }\n                total_count\n            }\n            sale\n            seller_id\n            name\n            thumbnail\n            country\n            address\n            group\n            products {\n                items {\n                    sale\n                    id\n                    name\n                    url_key\n                    rating_summary\n                    sku\n                    image {\n                        url\n                        label\n                    }\n                    description {\n                        html\n                    }\n                    short_description {\n                        html\n                    }\n                    product_brand\n                    price_range {\n                        maximum_price {\n                            discount {\n                                amount_off\n                                percent_off\n                            }\n                            final_price {\n                                currency\n                                value\n                            }\n                            regular_price {\n                                currency\n                                value\n                            }\n                        }\n                        minimum_price {\n                            discount {\n                                amount_off\n                                percent_off\n                            }\n                            final_price {\n                                currency\n                                value\n                            }\n                            regular_price {\n                                currency\n                                value\n                            }\n                        }\n                    }\n                    price {\n                        regularPrice {\n                            amount {\n                                currency\n                            }\n                        }\n                    }\n                }\n                total_count\n            }\n        }\n    }\n}\n```\n\n4. Get Seller Collection (Groups)\n\n```\n{\n    sellerCollection(\n        filter: SellerGroupFilterInput,\n        pageSize: Int = 5,\n        currentPage: Int = 1,\n        sort: SellerGroupSortInput\n    ) {\n        total_count\n        items {\n            group_id\n            name\n            url_key\n            position\n        }\n    }\n}\n```\n\n5. Filter products by seller ID\n\n```\nfragment ShopProduct on ProductInterface {\n  id\n  rating_summary\n  description {\n    html\n  }\n  name\n  image {\n    url\n  }\n  url_key\n  price_range {\n    minimum_price {\n      regular_price {\n        value\n        currency\n      }\n    }\n    maximum_price {\n      discount {\n        percent_off\n      }\n      final_price {\n        value\n        currency\n      }\n      regular_price {\n        value\n      }\n    }\n  }\n}\n\nfragment PageInfo on SearchResultPageInfo {\n  current_page\n  page_size\n  total_pages\n}\n\nproductsBySellerId(\n    seller_id: Int!\n    search: String = \"\"\n    filter: ProductAttributeFilterInput\n    pageSize: Int = 20\n    currentPage: Int = 1\n    sort: ProductAttributeSortInput\n  ) {\n    items {\n      ...ShopProduct\n    }\n    page_info {\n      ...PageInfo\n    }\n    total_count\n}\n```\n\n6. Get Seller Products by Seller Url\n\nExample: get products of seller \"seller1\"\n\n```\n{\n  productsBySellerUrl(\n    seller_url: \"seller1\"\n    search: \"\"\n    filter: {}\n    pageSize: 1\n    currentPage: 1\n  ) {\n    items {\n      id\n      name\n      url_key\n      rating_summary\n      sku\n      stock_status\n      image {\n        url\n        label\n      }\n      description {\n        html\n      }\n      short_description {\n        html\n      }\n      price {\n        regularPrice {\n          amount {\n            currency\n          }\n        }\n      }\n    }\n    page_info {\n      page_size\n      current_page\n      total_pages\n    }\n    total_count\n  }\n}\n```\n\n7. Get Seller Information on products query\n\nExample:\n\n```\n{\n  products(filter: { sku: { eq: \"AAAU_B2C-W713327\" } }) {\n    items {\n      name\n      sku\n      url_key\n      stock_status\n      price_range {\n        minimum_price {\n          regular_price {\n            value\n            currency\n          }\n        }\n      }\n      seller {\n        shop_title\n        thumbnail\n        url_key\n        telephone\n        product_count\n        total_sold\n        offers\n        benefits\n        product_shipping_info\n        prepare_time\n        response_ratio\n        response_time\n        creation_time\n      }\n    }\n    total_count\n    page_info {\n      page_size\n    }\n  }\n}\n\n```\n\n8. Mutation Registrer Seller\n\n```\nmutation {\n  registerSeller(\n    input: {\n        seller: {\n            group_id: String\n            url_key: String!\n        },\n        customer: {\n            firstname: String!\n            lastname: String!\n            email: String!\n            address: {\n                region_id: String\n                country_id: String!\n                city: String!\n                street: String!\n                company: String\n                telephone: String!\n                postcode: String!\n            }\n        },\n        password: String!\n    }\n  ) {\n    code\n    message\n  }\n}\n```\n\n9. Mutation Become Seller - required customer logged in\n\n```\nmutation {\n  becomeSeller(\n    input: {\n        group_id: String\n        url_key: String!\n    }\n  ) {\n    code\n    message\n  }\n}\n```\n\n10. Mutation Review Seller - required customer logged in\n\n```\nmutation {\n  reviewSeller(\n    input: {\n        seller_url  : String!\n        rate1  : Int!\n        rate2  : Int!\n        rate3  : Int!\n        nickname  : String!\n        email  : String!\n        title  : String!\n        detail  : String!\n    }\n  ) {\n    code\n    message\n  }\n}\n```\n\n11. Mutation Customer send contact to seller - required customer logged in\n\n```\nmutation {\n  customerSendMessage(\n    input: {\n        seller_url  : String!\n        subject  : String\n        content  : String!\n    }\n  ) {\n    code\n    message\n  }\n}\n```\n\n12. Mutation Customer send reply to a message - required customer logged in\n\n```\nmutation {\n  customerReplyMessage(\n    input: {\n        message_id  : Int!\n        content  : String!\n    }\n  ) {\n    code\n    message\n  }\n}\n```\n\n13. Query get messages of logged in customer - required customer logged in\n\n```\n{\n    sellerMessages(\n        filter: SellerMessageFilterInput\n        pageSize: Int = 20\n        currentPage: Int = 1\n        sort: SellerMessageSortInput\n    ) {\n        total_count\n        items {\n            message_id\n            description\n            subject\n            sender_email\n            sender_name\n            created_at\n            status\n            is_read\n            sender_id\n            owner_id\n            receiver_id\n            seller_send\n            details (\n                pageSize: Int = 20\n                currentPage: Int = 1\n            ) {\n                items {\n                    content\n                    sender_name\n                    sender_email\n                    receiver_name\n                    is_read\n                    created_at\n                }\n                total_count\n                page_info {\n                    ...PageInfo\n                }\n            }\n        }\n        page_info {\n            ...PageInfo\n        }\n    }\n}\n```\n\n14. Query Get Seller Info of Logged in Customer - required customer logged in\n\n```\n{\n  customer {\n    firstname\n    lastname\n    suffix\n    email\n    addresses {\n      firstname\n      lastname\n      street\n      city\n      region {\n        region_code\n        region\n      }\n      postcode\n      country_code\n      telephone\n    }\n    seller {\n        shop_title\n        thumbnail\n        logo_pic\n        banner_pic\n        url_key\n        telephone\n        product_count\n        total_sold\n        offers\n        benefits\n        product_shipping_info\n        prepare_time\n        response_ratio\n        response_time\n        creation_time\n    }\n  }\n}\n```\n\n15. Get Seller Ratings List by Seller Url Key\n\nQuery:\n\n```\n{\n  sellerRatings(\n    seller_url: \"seller1\"\n    filter: {}\n    pageSize: 5\n    currentPage: 1\n    sort: { created_at: DESC }\n  ) {\n    items {\n      rating_id\n      rate1\n      rate2\n      rate3\n      rate4\n      rate5\n      rating\n      title\n      status\n      detail\n      nickname\n      created_at\n      verified_buyer\n      is_recommended\n      is_hidden\n      answer\n      admin_note\n      like_about\n      not_like_about\n      guest_email\n      plus_review\n      minus_review\n      report_abuse\n      country\n    }\n    total_count\n    page_info {\n      page_size\n      current_page\n      total_pages\n    }\n  }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flandofcoder%2Fmodule-marketplace-graphql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flandofcoder%2Fmodule-marketplace-graphql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flandofcoder%2Fmodule-marketplace-graphql/lists"}