Комплексный кейс + скринкаст по разработке автоматизированного хостинг-проекта на базе Drupal

Главные вкладки

Аватар пользователя Алексей П. Алексей П. 20 мая 2019 в 21:58
3

Управление бизнесом в единой среде

В моем предыдущем посте вы могли прочесть начало истории и том, как зарождалась идея создания собственной системы управления. Управление хостингом – сложнейший процесс, и в своих поисках идеального решения мы остановились именно на базе Drupal. Почему именно на Drupal, сколько соли было съедено с другими системами, и сколько шишек набито – об этом и о многом другом я рассказываю в своих публикациях.

Drupal Flex изначально ориентировался, как универсальное и гибкое платформенное решение для различных отраслей e-commerce ("электронная коммерция" - это для широкого понимания). В том числе и для комплексной автоматизации хостинг-бизнеса.

В данном кейсе рассматривается одновременное кросс-управление несколькими хостинг-проектами. Drupal выступил в роли централизованной системы для организации хостинг-сервисов.

Стоимость решения: > $95 000 (не считая расходов на инфраструктуру).
Класс решения: enterprise.

Скринкаст

смотреть тут (англ. версия)
drupal flex screencast

Результат

Один из наших хостинг-проектов: https://btrxboost.com

Предисловие

Довольствоваться тем, что тебе дают по чайной ложке (я имею в виду возможности заложенные разработчиками в системы и сервисы) - значит быть как все, отказаться от развития, потенциала, преимуществ. Я часто сравниваю зависимость от чужих стратегий с тюремным заключением без даты освобождения. Может быть, повезет. Или не повезет, и через много лет вы констатируете, что жизнь прошла, ваши идеи уже кто-то реализовал. А вы все так же в заложниках чужих мерок “так правильно”.

Наша цель, для достижения которой мы создали Drupal Flex - независимость от искусственных ограничений, от условий платных сервисов, от возможностей ПО для бизнеса. Максимальная гибкость и универсальность применения для решения бизнес-задач – вот что стало нашей главной ценностью.

Сравнение

Привожу в пример близкие по смыслу платформы для автоматизации хостинга: WHMCS, Plesk, BillManager. Все эти платформы мы использовали на своих проектах, сравнивали и сейчас я могу сказать, что их всех объединяет один большой недостаток – отсутствие универсальности и функциональной гибкости. Все будет работать только так, как было задумано (N-лет назад). При условии, что наша компания работает на одном из самых динамичных it-сегментов, то в первую очередь мы думаем о перспективах развития. Я имею в виду, что бизнес-модель работающая в рамках функционала сторонних компаний – это тупик. То, что могут все, становится неинтересно и бесперспективно.

Пример: в вышеперечисленных платформах нет и не будет поддержки омниканальной коммуникации, а о интеграции с telegram вообще можно не мечтать. Никогда не будет “бесшовной” среды (я имею в виду, что сайт и биллинг всегда будут разными и слабо связанными). Никогда не будет гибкости. Это сплошной логический dead-end. И для бизнеса это критичные аспекты, они определяют качество работы поддержки. Точнее, они определяют ее некачественность, увы. Мы же ставим своей целью гибкость, бесшовность, архитектурную целостность систем, и именно в этом видим перспективу – свою и клиентскую.

Разрозненность

Разрозненность – большое зло для любого бизнеса.

В реальных условиях систематизация бизнеса, организованная на основе разрозненных решений имеет множество рисков. Так изменения в работе любого из сервисов повлечет неконтролируемый сбой работы других связанных с ним.

Мы все сталкиваемся с ситуациями, когда разработчик решения “улучшает” функционал на своей стороне, а на нашей стороне вовсе перестает работать что-то важное. Начинается выяснение причин, трата времени, бизнес-процессы стоят. А если в веб-проекте используется много внешних сервисов? Проще закрыть глаза на нестыковки и оставить все “как есть”, чтобы не рисковать с переносом процессов. И эта кажущаяся простота – стратегия страуса, прячущего голову в песок. Невидимые проблемы, скрытые в разрозненности процессов, неизбежно накапливаются и вскроются с очень большим грохотом. Компания не в силах предсказать процесс, который раньше ею не наблюдался. И таких процессов в разрозненных системах – масса. Критичные и мелкие, они копятся и угрожают стабильности. Вам это нравится? Нам решительно нет, и поэтому мы объединяем все в единую среду, прозрачную и наблюдаемую, в предсказуемое стабильное решение.

