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