Разделенные API-интерфейсы; покажите целевую организацию субподрядчиков; добавьте владельца счетов для продвижения пользовательского интерфейса
billingApi делит участников на членов AccountMembers (canManageBilling, isAccountManager) и подписные участники (isLicensee, canManageSubscription) ************...
Авто-предоставление кресла KamoCRM для создания суборгов; конечная точка владельца рекламного биллинга
EntitlementService использует SubscriptionMember (не AccountMember) для вычислений членские права — объединение функций между активными сублицензиатами, плюс Св...
Субподрядчики нацелены на суборг; члены на субподрядчиков отделены от администраторов учетных записей
Подписки теперь требуют целевой организации Id по созданию — (счет, рынок, target org) triple - новый ключ уникальности. Компания AccountBillingMemberService ра...
Сплит-администраторы уровня аккаунта от каждого участника; субподрядчики получают target org
Добавляет SubscriptionMember (лицензиат на подписку + флаги субменеджера) Учетная запись в орге KamoCRM может содержать несколько подписок, каждая из которых на...
AccountGroup -> AccountTier; маршруты клиент-группа -> клиент-уровень
Типы интерфейсов и вызовы API обновляются в соответствии с сервисом Shared-lib + Переименовать AccountGroup в AccountTier. Название "группы" просочилось в домен...
AccountGroup -> AccountTier; конечные точки / группы -> / уровни
Конечные точки группы счетов (уровни сегментации клиентов, а не выставление счетов) переименовывается по всему миру, чтобы использовать терминологию «уровня» в ...
AccountGroup -> AccountTier (сегментация клиентов, а не выставление счетов)
Субъект розничной клиентской сегментации (с дисконтным процентом, используемый PriceList for tier-based pricing) collided in name with the now-removed Концепция...
Rename AccountBillingMember -> AccountMember; isGroupPlanManager ->
Переименование уровня типа через платежный клиент и вкладку PlansBillingTab: - AccountBillingMember Type -> Участник - isGroupPlanManager flag -> - поле groupPl...
Используйте Account.members через AccountMember; переименуйте в GroupPlanManager -> isAccountManager
Аккаунт теперь является группой, поэтому все ссылки на старые Предприятие AccountBillingMember указывает на новый общий **************************** сущность. Ф...
Бросьте пользователей / MasterAccountHolder, используйте Account.members + PrimaryMember
AccountController отражает модель Account-as-group: - computeDisplayName / extractEmail / extractPhone resolve through the Основной участник (член) вместо выпав...
Создайте учетную запись группы; замените набор пользователей на набор участников + участник
Счет теперь сам по себе является «группой» — нет отдельной биллинг-группы. Концепция. Участники (сопровождаемые по орг-скапу) принадлежат к Счету непосредственн...
Добавить язык участника + столбцы default currency
Добавляет две колонки NOT NULL в таблицу участников, поддерживающую новую Member.language (VARCHAR DEFAULT 'ENGLISH') и Member.defaultCurrency (VARCHAR(10) DEFA...
Добавить языковой шаг, выборку часового пояса страны, прокрутку + *** исправления
Новый шаг «Мой язык» подготовлен к волшебнику, отражающему страну макет шага. 22 региона, поддерживаемых маркетингом, указаны как флаговые плитки с родным имене...
Добавьте язык + валюту по умолчанию на карту региональных настроек
Карта региональных настроек профиля участника теперь отображает редактируемый язык (22 поддерживаемых сайта, отражающих маркетинговый сайт) и валюта по умолчани...
Постоянный язык/временная зона/валюта при регистрации
Конечная точка /register теперь принимает язык, часовую зону и частоту по умолчанию. Наряду с существующим регионом. Регистрационный сервис устанавливает страну...
Переписать клиента BillingApi на конечные точки на основе учетной записи
billingApi теперь разговаривает с ******************* Старые маршруты /groups/. Типы верхнего уровня переименованы: - BillingGroup Бухгалтерский учет - BillingG...
Переписать BillingService на учетные записи
BillingService теперь ориентирован на учет. Потоки, управляемые членами (например, «Добавить карту», «подписаться на план» теперь проходят через Аккаунт, которы...
Переход от BillingGroup к учетным лицензиям
EntitlementService разрешает членские права против AccountLicense Записи, принадлежащие счету участника. Права членов Форма теперь выставляет аккаунтUid + аккау...
Миграция из BillingGroup на счет в качестве принципала выставления счетов
В настоящее время счет является единственным клиентом Stripe. Член, нуждающийся для оплаты (например, за подписку) автоматически создает счет; этот счет Затем д...
Mirror live/snapshot address shape in CartItem2 and DraftOrderItem types
CartItem2 gains **************** and shippingAddress/billingAddress fields populated from the customer's primary shipping/billing AccountAddress profile. DraftO...
Map external customer address blocks into AccountAddress on pull
Add AdapterAddressMapper helper that converts a JSON address node from any provider into an EmbAddress and attaches it to an Account as a typed AccountAddress (...
Ориентируйте живые записи на профиль адреса учетной записи, снимите исторические адреса
Записи прямой торговли Orient ссылаются на первичную доставку / биллинг профиля учетной записи адреса, с моментальными снимками, сделанными только тогда, когда ...
/account/ new copy-from-lead UX, полные имена, двойные телефоны, адрес; управление адресами на уровне учетной записи
Фронтенд: - /account/new: кнопка «Copy from Lead» на секцию + заголовок «Copy all from Lead» (при использовании leadId param) - Раздел имени: префикс, первый, с...
Поддержка вложенного имени/электронной почты/телефонаЧисла + конечные точки управления адресами
- AccountController принимает вложенное имя/email/phoneNumbers JSON на POST/PUT Начальный адрес на POST создает SHIPPING (и BILLING при использовании набора AsB...
Переключите Account.java на встраиваемые файлы; добавьте объект AccountAddress для списков доставки / выставления счетов
- Add AccountAddressType enum (ВЫБОР, БИЛЛИНГ) - Add AccountAddress entity (счет FK, тип, этикетка, EmbAddress, временные метки) Добавить аккаунтAddressReposito...
История производственного класса + вкладки голосовой почты с инструментом медиаплеера
Закладка истории (SoftphoneHistoryTab.tsx): Бесконечная прокрутка через IntersectionObserver внутри контейнера прокрутки панели - Фильтровые чипы: Все / Входящи...
Миграционный бегун для колонок Recording provider-lookup + колонки архивов VM
Добавляет RECORDINGS.provider instance id (UUID) и provider external id (VARCHAR(64)) плюс составной индекс idx recordings provider lookup, используемый основно...
Persist providerInstanceId + providerExternalId на записи при глотании
Потоки X-Phone-Server-Id и X-Asterisk-Unique-Id (уже в UnprocessedRecording) на новых полях RecordingMetadata, поэтому строки вызова / голосовой почты в системе...
Добавить ******************* с поддержкой HTTP Range
Общие конечные точки потоковой передачи для аудио/видеоизображения, используемые внутренним инструментом MediaPlayer. Повторное использование авторизации ImageS...
Запись воспроизведения, архив голосовой почты, выделенная голосовая почта, обогащение истории
- Новая запись Контроллер с объемным поиском, потоковое аудио для треков master + per-channel и метаданные для окна инструмента медиаплеера CallController.getCa...
Ключи поиска провайдера на Записи, архив голосовой почты, потоковая передача диапазона MinIO
- Запись: добавить провайдераInstanceId + провайдерExternalId для присоединения провайдера call-history / voicemail строки обратно к средствам визуализации - Ph...
Удалите избыточное название истории поля из панели истории
Маркировка вкладок уже передает контекст — заголовок и подзаголовок растрачивали пространство экрана. Кнопка перезагрузки переместилась в панель инструментов.
Удалить Account.notes ссылки из диалога редактирования AccountViewClient
Удалить макет, вызывающий подпрыгивание тела электронной почты
Внешнее движение. Проповедь div's 'layout' боролась с внутренним AnimatePresence высота: анимация «авто», создание цикла обратной связи FLIP на электронных пись...
Добавить вкладку «История» — выделенный график аудита с поиском и фильтрами
- LeadHistoryPanel: липкая панель инструментов фильтра с дебюнсированным поиском, фильтры ****************, таблица MUI с пагинацией, цветные чипы событий, разр...
Добавить GET /{id}/history и /{id}/history/filters конечные точки
Назначенная, фильтруемая, доступная для поиска конечная точка с лид-историей с загрузкой пакетного актера (без N + 1). Конечная точка фильтра возвращает различн...
Добавить журнал аудита истории лидов - сущность, реестр, сервис, DTO, крючки LeadService
- LeadHistory entity (UUID PK, простые длинные FK - никаких ограничений FK для удаления / преобразования свинца) - LeadHistoryEventType enum с читабельными этик...
Как вы видите судоходство?
Все это приходит в ваше рабочее пространство самостоятельно. Начните с бесплатного плана и прочитайте эту страницу через месяц.
