Orgのプロバイダ(P3)によるAI自動タグ+キャプション
素材AiController POST メニュー 所有権を検証し、 短命署名された素材の URL を mints し、AIService の内部ビジョンエンドポイント (org's) を呼び出す AiVisionClientによる独自のプロバイダー、LIGHT tier Lenient タグの解析; ビジョンがない場合...
MaterialAnalyticsController — レコードイベント + 集計
メニュー (record) + GET /analytics (per-material count) による type + org の合計.
MaterialReviewController — ステータスマップ + set-status
GET /api/media/materials/reviews (org-wide imgId→status map) + POST で材料のステータスを設定 (検証済み、査読者スタンピング、アップサート).
MaterialCampaignController — CRUD + アイテムマップ + 追加/削除
/api/media/materials/campaigns: list/create/update/delete, GET /items (org-wide imgId↔campaignId) map)、POST /add + /removeとorg-ownershipチェック.
MaterialTagController — タグCRUD + 割り当て/ナサイン + 割り当てマップ
/api/media/materials/tags: リスト/作成/削除 タグ, GET /assignments (org-wide imgId↔tagId) ワークスペースがクライアントサイドに加わるマップ、POST /assign + /unassign を org-ownership checks にマップしま...
管理されたパブリックリンクエンドポイント(create/list/revoke)+追跡されたサービス
MaterialShareLink がバックアップする POST/GET /api/media/materials/links と DELETE /links/{id} を追加します。 パブリック GET で管理されたトークンを最初から解決します(再発/公開およびバンキングのチェック) viewCount) は、レガシ...
Thumbnail のスケジュール生成された材料のプロセス
ヘッドレススイープは、コンバージョンサービスのOTKサムネイルパイプラインを駆動できないため、 エクスポート保存直後にimageIO経由でページ-0 PNGサムネイルを生成する — スケジュールされた材料は、必要に応じて埋め戻しは必要ありません.
スケジュールされた生成 — sweep は、アカデミーでレシピを実行します
- CanvaScheduleController: orgのスケジュールのCRUD (recipe + cadence + 1日 + オプションのソーシャルターゲット)、次の計算RunAt - キャンバス生成 サービス: ヘッドレス メニュー 素材(プロセス内イメージサービス、バックフィルまでサムネイルレス) - C...
保存されたオートフィルレシピCRUD(org-scoped)
CanvaRecipeController: GET/POST /api/media/canva/recipes + DELETE /{id} — save/list/soft-delete という名前のブランドテンプレート + フィールドマッピング、スコープ付き コールワーズ org.
エンタープライズオートフィル — データマージのブランドテンプレート
- CanvaApiClient:リストブランドテンプレート(dataset=non empty)、データセットを取得する アセット・アップ・ロードのジョブ、作成/ウィジェットの自動ジョブ - CanvaController: GET /brand-templates、GET /brand-templates/{id}...
マーケティングアセットの公開URLを短命署名
ソーシャルプロバイダー(Meta)とEメールがバインドされた特定の材料を受け取りましょう プライベートイメージング素材の Bucket を露出せずにウィンドウ。 - MaterialUrlSigner:HMAC-SHA256(platform.enc-key)トークン = imgId:orgId:exp、1h TTL...
Canvaにファイルを編集可能な設計としてインポートする
メニュー (バイナリ設計輸入) - CanvaController POST /imports (multipart) → create+poll インポートジョブ → エディタ correlation state とのディープリンク - CanvaOAuthController で Base64 のインポートを未使用...
Return-nav JWT 署名を検証します。 tidy トークンが更新されます
- CanvaJwtVerifier: correlation jwt's Ed25519シグネチャをに対して確認する CanvaのJWKS(/connect/keys)、およびaud/exp/type;子供によってキャッシュされるキー。 チェックが失敗すると、手動のインポートに閉じられなかった。 - CanvaTok...
インジェスト、保持/クォータ、貯蔵の使用法、要約のパイプラインを記録する
- MeetRecordingController:内部(X-Internal-Auth)は、jibriをエンドポイントします。 finalize.sh 投稿が録画を終了しました。 - MeetRecordingService: アップロードされた録音をパーオーガニ(ミージメット録画)に、 persists Meeti...
CanvaはOAuth +の設計/輸出バックエンドを接続します
- CanvaApiClient: PKCE の承認、トークン交換/返金/ユーザー、 デザイン(作成/リスト)、ジョブのエクスポート、バイトのフェッチ - CanvaTokenService:暗号化されたパーメンバートークン(PlatformSecretCipher)、 単一フライトのプロアクティブなリフレッシュ(Ca...
予定開始リマインダー+ゲストリンク
- MeetingReminderSweep:リアルタイムを発射する@Scheduledスイーパー "meeting start" 招待されたメンバーにリマインダーを呼び起こします(スタート - メモMinutesBefore) on**************** でミーティングのスケジュールを遷移 デュースに。 過...
会員/サポート/社会セッションを通じたチャット配信の統一
GET /api/media/sessions/chat は `categories` フィルター (chat) を受け付けています。 サポート、社会;デフォルトすべて)、および1つのグローバルに最も有効な優先順位を戻して下さい、 特定のクエリをマージします。 各行は運びます: - sessionType(CHAT|S...
サーフェスの親オーガニ共有トピックは、サポートポップアップでリクエスト
Child-org のユーザーは、親 org の共有サポート トピックが表示されない サポートを要求する場合(assignToOwnOrg=false)、ポップアップのみ 独自のトピックを取得しました。 GET /api/support/topics/available (own +) を追加 親共有、MANAGE S...
Org-guard /topic/leads/rt/{orgId} リアルタイムサブスクリプション
クロステナントSUBSCRIBEは、新しいリードリアルタイムのトピックを監視し、 既存の /topic/social/feed ガード: 会員は、会員のみに加入することができます orgのリードストリーム。 既存の************************は既に リレーsecurity.leads.rt.* を ...
統一されたタイムラインのバックエンド(フィードの永続性、アダプター、ライブ中継)
SocialFeedServiceは、MediaSession/MediaObjスキーマに投稿/コメントを主張します (チャットモデルを使用)。SocialFeedMapper は、ワイヤ DTO をビルドします。 結合された供給+の機能および複数のproviderのコンポース ファンアウト、応答、反応、 削除します。...
X(Twitter)+Discordアダプタ
- XAdapter:アカウントアクティビティのwebhook(CRCチャレンジ+ x-twitter-webhooks-signature HMAC検証)、 normalizeInbound(direct message events、echo-skip)、OAuth 1.0a-signed v2 DM send; ...
メタ OAuth は、プラットフォーム OAuth レジストリ (+ env から boot-seed) から app id/secret/verify-token を読み込みます
M4メタアダプター+ OAuth + 24hウィンドウ+ M2硬化
- メタアダプター(Messenger/Instagram): 無効な caption の送信を修正(キャプションは現在フォローアップ) メッセージ)、グラフ添付ファイルアップロードAPIによるバイトアップロード、メタグラフクリエントでのURIエンコード修正 - Telegram のアダプター: 出力イメージのための...
リレークレジット/リードアサインNATSイベントをSTOMPへ
Security.leads.> とsecurity.credits.> を購読し、それぞれ /topic/ をミラーリングします。 CRMのフロントエンドは、リード・アベイラブル・グリッドを更新します, 管理クレジット・フィールド, そして、歴史が生きます. パイルをきれいに(mvn).
Add GET /sessions/{guid}/members endpoint with display-name priority
Returns member list with name resolved via usernameAlias → fullName → alias → username, matching the same priority as the chat sessions list. This feeds ChatBox...
Paged chat list with previews, members, unread counts
that returns ChatListRowDto rows including last message preview, member summaries, per-session unread counts, and ownLastViewedAt.
Imaging proxy with HTTP Range support and per-member download tracking
On-demand translation for chat and support messages
Captures the source language for every chat / support message and adds an optional ?lang=XX param on the message-fetch endpoints plus a per-message POST /transl...
エージェントの読み込みと訪問者の送信で配信停止数+未読
-************************ に委任されました *****************************************************************************************************************************...
SockJS と一緒に /ws/public-chat-native plain WebSocket エンドポイントを追加
/ws/public-chat-nativeでSockJSなしで2番目のSTOMPエンドポイントを登録する フロントエンドは、必要に応じてネイティブWebSocket(brokerURL)と接続できます sockjs-client ライブラリは、アンロードハンドラを登録し、 サイトマップ 元の /ws/public-c...
訪問者メッセージのエージェントに未読のカウントをブロードキャスト
訪問者がサポートメッセージを送信した後、最新の未読アカウントを押します ****************************************************************************************************************************...
訪問者の地探査で都市とサブディビジョンを公開
- 都市とサブディビジョンフィールドでジオ結果レコードを拡張する - スイッチサポートTicketService.toDTO()を使用してGeoLookupService(IPレベル 参照) 国のみのジオロケーションリポジトリではなく、都市や サブディビジョンは、マッチングGeoLiteブロックからポップアップします
訪問者のフラグとサポートチケットヘッダの場所を表示
- PublicChatVisitorRepository と GeoLiteLocationRepository を SupportTicketService に注入する - 訪問者をポップアップ表示するIpAddress、VisitorCountryCode、toDTO()のVisitorCountryNameは、...
STOMP/NATS 経由でエンドツーエンドのパブリックチャットをリアルタイムに修正
- PublicChatWebSocketInterceptorから内部Auth要件を削除 訪問者はセッショントークンのみで直接接続できます - 訪問者の displayName を ChatMessageDto の senderName に含めて下さい チケットチャットでメッセージングしている人を見る - NATSサ...
Live pending support ticket count via NATS — notify org owner on new tickets, add pending-count REST endpoint
Add conversion progress NATS-to-STOMP relay
Relays document conversion progress from NATS to WebSocket clients. Supports both imgId-based and member-based topic routing for real-time progress updates duri...
Enforce minimum advance booking when filtering available slots
Filters out slots that fall within the configured minAdvanceBookingMinutes window, and persists the field on create/update of webinar types.
Implement webinar scheduling backend with full business logic
Adds the core webinar scheduling system to MediaService: - WebinarService: CRUD for **************** presenter assignment **************** calendar conflict ...
Add ***-authenticated API key management endpoints for public chat
Adds /api/media/public-chat-keys CRUD endpoints for managing PublicChatApiKey shown once at creation. Uses same *** auth pattern as SupportController.
Add public chat support endpoints with anonymous visitor sessions and WebSocket auth
Adds REST endpoints for public chat session creation, messaging, and visitor management. Includes PublicChatWebSocketInterceptor for token-based WebSocket auth ...