Предыстория
В ответ на USSD-запрос о состоянии баланса клиент получает ответ в долларах (USD).
Текущая тарификация клиента осуществляется в злотых (PLN). Чтобы вести учет баланса и расходов на терминацию в единой валюте, необходимо совершить конвертацию к PLN.
Клиент получает сообщение следующего вида: “Your balance is 25 USD”.
Решение
Нам необходимо создать USSD-запрос для проверки баланса, присвоить его к активному тарифу и настроить алгоритм конвертации валюты.
- Шаг 1: Необходимо "отпарсить" и распознать USSD-ответ о состоянии баланса.
Для этого используем следующее регулярное выражение:
Your balance is (?P<sim__balance>-?\d+(\.\d*)?) USD
- Шаг 2: Конвертируем значение баланса в нужную валюту согласно актуальному обменному курсе.
Используем следующее выражение:
float({sim__balance})*3,9
Где 3,9 – текущий курс.
Система рассчитает изменение автоматически и занесет в статистику значение в нужной валюте (PLN).
Кейс будет выглядеть следующим образом:
Удачи :)