From e7785c9b2d740fd43179dd608d3d89b8b494b9e8 Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Tue, 30 Jun 2026 21:59:00 +0300 Subject: [PATCH] Log FCM errors in debug_info when push notification fails --- backend/Admin/marketing/trigger_campaign.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/backend/Admin/marketing/trigger_campaign.php b/backend/Admin/marketing/trigger_campaign.php index 75668832..2427866e 100644 --- a/backend/Admin/marketing/trigger_campaign.php +++ b/backend/Admin/marketing/trigger_campaign.php @@ -100,6 +100,7 @@ try { $sentSms = 0; $sentWhatsApp = 0; $dispatchedPassengers = []; + $fcmErrors = []; // 6. Save broadcast promo for this campaign (Option 1 - promos table adjustment) $sqlPromo = "INSERT INTO promos @@ -157,8 +158,14 @@ try { $logStmt->execute([$passengerId, $countryCode, $regionName]); $dispatchedPassengers[] = $passengerId; $pushSent = true; + } else { + $fcmErrors[] = ['passenger_id' => $passengerId, 'error' => $fcmResult]; } + } else { + $fcmErrors[] = ['passenger_id' => $passengerId, 'error' => 'Token decryption failed']; } + } else { + $fcmErrors[] = ['passenger_id' => $passengerId, 'error' => 'No token in DB']; } if (!$pushSent) { @@ -224,7 +231,8 @@ try { 'requested_country' => $countryCode, 'total_passengers_in_db' => count($allPassengers), 'matched_targets' => count($targets), - 'distribution' => $debugCounts + 'distribution' => $debugCounts, + 'fcm_errors' => $fcmErrors ?? [] ] ]);