Add API endpoint to retrieve individual recipient-level engagement data (opens, clicks, bounces) for each campaign to enable comprehensive CRM integration and analytics. Proposed endpoint: GET /api/v1/campaigns/{campaignId}/recipients OR GET /api/v1/campaignRecipients?campaignId={id}&limit={limit}&offset={offset} --Why This is Important #Current Limitation: The existing /api/v1/campaignReports endpoint only provides aggregate statistics (total sent, opened, clicked), which limits our ability to: Sync individual contact engagement to our CRM (Zoho CRM) Track individual customer journey across multiple campaigns Build personalized follow-up workflows based on specific user behavior Calculate engagement scores at the contact level Create targeted segments based on individual engagement patterns #Business Use Cases: CRM Integration - Link campaign engagement to specific contacts/leads in CRM systems Lead Scoring - Calculate engagement scores based on individual open/click behavior Behavioral Segmentation - Create segments of highly engaged vs. unengaged recipients Personalized Follow-ups - Trigger automated workflows for users who clicked specific links Customer Journey Tracking - Build comprehensive timeline of each contact's email interactions Attribution Analysis - Track which campaigns drive specific user actions #Key Features Needed Pagination support (limit/offset) for campaigns with large recipient lists Date filtering (fromDate/toDate) to get recipients added within a time range Status filtering (delivered, bounced, opened, clicked) to query specific segments Individual timestamps for each action (sent, delivered, opened, clicked) Engagement counts (not just boolean flags) to track repeat opens/clicks Basic recipient data (email, name, custom fields if available) #Request Data Structure { "success": true, "data": { "campaignId": "abc123", "campaignName": "Summer Sale 2025", "recipients": [ { "email": " user@example.com ", "firstName": "John", "lastName": "Doe", "status": "delivered", "sentAt": "2025-10-22T10:30:00Z", "deliveredAt": "2025-10-22T10:31:00Z", "opened": true, "openCount": 3, "lastOpenedAt": "2025-10-23T14:20:00Z", "clicked": true, "clickCount": 2, "lastClickedAt": "2025-10-23T14:25:00Z", "bounced": false, "bounceReason": null, "unsubscribed": false, "complained": false } ], "pagination": { "total": 5000, "limit": 100, "offset": 0, "hasMore": true } } }