スプリットメンバー API ; サブのターゲット org を表示; 課金所有者を追加 UI を促進
billingApiがメンバーをアカウントに分割する(canManageBilling, isAccountManager) サブスクリプション会員(isLicensee、canManageSubscription) メニュー アカウントサブスクリプションの利益 対象組織図・対象組織 タイトル。 PlansBillin...
サブオーガニ作成のオートプロビジョンKamoCRMシート; 推進ビルリングオーナーエンドポイント
EntitlementService は、サブスクリプションメンバー (アカウントメンバーではなく) を計算する 会員資格 — アクティブ・ライセンシー・サブを横断する機能の連合、プラス 無料ベースライン。 Redis のリスナーが SUBSCRIPTION:<uid> ハンドラを獲得しました。 新しい Billin...
サブは、アカウント管理者から分割されたサブメンバーを対象とする
サブスクリプションは、targetOrganizationId が作成する必要があります。(アカウント、市場、) target org は新しい独自性キーです。 AccountBillingMemberサービス AccountMemberService(アカウントレベルの管理者)に分割し、 サブスクリプション会員サービ...
パーサブメンバーからアカウントレベルの管理者を分割します。 サブス ゲイン target org
サブスクリプションメンバー(サブスクリプションライセンス+サブマネージャーフラグ)を追加して、 KamoCRM orgのアカウントは、複数のサブスクリプションを保持することができます, 各ターゲティング 別のサブ組織。 AccountMember は、アカウントレベルの管理者フラグのみを処理します。 (isAccoun...
アカウントグループ -> AccountTier; 顧客グループ ルート -> 顧客層
フロントエンドタイプとAPIは、共有lib +サービスに合わせて更新された呼び出し AccountGroup の名前を AccountTier に変更します。 「グループ」のネーミングが漏れていた 顧客セグメントドメイン(価格設定層) そして、左上課金グループコードのように読みます。 小売コンセプトは現在 "Tier"...
アカウントグループ -> AccountTier; エンドポイント /groups -> /tiers
口座グループエンドポイント(顧客セグメンテーション層、請求なし) "tier" 用語を一貫して使用するために全名前を変更しました 共有リブの名前: - /api/security/account/groups -> /api/security/account/tiers ディレクティブ メニュー -> /retail/...
アカウントグループ -> AccountTier(顧客セグメンテーション、請求なし)
小売顧客セグメントのエンティティティティ(割引率付き) ティアベースの価格設定のためのpriceList)は、今削除された名前で衝突 課金グループコンセプト 「Tier」に名前をつけ、その目的を 「グループ」の用語集を自発的に排除 アカウントパッケージ。 名前: - アカウントグループ -> アカウント・ティエ - ...
アカウント名BillingMember -> AccountMember; isGroupPlanManager -> isAccountManager
請求クライアントとPlansBillingTab を横断するタイプレベルの名前を変更します。 - AccountBillingMemberタイプ → 会員アカウント - isGroupPlanManager フラグ -> isAccountManager - グループマネージャーカウントフィールド → アカウントマネー...
Account.members を AccountMember 経由で使用し、名前を変更しますGroupPlanManager -> isAccountManager
このアカウントはグループです。そのため、すべての古い参照 AccountBillingMember のエンティティティティは、新しいジェネリックで指しています メニュー 組織。 「グループプランマネージャー」の許可フラグは、 "アカウントマネージャー" (ロールは同じです。 ほんの一部変更)。 影響される: - St...
ユーザ/masterAccountHolder をドロップし、Account.members + プライマリメンバーを使用します
AccountController は、Account-as-group モデルを反映しています。 - computeDisplayName / ExtractEmail / ExtractPhone は、 ドロップマスターの代わりにプライマリ(メンバー)アカウントホルダー - getCustomerDetail はア...
グループをアカウントにし、ユーザーセットをメンバーセット+アカウントメンバーに置き換える
口座自体は「グループ」です。別の請求グループはありません。 コンセプト 会員(org-scoped)は、アカウントに直接帰属します。 新しいAccountMemberが参加し、パーメンバーの許可フラグが実行されます 参加する アカウントを作成する最初のメンバーはプライマリメンバーになります。 アカウント.java: ...
メンバ言語 + default currency カラムを追加
新規をバックアップするメンバーテーブルに2つのNOT NULLカラムを追加 Member.language (VARCHAR DEFAULT 'English') と Member.defaultCurrency (VARCHAR(10) DEFAULT 'USD') フィールド。 既存の行がバックフィルされます デフ...
言語ステップ、国タイムゾーンピッカー、スクロール+ *の修正を追加
- 新しい「私の言語のステップは、国を映すウィザードに調製 ステップのレイアウト。 フラグタイルとして22のマーケティング支援局をリスト ネイティブネーム+英語ツールチップ、navigator.languagesから事前に選択します。 - 「私の国」のステップは、デフォルトで国と一緒にタイムゾーンを収集します ****...
ローカル設定カードに言語 + デフォルト通貨を追加
メンバープロファイルの地域設定カードが編集可能な言語を公開 (22 は、マーケティングサイトをミラーリングするローカルをサポート) および デフォルト通貨 (検索可能なオートコンプリート) 3つすべて一緒に保存 PUT /api/security/members/{id} です。 モードを見ると、ネイティブ言語名が表示...
パーシストメンバーの言語/タイムゾーン/通貨のサインアップ
/register エンドポイントは、言語、タイムゾーン、デフォルト通貨を受け付けます。 既存の国のフィールドと共に。 登録サービスセット 国 新規ユーザのタイムゾーンと、すべての4つの地域フィールドを適用する 新しく作成されたメンバーは、国の通貨からデフォルトの通貨を導きます 1 が供給されていない場合の主流マッピン...
BillingApi クライアントをアカウントベースエンドポイントに書き換える
billingApi は、***************************************************************************************************************************************************...
BillingService をアカウントベースのエンティティティに書き換える
BillingService はアカウント中心になっています。 メンバー主導のフロー(例: 「カードを追加」と「プランにサブスクリプション」は、アカウントを経由して行きます まだ存在していない場合、メンバーのために自動作成します。アカウント Stripe 顧客 ID、複数のカード、サブスクリプション、ライセンス、 請求...
BillingGroup からアカウントベースのライセンスに移動
EntitlementServiceは、AccountLicenseに対するメンバーの資格を解決します 会員の課金アカウントが保有するレコード。 会員資格 形状は、古いの代わりに、countUid + accountDisplayName を公開します。 ******************** ペア. Entitl...
BillingGroup から 請求元としてアカウントへの移行
口座は現在、単一のストライプ顧客プリンシパルです。 会員登録 支払い(例:サブスクリプション)は、アカウントを自動作成します。 その後、プライマリとして指定された1つ以上のカードを保持し、所有 すべてのサブスクリプション、ライセンス、請求書、および課金設定行。 スキーマの変更(Account.java): - str...
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 (...
オリエント ライブ レコード に アカウント アドレス プロフィール, スナップショット 履歴 アドレス
オリエントライブコマースレコードは、アカウントプロファイルのプライマリ配送/ビルリングを参照 レコードが歴史的になられたときだけ撮影されたスナップショットでアドレス。 ライブ(参照アカウント): - カート:すでにAccount.customerを参照しています。 DTOは今有効な船積みのアドレスをexposes *...
/account/new copy-from-lead UX, フルネームフィールド, デュアル電話, アドレス; アカウントレベルのアドレス管理
フロントエンド: - /account/new: セクションごとに「リードからコピー」ボタン+ヘッダ "Copy all from Lead"ボタン(リードId paramの場合) - 名前セクション:プレフィックス、最初、中間、最後、サフィックス - 二重電話(個人+仕事)と延長と「許可テキスト」トグル - EmbA...
ネストされた名前/メール/電話番号+アドレス管理エンドポイントをサポート
- AccountController は POST/PUT でネストされた名前/電子メール/phoneNumbers JSON を受け入れます - POST の初期アドレスは SHIPPING (および BILLING を useAsBillingToo セット) を作成しましたり、第一次ポインタを置きます - 5つ...
Account.java を embeddables に切り替え、 配送/請求リストに AccountAddress のエンティティティティを追加します
- AccountAddressType 列 (SHIPPING, BILLING) を追加 - AccountAddress のエンティティティ(アカウント FK、タイプ、ラベル、EmbAddress、タイムスタンプ)を追加します。 - Add AccountAddressRepository - Refactor ...
制作グレードの履歴+ボイスメールタブとメディアプレーヤーツール
歴史タブ(SoftphoneHistoryTab.tsx): - パネルのスクロールコンテナ内のIntersectionObserverを介して無限スクロール - フィルター チップ: すべて/インバウンド/アウトバウンド/逃された/記録される - イメージング側が記録行列を持っているときに行のアクションの記録アイコン...
レコード提供者向けマイグレーションランナー+ VMアーカイブカラム
RECORDINGS.provider instance id (UUID) とprovider external id (VARCHAR(64)) と、ソフトフォン履歴タブの一括検索エンドポイントで使用される複合idx recordings provider lookup インデックスを追加します。 また、新しいソ...
Persist プロバイダーInstanceId + プロバイダーExternalId で 摂取
新規の RecordingMetadata フィールドに、X-Phone-Server-Id と X-Asterisk-Unique-Id (UnprocessedRecording の読み込み) をスレッド化し、イメージングシステム内のコール/ボイスメール行が、ソースプロバイダの行に戻す。 ボイスメールの場合、ヘル...
HTTP レンジのサポートで **************** を追加
Kamo-internal MediaPlayer ツールによって使用されるオーディオ/ビデオイメージングアセットの一般的なストリーミングエンドポイント。 ImageServiceの許可(/download/... と同じ)を再利用しますが、Accept-Ranges + Content-Range でストリームを流す...
録音再生、ボイスメールアーカイブ、ボイスメール、履歴濃縮
- 新しい録音 一括検索、マスター+チャネル毎のトラックのレンジストリームオーディオ、メディア再生ツールウィンドウのメタデータを備えたコントローラー - CallController.getCallHistory / getVoicemailsは、新しいRecordingLookupServiceを介して撮像録画で各行...
録音、ボイスメールアーカイブ、MinoO範囲のストリーミングに関するプロバイダのルックアップキー
- 録音:providerInstanceId + ProviderExternalId を追加して、プロバイダの呼び出し履歴/ボイスメール行をイメージングアセットに戻します。 - PhoneVoicemail: isArchived + dateArchived をソフトフォンリストからソフトハイド用に追加 - Ro...
歴史パネルから冗長フィールド履歴のタイトルを削除
タブラベルはすでに文脈を伝えています。タイトルとサブタイトルは画面スペースを浪費していました。 リロードボタンはツールバーにインラインに移動しました.
レイアウトの支柱を取除き、メールボディの弾力を引き起こします
外の動き。 div の `layout` の prop は内部 AnimatePresence と戦った 高さ: 'auto' アニメーション、FLIP フィードバック ループをメールに作成 目に見えない高さ(画像、表).
履歴タブを追加 — 検索とフィルタを使用して監査タイムラインをペジネーション
- LeadHistoryPanel: バウンスされた検索で粘着フィルタツールバー、**********************************************************************************************************************...
GET /{id}/history と /{id}/history/filters エンドポイントを追加
バッチの俳優のローディング(N+1なし)と、パギン化、濾過、検索可能なリード履歴エンドポイント。 フィルタエンドポイントは、使用されるフィールド、すべてのレジストリフィールド、異なる俳優、およびすべてのイベントタイプを返します。 すべてのミューティングエンドポイントは、コールメンバーを俳優としてLeadHistoryS...
リード履歴の監査ログを追加 — 組織、レジストリ、サービス、DTO、LeadServiceのホック
- リード履歴エンティティティティ(UID PK、プレーンロングFK — リード削除/変換を可能にするFK制約なし) - LeadHistoryEventType 列挙型ラベル - LeadHistoryFieldRegistry:~55の追跡された鉛分野のための真実の単一の源;分野を加えることは1ラインです - Le...
