04-Mar-2016 15:36

Работа с GoAntiFraud: Обработка USSD-ответов о балансе с дробными величинами

goantifraud

Предыстория

Клиенту необходимо проверить баланс на своих картах. Оператор может присылать два различных варианта ответа на USSD-запрос:

  • Первый вариант: “Your balance is 40 USD and 50 cents”
  • Второй вариант:” Your balance is minus 40 USD and 50 cents”

Решение


Мы создаем USSD-запрос для проверки баланса и привязываем его к активному тарифу. Используя возможности регулярных выражений, мы можем разделить ответ на два различных варианта:

  • Регулярное выражение в случае ответа: “Your balance is 40 USD and 50 cents”.

Your balance is (?P-?\d+(\.\d*)?) USD and (?P-?\d+(\.\d*)?) cents

  • Регулярное выражение в случае ответа: “Your balance is minus 40 USD and 50 cents” message.

Your balance is minus (?P-?\d+(\.\d*)?) USD and (?P-?\d+(\.\d*)?) cents


Логика обработки USSD-ответа


Мы разделяем баланс на две переменные:

  • sim__balance__USD – для части с целым числом.
  • sim_balance_cents - для части с цифрами после запятой.

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

  • В первом варианте: float({sim__balance_USD}+"."+{sim__balance_cents})
  • Во втором варианте: float("-"+{sim__balance_USD}+"."+{sim__balance_censt})

Визуально кейсы будут выглядеть следующим образом.

Первый вариант:


Второй вариант:


corporate
1946
5/5
4
голосов
04-Mar-2016 15:36 Работа с GoAntiFraud: Обработка USSD-ответов о балансе с дробными величинами

Предыстория

Клиенту необходимо проверить баланс на своих картах. Оператор может присылать два различных варианта ответа на USSD-запрос:

  • Первый вариант: “Your balance is 40 USD and 50 cents”
  • Второй вариант:” Your balance is minus 40 USD and 50 cents”

Решение


Мы создаем USSD-запрос для проверки баланса и привязываем его к активному тарифу. Используя возможности регулярных выражений, мы можем разделить ответ на два различных варианта:

  • Регулярное выражение в случае ответа: “Your balance is 40 USD and 50 cents”.

Your balance is (?P-?\d+(\.\d*)?) USD and (?P-?\d+(\.\d*)?) cents

  • Регулярное выражение в случае ответа: “Your balance is minus 40 USD and 50 cents” message.

Your balance is minus (?P-?\d+(\.\d*)?) USD and (?P-?\d+(\.\d*)?) cents


Логика обработки USSD-ответа


Мы разделяем баланс на две переменные:

  • sim__balance__USD – для части с целым числом.
  • sim_balance_cents - для части с цифрами после запятой.

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

  • В первом варианте: float({sim__balance_USD}+"."+{sim__balance_cents})
  • Во втором варианте: float("-"+{sim__balance_USD}+"."+{sim__balance_censt})

Визуально кейсы будут выглядеть следующим образом.

Первый вариант:


Второй вариант:


Работа с GoAntiFraud: Обработка USSD-ответов о балансе с дробными величинами thumb.png Author2 04-03-2016 Работа с GoAntiFraud: Обработка USSD-ответов о балансе с дробными величинами

Похожие Статьи

GoAntiFraud

Работа с GoAntiFraud: Генерация входящих вызовов

01 Apr 2016 14:35
Один из главных параметров человеческого поведения, который отслеживается Антифрод системами – это входящие звонки на SIM-карты. А именно, процент соотношения входящих вызовов к исходящим. Сервис GoAntiFraud сможет вам помочь симулировать поведение человека по данному параметру. Все, что вам нео...
GoAntiFraud

Настройка GoIP и автоматическое пополнение SIM-карт по заданным лимитам

17 Feb 2016 14:01
У некоторых операторов мобильной связи существует неприятная для терминации функция: голосовое оповещение о низком балансе. Например, МТС при исходящем звонке говорит: «На вашем счету осталось меньше … юнитов». Такое сообщение, естественно, вводит в заблуждение клиентов оригинатора. Закономерно,...
GoAntiFraud

Работа с GoAntiFraud: Автоматическое пополнение бонусов

26 Feb 2016 16:50
Предыстория Клиент загружает в банк совершенно новые SIM-карты. Для выгодной терминации звонков с этой карты ему нужно запросить бонусы от GSM-оператора. Цена бонуса составляет 4000 единиц. Условие: перед запросом бонусов, с карт запрещено звонить. По исчерпании бонусов, клиент должен ...
GoAntiFraud

Работа с GoAntiFraud: Тарификация баланса SIM-карт

04 Apr 2016 10:25
Из данного видео вы узнаете, как настроить функцию тарификации баланса SIM-карт. Чем она полезна для терминатора? При терминации возникает необходимость постоянно следить за изменениями баланса SIM-карт. Для этого нужно очень часто отправлять USSD запросы, что нетипично для поведения реального або...
GoAntiFraud

Работа с GoAntiFraud: Что нового в патче 0.09.08?

19 Jul 2016 16:36
Недавно в Goantifraud вышел новый патч - 0.99.08.Рассмотрим основные нововведения:Новая опция “Добавить сим банк”С этого момента вы можете указать имя SIM банка и задать другой пароль для веб-интерфейса устройства, без необходимости его повторного добавления. Изменение идентификатора Goip Sim ban...
GoAntiFraud

Работа с GoAntiFraud: Значение статуса каналов

18 Mar 2016 15:54
В видео объясняются значения различных статусов GSM каналов, которые отображаются в личном кабинете пользователя GoAntiFraud. В окне “Channels” для каждого канала указывается его текущее состояние: No SIM. Означает, что в шлюзе нет SIM-карты. Достаточно просто вставить карту в слот. Load...
GoAntiFraud

Работа с GoAntiFraud: Разделение трафика по операторам

15 Apr 2016 14:59
Для разделения направлений Ваших звонков в сервисе GoAntiFraud предусмотрен раздел настроек "Операторы" (Carrier). Все, что вам нужно сделать - это перейти во вкладку Config->Carriers и создать возможные направления для вызовов. Чтобы создать направление, нужно указать код оператора, а также ко...

GoAntiFraud

GoAntiFraud
GoAntiFraud
GoAntiFraud
GoAntiFraud
GoAntiFraud
GoAntiFraud
GoAntiFraud
GoAntiFraud
GoAntiFraud
GoAntiFraud GoAntiFraud GoAntiFraud GoAntiFraud GoAntiFraud GoAntiFraud GoAntiFraud GoAntiFraud GoAntiFraud