applyCouponToCart
Apply coupon to cart
Signature
declare function applyCouponToCart(
context: Context,
input: ApplyCouponToCartInput,
customQuery?: CustomQuery,
customHeaders?: CustomHeaders
): Promise<FetchResult<ApplyCouponToCartMutation>>;Parameters
| Name | Required | Type | Description |
|---|---|---|---|
context | Required | Context | |
input | Required | ApplyCouponToCartInput | |
customQuery | Optional | CustomQuery | |
customHeaders | Optional | CustomHeaders |
Referenced Types
- Context
- ApplyCouponToCartInput
- CustomQuery
- CustomHeaders
FetchResultApplyCouponToCartMutation
Examples
Simple usage:
import { sdk } from '~/sdk.config.ts';
// apply coupon parameters
const params = {
cart_id: 'test-cart-id',
coupon_code: 'test-coupon-code'
};
// The result of the coupon application
const result = await sdk.magento.applyCouponToCart(params);Creating a custom GraphQL query for getting cart
module.exports = {
integrations: {
magento: {
customQueries: {
'apply-coupon-to-cart-custom-query': ({ variables, metadata }) => ({
variables,
query: `
mutation applyCouponToCart($input: ApplyCouponToCartInput) {
applyCouponToCart(input: $input) {
${metadata.fields}
}
}`
}),
},
}
}
};Using a custom GraphQL query to fetch reduced amount of data
import { sdk } from '~/sdk.config.ts';
const customQuery = {
applyCouponToCart: 'apply-coupon-to-cart-custom-query',
metadata: {
fields: 'cart { applied_coupons { code } }'
}
};
const params = {
cart_id: 'test-cart-id',
coupon_code: 'test-coupon-code'
};
// The result will contain only fields configured in the custom query
const result = await sdk.magento.applyCouponToCart(params, customQuery);