mergeCarts
Merge carts
Signature
declare function mergeCarts(
context: Context,
input: MutationMergeCartsArgs,
customQuery?: CustomQuery,
customHeaders?: CustomHeaders
): Promise<FetchResult<MergeCartsMutation>>;Parameters
| Name | Required | Type | Description |
|---|---|---|---|
context | Required | Context | |
input | Required | MutationMergeCartsArgs | |
customQuery | Optional | CustomQuery | |
customHeaders | Optional | CustomHeaders |
Referenced Types
- Context
- MutationMergeCartsArgs
- CustomQuery
- CustomHeaders
FetchResultMergeCartsMutation
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.