Skip to content

Клиенты

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

Услуга клиента не заводится отдельной кнопкой. Она выводится из настроек стримов: у пуша и у SRT-выдачи есть поле Кому продано, и как только на направлении стоит клиент, у этого клиента появляется услуга по этому стриму. Снимите последнее направление — услуга исчезнет сама.

Так устроено, чтобы не было двух источников правды. Отдельная запись об услуге рано или поздно разошлась бы с настройками, и оператор получил бы две несовпадающие картины: проданное по бумаге и отдаваемое в эфир.

Что раздел не делает

Раздел ведёт состав проданного, а не биллинг и не мониторинг:

  • тарифов, счетов и денег в нём нет;
  • графики, история и качество услуги живут на панели управления и на странице стрима — здесь рядом с каждой купленной вещью показан только её нынешний вид, чтобы ответить на звонок «у нас не показывает», не уходя со страницы.

Список клиентов

В списке четыре колонки: Идентификатор, Название, Договор и Состояние (Активен или Отключён). Строка ведёт в карточку клиента.

Список клиентов и таблица лейблов без клиента

Кнопка Добавить клиента открывает форму из трёх полей — идентификатора, названия и договора. Первое требует внимания.

Форма заведения клиента

Идентификатор неизменен. Он не только адресует клиента: именно он уезжает тегом user_id_<идентификатор> в настройки направлений доставки и именно им называется зритель в статистике сессий. Сменить его потом нельзя — смена осиротила бы все проданные направления разом. Допустимы латинские буквы, цифры, точка, дефис и подчёркивание; форма проверяет значение тем же способом, каким его потом проверит тег, и негодное отклоняет прямо у поля.

Карточка клиента

Карточка состоит из трёх частей: услуги, ключи доступа внутри них и аккаунты.

Карточка клиента

Услуги

Одна услуга — один стрим, за которым стоит хотя бы одно направление доставки этого клиента. У каждой показано:

  • индикатор состояния стрима, его текущий битрейт и класс картинки;
  • список направлений: вид (Пуш, Токен, SRT-воспроизведение), имя, адресат (протокол, хост и порт — без ключей и паролей), состояние, время текущего подъёма, число ошибок отправки и число перезапусков, если они были.

Имя стрима ведёт на его страницу, направление — на вкладку, где оно настраивается. Разбор всякого вопроса по услуге продолжается там.

Величину, которой нет, карточка не подменяет нулём: у ненаблюдаемой услуги — стрим не поднят, статистика закрыта лицензией, машина не ответила — просто не будет битрейта и счётчиков. Выключенное оператором направление помечается Выключен и счётчиков не показывает вовсе: «ошибок: 0» рядом со словом «выключен» читалось бы как «работает и не ошибается».

Отдельно стоит число перезапусков. Направление, которое вообще не смогло подключиться, имеет ноль ошибок отправки и сотни перезапусков — именно эта величина отвечает на вопрос «а почему у клиента ничего нет».

Ключи доступа

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

Ключи доступа в карточке клиента

  • Кому выдан — имя ключа. Его придумывает оператор: это пометка о том, кому ключ отдан («головной офис», «резерв»), а не адрес и не логин.
  • Токен — значение целиком. Оно не маскируется: покупателю его отправляют письмом, и прятать в панели то, что и так уезжает наружу, значит мешать оператору без выигрыша. Ролям, которым закрыты настройки, ключ не показывается вовсе.
  • Копировать ссылку копирует не сам ключ, а готовую ссылку на проигрывание — с адресом, именем стрима и ключом. Собирать её руками не надо: в такой сборке и появляются опечатки. Адрес берётся тот, по которому открыта панель; если раздача живёт на другом домене, ссылка собирается по публичному адресу раздачи из настроек управляющей установки.
  • Отозвать удаляет ключ. Отдельного состояния «отозван» нет: запись о ключе и есть право доступа. Идущее по нему проигрывание прекратится при ближайшей проверке доступа, поэтому кнопка спрашивает подтверждение.

Ключ открывает только тот стрим, в настройках которого объявлен, и только на просмотр: публиковать им нельзя, к управляющему API он не пускает. Сессия, открытая по ключу, называется в статистике идентификатором своего клиента — так потребление каждого покупателя считается отдельно.

Аккаунты

Здесь перечислены учётные записи панели, принадлежащие этому клиенту, — например, инженеры покупателя, которым выдан доступ. Поле внизу привязывает существующий логин, кнопка в строке отвязывает.

  • Аккаунтов у клиента может быть сколько угодно, но у аккаунта не больше одного клиента: при попытке привязать чужой логин панель назовёт клиента, которому он уже принадлежит.
  • Аккаунт без клиента — норма: так выглядят учётные записи ваших собственных операторов.
  • Если логин удалён в разделе Аккаунты, связь остаётся видимой с пометкой Такого аккаунта нет. Это не ошибка целостности: клиентами и учётными записями распоряжаются разные разделы, и согласовывать их одним действием нечем.

Саму учётную запись здесь не заводят — карточка распоряжается принадлежностью, а не паролями.

Лейблы без клиента

Внизу списка клиентов появляется таблица Лейблы без клиента — направления доставки, помеченные идентификатором, которого в реестре нет. Причин ровно две: опечатка в теге или клиент, которого завели тегом, но не завели в реестре.

Скрывать их нельзя: тег на направлении при записи не проверяется, и это единственное место, где такая ошибка становится видна. В строке указаны стрим и направление, а кнопки предлагают завести такого клиента или открыть стрим и поправить тег.

Как продать стрим клиенту

  1. Заведите клиента в этом разделе — идентификатор, название, договор.
  2. Откройте стрим, вкладку настройки отдачи, и добавьте направление: пуш на адрес покупателя или SRT-выдачу со своим портом и паролем.
  3. В поле Кому продано выберите клиента из списка (снимок ниже). Пустое значение означает Служебная — никому не продана: так помечаются пуши на мониторинг, на резерв и показ партнёру.
  4. Сохраните. В карточке клиента появится услуга по этому стриму.

Поле «Кому продано» в настройке пуша

Одно направление можно продать нескольким покупателям — тогда форма показывает всех владельцев списком и правку не даёт: заменить набор одним значением значило бы молча снять продажу со всех остальных.

Если раздела нет

Реестр клиентов — отдельный компонент установки. Пакет Mcaster включает его сам, поэтому на обычной машине раздел работает сразу. Если панель показывает сообщение о том, что реестр не включён, установка собрана без него — так бывает у собранных вручную стендов; список клиентов при этом не пуст, его просто нет, и это сказано прямо, чтобы никто не искал пропавшие данные.