Создание услуги
Предположим, необходимо создать услугу, по которой каждый день производилось бы списание по 3 рубля за 1 объект на стороне Wialon. Для этого необходимо:
- Перейти на вкладку "Управление абонентами и тарифами - справочники - типы сенсоров". Ввести название сенсора (подойдет любое, например sensor_1) и сохранить
- Перейти на вкладку "Управление абонентами и тарифами - тарификация - услуги/бонусы"
- В открывшемся меню перейти на вкладку "Счетчик" и нажать добавить
- В меню добавления услуги необходимо заполнить следующие поля:
Вид сервиса - Sensor
Тип сенсора - Выбрать созданный на 1 этапе sensor_1
Цена за единицу - Указать цену за 1 объект. В данном случае цена будет 3
Метод списания - Указываем ежедневный
- Так же в услуге на вкладке "Для разработчиков" необходимо выбрать пункте Единица измерения шт.
- После этого услугу можно сохранить и добавить её в необходимый тариф
Описание
Описание работы тарифа:
- В планировщике задач стоит запись о выполнении скрипта один раз в день
- Данный скрипт получает список ext_id всех абонентов, у которых активна услуга с типом счетчик и у которых указан метод списания Ежедневно
Запрос, который получает данные:select distinct u.ext_id from users u left join abonents a on a.id=u.abonent_id left join tarif t on t.id=a.tarif_id left join tarif_users_usluga tuu on tuu.tarif_id=t.id left join usluga us on us.id=tuu.usluga_id where us.usluga_abon_type_id=3 and us.service_type_id=4 and u.deleted=0
- По каждому ext_id Carbon Billing 5 отправляет запрос на Wialon и запрашивает количество объектов, которые привязаны к этому ext_id
- Далее полученные значения скрипт записывает в cdr файл в следующем порядке:
ext_id;5;1;cdr_v
где:
5 - идентификатор единиц измерения у услуге (5 - шт.)
1 - идентификатор созданного тип сенсора
Пример конкретного абонента.
Предположим, у абонента на стороне Wialon создано 6 объектов и он имеет ext_id 777. При этом абоненту присвоен тариф, который описан выше. В таком случае биллинг будет выполнять следующий алгоритм:
- Будет запущен скрипт в 3 часа 30 минут, исходя из планировщика задач
- Скрипт получит, что у абонента с id 777 на стороне Wialon есть 6 объектов
- Скрипт запишет в cdr следующие параметры и перенесет их в папку /var/cdr/Wialon_1/:
777;5;1;6
- Биллинг найдет абонента по идентификатору 777 и умножит количество объектов (6) на стоимость одного объекта(3). После этого полученное значение запишет в расход/предоплату
- Так же это значение попадет на вкладку Расход
- В стандартном акте данный расход будет отображаться следующим образом