Alokai

applyCouponToCart

Apply coupon to cart

Signature

declare function applyCouponToCart(
	context: Context,
	input: ApplyCouponToCartInput,
	customQuery?: CustomQuery,
	customHeaders?: CustomHeaders
): Promise<FetchResult<ApplyCouponToCartMutation>>;

Parameters

NameRequiredTypeDescription
contextRequiredContext
inputRequiredApplyCouponToCartInput
customQueryOptionalCustomQuery
customHeadersOptionalCustomHeaders

Referenced Types

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);

On this page