Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents

...

Prepare_select

...

Expand
titleUnfold
Code Block
languagejson
[
  {
    "name": "delivery",
    "field": "order.delivery.type"
  }
]

...

Pack_scan

...

Expand
titleUnfold
Code Block
languagejson
[
  {
    "name": "delivery",
    "field": "parcel.order.delivery.type",
    "filter_type": "filter_sub_entity"
  }
]

...

Bag_scan

...

Expand
titleUnfold
Code Block
languagejson
[
  {
    "name": "monoline",
    "filter_type": "different_value_count_is",
    "field": "content_ids",
    "possible_values": [
      {
        "value": 1,
        "translation_key": "filter.monoline.is_monoline"
      }
    ]
  }
]

...

Picking

...

titleUnfold
style

...

Default filter

...

Default JSON format

none

Introduction

You can add filtering options on some of the store app pages. This facilitates the preparation process by selecting only items from certain brands, certain shelves or certain delivery modes.

...

A default configuration is applied in the pages, but this configuration can be overridden. To do this, go to the Configuration > Store App > Pages > {Page name} > Filters section.

...

Configuration structure

The structure is an array of objects, each object corresponding to 1 filter, with the following fields:

  • name (string - mandatory) - Key used to translate the filter, which appears in the format 'filter.{name}.title'.

  • field (string - mandatory) - Path used to access the filter value in the entity structure (ex: order.delivery.type)

  • filter_type (string- optional) - Choice of one of the following three specific filter types.

    • filter_sub_entity - Filters on path sub-entities. If the field is an array, it must be used.

    • different_value_count_is - Filters according to a specific number of values in the field. Is often used for single-line orders.

    • order_type_is - Specific filter for filtering by order type. For this, it is necessary to specify the possible values in the ‘possible_values’ field, the others will be ignored.

  • possible_values(array of objects - optional) Restricts the filter to specific values. All others will be ignored.

    • value (string - mandatory) - One of the filter values.

    • translation key (string - optional) - Translation key for displaying the value.

  • do_not_translate - Display the raw filter value instead of the translation key

Default configuration and overlays examples by page

The pages below provide a default configuration, but they may be overloaded. Examples are given to help.

...

Page

Default filter

Default JSON format

Overlays examples

Prepare_select

  • Delivery type

Expand
titleDefault config
Code Block
languagejson
[
  {
    "name": "delivery",
    "field": "order.delivery.type"
  }
, { "name": "carrier",

]
Expand
titleFilter on the delivery mode stored in the order information section
Code Block
languagejson
[
    {
        "field": "order.
delivery.carrier.name"
information.delivery_mode",
  
},
   
{
   
"name": "
departement
delivery"
,

    }
"filter_type": "filter_sub_entity",
]

Pack_scan

  • Delivery type

Expand
titleDefault config
Code Block
languagejson
[
  {
    "
do_not_translate
name": 
true
"delivery",
    "field": "
item
parcel.
features
order.
departement
delivery.
0
type"
}
,
{

    "
name
filter_type": "
monoline
filter_sub_entity"
,

  }
"filter_type": "different_value_count_is",
]
Expand
titleFilter on the delivery type + the carrier name of the parcel
Code Block
languagejson
[
  {
    "field": "
item_id
parcel.order.delivery.type",
    "
possible
filter_
values
type": 
[
"filter_sub_entity",
    "name": "delivery"
 
{
 },
  {
    "
value
field": 
1,
"parcel.delivery.carrier.name",
    "
translation
filter_
key
type": "filter
.monoline.is_monoline"
_sub_entity",
    "name": "carrier"
}
  }
] } ]Consolidation
]

Bag_scan

  • Single line orders

Expand
title
Unfold
Default config
Code Block
languagejson
[
  {
    "name": "
delivery
monoline",
    "
field
filter_type": "
order.delivery.type" }
different_value_count_is",
  
{
  
"
name
field": "
carrier
content_ids",
    "
field
possible_values":
"order.delivery.carrier.name" },
 [
      {
   
{
     "
name
value": 
"monoline"
1,
    
"filter_type":
 
"different_value_count_is",
   "
field
translation_key": "
item_id",
filter.monoline.is_monoline"
    
"possible_values":
 
[
 }
    ]
{
  
}
]

N/A

Picking

  • Delivery type

  • Delivery carrier

  • Department feature of items

  • Single line orders

Expand
titleDefault config
Code Block
languagejson
[
  {
    "
value
name": 
1,
"delivery",
    "
translation_key
field": "
filter
order.
monoline
delivery.
is_monoline
type"
  
} ]
},
 
}
 
]

