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

Аватар пользователя Алексей Пушкарев Алексей Пушкарев 20 мая в 21:58
2

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

В моем предыдущем посте вы могли прочесть начало истории и том, как зарождалась идея создания собственной системы управления. Управление хостингом – сложнейший процесс, и в своих поисках идеального решения мы остановились именно на базе 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.

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

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

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

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

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

Комментарии

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

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

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

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

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

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