Alokai

mergeCarts

Merge carts

Signature

declare function mergeCarts(
	context: Context,
	input: MutationMergeCartsArgs,
	customQuery?: CustomQuery,
	customHeaders?: CustomHeaders
): Promise<FetchResult<MergeCartsMutation>>;

Parameters

NameRequiredTypeDescription
contextRequiredContext
inputRequiredMutationMergeCartsArgs
customQueryOptionalCustomQuery
customHeadersOptionalCustomHeaders

Referenced Types

Examples

Simple usage:

import { sdk } from '~/sdk.config.ts';

// merge carts
const result = await sdk.magento.mergeCarts({
  source_cart_id: 'guest-cart-id',
  destination_cart_id: 'customer-cart-id'
});

Creating a custom GraphQL query for merging carts

module.exports = {
  integrations: {
    magento: {
      customQueries: {
        'merge-carts-custom-query': ({ variables, metadata }) => ({
           variables,
           query: `
             mutation mergeCarts($source_cart_id: String!, $destination_cart_id: String!) {
               mergeCarts(source_cart_id: $source_cart_id, destination_cart_id: $destination_cart_id) {
                 ${metadata.fields}
               }
             }`
        }),
      },
    }
  }
};

Using a custom GraphQL query to merge carts

import { sdk } from '~/sdk.config.ts';
// reduce the amount of fields returned by the query, when compared to the default query
const customQuery = {
  mergeCarts: 'merge-carts-custom-query',
  metadata: {
    fields: 'id items { uid quantity }'
  }
};

const result = await sdk.magento.mergeCarts({
  source_cart_id: 'guest-cart-id',
  destination_cart_id: 'customer-cart-id'
}, customQuery);

// result will contain only the fields specified in the custom query.

On this page