Опыт...

В нашей истории бизнеса было много непростых моментов. Один запомнился больше других.

Наш личный ад с WHMCS (а именно с представительством из Украины) длился две недели, мы не получили за этот период ни копейки прибыли и, к тому же, достали немало средств из собственных кошельков, чтоб не потерять свой бизнес и сохранить бизнес наших клиентов. Вы легко можете представить звонки и письма от 100 негодующих клиентов, у которых в один час перестало работать ВСЕ. У нас же на тот момент их было 5000, и мы разрывались между попытками их успокоить и нечеловеческими усилиями, направленными на то, чтобы сподвигнуть разработчика устранить причину сбоя. Лучшее, что мы смогли придумать для быстрого снижения волны недовольств от клиентов – это работать бесплатно. Это стоило нам большого кассового разрыва, вложения личных средств, и, конечно, очень много нервов.
И если клиенты сохраняли остатки лояльности к нам за бесплатность “сервиса”, то штат сотрудников оставить без зарплаты было нельзя. Это были очень тяжелые две недели, с задачами на границе возможного, со звонками от клиентов, с безденежьем. Мы катились в пропасть и каждое утро начинали с мольбы в адрес WHMCS.

В чем же было дело? WHMCS не делали резервных копий своего собственного сервера лицензий, и даже не торопились это исправлять. Сервер лицензий чудным образом рухнул вместе с данными. Все потеряли доступ к своим оплаченным сервисам, не могли приобретать и продлевать хостинг, работать с данными. “Услуга” длилась две недели, которые понадобились вендорам решения для ручного ввода (по всей видимости) потерянных данных на новый сервер лицензий.
Наверное, вы думаете, что в итоге они потеряли много клиентов, в том числе и нас? Грустная правда в том, что мы и все клиенты остались, просто потому, что альтернатив на тот момент не было.

Почему я рассказываю вам про такие эпизоды из нашей жизни? Потому, что мне хочется, чтобы вы знали цену спокойствию, которое мы разрабатываем. Набивая шишки, как раз для того, чтобы вы о них узнали только с наших слов, и не встречались с такими моментами лично.

Я много чего могу рассказать и про другие решения от ISP и Plesk, да и про коммерческие CMS для сайтов. Это истории обретения драгоценного опыта. И наш опыт подтверждал снова и снова идею о том, что разрозненность процессов в бизнесе – это большое зло. Очень большое.

Список длинный, поэтому я выделяю для вас основные проблемы:

  1. Технические поддержки сервисов не сообщаются между собой. Клиент разбирается самостоятельно. Надо делать бизнес, обслуживать клиентов, а владелец сидит в обнимку с айтишниками и ковыряется в особенностях работы сервисов. Аналогичное сравнение можно провести с предпринимателем, который первый раз открыл ООО и только успевает закрывать бухгалтерские задачи и отбиваться от проверок и штрафов. Есть риск разориться раньше, чем закончится аудит.
  2. Отсутствие полностью готовых и гибких интеграций, нет возможности добавлять собственный функционал. Иногда я думаю, что они там сидели и думали так: “А зачем хостеру оказывать еще какие-то услуги кроме хостинга, если он хостер? Пусть делает только то, что мы решили, и хватит с него.”
  3. Отсутствие личных настроек. Нам предлагают множество решений, которые невозможно полноценно брендировать. Чем я со своим сайтом и биллингом будут отличаться от конкурента? У него Billmanager с ошибками и у меня такой же с виду. Я хочу продавать лучшую клубнику в рестораны, но вынужден упаковывать ее в банки, такие же как у замороженного продукта пятилетней давности. Где же мне проявить свои преимущества и реализовать потенциал?
  4. Разные интерфейсы и принципы работы. Пришел новый сотрудник, а у нас 4 сервиса с разными интерфейсами и дублированными функциями. Нужно садиться с новичком и объяснять все нюансы. И если назавтра что-то поменяется, то мы садимся снова за обучение, теряя время и, самое печальное, уверенность в достаточной подготовленности кадров.
  5. Лишние и дублирующие функции сервисов. Не страшно, что за них нужно переплачивать, страшно то, что они могут конфликтовать друг с другом. Мы с этим сталкивались неоднократно и отловить конфликтующие сервисы сложнее, чем баги внутри одной системы. В этих случаях нужно тестировать всю цепочку сервисов, постепенно отключая каждый элемент (сервис) и проводить тесты. Решение может занять 5 минут, а на то, чтобы отловить проблему может понадобиться несколько дней. При том, в идеале тесты должны проводиться на полностью дублированной инфраструктуре, а не на боевом проекте. Как думаете, со всеми ли сервисами можно договориться, чтобы бесплатно дали свой продукт еще и на dev? Подскажу: далеко не со всеми.

