Interface: ProductsUpdateConsumer
Implement this interface for APIs that can receive product updates.
Methods
updateProducts
▸ updateProducts(request
): Promise
<{ attributeValues?
: Record
<string
, unknown
> = ZAttributeValues; availability?
: { amount?: number; stockId?: string; stockName?: string; attributeValues?: Record<string, unknown>; }[] ; description?
: string
; details?
: Record
<string
, string
> ; grossPrice?
: { value?: number; divisor?: number; currencyCode?: string; } ; gtin?
: string
; id?
: string
; images?
: { url?: string; isDefault?: boolean; attributeValues?: Record<string, unknown>; }[] ; manufacturer?
: string
; name?
: string
; netPrice?
: { value?: number; divisor?: number; currencyCode?: string; } ; sku?
: string
; taxRate?
: number
; variationParentId?
: string
; weightInGrams?
: number
}[]>
Updates a set of products.
Parameters
Name | Type | Description |
---|---|---|
request | Object | The request that contain details for patching products |
request.fields? | [{ field?: string; operation?: PatchOperation.Remove; } | { field? : string ; operation? : Append ; value? : unknown } | { field? : string ; operation? : Set ; value? : unknown }, ...(({ field?: string; operation?: PatchOperation.Remove; }) | Object | Object)[]] | - |
request.filters? | [{ field? : string ; operation? : FilterOperation ; value? : unknown }, ...Object[]] | - |
Returns
Promise
<{ attributeValues?
: Record
<string
, unknown
> = ZAttributeValues; availability?
: { amount?: number; stockId?: string; stockName?: string; attributeValues?: Record<string, unknown>; }[] ; description?
: string
; details?
: Record
<string
, string
> ; grossPrice?
: { value?: number; divisor?: number; currencyCode?: string; } ; gtin?
: string
; id?
: string
; images?
: { url?: string; isDefault?: boolean; attributeValues?: Record<string, unknown>; }[] ; manufacturer?
: string
; name?
: string
; netPrice?
: { value?: number; divisor?: number; currencyCode?: string; } ; sku?
: string
; taxRate?
: number
; variationParentId?
: string
; weightInGrams?
: number
}[]>
The list of patched products
Remarks
The request contain filters. All products that match against all filters are updated.
Example
Request:
{
filters: [
{field: 'manufacturer', operation: FilterOperation.Equal, value: 'My manufacturer'}
{field: 'taxRate', operation: FilterOperation.NotEqual, value: 19}
],
fields: [
{field: 'manufacturer', operation: PatchOperation.Remove}
]
}
Defined in
src/contracts/patch-products/handler/products-update-consumer.ts:33