Class PinAction (2.0.0)

PinAction(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Pins one or more specified products to a specific position in the results.

  • Rule Condition: Must specify non-empty Condition.query_terms (for search only) or Condition.page_categories (for browse only), but can't specify both.

  • Action Input: mapping of [pin_position, product_id] pairs (pin position uses 1-based indexing).

  • Action Result: Will pin products with matching ids to the position specified in the final result order.

Example: Suppose the query is shoes, the Condition.query_terms is shoes and the pin_map has {1, "pid1"}, then product with pid1 will be pinned to the top position in the final results.

If multiple PinActions are matched to a single request the actions will be processed from most to least recently updated.

Pins to positions larger than the max allowed page size of 120 are not allowed.

Attribute

Name Description
pin_map MutableMapping[int, str]
Required. A map of positions to product_ids. Partial matches per action are allowed, if a certain position in the map is already filled that [position, product_id] pair will be ignored but the rest may still be applied. This case will only occur if multiple pin actions are matched to a single request, as the map guarantees that pin positions are unique within the same action. Duplicate product_ids are not permitted within a single pin map. The max size of this map is 120, equivalent to the max `request page size

Classes

PinMapEntry

PinMapEntry(mapping=None, *, ignore_unknown_fields=False, **kwargs)

The abstract base class for a message.

Parameters
Name Description
kwargs dict

Keys and values corresponding to the fields of the message.

mapping Union[dict, .Message]

A dictionary or message to be used to determine the values for this message.

ignore_unknown_fields Optional(bool)

If True, do not raise errors for unknown fields. Only applied if mapping is a mapping type or there are keyword parameters.