PHPackages                             scandipwa/quote-graphql - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. scandipwa/quote-graphql

ActiveMagento2-module[API Development](/categories/api)

scandipwa/quote-graphql
=======================

N/A

3.1.0(1y ago)7232.0k—3%31[7 PRs](https://github.com/scandipwa/quote-graphql/pulls)2OSL-3.0PHP

Since Apr 18Pushed 1y ago3 watchersCompare

[ Source](https://github.com/scandipwa/quote-graphql)[ Packagist](https://packagist.org/packages/scandipwa/quote-graphql)[ RSS](/packages/scandipwa-quote-graphql/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (16)Versions (90)Used By (2)

ScandiPWA\_QuoteGraphQl
=======================

[](#scandipwa_quotegraphql)

**QuoteGraphQl** provides basic types and resolvers for Checkout steps.

Endpoint description
--------------------

[](#endpoint-description)

All endpoints here should accept the same data as the API does. For an api reference, please follow [this link](https://devdocs.magento.com/redoc/2.3/customer-rest-api.html#operation/quoteGuestCartItemRepositoryV1SavePost)

> **IMPORTANT NOTE**: every following mutation and query work without specifying the `quote_id` param (or `quoteId`). If none quote id is specified the resolver will attempt to load the quote id from Auth header, where auth token should be present. If quoteId is passed, it will treat it as a guest request, so the `quote_id` should be encoded.

> **IMPORTANT NOTE**: this endpoint is an alternative for [Magento 2 GraphQL Quote endpoint](https://devdocs.magento.com/guides/v2.3/graphql/reference/quote.html) that is storing `quote_id` for authorized customer on server (using *state-full* approach).

### getCartForCustomer

[](#getcartforcustomer)

This endpoint allows to get full cart data (items + totals).

```
query GetCartForCustomer ($_guestCartId_0: String) {
    getCartForCustomer(guestCartId: $_guestCartId_0) {
        id
        tax_amount
        subtotal
        discount_amount
        subtotal_with_discount
        grand_total
        items {
            item_id
            qty
            product {
                price {
                    maximalPrice {
                        amount {
                            value
                            currency
                        }
                        adjustments {
                            code
                            amount {
                                value
                                currency
                            }
                        }
                    }
                }
            }
        }
    }
}
```

```
{
  "_guestCartId_0":"xIXmScRLWb5ntIEsYe2ymzrVXYraivGx"
}
```

### saveCartItem

[](#savecartitem)

type `cartItem` now implements sub-type of CartItemId, that allows to reference by one of many: item\_id or product SKU. This will become non-nullable in the future releases, when "sku" and "item\_id" will be dropped.

This endpoint allows to submit items to cart following the default API payload schema. In beneath example is a simple product option addition to cart.

```
mutation SaveCartItem ($_cartItem_0: CartItemInput!, $_guestCartId_0: String) {
    saveCartItem(cartItem: $_cartItem_0, guestCartId: $_guestCartId_0) {
        getCartForCustomer(guestCartId: $_guestCartId_0) {
            id
            tax_amount
            subtotal
            discount_amount
            subtotal_with_discount
            grand_total
            items {
                item_id
                qty
                product {
                    price {
                        maximalPrice {
                            amount {
                                value
                                currency
                            }
                            adjustments {
                                code
                                amount {
                                    value
                                    currency
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```

```
{
  "_cartItem_0":{
    "sku":"Test simple product",
    "product_type":"simple",
    "qty":1,
    "product_option": {
        "extension_attributes":{}
    }
  },
  "_guestCartId_0":"xIXmScRLWb5ntIEsYe2ymzrVXYraivGx"
}
```

### removeCartItem

[](#removecartitem)

```
mutation RemoveCartItem($item_id: Int!, $_guestCartId_0: String) {
    removeCartItem(item_id: $item_id, guestCartId: $_guestCartId_0) {
        getCartForCustomer(guestCartId: $_guestCartId_0) {
            id
            tax_amount
            subtotal
            discount_amount
            subtotal_with_discount
            grand_total
            items {
                item_id
                qty
                product {
                    price {
                        maximalPrice {
                            amount {
                                value
                                currency
                            }
                            adjustments {
                                code
                                amount {
                                    value
                                    currency
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```

```
{
   "item_id": 1,
   "quoteId": "s44Xcnya8dmbysAeNTOozFsZCh8tyCH9"
}
```

### estimateShippingCosts

[](#estimateshippingcosts)

```
mutation EstimateShippingCosts(
    $guestCartId: String!
    $address: EstimateShippingCostsAddress!
) {
    estimateShippingCosts(address: $address, guestCartId: $guestCartId) {
        carrier_code
        method_code
        carrier_title
        method_title
        error_message
        amount
        base_amount
        price_excl_tax
        price_incl_tax
        available
    }
}
```

```
{
  "guestCartId": "s44Xcnya8dmbysAeNTOozFsZCh8tyCH9",
  "address": {
      "region": "New York",
      "region_id": 43,
      "region_code": "NY",
      "country_id": "US",
      "street": [
      	"123 Oak Ave"
      ],
      "postcode": "10577",
      "city": "Purchase",
      "firstname": "Jane",
      "lastname": "Doe",
      "customer_id": 4,
      "email": "jdoe@example.com",
      "telephone": "(512) 555-1111",
      "same_as_billing": 1
  }
}
```

### saveAddressInformation

[](#saveaddressinformation)

```
mutation SaveAddressInformation(
  	$addressInformation: SaveAddressInformation!
  	$guestCartId: String
) {
	saveAddressInformation(
		addressInformation: $addressInformation,
    	guestCartId: $guestCartId
  	) {
  		payment_methods {
    		code
    		title
  		}
    	totals {
			grand_total
      		items {
        		name
        		qty
      		}
    	}
	}
}
```

```
{
   "guestCartId": "s44Xcnya8dmbysAeNTOozFsZCh8tyCH9",
   "addressInformation":{
      "shipping_address":{
         "region":"New York",
         "region_id":43,
         "region_code":"NY",
         "country_id":"US",
         "street":[
            "123 Oak Ave"
         ],
         "postcode":"10577",
         "city":"Purchase",
         "firstname":"Jane",
         "lastname":"Doe",
         "email":"jdoe@example.com",
         "telephone":"512-555-1111"
      },
      "billing_address":{
         "region":"New York",
         "region_id":43,
         "region_code":"NY",
         "country_id":"US",
         "street":[
            "123 Oak Ave"
         ],
         "postcode":"10577",
         "city":"Purchase",
         "firstname":"Jane",
         "lastname":"Doe",
         "email":"jdoe@example.com",
         "telephone":"512-555-1111"
      },
      "shipping_carrier_code":"flatrate",
      "shipping_method_code":"flatrate"
   }
}
```

### savePaymentInformationAndPlaceOrder

[](#savepaymentinformationandplaceorder)

```
mutation SavePaymentInformationAndPlaceOrder(
  $paymentInformation: PaymentInformation!,
  $guestCartId: String,
) {
  	savePaymentInformationAndPlaceOrder(
  		paymentInformation: $paymentInformation,
    	guestCartId: $guestCartId
  ) {
  	orderID
  }
}
```

```
{
  "guestCartId": "s44Xcnya8dmbysAeNTOozFsZCh8tyCH9",
  "paymentInformation": {
    "paymentMethod": {
        "method": "checkmo"
    },
    "billing_address":{
       "region":"New York",
       "region_id":43,
       "region_code":"NY",
       "country_id":"US",
       "street":[
          "123 Oak Ave"
       ],
       "postcode":"10577",
       "city":"Purchase",
       "firstname":"Jane",
       "lastname":"Doe",
       "email":"jdoe@example.com",
       "telephone":"512-555-1111"
    }
  }
}
```

###  Health Score

48

—

FairBetter than 95% of packages

Maintenance33

Infrequent updates — may be unmaintained

Popularity43

Moderate usage in the ecosystem

Community30

Small or concentrated contributor base

Maturity75

Established project with proven stability

 Bus Factor3

3 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~23 days

Recently: every ~178 days

Total

84

Last Release

673d ago

Major Versions

1.0.6 → 2.0.02019-05-30

2.19.26 → 3.0.02022-07-18

### Community

Maintainers

![](https://www.gravatar.com/avatar/0c2cd642b3c520df20394344ee587782e246262899e7ddc99a191360e85d7fdc?d=identicon)[scandiweb](/maintainers/scandiweb)

---

Top Contributors

[![alfredsgenkins](https://avatars.githubusercontent.com/u/29531824?v=4)](https://github.com/alfredsgenkins "alfredsgenkins (82 commits)")[![carinadues](https://avatars.githubusercontent.com/u/82165392?v=4)](https://github.com/carinadues "carinadues (27 commits)")[![riha112](https://avatars.githubusercontent.com/u/25338213?v=4)](https://github.com/riha112 "riha112 (22 commits)")[![zans-laksa](https://avatars.githubusercontent.com/u/73945186?v=4)](https://github.com/zans-laksa "zans-laksa (20 commits)")[![AleksandrsKondratjevs](https://avatars.githubusercontent.com/u/68007919?v=4)](https://github.com/AleksandrsKondratjevs "AleksandrsKondratjevs (17 commits)")[![atravkovs](https://avatars.githubusercontent.com/u/12703177?v=4)](https://github.com/atravkovs "atravkovs (13 commits)")[![IrinaZhadzinets](https://avatars.githubusercontent.com/u/82805412?v=4)](https://github.com/IrinaZhadzinets "IrinaZhadzinets (12 commits)")[![IvansZuks](https://avatars.githubusercontent.com/u/43142475?v=4)](https://github.com/IvansZuks "IvansZuks (10 commits)")[![yeegor](https://avatars.githubusercontent.com/u/46347627?v=4)](https://github.com/yeegor "yeegor (9 commits)")[![ainarssondors](https://avatars.githubusercontent.com/u/48548028?v=4)](https://github.com/ainarssondors "ainarssondors (5 commits)")[![AzizKHAN030](https://avatars.githubusercontent.com/u/76899788?v=4)](https://github.com/AzizKHAN030 "AzizKHAN030 (4 commits)")[![lianastaskevica](https://avatars.githubusercontent.com/u/52198221?v=4)](https://github.com/lianastaskevica "lianastaskevica (3 commits)")[![kamilkawasw](https://avatars.githubusercontent.com/u/140056435?v=4)](https://github.com/kamilkawasw "kamilkawasw (2 commits)")[![mihailspopovs4](https://avatars.githubusercontent.com/u/54805724?v=4)](https://github.com/mihailspopovs4 "mihailspopovs4 (2 commits)")[![tatiana-scandi](https://avatars.githubusercontent.com/u/79456428?v=4)](https://github.com/tatiana-scandi "tatiana-scandi (2 commits)")[![niklavskatlaps](https://avatars.githubusercontent.com/u/22444018?v=4)](https://github.com/niklavskatlaps "niklavskatlaps (1 commits)")[![niksKozlovs](https://avatars.githubusercontent.com/u/51077272?v=4)](https://github.com/niksKozlovs "niksKozlovs (1 commits)")[![raivisdejus](https://avatars.githubusercontent.com/u/5319134?v=4)](https://github.com/raivisdejus "raivisdejus (1 commits)")[![EriSilver](https://avatars.githubusercontent.com/u/13037254?v=4)](https://github.com/EriSilver "EriSilver (1 commits)")[![aleksandrsm](https://avatars.githubusercontent.com/u/4189890?v=4)](https://github.com/aleksandrsm "aleksandrsm (1 commits)")

### Embed Badge

![Health badge](/badges/scandipwa-quote-graphql/health.svg)

```
[![Health](https://phpackages.com/badges/scandipwa-quote-graphql/health.svg)](https://phpackages.com/packages/scandipwa-quote-graphql)
```

###  Alternatives

[dotdigital/dotdigital-magento2-extension

Dotdigital for Magento 2

50374.2k18](/packages/dotdigital-dotdigital-magento2-extension)[mollie/magento2

Mollie Payment Module for Magento 2

1121.6M10](/packages/mollie-magento2)[subscribepro/subscribepro-magento2-ext

Subscribe Pro Magento 2 Integration Extension

24157.3k](/packages/subscribepro-subscribepro-magento2-ext)[o2ti/sigep-web-carrier

O2TI - Sigep Web Carrier

141.5k](/packages/o2ti-sigep-web-carrier)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
