+3
Отвечен

Правила разбора SMS

Вадик Мармеладик 2 года назад в Мобильное приложение / Андроид обновлен Роман А. 8 месяцев назад 13

Я не нашёл подробной статьи как работает механика этих правил. Как их лучше настраивать, через какое время произойдёт применения правил. В базе знаний по этому пробел. По привычке, вооруживший программой fake sms решил самостоятельно разобраться, но на результат не вышел.


Вот мои примеры:

  1. SMS: VISA8411 11.05.17 12:42 списание 1000р SBERBANK ONL@IN KARTA-VKLAD Баланс: 6717.44р
    Правило: https://prnt.sc/fabifq
    Результат: создалась транзакция с неизвестной категорией, но заполненным комментарием. Синхронизировался сразу после создания правила. Синхронизировался и после создании транзакции без категории. Ждал, ждал. Категории так и не создались.
  2. SMS: VISA8411 10.05.17 15:30 оплата услуг 495р Баланс: 5789.73р
    Правило: https://prnt.sc/fabl3s
    Результат: осталась пустая категория

В принципе похожая ситуация и с другими правилами, хотя одно и заработало, но скорее всего это работа интеллектуальной системы, а не правила.


Хотелось бы понять как работает эта система

  • К чему применяются правила? К SMS или к уже созданной транзакции. Если первое то что является комментарием, а что плательщиком в SMS. Если уже готовая транзакция, то что такое текст письма?
  • Сколько времени нужно ждать для этой "магии" или достаточно сделать пару синхронизаций вручную?
  • Есть ли понятие приоритетов у правил?


P.s. Мне кажется если это рабочий функционал, то не помешала бы настройка прям из приложения и даже больше алгоритм проверки вхождения подстроки в строку можно оставить прям в приложении, а не на сервере. Так же не помешает использовать сумму в правилах. Но это уже "Идеи" пошли ))

Ответ

Ответ

Функционал полностью рабочий. Просто пока не настолько как бы хотелось, к сожалению. Именно поэтому мы и занимаемся определением приоритетов и дальнейшим развитием Дзен-мани.

+1
На рассмотрении

Пользовательские правила обработки операций выполняются в момент их синхронизации с сервером Дзен-мани. Это могут быть операции, созданные в приложении после обработки СМС или синхронизации с банком, или операции, созданные на сервере после обработки Email от банков или серверной синхронизации с банком. В общем, правила обработки применяются только на те операции, что были созданы автоматически (не вручную самим пользователем).

Итого основные принципы работы с пользовательскими правилами обработки операций:

  1. Правила работают не с текстом СМС, а с уже созданной по нему операцией. СМС является приватной информацией и обрабатывается только на телефоне пользователя. Дальше она никуда не идёт.
  2. Правила применяются к операции на сервере сразу при первой синхронизации операции из приложения на сервер.
  3. Правила обрабатывают без приоритетов в порядке их создания.

И по примерам:

  1. После обработки этой СМС создаётся операция с указанной датой и суммой. Вашему правилу просто не за что зацепиться. Комментарий тут создаться просто не мог - его нет в правиле обработки этой СМС. Возможно, вы его добавили позже вручную.
  2. Здесь аналогичная ситуация.

Спасибо за ответ. Тогда остаётся понять почему в 1 и 2 примере у созданного платежа комментарии ничем не заполнены. 

  • В первом я ожидал что попадет строка "SBERBANK ONL@IN KARTA-VKLAD" ну или "KARTA-VKLAD"
  • Во втором странно что не захватывается "оплата услуг"

С помощью fake sms вы сами можете в этом убедиться. При этом с sms ниже, заполняется комментарий выделенный жирным:

  • VISA8411 13.05.17 оплата Мобильного банка за 13/05/2017-12/06/2017 30р Баланс: 12687.64р
  • VISA8411 20.05.17 14:15 зачисление 4500.15р Visa Direct s karty 0000****1632 Баланс: 15398.79р

Подитожу:

  1. В веб версии для пользователя совершенно не очевидно как обрабатываются правила. Т.к. одновременно можно указать текст письма, что говорит о том что сервер разбирает оригинал, так и поле комментарий и получатель, что предполагает обработку уже созданной транзакции.
  2. Вероятно существует ошибка с захватом комментария из sms. Что делает правила во многих случаях не применимыми, а пользователь не может понять, что он делает не так.
  3. Обработку именно sms, в веду простоты алгоритма, есть смысл перенести полностью на мобильное приложение и применять в момент создания. Само создание правил так же стоит перенести в приложение, чуть ли не добавив кнопку "создать правило" в автосозданных платежах
  4. В правилах следует добавить условие конкретной суммы, ну или даже >/<.

