Сообщество
FAQ
Логин
Пароль
Войти при помощи
Кстати, вы можете
Общение / Приложение для Android / Автоматическое распознавание СМС срабатывает тольк ...

Автоматическое распознавание СМС срабатывает только на одну карт

Алексей
9 декабря 2015 23:12
Есть несколько карт. Они заданы как места хранения и обозваны так же как указаны в СМС (сбер) в первом поле (ORPS####, VISA####, ECMC#### {default ECMC}).

Когда деньги поступают на ORPS (это УЭК), то парсинг СМС срабатывает точно.
Потом перекидываю деньги на VISA. Вот тут уже начинаются сложности - смс парсится, но выставляется карта по умолчанию, т.е. ECMC. И так постоянно. Соответственно, когда расходы проходят по ECMC, то всё парсится нормально, но видимо это из-за того, что она по умолчанию установлена.
Мудрить со своими правилами не хочется - они как то криво работают, поэтому уповаю на встроенные шаблоны. Что можно сделать в данном случае, что бы парсинг СМС проходил адекватно?
Admin
10 декабря 2015 09:30
Здравствуйте.
Не совсем понятно в чём проблема, опишите поточнее, по шагам.
".. смс парсится, но выставляется карта по умолчанию, т.е. ECMC.." - счёт у автоматически обработанной СМС выставляется всегда такой, какой вы сами указали для номера, с которого приходят данные СМС. Т.е. в приложении счёт жёстко привязан к номеру (если не используются правила). Посмотрите как это работает: https://www.drebedengi.ru...arser

"..Мудрить со своими правилами не хочется - они как то криво работают.." - опишите, в чём именно проблема? Пока на кривость правил вроде никто не жаловался.

PS
Тема видимо относится к приложению для Андроид. Для него есть отдельный форум.
Алексей
10 декабря 2015 11:52
Совсем непонятна последовательность парсинга. СМС имеют достаточно строгую форму (по крайней мере у сбера). Для каждого банка можно сделать свой шаблон для парсинга. Почему сначала сумма ищется? Почему не карта(счёт) по которой операция проходит? Пункт 5 - "На основе правил ищется счёт, категория расходов" - каких правил? Которые руками забиваем?

Правила делал. Но парсинг согласно правилам тоже непонятно как работает. Вроде и слово правильно указано, вроде всё должно согласно правилу отработать, но выбираются параметры по умолчанию.

Насчёт приложения для Андроида - смс где парсятся, на сервере или приложением?
Алексей
10 декабря 2015 11:56
Admin Пишет:
Не совсем понятно в чём проблема, опишите поточнее, по шагам.
По шагам описал, куда уж понятней? На одну карту деньги зачислены - срабатывает парсинг (определяется, что именно на эту карту деньги пришли), на другую карту деньги зачислены, а парсится с параметрами по умолчанию (т.е. указывается другая карта для зачисления). У меня все карточки сбера (4 штуки), все смс по картам приходят с одного номера (900). СМС отличаются только первым полем - где указано тип карты и её последние 4 цифры.
Тут по идее свои правила вообще не нужны. Автопарсинг, если правильно сделать, будет парсить легко.
Admin
10 декабря 2015 13:23
Алексей Пишет:
Для каждого банка можно сделать свой шаблон для парсинга.
Можно, но это сложнее и не понятно зачем.

"..Почему сначала сумма ищется?.." - почему бы и нет? Это технические детали, обсуждать которые незачем. Но конкретно на этот вопрос, ответ дан сразу же в описании: "Если не находится, то строка игнорируется." Нет смысла дальше ничего искать, если не найдена сумма. Так ведь?

".. каких правил? Которые руками забиваем?.." - Да. Разве где-то ещё упоминаются какие-то другие правила? В описании, до этой фразы, чуть выше по тексту _дважды_ употребляется термин "правила пользователя", со ссылкой на сами правила, поэтому дальше для простоты говорится просто "на основе правил", во избежание тавтологии.

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

"..на другую карту деньги зачислены, а парсится с параметрами по умолчанию.." - что такое параметры по умолчанию для другой карты (с тем же СМС номером)? В системе нет такого понятия. Для одного номера - может быть только один счёт по умолчанию.

"..У меня все карточки сбера (4 штуки), все смс по картам приходят с одного номера (900).." - тогда как вы хотите, чтобы использовались разные счета без использования правил? Если их (правил) нет, то может использоваться только один счёт - тот который привязан к номеру, который вы задали по умолчанию.

"..СМС отличаются только первым полем - где указано тип карты и её последние 4 цифры.
Тут по идее свои правила вообще не нужны.." - в тексте СМС нет никаких полей, есть просто некий текст, который даже для одного банка сегодня такой, а завтра сякой. И даже если бы он был жёстко стандартизирован и неизменен, никак нельзя определить, какому счёту в дребеденьгах он соответствует.

Для того, чтобы поставить в соответствие паттерну СМС вашего банка, какой-то счёт в дребеденьгах - используются правила. Все остальные попытки автоматизировать это - будут работать плохо.
Алексей
10 декабря 2015 14:32
Admin Пишет:
И даже если бы он был жёстко стандартизирован и неизменен, никак нельзя определить, какому счёту в дребеденьгах он соответствует.
Спасибо за пояснения. Вроде стало немного понятней.
Разобрался с тем почему на ORPS парсится правильно - тестовые правила сделаны были мной и я про них забыл. Добавлю ещё правила на оставшиеся карты, посмотрю как будет работать.

Есть ещё вопросы по поводу обмена валюты - нельзя указать комиссию банка, но это наверное в другой теме обсудить нужно.
Admin
10 декабря 2015 14:46
Про обмены.
Предполагается, что все накладные расходы просто формируют конечное значение курса, по которому идёт обмен. Вы указываете сколько отдали, и сколько получили в конечном счёте.
Admin
10 декабря 2015 14:47
Но если есть желание учитывать комиссию как отдельный расход - нужно её заводить отдельной операцией. Пока только так.
Алексей
10 декабря 2015 14:49
Admin Пишет:
Предполагается, что все накладные расходы просто формируют конечное значение курса,
Понял, спасибо.
Алексей
10 декабря 2015 14:59
Admin Пишет:
Но если есть желание учитывать комиссию как отдельный расход - нужно её заводить отдельной операцией. Пока только так.
Да именно так и делаю
Чтобы отвечать на сообщения - зарегистрируйтесь и войдите в личный кабинет.
© drebedengi.ru 2007 - 2017  |  Мобильная версия  |  Карта сайта  |  API интеграции  |  Обратная связь  |   English