Ценности Drupal

  1. Долгосрочный горизонт развития.
  2. Гибкость, а точнее ультра-гибкость.
  3. Свобода от навязанных решений.
  4. Фундаментальность принципов и логики (еще раз повторюсь, что Drupal - это не CMS, а логический принцип.)
  5. Сообщество профессионалов. Самое большое из известных мне среди профессионалов open-source web-решений.

Менять платформу каждые 2-3 года – бесперспективно. Мы предпочитаем один раз вложиться в правильный инструмент, стать профессионалами и гарантировать его работоспособность в перспективе. Мы чувствуем себя спокойно, и мы знаем, что будет с платформой через 5 лет. С Drupal все будет хорошо, и мы будем через пять лет еще более крутыми специалистами.

Мы свои выводы сделали, дело за вами.

Цели

Снижение внутренних рисков

  • Контроль качества программного продукта. Исключение миграции на другую платформу в случае изменений в команде разработчиков или ее полной замены.
  • Минимизировать зависимость системы и бизнес-процессов от дочерних сервисов (минимум подключенных сторонних сервисов).
  • Единая система управляющая всеми бизнес-процессами.

Масштабируемость

  • Кросс-платформенные стандарты для back-end/front-end для упрощенного обновления всей группы сайтов по специализированным хостингам для CMS.
  • “Бесшовный” интерфейс для клиентов (единый дизайн для сайта/биллинга/личного кабинета).
  • Гибкий универсальный биллинг.
  • Единый центр обслуживания клиентов по принципу омниканальности.

Бизнес-процессы

  • Повышение качества работы отдела службы поддержки за счет повышения удобства работы сотрудников (все в одной системе, одном интерфейсе), предотвращения долгих ответов и потере обращений, автоматический KPI, моментальные уведомления, мониторинг всех коммуникаций в телеграм.
  • Снижение операционной нагрузки бухгалтерской части (автоматизация).
  • Полноценная автоматизация предоставления хостинг-услуг и сопроводительных сервисов.
  • Постановка внутренних задач, контроль исполнения, отчеты.

Профит

Мы имеем возможность воссоздавать аналогичные и дочерние проекты в десятки раз дешевле и быстрее.

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

Наша идея, которая казалась сложной и даже невозможной стала реальностью. Да, мы потратили время и деньги, но это инвестиция, которая дает свои результаты.

Drupal дал нам свободу развития. И при всей его свободе мы избавлены от бесконечного допиливания и переделок решений, от причудливой архитектурную энтропии, от привязки к конкретным разработчикам. Мы контролируем систему сами.

Используемый функционал

