> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.pricer24.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Алгоритм «Masks»

Для зіставлення товарів контрагентів з товарами з ваших каталогів у Pricer24 є алгоритм зіставлення за «масками».

# Як працює алгоритм?

* Кожному товару ви задаєте один або кілька шаблонів (масок) та їхню надійність.
* Задаєте правила, для яких категорій, брендів і контрагентів працюватиме алгоритм.
* Якщо товар контрагента збігається з **будь-яким** шаблоном товару — система пропонуватиме цей товар для зіставлення з надійністю, яку було задано шаблону.
* Порівняння відбувається без урахування регістру.
* Якщо підійде кілька шаблонів, буде використано шаблон з більшою надійністю.

||| Стандартно матчинг за масками вимкнено. Для ввімкнення необхідно звернутися до техпідтримки.

# Написання масок

* Маска може складатися з кількох сегментів, розділених `;` 
* Кожен із сегментів декларує, чи містить вихідний рядок цей сегмент або, навпаки, не містить (у такому разі сегмент починається із символу `!`)
* Вихідний рядок задовольняє масці, якщо в ній є всі сегменти без символу `!` і немає всіх сегментів, що починаються з `!`

|| Під вихідним рядком мається на увазі назва товару контрагента

# Синтаксис сегмента маски

Сегмент складається з букв, цифр, символів ``, `/`, `+`, `-`, а також спеціальних символів:
* `_` – початок або кінець слова, це може бути `пробіл` або один із символів `(`, `)`, `[`, `]`, `|`, `"`, `'`, `,`, `;`
* `*` – будь-який підрядок
* `?` – один із символів `-`, `.`, `пробіл` або нічого

# Приклади

##### Приклад #1
Маска `s21`, товар `Samsung Galaxy S21+ Black`.
Товар **збігається** з маскою, оскільки містить підрядок `s21`.

##### Приклад #2
Маска `_s21_`, товар `Samsung Galaxy S21+ Black`.
Товар **не збігається** з маскою, оскільки `s21` має бути цілим словом, а в назві товару після `s21` йде `+`

##### Приклад #3
Маска `_s21_`, товар `Samsung Galaxy S21 Plus Black`.
Товар **збігається** з маскою, оскільки `s21` — окреме слово.

##### Приклад #4
Маска `_s21_;!plus`, товар `Samsung Galaxy S21 Plus Black`.
Товар **не збігається** з маскою, оскільки містить слово `plus`, а другий сегмент починається з `!`, що означає, що сегмента не повинно бути в назві товару.

##### Приклад #5
Маска `_gala*s21_`, товар `Samsung Galaxy S21 Plus Black`.
Товар **збігається** з маскою, оскільки `gala` — початок слова, далі можуть іти будь-які символи та `s21` кінець слова.

##### Приклад #6
Маска `_KX?7655_`, товари `Sony SmartTV KX7655`, `Sony SmartTV 76" KX-7655` і `Sony SmartTV 76" (KX-7655)`.
Усі товари **збігаються** з маскою, оскільки `?` допускає як відсутність символів, так і `-`, а `_` дозволяє як `(`, так і `)`.

##### Приклад #7
Маска `_KX?7655_`, товар `Sony SmartTV KX76555`.
Товар **не збігається** з маскою, оскільки символи `_`  означають, що слово має цілком збігатися.

##### Приклад #8
Маска `_KX?7655`, товари `Sony SmartTV KX76555`.
А ось у такому разі товар **збігається** з маскою.