Ver Fonte

fix: track session_start and resolved_by_agent analytics events

startSession never emitted a session_start event, causing Analytics to
show 0 total sessions despite active conversations. updateStatus now
emits resolved_by_agent or escalated events when status changes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Tony T há 5 dias atrás
pai
commit
502de9a3bd
1 ficheiros alterados com 15 adições e 1 exclusões
  1. 15 1
      server/routers.ts

+ 15 - 1
server/routers.ts

@@ -254,6 +254,11 @@ export const appRouter = router({
             quickReplies: ["🔥 Hot Deals", "📦 Order Status", "🛋️ Product Catalog"],
           },
         });
+        trackAnalyticsEvent({
+          conversationId: conversation.id,
+          sessionId,
+          eventType: "session_start",
+        }).catch(() => {});
         return { sessionId, conversationId: conversation.id };
       }),
 
@@ -604,7 +609,16 @@ export const appRouter = router({
         status: z.enum(["active", "escalated", "resolved", "closed"]),
       }))
       .mutation(async ({ input, ctx }) => {
-        return updateConversationStatus(input.conversationId, input.status, ctx.user.id);
+        const conv = await updateConversationStatus(input.conversationId, input.status, ctx.user.id);
+        if (input.status === "resolved" || input.status === "escalated") {
+          const eventType = input.status === "resolved" ? "resolved_by_agent" : "escalated";
+          trackAnalyticsEvent({
+            conversationId: input.conversationId,
+            sessionId: conv?.sessionId ?? undefined,
+            eventType: eventType as any,
+          }).catch(() => {});
+        }
+        return conv;
       }),
 
     /** Bulk update conversation status */