Продукты:

  • Гибкая система тарификации хостинг-тарифов.
  • Продажа услуг (администрирование, обслуживание).
  • Продажа продуктов типа SSL-сертификатов, выделенных серверов, лицензий CMS.
  • Установка наценок на продукты и их свойства (опции, атрибуты).
  • Возможность указания цены товаров (включая опции и атрибуты) в иностранных валютах с автоматической конвертацией в рубли по текущему курсу ЦБ.
  • Установка платежных циклов на основе атрибутов с возможностью добавления скидок за единовременную оплату больших циклов (например, скидка 10% при оплате за 12 месяцев хостинга). Смена платежного цикла из личного кабинета клиента.
  • Включение режима демо-периода (триал) для услуги.
  • SMS-верификация при оформлении триал-услуг.
  • Выбор автоматической установки CMS при заказе продукта.
  • Выполнение бизнес-процессов (например: создание тикета с отправкой уведомления в отдел) при заказе продукта.
  • Разбивка продуктов в заказе на отдельные заказы.
  • Трансляция данных о продукте в личный кабинет клиента.
  • Внутренний интернет-магазин с возможностью покупки товаров за накопленные бонусные баллы.
  • Полное управление продуктами из таблицы: тип продукта, название, категории, описание, атрибуты и опции, фото, наличие (остатки), наценки, валюты, метки, цены, бонусные баллы, промо-коды, ограничения по количеству единиц и времени, выбор родительской группы (промо-страницы с продуктами), рекомендации, аксессуары, запуск процессов, верификация при покупке, тип заказа (триал, без оформления, обычный), автопродление, изменение платежного цикла, выгрузки во внешние сервисы и др.
  • Замена продукта и опций (при смене тарифного плана).
  • Передача данных из опций атрибутов товара после завершения заказа в новый тикет (например, когда клиент оформил новый хостинг с миграцией сайта > автоматически создается тикет с данными доступа оставленными клиентом при заказе).
  • Индивидуальные справочные материалы к продукту (индивидуальные блоки F.A.Q.).
  • Смена тарифного плана (продукта) через промо-страницу (вместо неприглядного списка с тарифами, как в обычных биллингах). Заменяемый продукт временно маркируется для процесса для вывода вспомогательной информации на промо-странице (режим замены).
  • Выбор опций генерации отчетных документов по продукту (период формирования актов, актов-сверок и др.).
  • Экспорт продуктов в сторонние сервисы (например: Яндекс.Маркет, Google Merchant Center, Admitad и др.).
  • Группировка продуктов по типам (product-kit).

Автоматизация управления хостинг-панелями:

  • Управление аккаунтами в панелях Cpanel, ISPmanager (версии lite и pro), SolusVM, ProxMox (beta).
  • Подготовленный API для интеграции с дата-центрами (для выделенных серверов), удостоверяющими центрами (SSL) и др.
  • Универсальная форма авторизации (форма-посредник) в личном кабинете на сайте (с возможностью сброса/восстановления пароля).
  • Менеджмент серверных парков (группы по типам серверов настроенных под определенные CMS).
  • Индивидуальные логические сценарии для серверов разного типа (shared/vps/dedicated) и настроек под CMS: Битрикс, Drupal, WP и т.д. Например: для shared-хостинга под Битрикс по тарифу “N” при создании нового хостинг-аккаунта можно отправлять клиенту определенное email-сообщение с индивидуальным описанием и оформлением.
  • Гибкость подстановки данных различного типа за счет использования дополнительных токенов (в шаблонах, в условиях (rules) и др.).
  • Балансировка загруженности серверов для автоматизации процессов: на каком сервере создавать новый хостинг-аккаунт, уведомления о нагрузках свыше указанной нормы (штатная нагрузка не более 45%) и др.
  • Логирование всех действий клиентов при работе с тарифами (апгрейд, блокировка, удаление, создание и т.д.).

Управление доменами:

  • Reg Ru - поддержка регистрации менеджмента доменов в различных зонах (beta).
  • Встраиваемая в ноды формы проверки доступности доменов (whois) с возможностью моментального оформления регистрации (beta).
  • Редактирование DNS-записей (beta).

