Technical Paper

Этап 5 — Продавец

2.8 Этап 5 — Разрешение продавца

Каждый чек сопоставляется с merchant_id. Разрешение продавца выполняется в синхронном потоке, поэтому проверенное превью уже содержит разрешённого продавца. Разрешение устроено как многослойный приоритетный каскад — каждый слой запускается только тогда, когда предыдущий не дал совпадения:

  1. Налоговый идентификатор — напечатанный налоговый номер (VKN в Турции) проверяется алгоритмом контрольной цифры и ищется в мастер-таблице продавцов. Действительный налоговый номер — прямое совпадение по идентичности.
  2. Распознанный бренд — когда этап извлечения распознал бренд известной сети, официальная форма бренда напрямую разрешается в продавца-сеть.
  3. Шаблонные якоря — выученные текстовые шаблоны по каждому продавцу сопоставляются с нормализованным названием продавца; приветственные префиксы отсекаются перед сравнением.
  4. Местоположение — адресные сигналы сужают кандидатов, когда одних лишь свидетельств по названию недостаточно.
  5. Нечёткое совпадение — сходство нормализованного названия с существующими кандидатами-продавцами.
  6. Автосоздание — когда ни один слой не совпал, путь с ограничением частоты создаёт новую запись продавца, которая попадает в очередь верификации.

Настройки сходства в каскаде управляются внутренним операционным слоем.

Сопоставление сетей

Продавец, разрешённый в известную сеть (BIM, A101, Migros, ŞOK), получает chain_id. Сети управляют двумя вещами:

  • Межфилиальная агрегация для B2B-продукта данных (цены корзин «по всей стране Migros»).
  • Географическое обогащение — при согласии пользователя адрес филиала обогащается городом/регионом из мастер-таблицы продавцов.

Географическое обогащение (только при согласии)

Если пользователь включил совместное использование местоположения, чек помечается разрешённым городом/регионом. Система использует географию на уровне города. Это удовлетворяет обязательству по конфиденциальности в 08 и требованию k-анонимности B2B-продукта данных в 05.

Неизвестный продавец

Если ни один слой не дал разрешения, а автосоздание отклонено, чек записывается с merchant_id = null, а merchant_raw_name сохраняется. Скорер доверия (03) трактует неизвестного продавца как слабый негативный сигнал. Несопоставленные продавцы разбираются через административную очередь верификации.