relatedProducts
Get related products
Signature
declare function relatedProducts(
context: Context,
searchParams?: GetProductSearchParams,
customQuery?: CustomQuery,
customHeaders?: CustomHeaders
): Promise<ApolloQueryResult<Products>>;Parameters
| Name | Required | Type | Description |
|---|---|---|---|
context | Required | Context | |
searchParams | Optional | GetProductSearchParams | |
customQuery | Optional | CustomQuery | |
customHeaders | Optional | CustomHeaders |
Referenced Types
- Context
- GetProductSearchParams
- CustomQuery
- CustomHeaders
ApolloQueryResult- Products
Examples
Simple usage without filters, sorting or pagination:
import { sdk } from '~/sdk.config.ts';
// Fetch list of products filtered by the SKU
// Only the parent product is affected by filters
const products = await sdk.magento.relatedProduct({
pageSize: 1,
filter: {
sku: {
eq: PRODUCT_SKU
}
}
});Usage with filters, sorting and pagination:
import { sdk } from '~/sdk.config.ts';
// make a request to fetch list of products with custom parameters
const products = await sdk.magento.relatedProduct({
pageSize: 20,
currentPage: 1,
filter: {
sku: {
eq: PRODUCT_SKU
}
}
});Creating a custom GraphQL query getting related products.
module.exports = {
integrations: {
magento: {
customQueries: {
'related-product-custom-query': ({ variables, metadata }) => ({
variables,
query: `
query relatedProduct(
$search: String = "",
$filter: ProductAttributeFilterInput,
$pageSize: Int = 10,
$currentPage: Int = 1,
$sort: ProductAttributeSortInput
) {
products(search: $search, filter: $filter, sort: $sort, pageSize: $pageSize, currentPage: $currentPage) {
${metadata.fields}
}
}
`
}),
},
}
}
};Using a custom GraphQL query to fetch related products.
import { sdk } from '~/sdk.config.ts';
const customQuery = {
relatedProduct: 'related-product-custom-query',
metadata: {
fields: 'items { related_products { uid __typename } }'
}
};
const result = await sdk.magento.relatedProduct({
filter: {
sku: {
eq: 'some-sku' // optional SKU filter
}
}
}, customQuery);
// Result will contain only the fields specified in the custom query.