Центр поддержки:

  • Универсальная справочная система с разграничением прав доступа к материалам (пользователи, клиенты, сотрудники). Категоризация и тегирование.
  • Поиск по всем справочным материалам;
  • Часто задаваемые вопросы с подсветкой вариантов по мере набора текста пользователем (клиентом);
  • Тикет-система для клиентов с обновлением сообщений в реальном времени.
  • Интерпретация тикетов в виде доски канбан, календарь и настраиваемыми списками.
  • Гибкая настройка канбан-досок по статусам и на основе отделов поддержки в т.ч. по типам услуг и продуктов.
  • Треккинг времени работы с тикетом.
  • Внедрение форм и счетов на оплату в сообщение тикета.
  • Автоназначение сотрудников поддержки в зависимости от установленных приоритетов по отделам и сотрудникам, а также по степени их загруженности (учет количества назначенных тикетов по определенным статусам).
  • Проверка нахождения сотрудника online в системе при назначении тикета.
  • Эскалация тикетов с трекингом в лог.
  • Готовые шаблоны ответов (база ответов) для ускорения реакции поддержки по типовым вопросам.
  • Автоматические ответы в случае задержки ответа.
  • Отправка уведомлений сотрудникам поддержки в случае задержки реакции на тикет.
  • Возможность публикации скрытых комментариев в тикетах (для общения в тикетах между сотрудниками).
  • Форма согласия с условиями обращения в техническую поддержку перед созданием тикета.
  • Онлайн-чат с поддержкой с возможностью приема/отправки файлов, проведения оплат и формирования тикетов из лога чатов.
  • Скрытая капча (антиспам) для форм создания тикетов, обратных форм и онлайн-чата.
  • Сортировка поступающих обращений в зависимости от уровня поддержки клиента (устанавливается в зависимости от статуса клиента).
  • Импорт входящих email-сообщений в систему в реальном времени. Интерпретируются в тикеты. Ответы сотрудников дублируются на email клиента. Отметка о прочтении email приходит в сообщение тикета (скрытый пиксель).
  • Возможность отправки ответа из тикета целенаправленно на email и/или sms. Хранение отметки о типе отправки.
  • Импорт и экспорт сообщений из групп в социальных сетях (VK, Facebook, Instagram). Интерпретируются в тикеты. Ответы сотрудников дублируются в приватные сообщения клиентам в социальных сетях.
  • Просмотр всех обращений от пользователя с фильтрацией по типам.
  • Автоматическое определение устройства, IP-адреса, местоположения и другой информации.
  • Трекинг входящих и исходящих звонков (VoIP) (beta).
  • Трекинг временных затрат по каждому обращению.
  • Построение отчетов для службы контроля качества (beta).

Клиенты:

  • Установка статуса клиента в автоматическом режиме (на основе используемых способов оплаты).
  • Установка статуса клиента в автоматическом режиме: в зависимости от купленных продуктов и/или пороговых значений LTV.
  • Юридическое или физическое лицо.
  • Смешанный баланс личного кабинета (баланс может пополняться как по безналичному расчету, так и по банковским картам и эл. деньгам от физического лица). В дальнейшем система учитывает эти особенности при формировании отчетных документов и очередности списаний.
  • Сбор и хранение данных о пользователе (360 customers profile view).
  • Автоматическая регистрация в системе при отправке сообщения в онлайн-чат, создание обращения через тикет (можно отправлять анонимам), email, социальной сети и заполнении форм.
  • Сбор и конкатенация данных клиентов (телефоны, email, компания, Ф.И.О. и др.).
  • Организация клиентских групп по признакам (organic groups).

Маркетинг:

  • Бонусные баллы (кэшбэк) по индивидуальным настройкам каждого продукта.
  • Оплата с баланса и/или бонусными баллами с указанием допустимой доли.
  • Управление адресными рассылками (email, sms, внутренние в личном кабинете).
  • “Нарастающие” скидки (как часть engagement-процессов).
  • Ограничение по времени для возможности заказа продукта или пополнения баланса.
  • Скидочный таймер под каждый продукт или группу продуктов с привязкой по уникальному ID и cookies.
  • Скидки на опциях атрибутов товаров.
  • Автоматическая генерация промо-кодов (например, за подписку на новости).
  • Продажа подарочных сертификатов. Передача другому пользователю, применение подарочных сертификатов с авторегистрацией пользователя. Привязка к конкретной покупке, либо зачисление суммы сертификата на баланс ЛК.
  • Продажа наборов продуктов (product kit) с общей скидкой.
  • A/B тестирование промо-страниц.
  • Назначение персональных скидок клиентам.
  • Возможность управления рассрочкой для дорогих продуктов (beta).

Заказы:

  • Возможность авансирования клиентов.
  • Учет долговых обязательств клиента.
  • Расчет остатка неиспользованных средств по услугам (при отмене услуги и возврате на баланс личного кабинета).
  • Обработка и коррекция данных по ФИАС или КЛАДР.
  • Виртуальный буфер корзины (когда требуется разделить набранные товары в корзину на несколько разных заказов в виду особенностей оплаты).
  • Эквайринг Paymaster для резидентов РФ;
  • Эквайринг Stripe для иностранных контрагентов (beta);
  • Эквайринг PayPal (отключен, пока PayPal жестит с постоянными проверками);
  • Shared-корзина (общая корзина на несколько сайтов на разных доменных именах).

