Перейти к содержимому

Клиенты (реселлеры)

Этот перевод выполнен автоматически и ещё не вычитан. Читать английскую версию

Клиент - это сущность, которой выставляются счета, владеющая аккаунтами и, если разрешено, собственными субклиентами. В меню панель называет клиентов Resellers (реселлеры), потому что каждый клиент может перепродавать ваш сервис по собственному тарифу. Этот экран показывает клиентов непосредственно под вами; здесь вы их создаёте, пополняете, блокируете и удаляете.

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

Откройте My Customers → Resellers в левой боковой панели. URL - /subcustomers.php.

Пункт виден администраторам, чей клиент может иметь реселлеров (Max. Resellers Depth больше 0) и у которых либо есть право добавлять клиентов, либо уже есть хотя бы один клиент. Кнопки Add Reseller (добавить реселлера), Edit, Block и Delete зависят от прав на добавление, редактирование и удаление уровня доступа веб-пользователя.

Screenshot "admin-panel/customers-list" has not been generated yet — see scripts/screenshots/screens.yml.
Колонка Значение
Status (статус) Зелёная галочка - активный клиент, красный знак запрета с подсказкой Blocked (заблокирован) - заблокированный
Name (имя) Имя клиента, ссылка на форму. Под ним показывается Description (описание)
Balance (баланс) Текущий баланс, пересчитанный в вашу базовую валюту. Красный, когда баланс ниже отрицательного кредитного лимита
Credit Limit (кредитный лимит) Кредитный лимит, тоже в вашей базовой валюте
Tariff (тариф) Тариф клиента, со ссылкой на него. — MY TARIFF — означает, что клиент наследует ваш собственный тариф

Панель фильтров содержит одно поле - Reseller Name (имя реселлера). Оно ищет по началу имени и учитывает регистр. Список показывает 50 строк на странице, отсортированных по имени.

Значок кошелька в строке открывает Add Balance (пополнить баланс). Меню Actions (действия) содержит Edit, Login as (войти как), Add Balance, CDRs, Block или Unblock, Debit/Credit Cards (когда включено для клиента), Notifications (уведомления), Reseller Mods, Extended Routing (когда существуют дополнительные группы маршрутизации), Reset MFA (когда включена MFA) и Delete.

Перед первым клиентом нужен хотя бы один тариф; иначе панель отказывает с сообщением You need to have at least one Tariff to add Customer. Корневому клиенту также нужна группа маршрутизации.

  1. Нажмите Add Reseller.
  2. Введите Reseller Name. Когда вы выходите из поля, Web Login (веб-логин) заполняется именем без пробелов и знаков препинания; при необходимости измените его.
  3. Запомните сгенерированный Web Password (веб-пароль) (нажмите значок глаза, чтобы его увидеть) или введите свой. После сохранения он больше не показывается.
  4. Выберите Tariff. Валюта тарифа становится базовой валютой клиента.
  5. Введите Credit Limit. Задайте Balance, если клиент начинает с предоплаченных средств; по умолчанию 0.00.
  6. Проверьте Time Zone (часовой пояс) и Language (язык); оба по умолчанию совпадают с вашими.
  7. Нажмите Save & Close. Save оставляет форму открытой.

В режиме редактирования в заголовке видна отметка Blocked или Active (активен) и панель статистики с Balance, Credit Limit, Last Login (последний вход) и Last Pass. Change (последняя смена пароля). Отметка только для чтения; блокировка выполняется из списка. Поля с заполнителем пароля @@@@@@ сохраняют текущее значение, если вы не введёте новое.

Поле Значение
Reseller Name Показывается в списках и отчётах. Обязательное
Web Login Логин веб-пользователя клиента по умолчанию. Обязательное
Web Password Пароль этого веб-пользователя. Генерируется при создании
Tariff Тариф, который определяет цену звонков клиента. - MY TARIFF - наследует ваш. После создания - только тарифы в валюте клиента
Time Zone Часовой пояс веб-пользователя клиента и отображения CDR
Language Язык панели клиента
Balance Начальный баланс, только при создании. Дальнейшие изменения - через операции с балансом
Credit Limit Насколько баланс может опуститься ниже нуля. Обязательное
Description Произвольный текст под именем в списке
Поле Значение
Acct. Matching Rule (правило имён аккаунтов) Регулярные выражения, разделённые ;, которым должны соответствовать имена аккаунтов клиента. Проверяются на существующих аккаунтах при каждом сохранении. См. Правило имён аккаунтов
Max. Resellers Depth (макс. глубина реселлеров) Сколько уровней субреселлеров может создать клиент. 0 скрывает его меню Resellers. Фиксируется после создания
Max Sessions (макс. сессий) Ограничение одновременных звонков всех аккаунтов клиента. Пустое значение - без ограничений
Max Calls Per Second (макс. звонков в секунду) Ограничение попыток звонков в секунду. Пустое значение - без ограничений
Download Format (формат выгрузки) Формат файлов по умолчанию для выгрузок CDR клиентом
Mail “From” Header (заголовок “From” писем) Адрес отправителя писем, которые отправляются клиенту
Start Page (стартовая страница) Страница, которую клиент видит после входа: My CDRs, Call Records (CDRs) или My Preferences
Routing Group (группа маршрутизации) Группа маршрутизации для звонков клиента. Показывается корневому клиенту или когда у клиента есть расширенная маршрутизация. Default наследует вашу
Password Policy (политика паролей) Политика, которая применяется к веб-пользователям клиента
Overcommit Protection, Overcommit Limit, % (защита от превышения баланса, лимит превышения) Ограничивает средства, которые клиент может раздать: пополнение одного из его аккаунтов или субклиентов отклоняется, если их балансы вместе превысили бы собственный баланс клиента плюс лимит. По умолчанию 10. См. Защита от превышения баланса
Callshop Enabled (переговорный пункт включён) Превращает клиента в переговорный пункт; его аккаунты становятся кабинами на экране Callshop
Allow API Calls, API Password (разрешить вызовы API, пароль API) Позволяет клиенту пользоваться XML-RPC API с этим паролем. Показывается, когда у вас есть права на управление API
DNCL enabled Проверяет звонки клиента по списку Do-Not-Call, когда модуль установлен

