Алексей
|
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 Пишет: Но если есть желание учитывать комиссию как отдельный расход - нужно её заводить отдельной операцией. Пока только так. Да именно так и делаю
|
|
|
Николай
|
14 декабря 2017 08:37
|
Вопрос по теме. У меня две карты от одного банка. Дебитовая и Кредитная (еще есть пару карт). В самом приложение правило "Обработка СМС" ты можешь настроить на один какой-то счет. А у меня на Дебет карту свой счет, на Кредит карту свой счет.
На сайте в разделе "Настройка правил" я прописал правила для каждой карты отдельно, и указаны счета отдельно. В самих СМС приходит последние 4 цифры карты с которой произошла оплата.
Как мне настроить, чтобы для СМС учитывались для каждой карты отдельно.
Сейчас все падает на тот Дебетовый счет, который привязан в приложение Андроид, и правила с сайта по Кредитной карте не обрабатываются.
|
|
|
Admin
|
14 декабря 2017 10:15
|
Николай Пишет: и правила с сайта по Кредитной карте не обрабатываются. Возможно какое-то другое правило подходит под эту СМС и оно срабатывает первым.
Пришлите в обратную связь точный текст не верной обработанной СМС и какое правило под него ожидалось.
|
|
|