Партнерская система:

  • Привязка суб-аккаунтов (партнер вручную создает записи для своих клиентов);
  • Аффилированная ссылка (классический учет привлеченных клиентов);
  • Промо-коды со скидкой для клиентов (применение промо-кода связывает клиента с партнером);

Бухгалтерия:

  • Генерация счетов и отчетных документов (актов и актов-сверок) для юр. лиц.
  • Выгрузка готовых документов в СЭД (“Диадок”) для дальнейшего подписания и отправки (beta).
  • Добавление в систему нескольких юр. лиц компании (часть услуг и продуктов мы предоставляем от своих дочерних структур).

Сотрудники:

  • Расчет по KPI на основе скорости реакции на входящие заявки и качества их решения.
  • Типизация задач с премированием за соблюдение установленных сроков выполнения.
  • Единый интерфейс и логический принцип всех внутренних инструментов в системе.
  • Разграничение прав доступа.
  • Гибкая настройка уведомлений на основе приоритетов задач, загруженности сотрудников и отделов.
  • Омниканальная система уведомлений сотрудников в случаях превышения установленного времени (задержки) реакции на задачу, инцидент или тикет.
  • Просмотр назначенных тикетов и задач на сотрудника (виды: канбан, календарь, список).

Front-end:

  • Стандартизация front-end. Исключение переписывания или перекрытия стилей в случае существенных изменений в дизайне.
  • Ускорение оформления на 30% в сравнении с классическим написанием стилей на CSS.
  • jFlex (см. видео-презентацию). Наша классоориентированная библиотека на SASS. Аналог bootstrap, но с более гибким управлением дизайном (микрошаблонизация) и функциональными возможностями (множество собственных и заимствованных jquery-плагинов с универсальным назначением).
  • Адаптив + мобильная (отдельный рендеринг для мобильных устройств).

P.S.

Коллеги, надеюсь, что наш кейс будет полезен не только в частном понимании применения Drupal, но и в качестве демонстрации его возможностей Вашим потенциальным клиентам. Несложно провести аналогию и представить, как будет работать любой другой веб-проект на базе Drupal или Drupal Flex.

Можно считать, что этот кейс про хостинг-проект является примером решения сложнейших задач. Этот вид бизнеса подразумевает применение комплекса сложных технологий, масштабируемость, скорость и непрерывность работы. Стоит ли сравнивать с разработкой даже крупных интернет-магазинов? Smile

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

На какой раскрученной CMS или модном фреймворке писать сервис для нас не имело никакого значения: вся суть в стратегии, перспективах и конечной выгоде.

К сожалению, в России рынок enterprise веб-решений на Drupal пока не так развит, как в других странах (просто у Drupal нет масс-маркетинга, да и по-сути он не нужен, ведь кому надо – разберутся и будут пользоваться), но уверен, что в скором времени ситуация будет меняться кардинально быстрее. Когда до предпринимателей дойдет, что знания и технологии НУЖНО капитализировать, а не перебиваться времянками и “скакать” с платформы на платформу, потому что программист ушел Smile

По всем вопросам можете обращаться в здесь в ЛС, skype: a.4477, telegram: alex4477

Комментарии

Аватар пользователя Алексей П. Алексей П. 22 мая 2019 в 11:39

Согласен, много текста. Собственно все в посте про Drupal, сравнение, почему выбрали именно его, как решили бизнес-задачи, состав функций. Это все про Drupal.
Да, не отрицаю, что часть статьи посвящена рассказу о билде Drupal Flex, но цель была в том, чтобы кейс можно было показывать клиентам, которые выбирают между платформами: "посмотрите что возможно сделать на Drupal, почему компания выбрала именно эту систему, какие проблемы решили".

Аватар пользователя adubovskoy adubovskoy 22 мая 2019 в 10:28
1

Спасибо за кейс, полезное:
- отличный proof of concept
- тем кто занимается хостингом видно что вы в курсе о чем пишете) да, у нас была когда-то давно лицензия whmcs от той же команды, понятная боль ))

Аватар пользователя Алексей П. Алексей П. 22 мая 2019 в 11:41

Спасибо за поддержку)
О да, тогда много кто посыпался. Помню, все кто попал - общались на каком-то форуме и никто не знал, что делать. У кого мало клиентов переносили все на billmanager. К сожалению, мы не могли.