1. Триггер "текст письма" относится к синхронизации по email, а СМС – это совсем иной механизм синхронизации. Как уже было сказано, в то время как текст обрабатываемого письма на сервере есть для анализа правилом, то теста СМС нет. В любом случае уже понятно, что правила оказались не на столько интуитивно понятны, как мы рассчитывали.

2. Ошибки нет. Изначально создавали именно такое правило разбора, без захвата комментария. Многие правила были созданы 7 лет назад и их больше просто никто не трогал.

3. Возможно. Мы не оценивали необходимость такой доработки.

4. Система правил создавалась давно и пока остаётся на том этапе как есть. Если что-то и дорабатывать на сайте, то системно и целиком, а не кусочками.

Так может имеет смысл, скрыть этот функционал вообще. Или предупреждать на странице о известных проблемах. И сразу хотелось бы узнать, что ещё не работает и на что не стоит тратить время.

Ответ

Функционал полностью рабочий. Просто пока не настолько как бы хотелось, к сожалению. Именно поэтому мы и занимаемся определением приоритетов и дальнейшим развитием Дзен-мани.

Ну как же он рабочий, если потратив час я не нашел способа как автоматизировать проставление категорий на большую часть моих sms? Правила требуют, чтобы транзакция была создана автоматически и имела комментарий. Вы ссылаетесь на то, что правилам 7 лет и сами не знаете на основе чего правило то использует текст между датой и суммой, то не использует. Что же такое за регулярные выражения такие? Совершенно не понимаю, как это можно назвать полностью рабочим, но не настолько на сколько бы хотелось ))

Похоже всё недопонимание получилось из-за того, что существует два разных понятия: 

  1. Правила пользователя (на сайте, настраивается пользователем)
  2. Правила распознавания СМС (на сервере, настраивается разработчиками)

Так вот первое работает с результатом второго.

Что каждый ваш ответ меня всё больше и больше запутывает ) 

Два ваших высказыванию противоречат друг другу, цитирую:

>> Правила работают не с текстом СМС, а с уже созданной по нему операцией. СМС является приватной информацией и обрабатывается только на телефоне пользователя. Дальше она никуда не идёт.

>> Правила распознавания СМС (на сервере, настраивается разработчиками)

Так на сервере или на телефоне? 7 лет правилам или это свежая проблема?

Давайте сначала:

  • Что мои правила заработали, нужно чтобы:
    • транзакция создалась автоматически
    • в этой транзакции была срока комментария которая будет использована правилом
    • правило примерится в ближайшую синхронизацию
  • Текст комментария берётся как подстрока SMS сообщения и указывается сбербанком между датой и суммой. Соответственно если по каким то причинам приложение, комментарий не захватывает, правила применить будет не к чему.

Верно?

Тогда у нас есть две проблемы:

  1. Информационная. На странице Правил нет описания, как эта система функционирует и какие у неё есть проблемы. Нет описания и ваших FAQ.
  2. Проблема разбора SMS android приложением. Примеры:
    • [ОК] VISA8411 13.05.17 оплата Мобильного банка за 13/05/2017-12/06/2017 30р Баланс: 12687.64р
    • [FAIL] VISA8411 10.05.17 15:30 оплата услуг 495р Баланс: 5789.73р
    • [OK] VISA8411 20.05.17 14:15 зачисление 4500.15р Visa Direct s karty 0000****1632 Баланс: 15398.79р
      (хотя и примечательно, что отбрасывает Visa Direct)
    • [FAIL] VISA8411 11.05.17 12:42 списание 1000р SBERBANK ONL@IN KARTA-VKLAD Баланс: 6717.44р

Мой анализ примеров, 1 и 2 очень похожи, разница только в том, что в ситуации когда комментарий не заполняется у нас есть после даты время. Имхо подправить регулярку не сложно.

Пример 3 и 4 тоже похожи, комментарий идёт после суммы и словом баланс. Разница только в самом тексте. И это тоже не сложно поправить.

Ну или как вариант, не исправлять, но написать на странице правил, что не на все SMS банка можно применить правила.


Чтобы ваши правила работали из СМС должны распознаваться комментарии, к которым вы привязываетесь, а этого не происходит. Если кратко.

Да что кратко, я вам уже подробно проблему расписал ))) Мне бы хотелось услышать, когда вы сможете добавление комментариев в транзакции от SMS.

-1

Вот это уже другой вопрос, на решение которого нужно не мало времени (слишком много завязано на него, что нужно перепроверять).

Есть ли за два года какие-нибудь изменения в части добавления в комментарий транзакции исходного текста SMS?  

Сервис поддержки клиентов работает на платформе UserEcho