This is the multi-page printable view of this section.
Click here to print.
Return to the regular view of this page.
Услуги
Услуги
Для того, чтобы оказать/продать услугу, её необходимо создать и настроить.
Создавать и управлять услугами удобно через интерфейс Администратора, либо через API.
Полное описание полей и настроек услуг вы можете посмотреть на странице API.
Описание полей услуг:
Поле |
Тип |
Обязательное |
default |
Описание |
name |
Integer |
Да |
- |
Название услуги. Например: "Тариф простой"
|
category |
String |
Да |
- |
Служит для группировки услуг. События для услуг создаются по этому полю
|
cost |
Double |
Да |
- |
Стоимость услуги за период
|
period_cost |
Integer |
Нет |
1 |
Кол-во месяцев. Например, для продажи доменных имён обычно используется период в 12 месяцев
|
next |
Integer |
Нет |
- |
Идентификатор следующей услуги. `-1` - удалить услугу после истечения
|
children |
JSON |
Нет |
- |
Дочерние услуги. Массив из идентификаторов дочерних услуг и их кол-ва
|
allow_to_order |
Integer |
Нет |
- |
Установите 1, для разрешения услуги к заказу клиентом
|
pay_in_credit |
Integer |
Нет |
- |
Установите 1, для разрешения кредита для услуги
|
pay_always |
Integer |
Нет |
- |
Установите 1, для установки флага: "Всегда платная услуга"
|
config |
JSON |
Нет |
- |
Произвольные данные в формате JSON
|
1 - Настройка
Название услуги
Любое произвольное, понятное название. Название услуги будут видеть ваши клиенты.
Категория услуги
Категория услуги это любое слово.
Категория услуг может использоваться для следующих задач:
- связывание услуг и событий. Укажите эту же категорию в событии для связывания
- групировка и выборка услуг, например в API, в шаблонах, и в Telegram bot-е
- Отображение определенных Web форм в кабинете клиента
Предопределенные категории:
vpn-*
- Для этого имени категории в Web интерфейсе пользователя будет отображаться специальная форма, где пользователь может скачать ключ VPN.
Вы можете указать категорию услуги, например такую: vpn-russia
, или vpn-home
…
Период услуги
Период, на который услуга будет зарегистрирована. По истечению этого периода, услуга будет продлена автоматически на этот же период, если не указано иного.
Период задается в формате M.DDHH
, где:
M
- месяцы
DD
- дни
HH
- часы
Примеры:
0.01
- период 1 день
0.0001
- период 1 час
0.10
(0.1) - период 10 дней
0.1001
- 10 дней и 1 час
0.1110
(0.111) - 11 дней и 10 часов
1.10
(1.1) - период 1 месяц и 10 дней
1.1012
- период 1 месяц, 10 дней и 12 часов
12
- период 1 год (12 месяцев)
Стоимость
Стоимость услуги за указанный период. Эта сумма списывается при заказе и продлении услуги.
При досрочном удалении услуги будет вычислена итоговая сумма исходя из периода и стоимости.
Например, стоимость услуги 300, период 1 месяц (30 дней).
Если услугу удалить через 10 дней, то итоговая стоимость услуги составит: 300/30*10=100
, т.е. на балнс вернется: 300-100=200
Следующая услуга
- Можно указать: “Не изменять”. Режим по-умолчанию. Услуга будет автоматически продлеваться без изменения имени, стоимости и периода.
- Можно указать: “Не продлевать”. В этом случае, услуга будет автоматически удалена по окончанию периода.
- Можно указать следующую услугу. Это удобный механизм для организации тестовых периодов. Например, можно сделать услугу вида: “Тест на 10 дней” за 0 рублей,
а следующей указать уже услугу с периодом 30 дней, за 300 рублей. Таким образом, когда первая услуга истечет (пройдет 10 дней), биллинг автоматически переключится
на следующую услугу с указанной стоимостью.
Так же удобно создавать услуги вида: “Регистрация домена”, а следующей услугой указать: “Продление домена”. Срок одинаковый, но стоимость разная.
В случае, если денег на балансе будет недостаточно, услуга заблокируется.
Следующую услугу можно указать как в “Каталоге услуг” (services
), так и в “Услугах пользователя” (user_services
).
Если услуга у пользователя уже создана, то необходимо производить эту настройку именно в услуге пользователя.
Дочерние услуги
Дочерние услуги - это такие услуги, которые будут созданы при создании основной услуги (под-услуги).
Более подробно про тип услуг можно почитать здесь.
Прайс-лист
Установите галочку “Доступно к заказу”, чтобы услуга появилась в списке доступных для регистрации пользователем.
Если установить галочку “Можно заказать только один раз”, то в случае,
когда клиент уже заказывал эту услугу ранее, она будет исключена из списка доступных для регистрации услуг.
2 - Виды услуг
Дочерние услуги
Бывают случаи, когда для одной платной услуги, нужно создать несколько услуг, на различных серверах.
Например:
-
Услуга “Виртуальный хостинг”, подразумевает создание таких услуг как: “Web хостинг”, “Хостинг БД” и “Хостинг почты”.
Это три совершенно разные услуги, которые оказываются как дочерние к основной.
-
Услуга “DNS хостинг”, подразумевает под собой первычный и вторичный DNS-ы. Это тоже удобно оформить ввиде дочерних услуг.
Если для дочерней услуги НЕ установлен флаг “Всегда платная услуга” (pay_always
), то такая услуга не будет тарифицироваться
Составные услуги
Составные услуги это такой режим работы биллинга, когда стоимость родительской услуги суммируется со стоимостью дочерних.
Таким образом, услуга будет оплачена только в том случае, если хватает средств как на основную услугу, так и на все её дочерние.
Изменяя параметр кол-во дочерних услуг, изменяется общая стоимость услуги.
Этот режим удобно использовать для продажи таких услуг, как VPS, где в качестве дочерних создаются такие услуги как CPU, RAM, HDD и т.п.
Например, установив стоимость для 1 CPU, и указав кол-во этих услуг, будет автоматически вычислена итоговая стоимость.
Одноразовые услуги
Если услугу пометить как “одноразовая”, то такую услугу клиент сможет заказать только единожды. Этот режим хорошо подходит для создания “пробных” периодов.
Например: для того, чтобы дать клиенту тестовый, бесплатный (или акционный) период, можно создать одноразовую услугу с акционной стоимостью,
а в качестве следующей услуги установить уже обычную услугу, с обычной ценой. Когда тестовая услуга закончится, биллинг автоматически переключится на базовую услугу
(при наличии средств на счёте).
Пользовательские услуги
Пользовательская услуга - это такая услуга, которая уже оказана пользователю.
Пользовательская услуга характеризуется статусом и датой истечения, так же стоимость пользовательской
услуги может отличаться от услуги, т.к. могут быть применены различные скидки для конкретного пользователя и его услуги.
3 - События
События генерируются SHM, для возможности привязки команд.
Событие происходит между переходом услуги пользователя из одного статуса в другой.
Список cобытий
Event |
Статус ДО |
Статус ПОСЛЕ |
Описание |
create |
INIT |
ACTIVE |
Услуга создана и оплачена (впервые) |
not_enough_money |
INIT |
NOT PAID |
Не хватает денег для создания услуги |
prolongate |
ACTIVE |
ACTIVE |
Услуга продлена (хватило денег для продления активной услуги) |
block |
ACTIVE |
BLOCK |
Услуга заблокирована (нехватка денег для продления, либо вручную) |
activate |
BLOCK |
ACTIVE |
Услуга активирована (возобновлена после блокировки) |
remove |
BLOCK |
REMOVED |
Услуга удалена |
changed |
* |
* |
Событие вызывается каждый раз, когда меняется статус услуги |
Если для события настроена команда, то пользовательской услуге будет присвоен промежуточный статус: PROGRESS
,
а после выполнения команды пользовательской услуге будет присвоен результирующий статус.
Схема создания новой услуги:
flowchart LR
classDef white fill:white
classDef green fill:green,color:#fff
classDef red fill:red,color:#fff
classDef gray fill:gray,color:#fff
classDef yellow fill:yellow
A[[INIT\nсоздание услуги]]:::white --> B{Оплата}
B -- Оплата не прошла --> E[[NOT PAID]]:::yellow --> CH{{CHANGED}}
B -- Оплачена --> C{{CREATE}}
C -->|События нет| TS
C -->|Событие есть|TC[[PROGRESS\nвыполняем событие]]:::gray
TC -- Успех --> TS[[ACTIVE]]:::green --> CH
TC -- Ошибка --> TSS[[STUCK]]:::red
Схема продления услуги:
flowchart LR
classDef green fill:green,color:#fff
classDef red fill:red,color:#fff
A[[ACTIVE]]:::green -->|продление| B{Оплата}
B -- Оплата не прошла --> E[[BLOCK]]:::red --> CH{{CHANGED}}
B -- Оплачена --> C[[ACTIVE]]:::green --> D{{PROLONGATE}}
событие PROLONGATE не переводит услугу в статус PROGRESS, и событие CHANGED не вызывается
Схема разблокировки услуги:
flowchart LR
classDef green fill:green,color:#fff
classDef red fill:red,color:#fff
classDef gray fill:gray,color:#fff
A[[BLOCK]]:::red --> B{Оплата}
B -- Оплата не прошла --> E[[BLOCK]]:::red
B -- Оплачена --> C{{ACTIVATE}}
C -->|События нет| TS
C -->|Событие есть|TC[[PROGRESS\nвыполняем событие]]:::gray
TC -- Успех --> TS[[ACTIVE]]:::green --> CH{{CHANGED}}
TC -- Ошибка --> TSS[[STUCK]]:::red
Настройка событий
Для события необходимо указать “Категорию” услуги и “Группу серверов”, для выполнения команд.
Категория события должна соответствовать категории услуги, для которой создается это событие и может быть указана с маской,
например: vpn-*
, где *
заменяет любые символы.
В зависимости от выбранной группы серверов, могут быть использованы дополнительные настройки, зависящие от Транспорта группы.
Например, если выбрана группа серверов, транспорт которой определен как “SSH”, то будет предложено выбрать шаблон в качестве скрипта, который должен быть выполнен на конечном сервере.
Используйте Шаблоны для написания команд.
А если выбрана группа серверов, транспорт которой определен как “Mail”, то можно настроить поле “Шаблон” (template_id
), по которому будет
сформировано письмо, а так-же другие поля, такие как “Тема письма” (subject
) и прочие.
Настройки серверов можно переопределять настройками событий.