Boxing

Expand
titleUnfold
Code Block
languagejson
[
{
    "name": "
delivery
carrier",
    "field": "order.delivery.carrier.
type
name"
  },
  {
    "name": "
carrier
departement",
    "
field
filter_type": "
order.delivery.carrier.name"
filter_sub_entity",
  
},
  "do_not_translate": true,
    "field": "item.features.departement.0"
  },
  {
    "name": "monoline",
    "filter_type": "different_value_count_is",
    "field": "item_id",
    "possible_values": [
      {
        "value": 1,
        "translation_key": "filter.monoline.is_monoline"
      }
    ]
  }
]
Order list
Expand
title
Unfold
Add a filter on the order types (sfs, c&c, ropis)
Code Block
languagejson
[
    {
    
"name
    "field": "order.delivery.type",
        "
field
name": "
order.
delivery
.type
"
    },
  
{
  {
  
"name":
 
"carrier",
     "field": "order.delivery.carrier.name"
,
},
   
{
     "name": "
state
carrier"
,

    
"field": "state"
},
    {
},
   
{
     "
name
do_not_translate": 
"order_type", "filter_type": "order_type_is", "field": "order", "possible_values": [ { "value": "ffs" }, { "value": "ckc" }, { "value": "ropis" } ]
true,
        "field": "item.features.departement.0",
        "filter_type": "filter_sub_entity",
        "name": "departement"
    },
    {
        "field": "item_id",
        "filter_type": "different_value_count_is",
        "name": "monoline",
        "possible_values": [
            {
                "translation_key": "filter.monoline.is_monoline",
                "value": 1
            }
        ]
    },
    {
        "field": "order_type",
        "filter_type": "order_type_is",
        "name": "order_type",
        "possible_values": [
            {
                "value": "ffs"
            },
            {
                "value": "ckc"
            },
            {
                "value": "ropis"
            }
        ]
    }
]
Expand
titleAdd new filters on item features (in the example, the size)
Code Block
languagejson
[
    {
        "field": "order.delivery.type",
        "name": "delivery"
    },
    {
        "field": "order.delivery.carrier.name",
        "name": "carrier"
    },
    {
        "do_not_translate": true,
        "field": "item.features.departement.0",
        "filter_type": "filter_sub_entity",
        "name": "departement"
    },
    {
        "field": "item_id",
        "filter_type": "different_value_count_is",
        "name": "monoline",
        "possible_values": [
            {
                "translation_key": "filter.monoline.is_monoline",
                "value": 1
            }
        ]
    },
    {
        "do_not_translate": true,
        "field": "item.features.size.0",
        "filter_type": "filter_sub_entity",
        "name": "size"
    }
]

Consolidation

  • Delivery type

  • Delivery carrier

  • Single line orders

Expand
titleDefault config
Code Block
languagejson
[
  {
    "name": "delivery",
    "field": "order.delivery.type"
  },
  {
    "name": "carrier",
    "field": "order.delivery.carrier.name"
  },
  {
    "name": "monoline",
    "filter_type": "different_value_count_is",
    "field": "item_id",
    "possible_values": [
      {
        "value": 1,
        "translation_key": "filter.monoline.is_monoline"
      }
    ]
  }
]

N/A

Boxing

  • Delivery type

  • Delivery carrier

  • Single line orders

Expand
titleDefault config
Code Block
languagejson
[
  {
    "name": "delivery",
    "field": "order.delivery.type"
  },
  {
    "name": "carrier",
    "field": "order.delivery.carrier.name"
  },
  {
    "name": "monoline",
    "filter_type": "different_value_count_is",
    "field": "item_id",
    "possible_values": [
      {
        "value": 1,
        "translation_key": "filter.monoline.is_monoline"
      }
    ]
  }
]

N/A

Order list

  • Delivery type

  • Delivery carrier

  • Order state

  • Order type

  • Single line orders

Expand
titleDefault config
Code Block
languagejson
[
  {
    "name": "delivery",
    "field": "order.delivery.type"
  },
  {
    "name": "carrier",
    "field": "order.delivery.carrier.name"
  },
  {
    "name": "state",
    "field": "state"
  },
  {
    "name": "order_type",
    "filter_type": "order_type_is",
    "field": "order",
    "possible_values": [
      { "value": "ffs" },
      { "value": "ckc" },
      { "value": "ropis" }
    ]
  },
  {
    "name": "monoline",
    "filter_type": "different_value_count_is",
    "field": "item_id",
    "possible_values": [
      {
        "value": 1,
        "translation_key": "filter.monoline.is_monoline"
      }
    ]
  }
]
Expand
titleRestrict the state filter on specific values
Code Block
languagejson
[
    {
        "field": "order.delivery.type",
        "name": "delivery"
    },
    {
        "field": "order.delivery.carrier.name",
        "name": "carrier"
    },
    {
        "field": "state",
        "name": "state",
        "possible_values": [
            {
                "value": "new"
            },
            {
                "value": "picking"
            },
            {
                "value": "consolidable"
            },
            {
                "value": "consolidating"
            },
            {
                "value": "packable"
            },
            {
                "value": "packing"
            },
            {
                "value": "finish"
            },
            {
                "value": "dispatched"
            }
        ]
    },
    {
        "field": "order",
        "filter_type": "order_type_is",
        "name": "order_type",
        "possible_values": [
            {
                "value": "ffs"
            },
            {
                "value": "ckc"
            },
            {
                "value": "ropis"
            }
        ]
    },
    {
        "field": "item_id",
        "filter_type": "different_value_count_is",
        "name": "monoline",
        "possible_values": [
            {
                "translation_key": "filter.monoline.is_monoline",
                "value": 1
            }
        ]
    }
]

Users

  • Operator state

Expand
titleDefault config
Code Block
languagejson
[
  {
    "name": "state",
    "field": "state",
    "possible_values": [
      {
        "value": "idle",
        "translation_key": "entity_states.operator.idle"
      },
      {
        "value": "picking",
        "translation_key": "entity_states.operator.picking"
      },
      {
        "value": "consolidating",
        "translation_key": "entity_states.operator.consolidating"
      },
      {
        "value": "packing",
        "translation_key": "entity_states.operator.boxing"
      }
    ]
  }
]

N/A

Catalog

  • Color feature

  • Size feature

Note

The available filters in the catalog must appear in the GET/categories API call

Please follow the steps in the example on the right to add a filter.

Expand
titleDefault config
Code Block
languagejson
[
  {
    "name": "color",
    "field": "color",
    "do_not_translate": true
  },
  {
    "name": "size",
    "field": "size",
    "do_not_translate": true
  }
]
Expand
titleAdd an item feature filter (e.g. departement)

Unlike the other pages, adding a new features filter to the catalogue requires more complex configuration, as the search is carried out in all the items in the database. Here are the steps to follow:

  1. Make sure that the feature is indexed on your project. To find out, please contact your Onestock technical contact.

  2. Add the feature to the ‘Available filters’ configuration available via this path Configuration > Store App > Pages > Catalog > Specific settings > Available filters

    image-20241202-103034.pngImage Added
  3. Wait for the pre-calculation of the filters, which runs every hour.
    Note : The change can be applied immediately by calling the POST/category_filters/compute route, but it is not open to external users. Please contact your Onestock technical contact.

  4. Add the configuration to the ‘Filters’ section of the catalogue page:

Code Block
languagejson
[
  {
    "name": "color",
    "field": "color",
    "do_not_translate": true
  },
  {
    "name": "
monoline
size",
    "
filter_type
field": "
different_value_count_is
size",
    "
field": "item_id", "possible_values
do_not_translate": 
[
true
  
{
},
  {
    "
value
do_not_translate": 
1
true,

    "
translation_key
field": "
filter.monoline.is_monoline"
departement",
    
}
"name": "departement"
 
]
 
}
]
Users
Expand
title
Unfold
Restrict the possible size values to a specific list
Code Block
languagejson
[
  {
    "
name
do_not_translate": 
"state"
true,
    "field": "
state
color",
    "
possible_values
name": "color"
[
  },
  {
 
{
   "do_not_translate": true,
    "
value
field": "
idle
size",
    
"translation_key
"name": "
entity_states.operator.idle" }
size",
    
{
"possible_values": [
      
"value": "picking",
{
        "
translation_key
value": "
entity_states.operator.picking
XS"
      },
      {
        "value": "
consolidating",
S"
      },
      
"translation_key": "entity_states.operator.consolidating"
{
       
},
 "value": "M"
    
{
  },
      
"value": "packing",
{
        "
translation_key
value": "
entity_states.operator.boxing
L"
      },
    
]
  {
}
 
]

Catalog

Expand
titleUnfold
Code Block
languagejson
[
  
{
     "
name
value": "
color
XL"
,

    
"field": "color",
  },
   
"do_not_translate":
 
true
  {
},
   
{
     "
name
value": "
size
XXL"
,

    
"field":
 
"size",
 }
   
"do_not_translate": true
 ]
  }
]

Configuration overlay

...

name

...

field

...

filter_type

...

possible_values