Commission (комиссия) назначает Commission Agent (комиссионный агент) - другого вашего клиента с той же валютой, который получает Commission Size, % (размер комиссии) от трафика этого клиента. См. Настройка комиссионного агента.

Address Info (адрес) содержит поля компании, адреса и контактов, которые используются в счетах-фактурах и уведомлениях: Company Name, First Name, Last Name, Address, City, Province/State, Postal Code, Country/Region, Contact, E-Mail, Phone, Fax, а также CC и BCC для дополнительных получателей писем. Ни одно поле не проверяется, кроме длины.

Payments (платежи) задаёт Preferred Method (предпочтительный способ), Payment Currency (валюта платежа) и Min. Amount (минимальная сумма) для онлайн-платежей клиента.

В списке нажмите значок кошелька или Actions → Add Balance:

  1. Выберите действие: Add Funds (пополнить) записывает платёж, полученный от клиента, Manual Charge (ручное списание) списывает средства с баланса, Manual Credit (ручное зачисление) зачисляет средства без платежа.
  2. Введите Amount (сумма) и выберите Currency (валюта). Базовая валюта клиента выбрана заранее; другие валюты пересчитываются по вашим курсам.
  3. Введите Notes (примечания) для истории платежей и нажмите кнопку подтверждения.

Те же три операции доступны в форме редактирования под No Action вверху. Там они выполняются после сохранения формы и просят подтвердить сумму.

Actions → Block останавливает все аккаунты и субклиентов клиента. Подтверждение напоминает, что все текущие звонки будут разорваны сразу. Unblock немедленно восстанавливает обслуживание и не требует подтверждения. Пункт Login as заблокированного клиента серый, но работает.

Actions → Login as открывает панель клиента в новом окне от имени веб-пользователя клиента по умолчанию, без пароля. Используйте это, чтобы увидеть панель так, как её видит клиент, проверить его ставки и CDR или настроить аккаунты вместо него. В журнале аудита сессия отмечена как ваша.

Actions → Delete показывает, сколько аккаунтов, субклиентов и тарифов принадлежит непосредственно клиенту, и удаляет их все вместе с клиентом. Объекты вложенных субклиентов в предупреждении не учитываются, но тоже удаляются. CDR удалённых клиентов остаются доступными в отчётах об удалённых клиентах.

Actions → Reseller Mods задаёт DNS Alias (DNS-псевдоним) - имя хоста, на котором отвечает брендированная панель клиента, - и собственный CSS для неё. Псевдоним должен быть уникальным среди клиентов. См. Брендирование панели.

Acct. Matching Rule ограничивает имена, которые клиент может давать своим аккаунтам. Введите одно или несколько регулярных выражений, разделённых ;; имя принимается, если оно соответствует хотя бы одному из них. Например, ^1000[1-9]$ разрешает только имена от 10001 до 10009, а ^44;^33 разрешает имена, начинающиеся с 44 или 33. Пустое поле разрешает любое имя.

Когда вы сохраняете правило, панель проверяет существующие аккаунты клиента и всех его субклиентов. Если некоторые из них не соответствуют правилу, страница Matching Rule error (ошибка правила имён) показывает, сколько их, и предлагает:

  • Edit again (редактировать снова): вернуться к форме и изменить правило.
  • Delete non-matching Accounts (удалить несоответствующие аккаунты): сохранить правило и удалить собственные аккаунты клиента, которые ему не соответствуют. Аккаунты субклиентов не удаляются. Удалённые аккаунты попадают на вкладку Deleted (удалённые) экрана Accounts.
  • Proceed with update (продолжить обновление): сохранить правило и оставить несоответствующие аккаунты.

Выберите один из вариантов и нажмите Continue (продолжить).

Защита от превышения баланса не позволяет реселлеру зачислить своим аккаунтам и субклиентам больше денег, чем есть у него самого. Когда Overcommit Protection включена, пополнение одного из его аккаунтов или субклиентов отклоняется, если их балансы вместе превысили бы баланс реселлера плюс Overcommit Limit, %. При балансе 100 и лимите по умолчанию 10 аккаунты и субклиенты реселлера могут вместе иметь до 110.

Защита действует вниз по дереву. Когда защита включена у клиента выше, поля заблокированы для клиентов ниже: защита включена, а лимит равен 0, поэтому субреселлер может раздать не больше собственного баланса.

По умолчанию клиент и его аккаунты используют одну группу маршрутизации. Actions → Extended Routing даёт клиенту дополнительные группы маршрутизации, каждую со своим тарифом, чтобы клиент мог выбрать Routing Group для каждого своего аккаунта. Каждая строка связывает Routing Group с Tariff в валюте клиента и Description.

  1. Откройте Actions → Extended Routing для клиента.
  2. Выберите Routing Group и Tariff в пустой строке. Список предлагает только группы маршрутизации, которых у клиента ещё нет.
  3. Нажмите значок Add (добавить) в строке.

Корневой клиент может предложить любую группу маршрутизации. Реселлер видит этот пункт, только когда у него самого есть расширенная маршрутизация, и может передать только те группы маршрутизации, которые получил. Значок карандаша изменяет Tariff и Description строки. Значок корзины удаляет строку; он скрыт, пока клиент ещё использует эту группу маршрутизации для одного из своих субклиентов.