[2025-08-04 13:55:28] === Vào send_fcm_v1.php === [2025-08-04 13:55:28] Dữ liệu POST: thoId=tho_phuongnuoc | message=Hello từ curl test [2025-08-04 13:55:28] ➡️ Gọi Firestore để lấy deviceToken cho tho_phuongnuoc [2025-08-04 13:55:28] 🔐 Lấy access token từ service_account.json [2025-08-04 13:55:28] ✅ Access token lấy thành công [2025-08-04 13:55:28] 📥 Firestore response: HTTP 404 [2025-08-04 13:55:28] ❌ Không tìm thấy deviceToken cho tho_phuongnuoc [2025-08-04 14:19:50] === Vào send_fcm_v1.php === [2025-08-04 14:19:50] Dữ liệu POST: thoId=thaonuoc | message=mai có mua kỷ tử không chị [2025-08-04 14:19:50] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-04 14:19:50] 🔐 Lấy access token từ service_account.json [2025-08-04 14:19:50] ✅ Access token lấy thành công [2025-08-04 14:19:51] 📥 Firestore response: HTTP 200 [2025-08-04 14:19:51] ➡️ Gửi FCM đến duSupGiZS6CK4DAn4SGr1F:APA91bGE_7A9KvdYKAvOi-U-E20fTHodMl0nkcxp_ZTztW9Lr5sAaHRP3CVLpAtneW-abwnQZjS9vd79zs0KvdUC92UNuxSzyXu_zLtJgmOjCsSQBYXw9I4 [2025-08-04 14:19:51] 🔐 Lấy access token từ service_account.json [2025-08-04 14:19:51] ✅ Access token lấy thành công [2025-08-04 14:19:51] 📤 FCM response HTTP 200 [2025-08-04 14:19:51] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-04 14:39:11] === Vào send_fcm_v1.php === [2025-08-04 14:39:11] Dữ liệu POST: thoId=thaonuoc | message=em là phương đây [2025-08-04 14:39:11] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-04 14:39:11] 🔐 Lấy access token từ service_account.json [2025-08-04 14:39:11] ✅ Access token lấy thành công [2025-08-04 14:39:11] 📥 Firestore response: HTTP 200 [2025-08-04 14:39:11] ➡️ Gửi FCM đến duSupGiZS6CK4DAn4SGr1F:APA91bGE_7A9KvdYKAvOi-U-E20fTHodMl0nkcxp_ZTztW9Lr5sAaHRP3CVLpAtneW-abwnQZjS9vd79zs0KvdUC92UNuxSzyXu_zLtJgmOjCsSQBYXw9I4 [2025-08-04 14:39:11] 🔐 Lấy access token từ service_account.json [2025-08-04 14:39:11] ✅ Access token lấy thành công [2025-08-04 14:39:12] 📤 FCM response HTTP 200 [2025-08-04 14:39:12] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-04 14:39:17] === Vào send_fcm_v1.php === [2025-08-04 14:39:17] Dữ liệu POST: thoId=thaonuoc | message=mai em về [2025-08-04 14:39:17] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-04 14:39:17] 🔐 Lấy access token từ service_account.json [2025-08-04 14:39:17] ✅ Access token lấy thành công [2025-08-04 14:39:17] 📥 Firestore response: HTTP 200 [2025-08-04 14:39:17] ➡️ Gửi FCM đến duSupGiZS6CK4DAn4SGr1F:APA91bGE_7A9KvdYKAvOi-U-E20fTHodMl0nkcxp_ZTztW9Lr5sAaHRP3CVLpAtneW-abwnQZjS9vd79zs0KvdUC92UNuxSzyXu_zLtJgmOjCsSQBYXw9I4 [2025-08-04 14:39:17] 🔐 Lấy access token từ service_account.json [2025-08-04 14:39:17] ✅ Access token lấy thành công [2025-08-04 14:39:18] 📤 FCM response HTTP 200 [2025-08-04 14:39:18] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-04 14:39:28] === Vào send_fcm_v1.php === [2025-08-04 14:39:28] Dữ liệu POST: thoId=thaonuoc | message=chị có cần mua gì không? [2025-08-04 14:39:28] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-04 14:39:28] 🔐 Lấy access token từ service_account.json [2025-08-04 14:39:28] ✅ Access token lấy thành công [2025-08-04 14:39:28] 📥 Firestore response: HTTP 200 [2025-08-04 14:39:28] ➡️ Gửi FCM đến duSupGiZS6CK4DAn4SGr1F:APA91bGE_7A9KvdYKAvOi-U-E20fTHodMl0nkcxp_ZTztW9Lr5sAaHRP3CVLpAtneW-abwnQZjS9vd79zs0KvdUC92UNuxSzyXu_zLtJgmOjCsSQBYXw9I4 [2025-08-04 14:39:28] 🔐 Lấy access token từ service_account.json [2025-08-04 14:39:28] ✅ Access token lấy thành công [2025-08-04 14:39:28] 📤 FCM response HTTP 200 [2025-08-04 14:39:28] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-04 14:40:00] === Vào send_fcm_v1.php === [2025-08-04 14:40:00] Dữ liệu POST: thoId=phuongnuoc | message=mua cho chị 2 lạng kỷ tử [2025-08-04 14:40:00] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-04 14:40:00] 🔐 Lấy access token từ service_account.json [2025-08-04 14:40:01] ✅ Access token lấy thành công [2025-08-04 14:40:01] 📥 Firestore response: HTTP 200 [2025-08-04 14:40:01] ➡️ Gửi FCM đến f53WKrKbSU2zSxAAabEVv7:APA91bEQddgs-DgRgFSPfQ10i-UIBCH6-3uOvpQSPLgan6hiufpsD3lf9TZYcxn7mJYYuwNV4s9MWLmJotIe1HYmkRBLizRalIEsJDJbk3T28CPeASJ9_qg [2025-08-04 14:40:01] 🔐 Lấy access token từ service_account.json [2025-08-04 14:40:01] ✅ Access token lấy thành công [2025-08-04 14:40:01] 📤 FCM response HTTP 200 [2025-08-04 14:40:01] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-04 14:40:09] === Vào send_fcm_v1.php === [2025-08-04 14:40:09] Dữ liệu POST: thoId=phuongnuoc | message=2 lạng táo đỏ [2025-08-04 14:40:09] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-04 14:40:09] 🔐 Lấy access token từ service_account.json [2025-08-04 14:40:09] ✅ Access token lấy thành công [2025-08-04 14:40:09] 📥 Firestore response: HTTP 200 [2025-08-04 14:40:09] ➡️ Gửi FCM đến f53WKrKbSU2zSxAAabEVv7:APA91bEQddgs-DgRgFSPfQ10i-UIBCH6-3uOvpQSPLgan6hiufpsD3lf9TZYcxn7mJYYuwNV4s9MWLmJotIe1HYmkRBLizRalIEsJDJbk3T28CPeASJ9_qg [2025-08-04 14:40:09] 🔐 Lấy access token từ service_account.json [2025-08-04 14:40:09] ✅ Access token lấy thành công [2025-08-04 14:40:09] 📤 FCM response HTTP 200 [2025-08-04 14:40:09] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-04 15:45:16] === Vào send_fcm_v1.php === [2025-08-04 15:45:16] Dữ liệu POST: thoId=phuongnuoc | message=tôi cần thay mới bóng điện [2025-08-04 15:45:16] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-04 15:45:16] 🔐 Lấy access token từ service_account.json [2025-08-04 15:45:16] ✅ Access token lấy thành công [2025-08-04 15:45:16] 📥 Firestore response: HTTP 200 [2025-08-04 15:45:16] ❌ Không tìm thấy deviceToken cho phuongnuoc [2025-08-04 15:46:55] === Vào send_fcm_v1.php === [2025-08-04 15:46:55] Dữ liệu POST: thoId=phuongnuoc | message=phuongnuoc đó phải không? [2025-08-04 15:46:55] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-04 15:46:55] 🔐 Lấy access token từ service_account.json [2025-08-04 15:46:56] ✅ Access token lấy thành công [2025-08-04 15:46:56] 📥 Firestore response: HTTP 200 [2025-08-04 15:46:56] ❌ Không tìm thấy deviceToken cho phuongnuoc [2025-08-04 15:48:45] === Vào send_fcm_v1.php === [2025-08-04 15:48:45] Dữ liệu POST: thoId=phuongnuoc | message=sao không trả lời tôi [2025-08-04 15:48:45] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-04 15:48:45] 🔐 Lấy access token từ service_account.json [2025-08-04 15:48:45] ✅ Access token lấy thành công [2025-08-04 15:48:46] 📥 Firestore response: HTTP 200 [2025-08-04 15:48:46] ➡️ Gửi FCM đến f53WKrKbSU2zSxAAabEVv7:APA91bEQddgs-DgRgFSPfQ10i-UIBCH6-3uOvpQSPLgan6hiufpsD3lf9TZYcxn7mJYYuwNV4s9MWLmJotIe1HYmkRBLizRalIEsJDJbk3T28CPeASJ9_qg [2025-08-04 15:48:46] 🔐 Lấy access token từ service_account.json [2025-08-04 15:48:46] ✅ Access token lấy thành công [2025-08-04 15:48:46] 📤 FCM response HTTP 200 [2025-08-04 15:48:46] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-04 16:51:23] === Vào send_fcm_v1.php === [2025-08-04 16:51:23] Dữ liệu POST: thoId=linhxay | message=Em có đợi đi tập về rồi đi ăn không [2025-08-04 16:51:23] ➡️ Gọi Firestore để lấy deviceToken cho linhxay [2025-08-04 16:51:23] 🔐 Lấy access token từ service_account.json [2025-08-04 16:51:24] ✅ Access token lấy thành công [2025-08-04 16:51:24] 📥 Firestore response: HTTP 200 [2025-08-04 16:51:24] ➡️ Gửi FCM đến d4mw1j98jE_gnXpaKVedOw:APA91bF9y9Qx4lObhEuvCWbEP2z0ZRgaq-LoUkuOx1ArdgbzmmSkkw3uRis8Z8NeJBXNj34YufyZa27tIgIxYviZzFJ5_KI4AUbFGvTHWQgHlK-Frthv7yY [2025-08-04 16:51:24] 🔐 Lấy access token từ service_account.json [2025-08-04 16:51:24] ✅ Access token lấy thành công [2025-08-04 16:51:24] 📤 FCM response HTTP 200 [2025-08-04 16:51:24] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-04 16:52:11] === Vào send_fcm_v1.php === [2025-08-04 16:52:11] Dữ liệu POST: thoId=phuongnuoc | message=OK vậy đi [2025-08-04 16:52:11] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-04 16:52:11] 🔐 Lấy access token từ service_account.json [2025-08-04 16:52:11] ✅ Access token lấy thành công [2025-08-04 16:52:11] 📥 Firestore response: HTTP 200 [2025-08-04 16:52:11] ➡️ Gửi FCM đến f53WKrKbSU2zSxAAabEVv7:APA91bEQddgs-DgRgFSPfQ10i-UIBCH6-3uOvpQSPLgan6hiufpsD3lf9TZYcxn7mJYYuwNV4s9MWLmJotIe1HYmkRBLizRalIEsJDJbk3T28CPeASJ9_qg [2025-08-04 16:52:11] 🔐 Lấy access token từ service_account.json [2025-08-04 16:52:11] ✅ Access token lấy thành công [2025-08-04 16:52:11] 📤 FCM response HTTP 200 [2025-08-04 16:52:11] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-04 16:52:27] === Vào send_fcm_v1.php === [2025-08-04 16:52:27] Dữ liệu POST: thoId=linhxay | message=6h á nha [2025-08-04 16:52:27] ➡️ Gọi Firestore để lấy deviceToken cho linhxay [2025-08-04 16:52:27] 🔐 Lấy access token từ service_account.json [2025-08-04 16:52:27] ✅ Access token lấy thành công [2025-08-04 16:52:27] 📥 Firestore response: HTTP 200 [2025-08-04 16:52:27] ➡️ Gửi FCM đến d4mw1j98jE_gnXpaKVedOw:APA91bF9y9Qx4lObhEuvCWbEP2z0ZRgaq-LoUkuOx1ArdgbzmmSkkw3uRis8Z8NeJBXNj34YufyZa27tIgIxYviZzFJ5_KI4AUbFGvTHWQgHlK-Frthv7yY [2025-08-04 16:52:27] 🔐 Lấy access token từ service_account.json [2025-08-04 16:52:27] ✅ Access token lấy thành công [2025-08-04 16:52:28] 📤 FCM response HTTP 200 [2025-08-04 16:52:28] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-04 16:53:50] === Vào send_fcm_v1.php === [2025-08-04 16:53:50] Dữ liệu POST: thoId=linhxay | message=tối đi ngủ sớm đi [2025-08-04 16:53:50] ➡️ Gọi Firestore để lấy deviceToken cho linhxay [2025-08-04 16:53:50] 🔐 Lấy access token từ service_account.json [2025-08-04 16:53:50] ✅ Access token lấy thành công [2025-08-04 16:53:50] 📥 Firestore response: HTTP 200 [2025-08-04 16:53:50] ➡️ Gửi FCM đến d4mw1j98jE_gnXpaKVedOw:APA91bF9y9Qx4lObhEuvCWbEP2z0ZRgaq-LoUkuOx1ArdgbzmmSkkw3uRis8Z8NeJBXNj34YufyZa27tIgIxYviZzFJ5_KI4AUbFGvTHWQgHlK-Frthv7yY [2025-08-04 16:53:50] 🔐 Lấy access token từ service_account.json [2025-08-04 16:53:51] ✅ Access token lấy thành công [2025-08-04 16:53:51] 📤 FCM response HTTP 200 [2025-08-04 16:53:51] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-04 16:54:20] === Vào send_fcm_v1.php === [2025-08-04 16:54:20] Dữ liệu POST: thoId=linhxay | message=cho da nó đẹp [2025-08-04 16:54:20] ➡️ Gọi Firestore để lấy deviceToken cho linhxay [2025-08-04 16:54:20] 🔐 Lấy access token từ service_account.json [2025-08-04 16:54:20] ✅ Access token lấy thành công [2025-08-04 16:54:21] 📥 Firestore response: HTTP 200 [2025-08-04 16:54:21] ➡️ Gửi FCM đến d4mw1j98jE_gnXpaKVedOw:APA91bF9y9Qx4lObhEuvCWbEP2z0ZRgaq-LoUkuOx1ArdgbzmmSkkw3uRis8Z8NeJBXNj34YufyZa27tIgIxYviZzFJ5_KI4AUbFGvTHWQgHlK-Frthv7yY [2025-08-04 16:54:21] 🔐 Lấy access token từ service_account.json [2025-08-04 16:54:21] ✅ Access token lấy thành công [2025-08-04 16:54:21] 📤 FCM response HTTP 200 [2025-08-04 16:54:21] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 06:11:11] === Vào send_fcm_v1.php === [2025-08-05 06:11:11] Dữ liệu POST: thoId=linhxay | message=mai cafe không [2025-08-05 06:11:11] ➡️ Gọi Firestore để lấy deviceToken cho linhxay [2025-08-05 06:11:11] 🔐 Lấy access token từ service_account.json [2025-08-05 06:11:11] ✅ Access token lấy thành công [2025-08-05 06:11:11] 📥 Firestore response: HTTP 200 [2025-08-05 06:11:11] ➡️ Gửi FCM đến c76spqtpbUmJu6xZsHvGnE:APA91bEWE4r6aqCmd15G2Ow7agzbCqA5BasUHDvQDyLqto4EohSXMC_70wou_SY1_f-NcnAlin6yaPbIp0kT7BqL8OQPiMnIUKeg0EmHT7OCOuMtrlbwlto [2025-08-05 06:11:11] 🔐 Lấy access token từ service_account.json [2025-08-05 06:11:12] ✅ Access token lấy thành công [2025-08-05 06:11:12] 📤 FCM response HTTP 200 [2025-08-05 06:11:12] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 06:12:31] === Vào send_fcm_v1.php === [2025-08-05 06:12:31] Dữ liệu POST: thoId=phuongnuoc | message=ok a yêu [2025-08-05 06:12:31] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-05 06:12:31] 🔐 Lấy access token từ service_account.json [2025-08-05 06:12:32] ✅ Access token lấy thành công [2025-08-05 06:12:32] 📥 Firestore response: HTTP 200 [2025-08-05 06:12:32] ➡️ Gửi FCM đến c59qf85lS56_MJPQIxL6pQ:APA91bGjDZH6JxD9ssm9nDznk5P7C675_7PBupHUTTSL4nqK0gVj72zPQz1QLsdN5APH0rPmo2j_ckF4SdxUVyoXcqRd8Fpl_1DCC2Cz38GdRIzUcBJeEpQ [2025-08-05 06:12:32] 🔐 Lấy access token từ service_account.json [2025-08-05 06:12:32] ✅ Access token lấy thành công [2025-08-05 06:12:32] 📤 FCM response HTTP 200 [2025-08-05 06:12:32] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 08:17:13] === Vào send_fcm_v1.php === [2025-08-05 08:17:13] Dữ liệu POST: thoId=ngochan | message=mày có ở đó không [2025-08-05 08:17:13] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-05 08:17:13] 🔐 Lấy access token từ service_account.json [2025-08-05 08:17:13] ✅ Access token lấy thành công [2025-08-05 08:17:14] 📥 Firestore response: HTTP 200 [2025-08-05 08:17:14] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-05 08:17:14] 🔐 Lấy access token từ service_account.json [2025-08-05 08:17:14] ✅ Access token lấy thành công [2025-08-05 08:17:14] 📤 FCM response HTTP 200 [2025-08-05 08:17:14] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 08:17:42] === Vào send_fcm_v1.php === [2025-08-05 08:17:42] Dữ liệu POST: thoId=ngochan | message=alo [2025-08-05 08:17:42] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-05 08:17:42] 🔐 Lấy access token từ service_account.json [2025-08-05 08:17:42] ✅ Access token lấy thành công [2025-08-05 08:17:42] 📥 Firestore response: HTTP 200 [2025-08-05 08:17:42] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-05 08:17:42] 🔐 Lấy access token từ service_account.json [2025-08-05 08:17:43] ✅ Access token lấy thành công [2025-08-05 08:17:43] 📤 FCM response HTTP 200 [2025-08-05 08:17:43] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 08:18:36] === Vào send_fcm_v1.php === [2025-08-05 08:18:36] Dữ liệu POST: thoId=thaonuoc | message=có OK [2025-08-05 08:18:36] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 08:18:36] 🔐 Lấy access token từ service_account.json [2025-08-05 08:18:36] ✅ Access token lấy thành công [2025-08-05 08:18:36] 📥 Firestore response: HTTP 200 [2025-08-05 08:18:36] ➡️ Gửi FCM đến efSKS63y8EoYl2DNZBqiD6:APA91bFy9rSGKA7jFfgU-fQzyHVKOYdRljSg0dSnT5rv3eS1vt-mc0xedb39yWDE_dqKdxuFFxaHPq_7Vklqq8m5AJ8FhIW7p042yDccTbucpb-S35UmrUc [2025-08-05 08:18:36] 🔐 Lấy access token từ service_account.json [2025-08-05 08:18:36] ✅ Access token lấy thành công [2025-08-05 08:18:37] 📤 FCM response HTTP 200 [2025-08-05 08:18:37] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 08:19:54] === Vào send_fcm_v1.php === [2025-08-05 08:19:54] Dữ liệu POST: thoId=ngochan | message=mai cafe [2025-08-05 08:19:54] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-05 08:19:54] 🔐 Lấy access token từ service_account.json [2025-08-05 08:19:54] ✅ Access token lấy thành công [2025-08-05 08:19:54] 📥 Firestore response: HTTP 200 [2025-08-05 08:19:54] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-05 08:19:54] 🔐 Lấy access token từ service_account.json [2025-08-05 08:19:54] ✅ Access token lấy thành công [2025-08-05 08:19:55] 📤 FCM response HTTP 200 [2025-08-05 08:19:55] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 08:22:05] === Vào send_fcm_v1.php === [2025-08-05 08:22:05] Dữ liệu POST: thoId=ngochan | message=all [2025-08-05 08:22:05] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-05 08:22:05] 🔐 Lấy access token từ service_account.json [2025-08-05 08:22:05] ✅ Access token lấy thành công [2025-08-05 08:22:05] 📥 Firestore response: HTTP 200 [2025-08-05 08:22:05] ❌ Không tìm thấy deviceToken cho ngochan [2025-08-05 09:01:11] === Vào send_fcm_v1.php === [2025-08-05 09:01:11] Dữ liệu POST: thoId=hohaiau | message=cần thợ sửa nước [2025-08-05 09:01:11] ➡️ Gọi Firestore để lấy deviceToken cho hohaiau [2025-08-05 09:01:11] 🔐 Lấy access token từ service_account.json [2025-08-05 09:01:11] ✅ Access token lấy thành công [2025-08-05 09:01:11] 📥 Firestore response: HTTP 200 [2025-08-05 09:01:11] ❌ Không tìm thấy deviceToken cho hohaiau [2025-08-05 09:01:49] === Vào send_fcm_v1.php === [2025-08-05 09:01:49] Dữ liệu POST: thoId=anhoa | message=cần thợ sửa ống nước [2025-08-05 09:01:49] ➡️ Gọi Firestore để lấy deviceToken cho anhoa [2025-08-05 09:01:49] 🔐 Lấy access token từ service_account.json [2025-08-05 09:01:50] ✅ Access token lấy thành công [2025-08-05 09:01:50] 📥 Firestore response: HTTP 200 [2025-08-05 09:01:50] ❌ Không tìm thấy deviceToken cho anhoa [2025-08-05 15:17:59] === Vào send_fcm_v1.php === [2025-08-05 15:17:59] Dữ liệu POST: thoId=thaonuoc | message=mai đến mua kỷ tử nha [2025-08-05 15:17:59] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 15:17:59] 🔐 Lấy access token từ service_account.json [2025-08-05 15:17:59] ✅ Access token lấy thành công [2025-08-05 15:17:59] 📥 Firestore response: HTTP 200 [2025-08-05 15:17:59] ➡️ Gửi FCM đến fte8vWRqk0Hdql-scdcFc-:APA91bF2b1HTogfoktX9kQMyDxBkv7VF178G4PiRULdvAGQl7IEx9ElCVYBLriJawALzvXnMrvax8nJ4ObPaPDM5P37lO5FkkvbjN4vMMC1cIUr6dbTxYD0 [2025-08-05 15:17:59] 🔐 Lấy access token từ service_account.json [2025-08-05 15:17:59] ✅ Access token lấy thành công [2025-08-05 15:17:59] 📤 FCM response HTTP 200 [2025-08-05 15:17:59] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 15:22:01] === Vào send_fcm_v1.php === [2025-08-05 15:22:01] Dữ liệu POST: thoId=linhxay | message=có rảnh không, Café [2025-08-05 15:22:01] ➡️ Gọi Firestore để lấy deviceToken cho linhxay [2025-08-05 15:22:01] 🔐 Lấy access token từ service_account.json [2025-08-05 15:22:02] ✅ Access token lấy thành công [2025-08-05 15:22:02] 📥 Firestore response: HTTP 200 [2025-08-05 15:22:02] ➡️ Gửi FCM đến c59qf85lS56_MJPQIxL6pQ:APA91bGjDZH6JxD9ssm9nDznk5P7C675_7PBupHUTTSL4nqK0gVj72zPQz1QLsdN5APH0rPmo2j_ckF4SdxUVyoXcqRd8Fpl_1DCC2Cz38GdRIzUcBJeEpQ [2025-08-05 15:22:02] 🔐 Lấy access token từ service_account.json [2025-08-05 15:22:02] ✅ Access token lấy thành công [2025-08-05 15:22:02] 📤 FCM response HTTP 200 [2025-08-05 15:22:02] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 15:39:50] === Vào send_fcm_v1.php === [2025-08-05 15:39:50] Dữ liệu POST: thoId=linhxay | message=mai nấu canh chua nha [2025-08-05 15:39:50] ➡️ Gọi Firestore để lấy deviceToken cho linhxay [2025-08-05 15:39:50] 🔐 Lấy access token từ service_account.json [2025-08-05 15:39:50] ✅ Access token lấy thành công [2025-08-05 15:39:50] 📥 Firestore response: HTTP 200 [2025-08-05 15:39:50] ❌ Không tìm thấy deviceToken cho linhxay [2025-08-05 15:40:45] === Vào send_fcm_v1.php === [2025-08-05 15:40:45] Dữ liệu POST: thoId=linhxay | message=sao không thấy trả lời [2025-08-05 15:40:45] ➡️ Gọi Firestore để lấy deviceToken cho linhxay [2025-08-05 15:40:45] 🔐 Lấy access token từ service_account.json [2025-08-05 15:40:45] ✅ Access token lấy thành công [2025-08-05 15:40:45] 📥 Firestore response: HTTP 200 [2025-08-05 15:40:45] ❌ Không tìm thấy deviceToken cho linhxay [2025-08-05 15:42:32] === Vào send_fcm_v1.php === [2025-08-05 15:42:32] Dữ liệu POST: thoId=linhxay | message=chiều đi ăn ốc nha [2025-08-05 15:42:32] ➡️ Gọi Firestore để lấy deviceToken cho linhxay [2025-08-05 15:42:32] 🔐 Lấy access token từ service_account.json [2025-08-05 15:42:32] ✅ Access token lấy thành công [2025-08-05 15:42:32] 📥 Firestore response: HTTP 200 [2025-08-05 15:42:32] ❌ Không tìm thấy deviceToken cho linhxay [2025-08-05 15:44:27] === Vào send_fcm_v1.php === [2025-08-05 15:44:27] Dữ liệu POST: thoId=phuongnuoc | message=OK 6h [2025-08-05 15:44:27] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-05 15:44:27] 🔐 Lấy access token từ service_account.json [2025-08-05 15:44:27] ✅ Access token lấy thành công [2025-08-05 15:44:27] 📥 Firestore response: HTTP 200 [2025-08-05 15:44:27] ➡️ Gửi FCM đến c59qf85lS56_MJPQIxL6pQ:APA91bGjDZH6JxD9ssm9nDznk5P7C675_7PBupHUTTSL4nqK0gVj72zPQz1QLsdN5APH0rPmo2j_ckF4SdxUVyoXcqRd8Fpl_1DCC2Cz38GdRIzUcBJeEpQ [2025-08-05 15:44:27] 🔐 Lấy access token từ service_account.json [2025-08-05 15:44:27] ✅ Access token lấy thành công [2025-08-05 15:44:27] 📤 FCM response HTTP 200 [2025-08-05 15:44:27] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 15:48:19] === Vào send_fcm_v1.php === [2025-08-05 15:48:19] Dữ liệu POST: thoId=thaonuoc | message=mai mua mấy lạng [2025-08-05 15:48:19] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 15:48:19] 🔐 Lấy access token từ service_account.json [2025-08-05 15:48:19] ✅ Access token lấy thành công [2025-08-05 15:48:19] 📥 Firestore response: HTTP 200 [2025-08-05 15:48:19] ➡️ Gửi FCM đến fHdXpO2x20Gfi4JiHd6ZUQ:APA91bHBs3So7YEBhLqysd9CWLh5KMY1U5-Q-Mk-Gj37sO-yhuRasL0T6yQAUmPLbUgVVxhtHR8MtviG7cP2TBDG-cBO6QnWVslOrk5sMQ7QPKsRa0RPjYk [2025-08-05 15:48:19] 🔐 Lấy access token từ service_account.json [2025-08-05 15:48:19] ✅ Access token lấy thành công [2025-08-05 15:48:19] 📤 FCM response HTTP 200 [2025-08-05 15:48:19] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 15:49:02] === Vào send_fcm_v1.php === [2025-08-05 15:49:02] Dữ liệu POST: thoId=thaonuoc | message=mai mấy giờ chị có nhà [2025-08-05 15:49:02] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 15:49:02] 🔐 Lấy access token từ service_account.json [2025-08-05 15:49:02] ✅ Access token lấy thành công [2025-08-05 15:49:03] 📥 Firestore response: HTTP 200 [2025-08-05 15:49:03] ➡️ Gửi FCM đến fHdXpO2x20Gfi4JiHd6ZUQ:APA91bHBs3So7YEBhLqysd9CWLh5KMY1U5-Q-Mk-Gj37sO-yhuRasL0T6yQAUmPLbUgVVxhtHR8MtviG7cP2TBDG-cBO6QnWVslOrk5sMQ7QPKsRa0RPjYk [2025-08-05 15:49:03] 🔐 Lấy access token từ service_account.json [2025-08-05 15:49:03] ✅ Access token lấy thành công [2025-08-05 15:49:03] 📤 FCM response HTTP 200 [2025-08-05 15:49:03] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 16:17:48] === Vào send_fcm_v1.php === [2025-08-05 16:17:48] Dữ liệu POST: thoId=thaonuoc | message=đi nhậu đi [2025-08-05 16:17:48] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 16:17:48] 🔐 Lấy access token từ service_account.json [2025-08-05 16:17:48] ✅ Access token lấy thành công [2025-08-05 16:17:49] 📥 Firestore response: HTTP 200 [2025-08-05 16:17:49] ➡️ Gửi FCM đến fcCkjD2RHkcMuyvTWuumKP:APA91bGbsDNMNcXvBKsmsJfvj21jQh2t3UTjdiBcresQcpKZcJhDq1_Hy7GUSHpVL7em3AF2QNeZjUslFQLKGEsKDQgspc02E4FZbp-VHFb6aaCd3Eblwy0 [2025-08-05 16:17:49] 🔐 Lấy access token từ service_account.json [2025-08-05 16:17:49] ✅ Access token lấy thành công [2025-08-05 16:17:49] 📤 FCM response HTTP 200 [2025-08-05 16:17:49] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 16:17:59] === Vào send_fcm_v1.php === [2025-08-05 16:17:59] Dữ liệu POST: thoId=thaonuoc | message=nhậu không [2025-08-05 16:17:59] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 16:17:59] 🔐 Lấy access token từ service_account.json [2025-08-05 16:17:59] ✅ Access token lấy thành công [2025-08-05 16:17:59] 📥 Firestore response: HTTP 200 [2025-08-05 16:17:59] ➡️ Gửi FCM đến fcCkjD2RHkcMuyvTWuumKP:APA91bGbsDNMNcXvBKsmsJfvj21jQh2t3UTjdiBcresQcpKZcJhDq1_Hy7GUSHpVL7em3AF2QNeZjUslFQLKGEsKDQgspc02E4FZbp-VHFb6aaCd3Eblwy0 [2025-08-05 16:17:59] 🔐 Lấy access token từ service_account.json [2025-08-05 16:18:00] ✅ Access token lấy thành công [2025-08-05 16:18:00] 📤 FCM response HTTP 200 [2025-08-05 16:18:00] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 16:18:50] === Vào send_fcm_v1.php === [2025-08-05 16:18:50] Dữ liệu POST: thoId=thaonuoc | message=hết tiền sao không thấy tl [2025-08-05 16:18:50] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 16:18:50] 🔐 Lấy access token từ service_account.json [2025-08-05 16:18:50] ✅ Access token lấy thành công [2025-08-05 16:18:50] 📥 Firestore response: HTTP 200 [2025-08-05 16:18:50] ➡️ Gửi FCM đến fcCkjD2RHkcMuyvTWuumKP:APA91bGbsDNMNcXvBKsmsJfvj21jQh2t3UTjdiBcresQcpKZcJhDq1_Hy7GUSHpVL7em3AF2QNeZjUslFQLKGEsKDQgspc02E4FZbp-VHFb6aaCd3Eblwy0 [2025-08-05 16:18:50] 🔐 Lấy access token từ service_account.json [2025-08-05 16:18:51] ✅ Access token lấy thành công [2025-08-05 16:18:51] 📤 FCM response HTTP 200 [2025-08-05 16:18:51] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 16:19:58] === Vào send_fcm_v1.php === [2025-08-05 16:19:58] Dữ liệu POST: thoId=thaonuoc | message=3 lạng nha [2025-08-05 16:19:58] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 16:19:58] 🔐 Lấy access token từ service_account.json [2025-08-05 16:19:58] ✅ Access token lấy thành công [2025-08-05 16:19:58] 📥 Firestore response: HTTP 200 [2025-08-05 16:19:58] ➡️ Gửi FCM đến fcCkjD2RHkcMuyvTWuumKP:APA91bGbsDNMNcXvBKsmsJfvj21jQh2t3UTjdiBcresQcpKZcJhDq1_Hy7GUSHpVL7em3AF2QNeZjUslFQLKGEsKDQgspc02E4FZbp-VHFb6aaCd3Eblwy0 [2025-08-05 16:19:58] 🔐 Lấy access token từ service_account.json [2025-08-05 16:19:58] ✅ Access token lấy thành công [2025-08-05 16:19:58] 📤 FCM response HTTP 200 [2025-08-05 16:19:58] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 16:24:56] === Vào send_fcm_v1.php === [2025-08-05 16:24:56] Dữ liệu POST: thoId=thaonuoc | message=hãy 5 langh [2025-08-05 16:24:56] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 16:24:56] 🔐 Lấy access token từ service_account.json [2025-08-05 16:24:57] ✅ Access token lấy thành công [2025-08-05 16:24:57] 📥 Firestore response: HTTP 200 [2025-08-05 16:24:57] ➡️ Gửi FCM đến cm_0wceDVEGwo9yLupuFC0:APA91bFhfkk6jlLYDC_8s42vdZW50Muug_w0tmhV5_DLYhDF0bGoGTTzwrbkQzquOE82nQJ7i_V3oB7QxGg-e8ofPQSF_FJCNED6shhSxY_cE974Q-gsX6U [2025-08-05 16:24:57] 🔐 Lấy access token từ service_account.json [2025-08-05 16:24:57] ✅ Access token lấy thành công [2025-08-05 16:24:57] 📤 FCM response HTTP 200 [2025-08-05 16:24:57] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 16:50:20] === Vào send_fcm_v1.php === [2025-08-05 16:50:20] Dữ liệu POST: thoId=thaonuoc | message=giậnbrooif hả [2025-08-05 16:50:20] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 16:50:20] 🔐 Lấy access token từ service_account.json [2025-08-05 16:50:20] ✅ Access token lấy thành công [2025-08-05 16:50:21] 📥 Firestore response: HTTP 200 [2025-08-05 16:50:21] ➡️ Gửi FCM đến cm_0wceDVEGwo9yLupuFC0:APA91bFhfkk6jlLYDC_8s42vdZW50Muug_w0tmhV5_DLYhDF0bGoGTTzwrbkQzquOE82nQJ7i_V3oB7QxGg-e8ofPQSF_FJCNED6shhSxY_cE974Q-gsX6U [2025-08-05 16:50:21] 🔐 Lấy access token từ service_account.json [2025-08-05 16:50:21] ✅ Access token lấy thành công [2025-08-05 16:50:21] 📤 FCM response HTTP 200 [2025-08-05 16:50:21] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 16:53:26] === Vào send_fcm_v1.php === [2025-08-05 16:53:26] Dữ liệu POST: thoId=thaonuoc | message=thử nghiệm 123 [2025-08-05 16:53:26] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 16:53:26] 🔐 Lấy access token từ service_account.json [2025-08-05 16:53:26] ✅ Access token lấy thành công [2025-08-05 16:53:27] 📥 Firestore response: HTTP 200 [2025-08-05 16:53:27] ➡️ Gửi FCM đến f6omUotGbUBZnZ1w8-dD2J:APA91bFGV_VXaZA9rjRPqyzb3phf6e6q_9BaIcEEJ1twbPNMYC46UbgOyS7bWJ1c6OuucKOprpbe1RzJoXPZqR7sbsEivxSFXWIr4857XxbPb3ZOqiu1BKk [2025-08-05 16:53:27] 🔐 Lấy access token từ service_account.json [2025-08-05 16:53:27] ✅ Access token lấy thành công [2025-08-05 16:53:27] 📤 FCM response HTTP 200 [2025-08-05 16:53:27] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 16:56:28] === Vào send_fcm_v1.php === [2025-08-05 16:56:28] Dữ liệu POST: thoId=thaonuoc | message=thử nghiệm với thợ nhắn tin [2025-08-05 16:56:28] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 16:56:28] 🔐 Lấy access token từ service_account.json [2025-08-05 16:56:28] ✅ Access token lấy thành công [2025-08-05 16:56:29] 📥 Firestore response: HTTP 200 [2025-08-05 16:56:29] ➡️ Gửi FCM đến f6omUotGbUBZnZ1w8-dD2J:APA91bFGV_VXaZA9rjRPqyzb3phf6e6q_9BaIcEEJ1twbPNMYC46UbgOyS7bWJ1c6OuucKOprpbe1RzJoXPZqR7sbsEivxSFXWIr4857XxbPb3ZOqiu1BKk [2025-08-05 16:56:29] 🔐 Lấy access token từ service_account.json [2025-08-05 16:56:29] ✅ Access token lấy thành công [2025-08-05 16:56:29] 📤 FCM response HTTP 200 [2025-08-05 16:56:29] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 16:57:57] === Vào send_fcm_v1.php === [2025-08-05 16:57:57] Dữ liệu POST: thoId=thaonuoc | message=1 ký luôn đi [2025-08-05 16:57:57] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 16:57:57] 🔐 Lấy access token từ service_account.json [2025-08-05 16:57:57] ✅ Access token lấy thành công [2025-08-05 16:57:57] 📥 Firestore response: HTTP 200 [2025-08-05 16:57:57] ➡️ Gửi FCM đến f6omUotGbUBZnZ1w8-dD2J:APA91bFGV_VXaZA9rjRPqyzb3phf6e6q_9BaIcEEJ1twbPNMYC46UbgOyS7bWJ1c6OuucKOprpbe1RzJoXPZqR7sbsEivxSFXWIr4857XxbPb3ZOqiu1BKk [2025-08-05 16:57:57] 🔐 Lấy access token từ service_account.json [2025-08-05 16:57:58] ✅ Access token lấy thành công [2025-08-05 16:57:58] 📤 FCM response HTTP 200 [2025-08-05 16:57:58] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 16:58:40] === Vào send_fcm_v1.php === [2025-08-05 16:58:40] Dữ liệu POST: thoId=thaonuoc | message=mai em lên [2025-08-05 16:58:40] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 16:58:40] 🔐 Lấy access token từ service_account.json [2025-08-05 16:58:40] ✅ Access token lấy thành công [2025-08-05 16:58:40] 📥 Firestore response: HTTP 200 [2025-08-05 16:58:40] ➡️ Gửi FCM đến f6omUotGbUBZnZ1w8-dD2J:APA91bFGV_VXaZA9rjRPqyzb3phf6e6q_9BaIcEEJ1twbPNMYC46UbgOyS7bWJ1c6OuucKOprpbe1RzJoXPZqR7sbsEivxSFXWIr4857XxbPb3ZOqiu1BKk [2025-08-05 16:58:40] 🔐 Lấy access token từ service_account.json [2025-08-05 16:58:41] ✅ Access token lấy thành công [2025-08-05 16:58:41] 📤 FCM response HTTP 200 [2025-08-05 16:58:41] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 19:45:14] === Vào send_fcm_v1.php === [2025-08-05 19:45:14] Dữ liệu POST: thoId= | message= [2025-08-05 19:45:14] ❌ Thiếu dữ liệu POST [2025-08-05 20:18:01] === Vào send_fcm_v1.php === [2025-08-05 20:18:01] Dữ liệu POST: thoId=ngochan | message=cập nhật lại cái hiển thị số tin nhắn trên iPhone [2025-08-05 20:18:01] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-05 20:18:01] 🔐 Lấy access token từ service_account.json [2025-08-05 20:18:01] ✅ Access token lấy thành công [2025-08-05 20:18:01] 📥 Firestore response: HTTP 200 [2025-08-05 20:18:01] ❌ Không tìm thấy deviceToken cho ngochan [2025-08-05 20:18:23] === Vào send_fcm_v1.php === [2025-08-05 20:18:23] Dữ liệu POST: thoId=ngochan | message=hồi sáng nó chỉ hiển thị trên android [2025-08-05 20:18:23] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-05 20:18:23] 🔐 Lấy access token từ service_account.json [2025-08-05 20:18:23] ✅ Access token lấy thành công [2025-08-05 20:18:23] 📥 Firestore response: HTTP 200 [2025-08-05 20:18:23] ❌ Không tìm thấy deviceToken cho ngochan [2025-08-05 20:22:13] === Vào send_fcm_v1.php === [2025-08-05 20:22:13] Dữ liệu POST: thoId=thaonuoc | message=thử xem hoạt động đúng không [2025-08-05 20:22:13] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 20:22:13] 🔐 Lấy access token từ service_account.json [2025-08-05 20:22:13] ✅ Access token lấy thành công [2025-08-05 20:22:13] 📥 Firestore response: HTTP 200 [2025-08-05 20:22:13] ➡️ Gửi FCM đến f6omUotGbUBZnZ1w8-dD2J:APA91bFGV_VXaZA9rjRPqyzb3phf6e6q_9BaIcEEJ1twbPNMYC46UbgOyS7bWJ1c6OuucKOprpbe1RzJoXPZqR7sbsEivxSFXWIr4857XxbPb3ZOqiu1BKk [2025-08-05 20:22:13] 🔐 Lấy access token từ service_account.json [2025-08-05 20:22:13] ✅ Access token lấy thành công [2025-08-05 20:22:13] 📤 FCM response HTTP 200 [2025-08-05 20:22:13] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 20:23:21] === Vào send_fcm_v1.php === [2025-08-05 20:23:21] Dữ liệu POST: thoId=thaonuoc | message=thử nghiệm 2 [2025-08-05 20:23:21] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 20:23:21] 🔐 Lấy access token từ service_account.json [2025-08-05 20:23:21] ✅ Access token lấy thành công [2025-08-05 20:23:22] 📥 Firestore response: HTTP 200 [2025-08-05 20:23:22] ➡️ Gửi FCM đến f6omUotGbUBZnZ1w8-dD2J:APA91bFGV_VXaZA9rjRPqyzb3phf6e6q_9BaIcEEJ1twbPNMYC46UbgOyS7bWJ1c6OuucKOprpbe1RzJoXPZqR7sbsEivxSFXWIr4857XxbPb3ZOqiu1BKk [2025-08-05 20:23:22] 🔐 Lấy access token từ service_account.json [2025-08-05 20:23:22] ✅ Access token lấy thành công [2025-08-05 20:23:22] 📤 FCM response HTTP 200 [2025-08-05 20:23:22] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 20:24:25] === Vào send_fcm_v1.php === [2025-08-05 20:24:25] Dữ liệu POST: thoId=thaonuoc | message=thử nghiệm 3 [2025-08-05 20:24:25] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 20:24:25] 🔐 Lấy access token từ service_account.json [2025-08-05 20:24:25] ✅ Access token lấy thành công [2025-08-05 20:24:25] 📥 Firestore response: HTTP 200 [2025-08-05 20:24:25] ➡️ Gửi FCM đến f6omUotGbUBZnZ1w8-dD2J:APA91bFGV_VXaZA9rjRPqyzb3phf6e6q_9BaIcEEJ1twbPNMYC46UbgOyS7bWJ1c6OuucKOprpbe1RzJoXPZqR7sbsEivxSFXWIr4857XxbPb3ZOqiu1BKk [2025-08-05 20:24:25] 🔐 Lấy access token từ service_account.json [2025-08-05 20:24:25] ✅ Access token lấy thành công [2025-08-05 20:24:26] 📤 FCM response HTTP 200 [2025-08-05 20:24:26] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 20:25:07] === Vào send_fcm_v1.php === [2025-08-05 20:25:07] Dữ liệu POST: thoId=thaonuoc | message=thử nghiệm 4 [2025-08-05 20:25:07] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 20:25:07] 🔐 Lấy access token từ service_account.json [2025-08-05 20:25:07] ✅ Access token lấy thành công [2025-08-05 20:25:07] 📥 Firestore response: HTTP 200 [2025-08-05 20:25:07] ➡️ Gửi FCM đến f6omUotGbUBZnZ1w8-dD2J:APA91bFGV_VXaZA9rjRPqyzb3phf6e6q_9BaIcEEJ1twbPNMYC46UbgOyS7bWJ1c6OuucKOprpbe1RzJoXPZqR7sbsEivxSFXWIr4857XxbPb3ZOqiu1BKk [2025-08-05 20:25:07] 🔐 Lấy access token từ service_account.json [2025-08-05 20:25:08] ✅ Access token lấy thành công [2025-08-05 20:25:08] 📤 FCM response HTTP 200 [2025-08-05 20:25:08] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 20:26:03] === Vào send_fcm_v1.php === [2025-08-05 20:26:03] Dữ liệu POST: thoId=thaonuoc | message=thử test 1 [2025-08-05 20:26:03] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 20:26:03] 🔐 Lấy access token từ service_account.json [2025-08-05 20:26:03] ✅ Access token lấy thành công [2025-08-05 20:26:04] 📥 Firestore response: HTTP 200 [2025-08-05 20:26:04] ➡️ Gửi FCM đến f6omUotGbUBZnZ1w8-dD2J:APA91bFGV_VXaZA9rjRPqyzb3phf6e6q_9BaIcEEJ1twbPNMYC46UbgOyS7bWJ1c6OuucKOprpbe1RzJoXPZqR7sbsEivxSFXWIr4857XxbPb3ZOqiu1BKk [2025-08-05 20:26:04] 🔐 Lấy access token từ service_account.json [2025-08-05 20:26:04] ✅ Access token lấy thành công [2025-08-05 20:26:04] 📤 FCM response HTTP 200 [2025-08-05 20:26:04] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 20:26:36] === Vào send_fcm_v1.php === [2025-08-05 20:26:36] Dữ liệu POST: thoId=thaonuoc | message=thử test 2 [2025-08-05 20:26:36] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 20:26:36] 🔐 Lấy access token từ service_account.json [2025-08-05 20:26:36] ✅ Access token lấy thành công [2025-08-05 20:26:36] 📥 Firestore response: HTTP 200 [2025-08-05 20:26:36] ➡️ Gửi FCM đến f6omUotGbUBZnZ1w8-dD2J:APA91bFGV_VXaZA9rjRPqyzb3phf6e6q_9BaIcEEJ1twbPNMYC46UbgOyS7bWJ1c6OuucKOprpbe1RzJoXPZqR7sbsEivxSFXWIr4857XxbPb3ZOqiu1BKk [2025-08-05 20:26:36] 🔐 Lấy access token từ service_account.json [2025-08-05 20:26:36] ✅ Access token lấy thành công [2025-08-05 20:26:36] 📤 FCM response HTTP 200 [2025-08-05 20:26:36] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 20:27:46] === Vào send_fcm_v1.php === [2025-08-05 20:27:46] Dữ liệu POST: thoId=thaonuoc | message=thử test 3 [2025-08-05 20:27:46] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 20:27:46] 🔐 Lấy access token từ service_account.json [2025-08-05 20:27:46] ✅ Access token lấy thành công [2025-08-05 20:27:46] 📥 Firestore response: HTTP 200 [2025-08-05 20:27:46] ➡️ Gửi FCM đến f6omUotGbUBZnZ1w8-dD2J:APA91bFGV_VXaZA9rjRPqyzb3phf6e6q_9BaIcEEJ1twbPNMYC46UbgOyS7bWJ1c6OuucKOprpbe1RzJoXPZqR7sbsEivxSFXWIr4857XxbPb3ZOqiu1BKk [2025-08-05 20:27:46] 🔐 Lấy access token từ service_account.json [2025-08-05 20:27:46] ✅ Access token lấy thành công [2025-08-05 20:27:47] 📤 FCM response HTTP 200 [2025-08-05 20:27:47] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 20:30:21] === Vào send_fcm_v1.php === [2025-08-05 20:30:21] Dữ liệu POST: thoId=thaonuoc | message=chào chị [2025-08-05 20:30:21] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 20:30:21] 🔐 Lấy access token từ service_account.json [2025-08-05 20:30:21] ✅ Access token lấy thành công [2025-08-05 20:30:21] 📥 Firestore response: HTTP 200 [2025-08-05 20:30:21] ➡️ Gửi FCM đến f6omUotGbUBZnZ1w8-dD2J:APA91bFGV_VXaZA9rjRPqyzb3phf6e6q_9BaIcEEJ1twbPNMYC46UbgOyS7bWJ1c6OuucKOprpbe1RzJoXPZqR7sbsEivxSFXWIr4857XxbPb3ZOqiu1BKk [2025-08-05 20:30:21] 🔐 Lấy access token từ service_account.json [2025-08-05 20:30:21] ✅ Access token lấy thành công [2025-08-05 20:30:22] 📤 FCM response HTTP 200 [2025-08-05 20:30:22] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 20:32:44] === Vào send_fcm_v1.php === [2025-08-05 20:32:44] Dữ liệu POST: thoId=thaonuoc | message=mai rảnh không [2025-08-05 20:32:44] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 20:32:44] 🔐 Lấy access token từ service_account.json [2025-08-05 20:32:45] ✅ Access token lấy thành công [2025-08-05 20:32:45] 📥 Firestore response: HTTP 200 [2025-08-05 20:32:45] ➡️ Gửi FCM đến f6omUotGbUBZnZ1w8-dD2J:APA91bFGV_VXaZA9rjRPqyzb3phf6e6q_9BaIcEEJ1twbPNMYC46UbgOyS7bWJ1c6OuucKOprpbe1RzJoXPZqR7sbsEivxSFXWIr4857XxbPb3ZOqiu1BKk [2025-08-05 20:32:45] 🔐 Lấy access token từ service_account.json [2025-08-05 20:32:45] ✅ Access token lấy thành công [2025-08-05 20:32:45] 📤 FCM response HTTP 200 [2025-08-05 20:32:45] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 20:33:08] === Vào send_fcm_v1.php === [2025-08-05 20:33:08] Dữ liệu POST: thoId=thaonuoc | message=đi chợ [2025-08-05 20:33:08] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 20:33:08] 🔐 Lấy access token từ service_account.json [2025-08-05 20:33:08] ✅ Access token lấy thành công [2025-08-05 20:33:08] 📥 Firestore response: HTTP 200 [2025-08-05 20:33:08] ➡️ Gửi FCM đến f6omUotGbUBZnZ1w8-dD2J:APA91bFGV_VXaZA9rjRPqyzb3phf6e6q_9BaIcEEJ1twbPNMYC46UbgOyS7bWJ1c6OuucKOprpbe1RzJoXPZqR7sbsEivxSFXWIr4857XxbPb3ZOqiu1BKk [2025-08-05 20:33:08] 🔐 Lấy access token từ service_account.json [2025-08-05 20:33:09] ✅ Access token lấy thành công [2025-08-05 20:33:09] 📤 FCM response HTTP 200 [2025-08-05 20:33:09] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 20:33:45] === Vào send_fcm_v1.php === [2025-08-05 20:33:45] Dữ liệu POST: thoId=thaonuoc | message=đi không [2025-08-05 20:33:45] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 20:33:45] 🔐 Lấy access token từ service_account.json [2025-08-05 20:33:45] ✅ Access token lấy thành công [2025-08-05 20:33:45] 📥 Firestore response: HTTP 200 [2025-08-05 20:33:45] ➡️ Gửi FCM đến f6omUotGbUBZnZ1w8-dD2J:APA91bFGV_VXaZA9rjRPqyzb3phf6e6q_9BaIcEEJ1twbPNMYC46UbgOyS7bWJ1c6OuucKOprpbe1RzJoXPZqR7sbsEivxSFXWIr4857XxbPb3ZOqiu1BKk [2025-08-05 20:33:45] 🔐 Lấy access token từ service_account.json [2025-08-05 20:33:45] ✅ Access token lấy thành công [2025-08-05 20:33:46] 📤 FCM response HTTP 200 [2025-08-05 20:33:46] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 20:34:26] === Vào send_fcm_v1.php === [2025-08-05 20:34:26] Dữ liệu POST: thoId=thaonuoc | message=sao không thấy [2025-08-05 20:34:26] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 20:34:26] 🔐 Lấy access token từ service_account.json [2025-08-05 20:34:26] ✅ Access token lấy thành công [2025-08-05 20:34:27] 📥 Firestore response: HTTP 200 [2025-08-05 20:34:27] ➡️ Gửi FCM đến f6omUotGbUBZnZ1w8-dD2J:APA91bFGV_VXaZA9rjRPqyzb3phf6e6q_9BaIcEEJ1twbPNMYC46UbgOyS7bWJ1c6OuucKOprpbe1RzJoXPZqR7sbsEivxSFXWIr4857XxbPb3ZOqiu1BKk [2025-08-05 20:34:27] 🔐 Lấy access token từ service_account.json [2025-08-05 20:34:27] ✅ Access token lấy thành công [2025-08-05 20:34:27] 📤 FCM response HTTP 200 [2025-08-05 20:34:27] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 20:36:26] === Vào send_fcm_v1.php === [2025-08-05 20:36:26] Dữ liệu POST: thoId=thaonuoc | message=sao lạ ta [2025-08-05 20:36:26] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-05 20:36:26] 🔐 Lấy access token từ service_account.json [2025-08-05 20:36:27] ✅ Access token lấy thành công [2025-08-05 20:36:27] 📥 Firestore response: HTTP 200 [2025-08-05 20:36:27] ➡️ Gửi FCM đến f6omUotGbUBZnZ1w8-dD2J:APA91bFGV_VXaZA9rjRPqyzb3phf6e6q_9BaIcEEJ1twbPNMYC46UbgOyS7bWJ1c6OuucKOprpbe1RzJoXPZqR7sbsEivxSFXWIr4857XxbPb3ZOqiu1BKk [2025-08-05 20:36:27] 🔐 Lấy access token từ service_account.json [2025-08-05 20:36:27] ✅ Access token lấy thành công [2025-08-05 20:36:27] 📤 FCM response HTTP 200 [2025-08-05 20:36:27] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 20:37:14] === Vào send_fcm_v1.php === [2025-08-05 20:37:14] Dữ liệu POST: thoId=huedien | message=hỏi gì đó [2025-08-05 20:37:14] ➡️ Gọi Firestore để lấy deviceToken cho huedien [2025-08-05 20:37:14] 🔐 Lấy access token từ service_account.json [2025-08-05 20:37:14] ✅ Access token lấy thành công [2025-08-05 20:37:14] 📥 Firestore response: HTTP 200 [2025-08-05 20:37:14] ➡️ Gửi FCM đến c59qf85lS56_MJPQIxL6pQ:APA91bGjDZH6JxD9ssm9nDznk5P7C675_7PBupHUTTSL4nqK0gVj72zPQz1QLsdN5APH0rPmo2j_ckF4SdxUVyoXcqRd8Fpl_1DCC2Cz38GdRIzUcBJeEpQ [2025-08-05 20:37:14] 🔐 Lấy access token từ service_account.json [2025-08-05 20:37:15] ✅ Access token lấy thành công [2025-08-05 20:37:15] 📤 FCM response HTTP 200 [2025-08-05 20:37:15] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-05 20:38:10] === Vào send_fcm_v1.php === [2025-08-05 20:38:10] Dữ liệu POST: thoId=huedien | message=sao kỳ vậy ta [2025-08-05 20:38:10] ➡️ Gọi Firestore để lấy deviceToken cho huedien [2025-08-05 20:38:10] 🔐 Lấy access token từ service_account.json [2025-08-05 20:38:11] ✅ Access token lấy thành công [2025-08-05 20:38:11] 📥 Firestore response: HTTP 200 [2025-08-05 20:38:11] ➡️ Gửi FCM đến c59qf85lS56_MJPQIxL6pQ:APA91bGjDZH6JxD9ssm9nDznk5P7C675_7PBupHUTTSL4nqK0gVj72zPQz1QLsdN5APH0rPmo2j_ckF4SdxUVyoXcqRd8Fpl_1DCC2Cz38GdRIzUcBJeEpQ [2025-08-05 20:38:11] 🔐 Lấy access token từ service_account.json [2025-08-05 20:38:11] ✅ Access token lấy thành công [2025-08-05 20:38:11] 📤 FCM response HTTP 200 [2025-08-05 20:38:11] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-06 04:25:14] === Vào send_fcm_v1.php === [2025-08-06 04:25:14] Dữ liệu POST: thoId=thaonuoc | message=thấy cũng khó hiểu [2025-08-06 04:25:14] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-06 04:25:14] 🔐 Lấy access token từ service_account.json [2025-08-06 04:25:14] ✅ Access token lấy thành công [2025-08-06 04:25:15] 📥 Firestore response: HTTP 200 [2025-08-06 04:25:15] ➡️ Gửi FCM đến f6omUotGbUBZnZ1w8-dD2J:APA91bFGV_VXaZA9rjRPqyzb3phf6e6q_9BaIcEEJ1twbPNMYC46UbgOyS7bWJ1c6OuucKOprpbe1RzJoXPZqR7sbsEivxSFXWIr4857XxbPb3ZOqiu1BKk [2025-08-06 04:25:15] 🔐 Lấy access token từ service_account.json [2025-08-06 04:25:15] ✅ Access token lấy thành công [2025-08-06 04:25:15] 📤 FCM response HTTP 200 [2025-08-06 04:25:15] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-06 06:43:18] === Vào send_fcm_v1.php === [2025-08-06 06:43:18] Dữ liệu POST: thoId= | message= [2025-08-06 06:43:18] ❌ Thiếu dữ liệu POST [2025-08-06 14:27:22] === Vào send_fcm_v1.php === [2025-08-06 14:27:22] Dữ liệu POST: thoId=ngochan | message=chào [2025-08-06 14:27:22] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-06 14:27:22] 🔐 Lấy access token từ service_account.json [2025-08-06 14:27:22] ✅ Access token lấy thành công [2025-08-06 14:27:22] 📥 Firestore response: HTTP 200 [2025-08-06 14:27:22] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-06 14:27:22] 🔐 Lấy access token từ service_account.json [2025-08-06 14:27:22] ✅ Access token lấy thành công [2025-08-06 14:27:23] 📤 FCM response HTTP 200 [2025-08-06 14:27:23] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-06 14:27:31] === Vào send_fcm_v1.php === [2025-08-06 14:27:31] Dữ liệu POST: thoId=unknown | message=chào [2025-08-06 14:27:31] ➡️ Gọi Firestore để lấy deviceToken cho unknown [2025-08-06 14:27:31] 🔐 Lấy access token từ service_account.json [2025-08-06 14:27:31] ✅ Access token lấy thành công [2025-08-06 14:27:31] 📥 Firestore response: HTTP 404 [2025-08-06 14:27:31] ❌ Không tìm thấy deviceToken cho unknown [2025-08-06 19:31:39] === Vào send_fcm_v1.php === [2025-08-06 19:31:39] Dữ liệu POST: thoId=ngochan | message=chào [2025-08-06 19:31:39] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-06 19:31:39] 🔐 Lấy access token từ service_account.json [2025-08-06 19:31:40] ✅ Access token lấy thành công [2025-08-06 19:31:40] 📥 Firestore response: HTTP 200 [2025-08-06 19:31:40] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-06 19:31:40] 🔐 Lấy access token từ service_account.json [2025-08-06 19:31:40] ✅ Access token lấy thành công [2025-08-06 19:31:40] 📤 FCM response HTTP 200 [2025-08-06 19:31:40] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-06 19:31:44] === Vào send_fcm_v1.php === [2025-08-06 19:31:44] Dữ liệu POST: thoId=ngochan | message=hú hú [2025-08-06 19:31:44] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-06 19:31:44] 🔐 Lấy access token từ service_account.json [2025-08-06 19:31:44] ✅ Access token lấy thành công [2025-08-06 19:31:44] 📥 Firestore response: HTTP 200 [2025-08-06 19:31:44] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-06 19:31:44] 🔐 Lấy access token từ service_account.json [2025-08-06 19:31:44] ✅ Access token lấy thành công [2025-08-06 19:31:45] 📤 FCM response HTTP 200 [2025-08-06 19:31:45] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-07 01:21:19] === Vào send_fcm_v1.php === [2025-08-07 01:21:19] Dữ liệu POST: thoId= | message= [2025-08-07 01:21:19] ❌ Thiếu dữ liệu POST [2025-08-07 10:14:41] === Vào send_fcm_v1.php === [2025-08-07 10:14:41] Dữ liệu POST: thoId=phuongnuoc | message=khoản 9h [2025-08-07 10:14:41] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-07 10:14:41] 🔐 Lấy access token từ service_account.json [2025-08-07 10:14:41] ✅ Access token lấy thành công [2025-08-07 10:14:42] 📥 Firestore response: HTTP 200 [2025-08-07 10:14:42] ❌ Không tìm thấy deviceToken cho phuongnuoc [2025-08-07 10:35:51] === Vào send_fcm_v1.php === [2025-08-07 10:35:51] Dữ liệu POST: thoId=phuongnuoc | message=OK vậy nhé, nhớ mua thêm táo đỏ [2025-08-07 10:35:51] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-07 10:35:51] 🔐 Lấy access token từ service_account.json [2025-08-07 10:35:51] ✅ Access token lấy thành công [2025-08-07 10:35:51] 📥 Firestore response: HTTP 200 [2025-08-07 10:35:51] ➡️ Gửi FCM đến fOlXRDs4RJ2pTel_eqnVvc:APA91bHvmpn0SdLI8JJoyJr562d53PiwxBF1Z1vYbvDpyMjh15GgWoq0Z1u2JHvMNGNs39bCE-Q4S5qtaoDmAHVGJTyTLu-Hjq9By9guo9QI63H5OEvc0JI [2025-08-07 10:35:51] 🔐 Lấy access token từ service_account.json [2025-08-07 10:35:51] ✅ Access token lấy thành công [2025-08-07 10:35:51] 📤 FCM response HTTP 200 [2025-08-07 10:35:51] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-07 10:36:21] === Vào send_fcm_v1.php === [2025-08-07 10:36:21] Dữ liệu POST: thoId=phuongnuoc | message=hà thủ ô [2025-08-07 10:36:21] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-07 10:36:21] 🔐 Lấy access token từ service_account.json [2025-08-07 10:36:21] ✅ Access token lấy thành công [2025-08-07 10:36:21] 📥 Firestore response: HTTP 200 [2025-08-07 10:36:21] ➡️ Gửi FCM đến fOlXRDs4RJ2pTel_eqnVvc:APA91bHvmpn0SdLI8JJoyJr562d53PiwxBF1Z1vYbvDpyMjh15GgWoq0Z1u2JHvMNGNs39bCE-Q4S5qtaoDmAHVGJTyTLu-Hjq9By9guo9QI63H5OEvc0JI [2025-08-07 10:36:21] 🔐 Lấy access token từ service_account.json [2025-08-07 10:36:22] ✅ Access token lấy thành công [2025-08-07 10:36:22] 📤 FCM response HTTP 200 [2025-08-07 10:36:22] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-07 10:37:44] === Vào send_fcm_v1.php === [2025-08-07 10:37:44] Dữ liệu POST: thoId=phuongnuoc | message=thử nghiệm khách [2025-08-07 10:37:44] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-07 10:37:44] 🔐 Lấy access token từ service_account.json [2025-08-07 10:37:44] ✅ Access token lấy thành công [2025-08-07 10:37:45] 📥 Firestore response: HTTP 200 [2025-08-07 10:37:45] ➡️ Gửi FCM đến fOlXRDs4RJ2pTel_eqnVvc:APA91bHvmpn0SdLI8JJoyJr562d53PiwxBF1Z1vYbvDpyMjh15GgWoq0Z1u2JHvMNGNs39bCE-Q4S5qtaoDmAHVGJTyTLu-Hjq9By9guo9QI63H5OEvc0JI [2025-08-07 10:37:45] 🔐 Lấy access token từ service_account.json [2025-08-07 10:37:45] ✅ Access token lấy thành công [2025-08-07 10:37:45] 📤 FCM response HTTP 200 [2025-08-07 10:37:45] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-07 10:47:08] === Vào send_fcm_v1.php === [2025-08-07 10:47:08] Dữ liệu POST: thoId=thaonuoc | message=alo thử nghiệm khách [2025-08-07 10:47:08] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-07 10:47:08] 🔐 Lấy access token từ service_account.json [2025-08-07 10:47:09] ✅ Access token lấy thành công [2025-08-07 10:47:09] 📥 Firestore response: HTTP 200 [2025-08-07 10:47:09] ➡️ Gửi FCM đến eHGxT2SxdU0ShpuAEw2GLa:APA91bG3n5kLukSpEnyCn34C07HY130BfOLGsCLzqQXTKBzkWm0xvtzWqqVlosmAOcloLkZT6XZAVriVajqSkVZn8RwD9aHoTJLH0OwiCWVpVNCWq6Jl_tk [2025-08-07 10:47:09] 🔐 Lấy access token từ service_account.json [2025-08-07 10:47:09] ✅ Access token lấy thành công [2025-08-07 10:47:09] 📤 FCM response HTTP 200 [2025-08-07 10:47:09] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-07 10:49:45] === Vào send_fcm_v1.php === [2025-08-07 10:49:45] Dữ liệu POST: thoId=thaonuoc | message=hsjdj [2025-08-07 10:49:45] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-07 10:49:45] 🔐 Lấy access token từ service_account.json [2025-08-07 10:49:45] ✅ Access token lấy thành công [2025-08-07 10:49:45] 📥 Firestore response: HTTP 200 [2025-08-07 10:49:45] ➡️ Gửi FCM đến eHGxT2SxdU0ShpuAEw2GLa:APA91bG3n5kLukSpEnyCn34C07HY130BfOLGsCLzqQXTKBzkWm0xvtzWqqVlosmAOcloLkZT6XZAVriVajqSkVZn8RwD9aHoTJLH0OwiCWVpVNCWq6Jl_tk [2025-08-07 10:49:45] 🔐 Lấy access token từ service_account.json [2025-08-07 10:49:46] ✅ Access token lấy thành công [2025-08-07 10:49:46] 📤 FCM response HTTP 200 [2025-08-07 10:49:46] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-07 11:02:50] === Vào send_fcm_v1.php === [2025-08-07 11:02:50] Dữ liệu POST: thoId=thaonuoc | message=thử nghiệm với máy khách đã cái logic chặn [2025-08-07 11:02:50] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-07 11:02:50] 🔐 Lấy access token từ service_account.json [2025-08-07 11:02:50] ✅ Access token lấy thành công [2025-08-07 11:02:50] 📥 Firestore response: HTTP 200 [2025-08-07 11:02:50] ➡️ Gửi FCM đến eHGxT2SxdU0ShpuAEw2GLa:APA91bG3n5kLukSpEnyCn34C07HY130BfOLGsCLzqQXTKBzkWm0xvtzWqqVlosmAOcloLkZT6XZAVriVajqSkVZn8RwD9aHoTJLH0OwiCWVpVNCWq6Jl_tk [2025-08-07 11:02:50] 🔐 Lấy access token từ service_account.json [2025-08-07 11:02:51] ✅ Access token lấy thành công [2025-08-07 11:02:51] 📤 FCM response HTTP 200 [2025-08-07 11:02:51] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-07 11:03:34] === Vào send_fcm_v1.php === [2025-08-07 11:03:34] Dữ liệu POST: thoId=thaonuoc | message=sao vẫn gửi được nhỉ [2025-08-07 11:03:34] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-07 11:03:34] 🔐 Lấy access token từ service_account.json [2025-08-07 11:03:34] ✅ Access token lấy thành công [2025-08-07 11:03:34] 📥 Firestore response: HTTP 200 [2025-08-07 11:03:34] ➡️ Gửi FCM đến eHGxT2SxdU0ShpuAEw2GLa:APA91bG3n5kLukSpEnyCn34C07HY130BfOLGsCLzqQXTKBzkWm0xvtzWqqVlosmAOcloLkZT6XZAVriVajqSkVZn8RwD9aHoTJLH0OwiCWVpVNCWq6Jl_tk [2025-08-07 11:03:34] 🔐 Lấy access token từ service_account.json [2025-08-07 11:03:35] ✅ Access token lấy thành công [2025-08-07 11:03:35] 📤 FCM response HTTP 200 [2025-08-07 11:03:35] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-07 11:37:04] === Vào send_fcm_v1.php === [2025-08-07 11:37:04] Dữ liệu POST: thoId=thaonuoc | message=thử nghiệm chức năng chặn [2025-08-07 11:37:04] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-07 11:37:04] 🔐 Lấy access token từ service_account.json [2025-08-07 11:37:04] ✅ Access token lấy thành công [2025-08-07 11:37:04] 📥 Firestore response: HTTP 200 [2025-08-07 11:37:04] ➡️ Gửi FCM đến fbLcC1PjyU04jE7W596y7h:APA91bFQxedppkfrJX3S8gkMXkoGQrIQRAFY2m_p_KUuGICNvt6Ys-6LvsK2cNY5GdSeMuTCwfwhrJm3ZxQciiikTtB1z3oXkof2oYhyKg0w0lrG1GALjI4 [2025-08-07 11:37:04] 🔐 Lấy access token từ service_account.json [2025-08-07 11:37:05] ✅ Access token lấy thành công [2025-08-07 11:37:05] 📤 FCM response HTTP 200 [2025-08-07 11:37:05] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-07 11:40:37] === Vào send_fcm_v1.php === [2025-08-07 11:40:37] Dữ liệu POST: thoId=thaonuoc | message=alo bạn có đó để thử nghiệm không [2025-08-07 11:40:37] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-07 11:40:37] 🔐 Lấy access token từ service_account.json [2025-08-07 11:40:37] ✅ Access token lấy thành công [2025-08-07 11:40:38] 📥 Firestore response: HTTP 200 [2025-08-07 11:40:38] ➡️ Gửi FCM đến fbLcC1PjyU04jE7W596y7h:APA91bFQxedppkfrJX3S8gkMXkoGQrIQRAFY2m_p_KUuGICNvt6Ys-6LvsK2cNY5GdSeMuTCwfwhrJm3ZxQciiikTtB1z3oXkof2oYhyKg0w0lrG1GALjI4 [2025-08-07 11:40:38] 🔐 Lấy access token từ service_account.json [2025-08-07 11:40:38] ✅ Access token lấy thành công [2025-08-07 11:40:38] 📤 FCM response HTTP 200 [2025-08-07 11:40:38] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-07 11:52:10] === Vào send_fcm_v1.php === [2025-08-07 11:52:10] Dữ liệu POST: thoId=thaonuoc | message=thử nghiệm 3 chức năng bỏ chặn [2025-08-07 11:52:10] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-07 11:52:10] 🔐 Lấy access token từ service_account.json [2025-08-07 11:52:10] ✅ Access token lấy thành công [2025-08-07 11:52:10] 📥 Firestore response: HTTP 200 [2025-08-07 11:52:10] ➡️ Gửi FCM đến fZVq4k9t1UmBrC9bbfyi09:APA91bFq6m-3c7IZ4pzavvHsvAjxDgYdmK5jKW64H9wMcEO63pg2l_Tcsh71oSOIqTajcZi2c2qul0LZqcjWMUHjcJFMradIritxL4dZr1H7rsXPfkFbtOc [2025-08-07 11:52:10] 🔐 Lấy access token từ service_account.json [2025-08-07 11:52:10] ✅ Access token lấy thành công [2025-08-07 11:52:11] 📤 FCM response HTTP 200 [2025-08-07 11:52:11] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-07 12:01:42] === Vào send_fcm_v1.php === [2025-08-07 12:01:42] Dữ liệu POST: thoId=phuongnuoc | message=test nut Bo Chan [2025-08-07 12:01:42] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-07 12:01:42] 🔐 Lấy access token từ service_account.json [2025-08-07 12:01:42] ✅ Access token lấy thành công [2025-08-07 12:01:42] 📥 Firestore response: HTTP 200 [2025-08-07 12:01:42] ➡️ Gửi FCM đến dXnBvZQOTiiEgmhdi_15T_:APA91bE2V04AVwsGj73cwCj3tsT_X8qZX3tzCCLLc63WlYSCynVjt-i33f7sAg0GhJrAhcwqCf9Lmk_I4S8Ruk-ZCjh1Mpm9uu1fDiasuvatuWtP_-o4pms [2025-08-07 12:01:42] 🔐 Lấy access token từ service_account.json [2025-08-07 12:01:42] ✅ Access token lấy thành công [2025-08-07 12:01:43] 📤 FCM response HTTP 200 [2025-08-07 12:01:43] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-07 13:25:55] === Vào send_fcm_v1.php === [2025-08-07 13:25:55] Dữ liệu POST: thoId=phuongnuoc | message=alo banj conf Chan tôi Jo [2025-08-07 13:25:55] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-07 13:25:55] 🔐 Lấy access token từ service_account.json [2025-08-07 13:25:55] ✅ Access token lấy thành công [2025-08-07 13:25:55] 📥 Firestore response: HTTP 200 [2025-08-07 13:25:55] ➡️ Gửi FCM đến dL2F7eArQ42D9Ny9iWJp1h:APA91bH0fFHL_yLx0yhG_VwMXDcws5HkOWGOqAlpxkt9i_nKCok18e0EtQcrcaDx92QRSGu_EwhoEE8cf0BaOaRCLOtoYlkoxw_vpiUiZcWsOwn-F_2fsQs [2025-08-07 13:25:55] 🔐 Lấy access token từ service_account.json [2025-08-07 13:25:56] ✅ Access token lấy thành công [2025-08-07 13:25:56] 📤 FCM response HTTP 200 [2025-08-07 13:25:56] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-07 13:31:45] === Vào send_fcm_v1.php === [2025-08-07 13:31:45] Dữ liệu POST: thoId=phuongnuoc | message=ban dang online bar [2025-08-07 13:31:45] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-07 13:31:45] 🔐 Lấy access token từ service_account.json [2025-08-07 13:31:45] ✅ Access token lấy thành công [2025-08-07 13:31:45] 📥 Firestore response: HTTP 200 [2025-08-07 13:31:45] ➡️ Gửi FCM đến dL2F7eArQ42D9Ny9iWJp1h:APA91bH0fFHL_yLx0yhG_VwMXDcws5HkOWGOqAlpxkt9i_nKCok18e0EtQcrcaDx92QRSGu_EwhoEE8cf0BaOaRCLOtoYlkoxw_vpiUiZcWsOwn-F_2fsQs [2025-08-07 13:31:45] 🔐 Lấy access token từ service_account.json [2025-08-07 13:31:45] ✅ Access token lấy thành công [2025-08-07 13:31:46] 📤 FCM response HTTP 200 [2025-08-07 13:31:46] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-07 13:45:47] === Vào send_fcm_v1.php === [2025-08-07 13:45:47] Dữ liệu POST: thoId=thaonuoc | message=chiều em về [2025-08-07 13:45:47] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-07 13:45:47] 🔐 Lấy access token từ service_account.json [2025-08-07 13:45:47] ✅ Access token lấy thành công [2025-08-07 13:45:47] 📥 Firestore response: HTTP 200 [2025-08-07 13:45:47] ➡️ Gửi FCM đến dGHVq0doA0JbiGm4Q-S31K:APA91bFUDrMAVxxgXZCZ5kJvG0kc7JCaYfITQgqaOwdq8uWpJfDrlRgdqt3zd4dqSe4R8gQsqQgeefcTLVDvTFJBzTBRj_VplSDtEijTX4V4bt-Iq4x1dNs [2025-08-07 13:45:47] 🔐 Lấy access token từ service_account.json [2025-08-07 13:45:48] ✅ Access token lấy thành công [2025-08-07 13:45:48] 📤 FCM response HTTP 200 [2025-08-07 13:45:48] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-07 13:47:45] === Vào send_fcm_v1.php === [2025-08-07 13:47:45] Dữ liệu POST: thoId=thaonuoc | message=tạo thử nghiệm từ vai trò khách [2025-08-07 13:47:45] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-07 13:47:45] 🔐 Lấy access token từ service_account.json [2025-08-07 13:47:45] ✅ Access token lấy thành công [2025-08-07 13:47:45] 📥 Firestore response: HTTP 200 [2025-08-07 13:47:45] ➡️ Gửi FCM đến dGHVq0doA0JbiGm4Q-S31K:APA91bFUDrMAVxxgXZCZ5kJvG0kc7JCaYfITQgqaOwdq8uWpJfDrlRgdqt3zd4dqSe4R8gQsqQgeefcTLVDvTFJBzTBRj_VplSDtEijTX4V4bt-Iq4x1dNs [2025-08-07 13:47:45] 🔐 Lấy access token từ service_account.json [2025-08-07 13:47:46] ✅ Access token lấy thành công [2025-08-07 13:47:46] 📤 FCM response HTTP 200 [2025-08-07 13:47:46] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-07 13:48:24] === Vào send_fcm_v1.php === [2025-08-07 13:48:24] Dữ liệu POST: thoId=thaonuoc | message=thấy hoạt động đúng rồi đó [2025-08-07 13:48:24] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-07 13:48:24] 🔐 Lấy access token từ service_account.json [2025-08-07 13:48:24] ✅ Access token lấy thành công [2025-08-07 13:48:25] 📥 Firestore response: HTTP 200 [2025-08-07 13:48:25] ➡️ Gửi FCM đến dGHVq0doA0JbiGm4Q-S31K:APA91bFUDrMAVxxgXZCZ5kJvG0kc7JCaYfITQgqaOwdq8uWpJfDrlRgdqt3zd4dqSe4R8gQsqQgeefcTLVDvTFJBzTBRj_VplSDtEijTX4V4bt-Iq4x1dNs [2025-08-07 13:48:25] 🔐 Lấy access token từ service_account.json [2025-08-07 13:48:25] ✅ Access token lấy thành công [2025-08-07 13:48:25] 📤 FCM response HTTP 200 [2025-08-07 13:48:25] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-07 14:11:41] === Vào send_fcm_v1.php === [2025-08-07 14:11:41] Dữ liệu POST: thoId=thaonuoc | message=thử nghiệm lại nút chặn [2025-08-07 14:11:41] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-07 14:11:41] 🔐 Lấy access token từ service_account.json [2025-08-07 14:11:41] ✅ Access token lấy thành công [2025-08-07 14:11:42] 📥 Firestore response: HTTP 200 [2025-08-07 14:11:42] ➡️ Gửi FCM đến dGHVq0doA0JbiGm4Q-S31K:APA91bFUDrMAVxxgXZCZ5kJvG0kc7JCaYfITQgqaOwdq8uWpJfDrlRgdqt3zd4dqSe4R8gQsqQgeefcTLVDvTFJBzTBRj_VplSDtEijTX4V4bt-Iq4x1dNs [2025-08-07 14:11:42] 🔐 Lấy access token từ service_account.json [2025-08-07 14:11:42] ✅ Access token lấy thành công [2025-08-07 14:11:42] 📤 FCM response HTTP 200 [2025-08-07 14:11:42] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-07 17:25:10] === Vào send_fcm_v1.php === [2025-08-07 17:25:10] Dữ liệu POST: thoId=thaonuoc | message=alo 123 [2025-08-07 17:25:10] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-07 17:25:10] 🔐 Lấy access token từ service_account.json [2025-08-07 17:25:10] ✅ Access token lấy thành công [2025-08-07 17:25:10] 📥 Firestore response: HTTP 200 [2025-08-07 17:25:10] ➡️ Gửi FCM đến dGHVq0doA0JbiGm4Q-S31K:APA91bFUDrMAVxxgXZCZ5kJvG0kc7JCaYfITQgqaOwdq8uWpJfDrlRgdqt3zd4dqSe4R8gQsqQgeefcTLVDvTFJBzTBRj_VplSDtEijTX4V4bt-Iq4x1dNs [2025-08-07 17:25:10] 🔐 Lấy access token từ service_account.json [2025-08-07 17:25:11] ✅ Access token lấy thành công [2025-08-07 17:25:11] 📤 FCM response HTTP 200 [2025-08-07 17:25:11] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-07 17:26:49] === Vào send_fcm_v1.php === [2025-08-07 17:26:49] Dữ liệu POST: thoId=thaonuoc | message=có chứ [2025-08-07 17:26:49] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-07 17:26:49] 🔐 Lấy access token từ service_account.json [2025-08-07 17:26:49] ✅ Access token lấy thành công [2025-08-07 17:26:49] 📥 Firestore response: HTTP 200 [2025-08-07 17:26:49] ➡️ Gửi FCM đến dGHVq0doA0JbiGm4Q-S31K:APA91bFUDrMAVxxgXZCZ5kJvG0kc7JCaYfITQgqaOwdq8uWpJfDrlRgdqt3zd4dqSe4R8gQsqQgeefcTLVDvTFJBzTBRj_VplSDtEijTX4V4bt-Iq4x1dNs [2025-08-07 17:26:49] 🔐 Lấy access token từ service_account.json [2025-08-07 17:26:49] ✅ Access token lấy thành công [2025-08-07 17:26:50] 📤 FCM response HTTP 200 [2025-08-07 17:26:50] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-08 07:11:37] === Vào send_fcm_v1.php === [2025-08-08 07:11:37] Dữ liệu POST: thoId=thaonuoc | message=https://www.google.com/maps/search/?api=1&query=11.5659287,109.0028311 [2025-08-08 07:11:37] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-08 07:11:37] 🔐 Lấy access token từ service_account.json [2025-08-08 07:11:37] ✅ Access token lấy thành công [2025-08-08 07:11:37] 📥 Firestore response: HTTP 200 [2025-08-08 07:11:37] ➡️ Gửi FCM đến dGHVq0doA0JbiGm4Q-S31K:APA91bFUDrMAVxxgXZCZ5kJvG0kc7JCaYfITQgqaOwdq8uWpJfDrlRgdqt3zd4dqSe4R8gQsqQgeefcTLVDvTFJBzTBRj_VplSDtEijTX4V4bt-Iq4x1dNs [2025-08-08 07:11:37] 🔐 Lấy access token từ service_account.json [2025-08-08 07:11:38] ✅ Access token lấy thành công [2025-08-08 07:11:38] 📤 FCM response HTTP 200 [2025-08-08 07:11:38] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-08 07:11:42] === Vào send_fcm_v1.php === [2025-08-08 07:11:42] Dữ liệu POST: thoId=thaonuoc | message=https://www.google.com/maps/search/?api=1&query=11.5659287,109.0028311 [2025-08-08 07:11:42] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-08 07:11:42] 🔐 Lấy access token từ service_account.json [2025-08-08 07:11:42] ✅ Access token lấy thành công [2025-08-08 07:11:42] 📥 Firestore response: HTTP 200 [2025-08-08 07:11:42] ➡️ Gửi FCM đến dGHVq0doA0JbiGm4Q-S31K:APA91bFUDrMAVxxgXZCZ5kJvG0kc7JCaYfITQgqaOwdq8uWpJfDrlRgdqt3zd4dqSe4R8gQsqQgeefcTLVDvTFJBzTBRj_VplSDtEijTX4V4bt-Iq4x1dNs [2025-08-08 07:11:42] 🔐 Lấy access token từ service_account.json [2025-08-08 07:11:42] ✅ Access token lấy thành công [2025-08-08 07:11:43] 📤 FCM response HTTP 200 [2025-08-08 07:11:43] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-08 07:18:03] === Vào send_fcm_v1.php === [2025-08-08 07:18:03] Dữ liệu POST: thoId=thaonuoc | message=https://firebasestorage.googleapis.com/v0/b/fix247-ff87f.firebasestorage.app/o/chat_images%2F0d1a3d83-e81f-4799-bd4c-8a37a58a78b1?alt=media&token=da16a7a5-f132-4841-a2ea-be65bd05ec65 [2025-08-08 07:18:03] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-08 07:18:03] 🔐 Lấy access token từ service_account.json [2025-08-08 07:18:03] ✅ Access token lấy thành công [2025-08-08 07:18:03] 📥 Firestore response: HTTP 200 [2025-08-08 07:18:03] ➡️ Gửi FCM đến dGHVq0doA0JbiGm4Q-S31K:APA91bFUDrMAVxxgXZCZ5kJvG0kc7JCaYfITQgqaOwdq8uWpJfDrlRgdqt3zd4dqSe4R8gQsqQgeefcTLVDvTFJBzTBRj_VplSDtEijTX4V4bt-Iq4x1dNs [2025-08-08 07:18:03] 🔐 Lấy access token từ service_account.json [2025-08-08 07:18:03] ✅ Access token lấy thành công [2025-08-08 07:18:04] 📤 FCM response HTTP 200 [2025-08-08 07:18:04] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-08 07:26:27] === Vào send_fcm_v1.php === [2025-08-08 07:26:27] Dữ liệu POST: thoId=thaonuoc | message=https://www.google.com/maps/search/?api=1&query=11.5659282,109.0028555 [2025-08-08 07:26:27] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-08 07:26:27] 🔐 Lấy access token từ service_account.json [2025-08-08 07:26:28] ✅ Access token lấy thành công [2025-08-08 07:26:28] 📥 Firestore response: HTTP 200 [2025-08-08 07:26:28] ➡️ Gửi FCM đến dGHVq0doA0JbiGm4Q-S31K:APA91bFUDrMAVxxgXZCZ5kJvG0kc7JCaYfITQgqaOwdq8uWpJfDrlRgdqt3zd4dqSe4R8gQsqQgeefcTLVDvTFJBzTBRj_VplSDtEijTX4V4bt-Iq4x1dNs [2025-08-08 07:26:28] 🔐 Lấy access token từ service_account.json [2025-08-08 07:26:28] ✅ Access token lấy thành công [2025-08-08 07:26:28] 📤 FCM response HTTP 200 [2025-08-08 07:26:28] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-08 11:55:44] === Vào send_fcm_v1.php === [2025-08-08 11:55:44] Dữ liệu POST: thoId=ngochan | message=chào [2025-08-08 11:55:44] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-08 11:55:44] 🔐 Lấy access token từ service_account.json [2025-08-08 11:55:44] ✅ Access token lấy thành công [2025-08-08 11:55:44] 📥 Firestore response: HTTP 200 [2025-08-08 11:55:44] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-08 11:55:44] 🔐 Lấy access token từ service_account.json [2025-08-08 11:55:44] ✅ Access token lấy thành công [2025-08-08 11:55:44] 📤 FCM response HTTP 200 [2025-08-08 11:55:44] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-08 11:55:51] === Vào send_fcm_v1.php === [2025-08-08 11:55:51] Dữ liệu POST: thoId=ngochan | message=hàm [2025-08-08 11:55:51] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-08 11:55:51] 🔐 Lấy access token từ service_account.json [2025-08-08 11:55:51] ✅ Access token lấy thành công [2025-08-08 11:55:51] 📥 Firestore response: HTTP 200 [2025-08-08 11:55:51] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-08 11:55:51] 🔐 Lấy access token từ service_account.json [2025-08-08 11:55:51] ✅ Access token lấy thành công [2025-08-08 11:55:51] 📤 FCM response HTTP 200 [2025-08-08 11:55:51] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-08 18:40:07] === Vào send_fcm_v1.php === [2025-08-08 18:40:07] Dữ liệu POST: thoId=phuongnuoc | message=húbhus [2025-08-08 18:40:07] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-08 18:40:07] 🔐 Lấy access token từ service_account.json [2025-08-08 18:40:07] ✅ Access token lấy thành công [2025-08-08 18:40:07] 📥 Firestore response: HTTP 200 [2025-08-08 18:40:07] ➡️ Gửi FCM đến fmFUDefmQe6tK-ZZgxSBLK:APA91bF3NdpMLW4PVYR6BCB71-Y3F_FWlgsSX_LOYThLDczbeStvquvbjtHgCYHmglQXIqBj-EcQdqpyTH9cjWqjLBmh_KSMiSIqjoLNyqNiZ47lSRnvpz0 [2025-08-08 18:40:07] 🔐 Lấy access token từ service_account.json [2025-08-08 18:40:08] ✅ Access token lấy thành công [2025-08-08 18:40:08] 📤 FCM response HTTP 200 [2025-08-08 18:40:08] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-08 18:40:31] === Vào send_fcm_v1.php === [2025-08-08 18:40:31] Dữ liệu POST: thoId=phuongnuoc | message=có thấy tin nhắn ko [2025-08-08 18:40:31] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-08 18:40:31] 🔐 Lấy access token từ service_account.json [2025-08-08 18:40:31] ✅ Access token lấy thành công [2025-08-08 18:40:31] 📥 Firestore response: HTTP 200 [2025-08-08 18:40:31] ➡️ Gửi FCM đến fmFUDefmQe6tK-ZZgxSBLK:APA91bF3NdpMLW4PVYR6BCB71-Y3F_FWlgsSX_LOYThLDczbeStvquvbjtHgCYHmglQXIqBj-EcQdqpyTH9cjWqjLBmh_KSMiSIqjoLNyqNiZ47lSRnvpz0 [2025-08-08 18:40:31] 🔐 Lấy access token từ service_account.json [2025-08-08 18:40:31] ✅ Access token lấy thành công [2025-08-08 18:40:31] 📤 FCM response HTTP 200 [2025-08-08 18:40:31] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-08 18:51:16] === Vào send_fcm_v1.php === [2025-08-08 18:51:16] Dữ liệu POST: thoId=ngochan | message=có chứ [2025-08-08 18:51:16] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-08 18:51:16] 🔐 Lấy access token từ service_account.json [2025-08-08 18:51:16] ✅ Access token lấy thành công [2025-08-08 18:51:16] 📥 Firestore response: HTTP 200 [2025-08-08 18:51:16] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-08 18:51:16] 🔐 Lấy access token từ service_account.json [2025-08-08 18:51:17] ✅ Access token lấy thành công [2025-08-08 18:51:17] 📤 FCM response HTTP 200 [2025-08-08 18:51:17] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-08 18:51:31] === Vào send_fcm_v1.php === [2025-08-08 18:51:31] Dữ liệu POST: thoId=ngochan | message=kkkk [2025-08-08 18:51:31] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-08 18:51:31] 🔐 Lấy access token từ service_account.json [2025-08-08 18:51:31] ✅ Access token lấy thành công [2025-08-08 18:51:31] 📥 Firestore response: HTTP 200 [2025-08-08 18:51:31] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-08 18:51:31] 🔐 Lấy access token từ service_account.json [2025-08-08 18:51:31] ✅ Access token lấy thành công [2025-08-08 18:51:31] 📤 FCM response HTTP 200 [2025-08-08 18:51:31] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 00:23:28] === Vào send_fcm_v1.php === [2025-08-09 00:23:28] Dữ liệu POST: thoId=thaonuoc | message=❤️ [2025-08-09 00:23:28] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-09 00:23:28] 🔐 Lấy access token từ service_account.json [2025-08-09 00:23:28] ✅ Access token lấy thành công [2025-08-09 00:23:28] 📥 Firestore response: HTTP 200 [2025-08-09 00:23:28] ➡️ Gửi FCM đến dGHVq0doA0JbiGm4Q-S31K:APA91bFUDrMAVxxgXZCZ5kJvG0kc7JCaYfITQgqaOwdq8uWpJfDrlRgdqt3zd4dqSe4R8gQsqQgeefcTLVDvTFJBzTBRj_VplSDtEijTX4V4bt-Iq4x1dNs [2025-08-09 00:23:28] 🔐 Lấy access token từ service_account.json [2025-08-09 00:23:29] ✅ Access token lấy thành công [2025-08-09 00:23:29] 📤 FCM response HTTP 200 [2025-08-09 00:23:29] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 00:23:33] === Vào send_fcm_v1.php === [2025-08-09 00:23:33] Dữ liệu POST: thoId=thaonuoc | message=👍 [2025-08-09 00:23:33] ➡️ Gọi Firestore để lấy deviceToken cho thaonuoc [2025-08-09 00:23:33] 🔐 Lấy access token từ service_account.json [2025-08-09 00:23:33] ✅ Access token lấy thành công [2025-08-09 00:23:34] 📥 Firestore response: HTTP 200 [2025-08-09 00:23:34] ➡️ Gửi FCM đến dGHVq0doA0JbiGm4Q-S31K:APA91bFUDrMAVxxgXZCZ5kJvG0kc7JCaYfITQgqaOwdq8uWpJfDrlRgdqt3zd4dqSe4R8gQsqQgeefcTLVDvTFJBzTBRj_VplSDtEijTX4V4bt-Iq4x1dNs [2025-08-09 00:23:34] 🔐 Lấy access token từ service_account.json [2025-08-09 00:23:34] ✅ Access token lấy thành công [2025-08-09 00:23:34] 📤 FCM response HTTP 200 [2025-08-09 00:23:34] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 10:45:27] === Vào send_fcm_v1.php === [2025-08-09 10:45:27] Dữ liệu POST: thoId=phuongnuoc | message=https://firebasestorage.googleapis.com/v0/b/fix247-ff87f.firebasestorage.app/o/chat_images%2F5e785b2c-4466-4623-a23e-b6a3dfd50b45?alt=media&token=69a41fa8-5482-47b7-9160-2927d9344343 [2025-08-09 10:45:27] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-09 10:45:27] 🔐 Lấy access token từ service_account.json [2025-08-09 10:45:27] ✅ Access token lấy thành công [2025-08-09 10:45:27] 📥 Firestore response: HTTP 200 [2025-08-09 10:45:27] ➡️ Gửi FCM đến dX76ReruT2Wj72f5XwTvMs:APA91bEIHzS36lsIQGdAGj1pHHe-3qRibiv1niYx30dBpYe2C4EbgRXpyeO_0HJx2Wn4HOnwMOmmhjnKln8CkCiotCD25wI9QWHBgIRYJRFcCm4fNqMU1iM [2025-08-09 10:45:27] 🔐 Lấy access token từ service_account.json [2025-08-09 10:45:27] ✅ Access token lấy thành công [2025-08-09 10:45:27] 📤 FCM response HTTP 200 [2025-08-09 10:45:27] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 10:45:33] === Vào send_fcm_v1.php === [2025-08-09 10:45:33] Dữ liệu POST: thoId=phuongnuoc | message=https://firebasestorage.googleapis.com/v0/b/fix247-ff87f.firebasestorage.app/o/chat_images%2F4e7aeba3-1196-4823-b458-8d4c784dd5ce?alt=media&token=3dac580c-cb42-46ac-b4dc-b4adef48f613 [2025-08-09 10:45:33] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-09 10:45:33] 🔐 Lấy access token từ service_account.json [2025-08-09 10:45:34] ✅ Access token lấy thành công [2025-08-09 10:45:34] 📥 Firestore response: HTTP 200 [2025-08-09 10:45:34] ➡️ Gửi FCM đến dX76ReruT2Wj72f5XwTvMs:APA91bEIHzS36lsIQGdAGj1pHHe-3qRibiv1niYx30dBpYe2C4EbgRXpyeO_0HJx2Wn4HOnwMOmmhjnKln8CkCiotCD25wI9QWHBgIRYJRFcCm4fNqMU1iM [2025-08-09 10:45:34] 🔐 Lấy access token từ service_account.json [2025-08-09 10:45:34] ✅ Access token lấy thành công [2025-08-09 10:45:34] 📤 FCM response HTTP 200 [2025-08-09 10:45:34] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 16:06:33] === Vào send_fcm_v1.php === [2025-08-09 16:06:33] Dữ liệu POST: thoId=phuongnuoc | message=https://www.google.com/maps/search/?api=1&query=11.565806587039365,109.00270369709837 [2025-08-09 16:06:33] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-09 16:06:33] 🔐 Lấy access token từ service_account.json [2025-08-09 16:06:33] ✅ Access token lấy thành công [2025-08-09 16:06:33] 📥 Firestore response: HTTP 200 [2025-08-09 16:06:33] ❌ Không tìm thấy deviceToken cho phuongnuoc [2025-08-09 18:01:38] === Vào send_fcm_v1.php === [2025-08-09 18:01:38] Dữ liệu POST: thoId=phuongnuoc | message=bạn có đó không [2025-08-09 18:01:38] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-09 18:01:38] 🔐 Lấy access token từ service_account.json [2025-08-09 18:01:38] ✅ Access token lấy thành công [2025-08-09 18:01:38] 📥 Firestore response: HTTP 200 [2025-08-09 18:01:38] ➡️ Gửi FCM đến fKWfpcbqThSqAIHv83Y0YD:APA91bEPUrHEsKo1EHLqhbGIWoQnJR0KYjHbIEXQN0RdZF2LXe8NsQgt5Plud9IczSMZhCwCAyfYFykgUwhfWYSHM9Ls_eJvo1b0hWAwNjuXNYOsz0r6NoA [2025-08-09 18:01:38] 🔐 Lấy access token từ service_account.json [2025-08-09 18:01:38] ✅ Access token lấy thành công [2025-08-09 18:01:38] 📤 FCM response HTTP 200 [2025-08-09 18:01:38] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 18:05:44] === Vào send_fcm_v1.php === [2025-08-09 18:05:44] Dữ liệu POST: thoId=ngochan | message=https://www.google.com/maps/search/?api=1&query=11.5658847,109.0027543 [2025-08-09 18:05:44] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-09 18:05:44] 🔐 Lấy access token từ service_account.json [2025-08-09 18:05:44] ✅ Access token lấy thành công [2025-08-09 18:05:44] 📥 Firestore response: HTTP 200 [2025-08-09 18:05:44] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-09 18:05:44] 🔐 Lấy access token từ service_account.json [2025-08-09 18:05:44] ✅ Access token lấy thành công [2025-08-09 18:05:44] === Vào send_fcm_v1.php === [2025-08-09 18:05:44] Dữ liệu POST: thoId=ngochan | message=https://firebasestorage.googleapis.com/v0/b/fix247-ff87f.firebasestorage.app/o/chat_images%2Fe5130b51-511a-4729-a5cd-c3bfb7a14516?alt=media&token=4ef2d9c0-9a15-4922-9d35-83bcf5cba271 [2025-08-09 18:05:44] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-09 18:05:44] 🔐 Lấy access token từ service_account.json [2025-08-09 18:05:44] ✅ Access token lấy thành công [2025-08-09 18:05:44] 📤 FCM response HTTP 200 [2025-08-09 18:05:44] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 18:05:45] 📥 Firestore response: HTTP 200 [2025-08-09 18:05:45] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-09 18:05:45] 🔐 Lấy access token từ service_account.json [2025-08-09 18:05:45] ✅ Access token lấy thành công [2025-08-09 18:05:45] 📤 FCM response HTTP 200 [2025-08-09 18:05:45] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 18:06:18] === Vào send_fcm_v1.php === [2025-08-09 18:06:18] Dữ liệu POST: thoId=ngochan | message=có bản mới rồi á Quang [2025-08-09 18:06:18] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-09 18:06:18] 🔐 Lấy access token từ service_account.json [2025-08-09 18:06:18] ✅ Access token lấy thành công [2025-08-09 18:06:19] 📥 Firestore response: HTTP 200 [2025-08-09 18:06:19] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-09 18:06:19] 🔐 Lấy access token từ service_account.json [2025-08-09 18:06:19] ✅ Access token lấy thành công [2025-08-09 18:06:19] 📤 FCM response HTTP 200 [2025-08-09 18:06:19] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 18:06:31] === Vào send_fcm_v1.php === [2025-08-09 18:06:31] Dữ liệu POST: thoId=phuongnuoc | message=nó có báo up day đâu [2025-08-09 18:06:31] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-09 18:06:31] 🔐 Lấy access token từ service_account.json [2025-08-09 18:06:31] ✅ Access token lấy thành công [2025-08-09 18:06:31] 📥 Firestore response: HTTP 200 [2025-08-09 18:06:31] ➡️ Gửi FCM đến fKWfpcbqThSqAIHv83Y0YD:APA91bEPUrHEsKo1EHLqhbGIWoQnJR0KYjHbIEXQN0RdZF2LXe8NsQgt5Plud9IczSMZhCwCAyfYFykgUwhfWYSHM9Ls_eJvo1b0hWAwNjuXNYOsz0r6NoA [2025-08-09 18:06:31] 🔐 Lấy access token từ service_account.json [2025-08-09 18:06:31] ✅ Access token lấy thành công [2025-08-09 18:06:32] 📤 FCM response HTTP 200 [2025-08-09 18:06:32] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 18:07:11] === Vào send_fcm_v1.php === [2025-08-09 18:07:11] Dữ liệu POST: thoId=phuongnuoc | message=có rồi [2025-08-09 18:07:11] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-09 18:07:11] 🔐 Lấy access token từ service_account.json [2025-08-09 18:07:11] ✅ Access token lấy thành công [2025-08-09 18:07:11] 📥 Firestore response: HTTP 200 [2025-08-09 18:07:11] ➡️ Gửi FCM đến fKWfpcbqThSqAIHv83Y0YD:APA91bEPUrHEsKo1EHLqhbGIWoQnJR0KYjHbIEXQN0RdZF2LXe8NsQgt5Plud9IczSMZhCwCAyfYFykgUwhfWYSHM9Ls_eJvo1b0hWAwNjuXNYOsz0r6NoA [2025-08-09 18:07:11] 🔐 Lấy access token từ service_account.json [2025-08-09 18:07:11] ✅ Access token lấy thành công [2025-08-09 18:07:12] 📤 FCM response HTTP 200 [2025-08-09 18:07:12] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 18:07:40] === Vào send_fcm_v1.php === [2025-08-09 18:07:40] Dữ liệu POST: thoId=phuongnuoc | message=hay à nha [2025-08-09 18:07:40] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-09 18:07:40] 🔐 Lấy access token từ service_account.json [2025-08-09 18:07:40] ✅ Access token lấy thành công [2025-08-09 18:07:40] 📥 Firestore response: HTTP 200 [2025-08-09 18:07:40] ➡️ Gửi FCM đến fKWfpcbqThSqAIHv83Y0YD:APA91bEPUrHEsKo1EHLqhbGIWoQnJR0KYjHbIEXQN0RdZF2LXe8NsQgt5Plud9IczSMZhCwCAyfYFykgUwhfWYSHM9Ls_eJvo1b0hWAwNjuXNYOsz0r6NoA [2025-08-09 18:07:40] 🔐 Lấy access token từ service_account.json [2025-08-09 18:07:41] ✅ Access token lấy thành công [2025-08-09 18:07:41] 📤 FCM response HTTP 200 [2025-08-09 18:07:41] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 18:07:48] === Vào send_fcm_v1.php === [2025-08-09 18:07:48] Dữ liệu POST: thoId=phuongnuoc | message=https://firebasestorage.googleapis.com/v0/b/fix247-ff87f.firebasestorage.app/o/chat_images%2F52ae735e-ecb1-447f-9566-03f9ae350484?alt=media&token=10829f40-22e3-4af0-9a5d-f4a5ac2707bf [2025-08-09 18:07:48] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-09 18:07:48] 🔐 Lấy access token từ service_account.json [2025-08-09 18:07:49] ✅ Access token lấy thành công [2025-08-09 18:07:49] 📥 Firestore response: HTTP 200 [2025-08-09 18:07:49] ➡️ Gửi FCM đến fKWfpcbqThSqAIHv83Y0YD:APA91bEPUrHEsKo1EHLqhbGIWoQnJR0KYjHbIEXQN0RdZF2LXe8NsQgt5Plud9IczSMZhCwCAyfYFykgUwhfWYSHM9Ls_eJvo1b0hWAwNjuXNYOsz0r6NoA [2025-08-09 18:07:49] 🔐 Lấy access token từ service_account.json [2025-08-09 18:07:49] ✅ Access token lấy thành công [2025-08-09 18:07:49] 📤 FCM response HTTP 200 [2025-08-09 18:07:49] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 18:08:41] === Vào send_fcm_v1.php === [2025-08-09 18:08:41] Dữ liệu POST: thoId=phuongnuoc | message=👍 [2025-08-09 18:08:41] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-09 18:08:41] 🔐 Lấy access token từ service_account.json [2025-08-09 18:08:41] ✅ Access token lấy thành công [2025-08-09 18:08:41] 📥 Firestore response: HTTP 200 [2025-08-09 18:08:41] ➡️ Gửi FCM đến fKWfpcbqThSqAIHv83Y0YD:APA91bEPUrHEsKo1EHLqhbGIWoQnJR0KYjHbIEXQN0RdZF2LXe8NsQgt5Plud9IczSMZhCwCAyfYFykgUwhfWYSHM9Ls_eJvo1b0hWAwNjuXNYOsz0r6NoA [2025-08-09 18:08:41] 🔐 Lấy access token từ service_account.json [2025-08-09 18:08:41] ✅ Access token lấy thành công [2025-08-09 18:08:41] 📤 FCM response HTTP 200 [2025-08-09 18:08:41] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 18:09:17] === Vào send_fcm_v1.php === [2025-08-09 18:09:17] Dữ liệu POST: thoId=phuongnuoc | message=https://www.google.com/maps/search/?api=1&query=11.588985248562992,108.96625729769607 [2025-08-09 18:09:17] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-09 18:09:17] 🔐 Lấy access token từ service_account.json [2025-08-09 18:09:17] ✅ Access token lấy thành công [2025-08-09 18:09:18] 📥 Firestore response: HTTP 200 [2025-08-09 18:09:18] ➡️ Gửi FCM đến fKWfpcbqThSqAIHv83Y0YD:APA91bEPUrHEsKo1EHLqhbGIWoQnJR0KYjHbIEXQN0RdZF2LXe8NsQgt5Plud9IczSMZhCwCAyfYFykgUwhfWYSHM9Ls_eJvo1b0hWAwNjuXNYOsz0r6NoA [2025-08-09 18:09:18] 🔐 Lấy access token từ service_account.json [2025-08-09 18:09:18] ✅ Access token lấy thành công [2025-08-09 18:09:18] 📤 FCM response HTTP 200 [2025-08-09 18:09:18] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 19:16:27] === Vào send_fcm_v1.php === [2025-08-09 19:16:27] Dữ liệu POST: thoId=ngochan | message=hú hú [2025-08-09 19:16:27] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-09 19:16:27] 🔐 Lấy access token từ service_account.json [2025-08-09 19:16:28] ✅ Access token lấy thành công [2025-08-09 19:16:28] 📥 Firestore response: HTTP 200 [2025-08-09 19:16:28] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-09 19:16:28] 🔐 Lấy access token từ service_account.json [2025-08-09 19:16:28] ✅ Access token lấy thành công [2025-08-09 19:16:28] 📤 FCM response HTTP 200 [2025-08-09 19:16:28] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 19:16:38] === Vào send_fcm_v1.php === [2025-08-09 19:16:38] Dữ liệu POST: thoId=ngochan | message=https://firebasestorage.googleapis.com/v0/b/fix247-ff87f.firebasestorage.app/o/chat_images%2F353799bb-c3ba-41c1-bae9-69c5196c116f?alt=media&token=8a8fd536-891f-452c-b915-a8d7a8a90b10 [2025-08-09 19:16:38] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-09 19:16:38] 🔐 Lấy access token từ service_account.json [2025-08-09 19:16:38] ✅ Access token lấy thành công [2025-08-09 19:16:38] 📥 Firestore response: HTTP 200 [2025-08-09 19:16:38] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-09 19:16:38] 🔐 Lấy access token từ service_account.json [2025-08-09 19:16:38] ✅ Access token lấy thành công [2025-08-09 19:16:39] 📤 FCM response HTTP 200 [2025-08-09 19:16:39] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 19:42:24] === Vào send_fcm_v1.php === [2025-08-09 19:42:24] Dữ liệu POST: thoId=phuongnuoc | message=https://firebasestorage.googleapis.com/v0/b/fix247-ff87f.firebasestorage.app/o/chat_images%2F5298915c-af83-40a1-bfa6-8630cfc68bde?alt=media&token=68112958-87ae-4fee-b488-04133d037094 [2025-08-09 19:42:24] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-09 19:42:24] 🔐 Lấy access token từ service_account.json [2025-08-09 19:42:24] ✅ Access token lấy thành công [2025-08-09 19:42:24] 📥 Firestore response: HTTP 200 [2025-08-09 19:42:24] ➡️ Gửi FCM đến fKWfpcbqThSqAIHv83Y0YD:APA91bEPUrHEsKo1EHLqhbGIWoQnJR0KYjHbIEXQN0RdZF2LXe8NsQgt5Plud9IczSMZhCwCAyfYFykgUwhfWYSHM9Ls_eJvo1b0hWAwNjuXNYOsz0r6NoA [2025-08-09 19:42:24] 🔐 Lấy access token từ service_account.json [2025-08-09 19:42:24] ✅ Access token lấy thành công [2025-08-09 19:42:24] 📤 FCM response HTTP 200 [2025-08-09 19:42:24] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 19:42:25] === Vào send_fcm_v1.php === [2025-08-09 19:42:25] Dữ liệu POST: thoId=phuongnuoc | message=https://firebasestorage.googleapis.com/v0/b/fix247-ff87f.firebasestorage.app/o/chat_images%2F098378bf-dcd2-40a9-9859-b7d65caca2c1?alt=media&token=8fd6b39d-d502-4e8d-afe3-5171583238f3 [2025-08-09 19:42:25] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-09 19:42:25] 🔐 Lấy access token từ service_account.json [2025-08-09 19:42:25] ✅ Access token lấy thành công [2025-08-09 19:42:25] 📥 Firestore response: HTTP 200 [2025-08-09 19:42:25] ➡️ Gửi FCM đến fKWfpcbqThSqAIHv83Y0YD:APA91bEPUrHEsKo1EHLqhbGIWoQnJR0KYjHbIEXQN0RdZF2LXe8NsQgt5Plud9IczSMZhCwCAyfYFykgUwhfWYSHM9Ls_eJvo1b0hWAwNjuXNYOsz0r6NoA [2025-08-09 19:42:25] 🔐 Lấy access token từ service_account.json [2025-08-09 19:42:25] ✅ Access token lấy thành công [2025-08-09 19:42:25] 📤 FCM response HTTP 200 [2025-08-09 19:42:25] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 19:42:47] === Vào send_fcm_v1.php === [2025-08-09 19:42:47] Dữ liệu POST: thoId=phuongnuoc | message=nó ko có nút chuyển tiếp hay chia sẻ p [2025-08-09 19:42:47] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-09 19:42:47] 🔐 Lấy access token từ service_account.json [2025-08-09 19:42:47] ✅ Access token lấy thành công [2025-08-09 19:42:47] 📥 Firestore response: HTTP 200 [2025-08-09 19:42:47] ➡️ Gửi FCM đến fKWfpcbqThSqAIHv83Y0YD:APA91bEPUrHEsKo1EHLqhbGIWoQnJR0KYjHbIEXQN0RdZF2LXe8NsQgt5Plud9IczSMZhCwCAyfYFykgUwhfWYSHM9Ls_eJvo1b0hWAwNjuXNYOsz0r6NoA [2025-08-09 19:42:47] 🔐 Lấy access token từ service_account.json [2025-08-09 19:42:47] ✅ Access token lấy thành công [2025-08-09 19:42:47] 📤 FCM response HTTP 200 [2025-08-09 19:42:47] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 19:43:25] === Vào send_fcm_v1.php === [2025-08-09 19:43:25] Dữ liệu POST: thoId=ngochan | message=chia sẻ đi qua app khác á hả [2025-08-09 19:43:25] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-09 19:43:25] 🔐 Lấy access token từ service_account.json [2025-08-09 19:43:25] ✅ Access token lấy thành công [2025-08-09 19:43:25] 📥 Firestore response: HTTP 200 [2025-08-09 19:43:25] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-09 19:43:25] 🔐 Lấy access token từ service_account.json [2025-08-09 19:43:26] ✅ Access token lấy thành công [2025-08-09 19:43:26] 📤 FCM response HTTP 200 [2025-08-09 19:43:26] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 19:44:11] === Vào send_fcm_v1.php === [2025-08-09 19:44:11] Dữ liệu POST: thoId=phuongnuoc | message=ko chia sẻ qua thợ khác đó và qua app khác [2025-08-09 19:44:11] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-09 19:44:11] 🔐 Lấy access token từ service_account.json [2025-08-09 19:44:11] ✅ Access token lấy thành công [2025-08-09 19:44:11] 📥 Firestore response: HTTP 200 [2025-08-09 19:44:11] ➡️ Gửi FCM đến fKWfpcbqThSqAIHv83Y0YD:APA91bEPUrHEsKo1EHLqhbGIWoQnJR0KYjHbIEXQN0RdZF2LXe8NsQgt5Plud9IczSMZhCwCAyfYFykgUwhfWYSHM9Ls_eJvo1b0hWAwNjuXNYOsz0r6NoA [2025-08-09 19:44:11] 🔐 Lấy access token từ service_account.json [2025-08-09 19:44:11] ✅ Access token lấy thành công [2025-08-09 19:44:11] 📤 FCM response HTTP 200 [2025-08-09 19:44:11] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-09 19:45:31] === Vào send_fcm_v1.php === [2025-08-09 19:45:31] Dữ liệu POST: thoId=ngochan | message=ok để bổ sung lần update sau [2025-08-09 19:45:31] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-09 19:45:31] 🔐 Lấy access token từ service_account.json [2025-08-09 19:45:31] ✅ Access token lấy thành công [2025-08-09 19:45:31] 📥 Firestore response: HTTP 200 [2025-08-09 19:45:31] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-09 19:45:31] 🔐 Lấy access token từ service_account.json [2025-08-09 19:45:32] ✅ Access token lấy thành công [2025-08-09 19:45:32] 📤 FCM response HTTP 200 [2025-08-09 19:45:32] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-10 12:21:41] === Vào send_fcm_v1.php === [2025-08-10 12:21:41] Dữ liệu POST: thoId=phuongnuoc | message=https://www.google.com/maps/search/?api=1&query=11.778704409654445,108.77625232381594 [2025-08-10 12:21:41] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-10 12:21:41] 🔐 Lấy access token từ service_account.json [2025-08-10 12:21:41] ✅ Access token lấy thành công [2025-08-10 12:21:41] 📥 Firestore response: HTTP 200 [2025-08-10 12:21:41] ❌ Không tìm thấy deviceToken cho phuongnuoc [2025-08-11 10:14:01] === Vào send_fcm_v1.php === [2025-08-11 10:14:01] Dữ liệu POST: thoId=ngochan | message=cân thoẹ nước [2025-08-11 10:14:01] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-11 10:14:01] 🔐 Lấy access token từ service_account.json [2025-08-11 10:14:02] ✅ Access token lấy thành công [2025-08-11 10:14:02] 📥 Firestore response: HTTP 200 [2025-08-11 10:14:02] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-11 10:14:02] 🔐 Lấy access token từ service_account.json [2025-08-11 10:14:02] ✅ Access token lấy thành công [2025-08-11 10:14:02] 📤 FCM response HTTP 200 [2025-08-11 10:14:02] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-11 10:18:11] === Vào send_fcm_v1.php === [2025-08-11 10:18:11] Dữ liệu POST: thoId=buihoang | message=❤️ [2025-08-11 10:18:11] ➡️ Gọi Firestore để lấy deviceToken cho buihoang [2025-08-11 10:18:11] 🔐 Lấy access token từ service_account.json [2025-08-11 10:18:11] ✅ Access token lấy thành công [2025-08-11 10:18:11] 📥 Firestore response: HTTP 200 [2025-08-11 10:18:11] ❌ Không tìm thấy deviceToken cho buihoang [2025-08-11 10:18:11] === Vào send_fcm_v1.php === [2025-08-11 10:18:11] Dữ liệu POST: thoId=buihoang | message=cần sửa ống [2025-08-11 10:18:11] ➡️ Gọi Firestore để lấy deviceToken cho buihoang [2025-08-11 10:18:11] 🔐 Lấy access token từ service_account.json [2025-08-11 10:18:11] ✅ Access token lấy thành công [2025-08-11 10:18:12] 📥 Firestore response: HTTP 200 [2025-08-11 10:18:12] ❌ Không tìm thấy deviceToken cho buihoang [2025-08-11 10:19:30] === Vào send_fcm_v1.php === [2025-08-11 10:19:30] Dữ liệu POST: thoId=buihoang | message=https://firebasestorage.googleapis.com/v0/b/fix247-ff87f.firebasestorage.app/o/chat_images%2F1e3b3a08-9a55-4a42-8cef-1a884ca56082?alt=media&token=c0f77169-2037-49de-9162-aac05b09f583 [2025-08-11 10:19:30] ➡️ Gọi Firestore để lấy deviceToken cho buihoang [2025-08-11 10:19:30] 🔐 Lấy access token từ service_account.json [2025-08-11 10:19:30] ✅ Access token lấy thành công [2025-08-11 10:19:31] 📥 Firestore response: HTTP 200 [2025-08-11 10:19:31] ❌ Không tìm thấy deviceToken cho buihoang [2025-08-12 13:45:16] === Vào send_fcm_v1.php === [2025-08-12 13:45:16] Dữ liệu POST: thoId=phuongnuoc | message=test [2025-08-12 13:45:16] ➡️ Gọi Firestore để lấy deviceToken cho phuongnuoc [2025-08-12 13:45:16] 🔐 Lấy access token từ service_account.json [2025-08-12 13:45:16] ✅ Access token lấy thành công [2025-08-12 13:45:16] 📥 Firestore response: HTTP 200 [2025-08-12 13:45:16] ➡️ Gửi FCM đến el1mpyujzU7qjAZ6QBgRi5:APA91bEwqkq0cxZRAQo-HeiII4CJ2al8NPmo8aryzRn3QS68kTq2BePGBZA65-uWFajBjgeLpzusK--oYWWuCdLCKP_liOhmp_kDROnLHBrD2hIwd5AbIYY [2025-08-12 13:45:16] 🔐 Lấy access token từ service_account.json [2025-08-12 13:45:16] ✅ Access token lấy thành công [2025-08-12 13:45:17] 📤 FCM response HTTP 200 [2025-08-12 13:45:17] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-13 19:38:44] === Vào send_fcm_v1.php === [2025-08-13 19:38:44] Dữ liệu POST: thoId=ngochan | message=https://firebasestorage.googleapis.com/v0/b/fix247-ff87f.firebasestorage.app/o/chat_images%2F1ce6ce45-377f-413b-8293-f4cea8a33593?alt=media&token=3248e6f5-fd04-4e47-9f2a-d4117cf12c6c [2025-08-13 19:38:44] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-13 19:38:44] 🔐 Lấy access token từ service_account.json [2025-08-13 19:38:45] ✅ Access token lấy thành công [2025-08-13 19:38:45] 📥 Firestore response: HTTP 200 [2025-08-13 19:38:45] ❌ Không tìm thấy deviceToken cho ngochan [2025-08-13 22:07:26] === Vào send_fcm_v1.php === [2025-08-13 22:07:26] Dữ liệu POST: thoId=ngochan | message=chào thợ [2025-08-13 22:07:26] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-13 22:07:26] 🔐 Lấy access token từ service_account.json [2025-08-13 22:07:26] ✅ Access token lấy thành công [2025-08-13 22:07:26] 📥 Firestore response: HTTP 200 [2025-08-13 22:07:26] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-13 22:07:26] 🔐 Lấy access token từ service_account.json [2025-08-13 22:07:27] ✅ Access token lấy thành công [2025-08-13 22:07:27] 📤 FCM response HTTP 200 [2025-08-13 22:07:27] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-13 22:07:27] === Vào send_fcm_v1.php === [2025-08-13 22:07:27] Dữ liệu POST: thoId=ngochan | message=https://www.google.com/maps/search/?api=1&query=11.588967983803924,108.96620901737903 [2025-08-13 22:07:27] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-13 22:07:27] 🔐 Lấy access token từ service_account.json [2025-08-13 22:07:27] ✅ Access token lấy thành công [2025-08-13 22:07:28] 📥 Firestore response: HTTP 200 [2025-08-13 22:07:28] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-13 22:07:28] 🔐 Lấy access token từ service_account.json [2025-08-13 22:07:28] ✅ Access token lấy thành công [2025-08-13 22:07:28] 📤 FCM response HTTP 200 [2025-08-13 22:07:28] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-14 21:21:59] === Vào send_fcm_v1.php === [2025-08-14 21:21:59] Dữ liệu POST: thoId=tanphuong | message=banj có đó không ? [2025-08-14 21:21:59] ➡️ Gọi Firestore để lấy deviceToken cho tanphuong [2025-08-14 21:21:59] 🔐 Lấy access token từ service_account.json [2025-08-14 21:21:59] ✅ Access token lấy thành công [2025-08-14 21:21:59] 📥 Firestore response: HTTP 200 [2025-08-14 21:21:59] ➡️ Gửi FCM đến fflxR8A4RMe_ONDIifEwhT:APA91bETYu7Gu_VSTwfw_YR9c9qqpZs2TXvAl9eU5lbdY1uE2H6Un1h0ZrcvLWwVMMxlWqmC13Q-iPiq9mBWE4jWTo8ItDLSVZn1q5INQZKpdroQpGw4VUQ [2025-08-14 21:21:59] 🔐 Lấy access token từ service_account.json [2025-08-14 21:21:59] ✅ Access token lấy thành công [2025-08-14 21:22:00] 📤 FCM response HTTP 200 [2025-08-14 21:22:00] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-14 21:23:21] === Vào send_fcm_v1.php === [2025-08-14 21:23:21] Dữ liệu POST: thoId=tanphuong | message=sao không trả lời tôi? [2025-08-14 21:23:21] ➡️ Gọi Firestore để lấy deviceToken cho tanphuong [2025-08-14 21:23:21] 🔐 Lấy access token từ service_account.json [2025-08-14 21:23:21] ✅ Access token lấy thành công [2025-08-14 21:23:21] 📥 Firestore response: HTTP 200 [2025-08-14 21:23:21] ➡️ Gửi FCM đến fflxR8A4RMe_ONDIifEwhT:APA91bETYu7Gu_VSTwfw_YR9c9qqpZs2TXvAl9eU5lbdY1uE2H6Un1h0ZrcvLWwVMMxlWqmC13Q-iPiq9mBWE4jWTo8ItDLSVZn1q5INQZKpdroQpGw4VUQ [2025-08-14 21:23:21] 🔐 Lấy access token từ service_account.json [2025-08-14 21:23:21] ✅ Access token lấy thành công [2025-08-14 21:23:22] 📤 FCM response HTTP 200 [2025-08-14 21:23:22] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-15 10:30:23] === Vào send_fcm_v1.php === [2025-08-15 10:30:23] Dữ liệu POST: thoId=ngochan | message=https://firebasestorage.googleapis.com/v0/b/fix247-ff87f.firebasestorage.app/o/chat_images%2F9e2883f1-61b9-448b-a571-ddd3a1dc548b?alt=media&token=e97dfd40-fd44-457c-9705-12da699b1845 [2025-08-15 10:30:23] ➡️ Gọi Firestore để lấy deviceToken cho ngochan [2025-08-15 10:30:23] 🔐 Lấy access token từ service_account.json [2025-08-15 10:30:23] ✅ Access token lấy thành công [2025-08-15 10:30:23] 📥 Firestore response: HTTP 200 [2025-08-15 10:30:23] ❌ Không tìm thấy deviceToken cho ngochan [2025-08-15 14:40:52] === Vào send_fcm_v1.php === [2025-08-15 14:40:52] Dữ liệu POST: thoId=hohaiau | message=https://firebasestorage.googleapis.com/v0/b/fix247-ff87f.firebasestorage.app/o/chat_images%2F883a8add-4c78-4f55-95ed-8b8652e39d4e?alt=media&token=8ba0863c-d201-40ce-94bf-9b95f5fe574c [2025-08-15 14:40:52] ➡️ Gọi Firestore để lấy deviceToken cho hohaiau [2025-08-15 14:40:52] 🔐 Lấy access token từ service_account.json [2025-08-15 14:40:52] ✅ Access token lấy thành công [2025-08-15 14:40:52] 📥 Firestore response: HTTP 200 [2025-08-15 14:40:52] ➡️ Gửi FCM đến fk9rn40RRfOK4a7x3sl18d:APA91bG-tvz1Ff0kmeDCmwrbSEWJXl11d7UBiBQhqovh9LxyDwRH48MbMv6te54jD2EjRtbJAN0js6xutZ2X1iBzLCxvnx_fYuOnTS-XcmLQFBiqnHCRNwQ [2025-08-15 14:40:52] 🔐 Lấy access token từ service_account.json [2025-08-15 14:40:52] ✅ Access token lấy thành công [2025-08-15 14:40:52] 📤 FCM response HTTP 200 [2025-08-15 14:40:52] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-15 14:41:29] === Vào send_fcm_v1.php === [2025-08-15 14:41:29] Dữ liệu POST: thoId=hohaiau | message=https://www.google.com/maps/search/?api=1&query=11.57819509172171,108.99813127454172 [2025-08-15 14:41:29] ➡️ Gọi Firestore để lấy deviceToken cho hohaiau [2025-08-15 14:41:29] 🔐 Lấy access token từ service_account.json [2025-08-15 14:41:29] === Vào send_fcm_v1.php === [2025-08-15 14:41:29] Dữ liệu POST: thoId=hohaiau | message=https://www.google.com/maps/search/?api=1&query=11.57819509172171,108.99813127454172 [2025-08-15 14:41:29] ➡️ Gọi Firestore để lấy deviceToken cho hohaiau [2025-08-15 14:41:29] 🔐 Lấy access token từ service_account.json [2025-08-15 14:41:29] ✅ Access token lấy thành công [2025-08-15 14:41:29] ✅ Access token lấy thành công [2025-08-15 14:41:29] 📥 Firestore response: HTTP 200 [2025-08-15 14:41:29] ➡️ Gửi FCM đến fk9rn40RRfOK4a7x3sl18d:APA91bG-tvz1Ff0kmeDCmwrbSEWJXl11d7UBiBQhqovh9LxyDwRH48MbMv6te54jD2EjRtbJAN0js6xutZ2X1iBzLCxvnx_fYuOnTS-XcmLQFBiqnHCRNwQ [2025-08-15 14:41:29] 🔐 Lấy access token từ service_account.json [2025-08-15 14:41:29] 📥 Firestore response: HTTP 200 [2025-08-15 14:41:29] ➡️ Gửi FCM đến fk9rn40RRfOK4a7x3sl18d:APA91bG-tvz1Ff0kmeDCmwrbSEWJXl11d7UBiBQhqovh9LxyDwRH48MbMv6te54jD2EjRtbJAN0js6xutZ2X1iBzLCxvnx_fYuOnTS-XcmLQFBiqnHCRNwQ [2025-08-15 14:41:29] 🔐 Lấy access token từ service_account.json [2025-08-15 14:41:29] ✅ Access token lấy thành công [2025-08-15 14:41:29] ✅ Access token lấy thành công [2025-08-15 14:41:29] 📤 FCM response HTTP 200 [2025-08-15 14:41:29] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-15 14:41:30] 📤 FCM response HTTP 200 [2025-08-15 14:41:30] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-16 10:01:02] === Vào send_fcm_v1.php === [2025-08-16 10:01:02] Dữ liệu POST: thoId=anhoa | message=hú hú [2025-08-16 10:01:02] ➡️ Gọi Firestore để lấy deviceToken cho anhoa [2025-08-16 10:01:02] 🔐 Lấy access token từ service_account.json [2025-08-16 10:01:02] ✅ Access token lấy thành công [2025-08-16 10:01:02] 📥 Firestore response: HTTP 200 [2025-08-16 10:01:02] ❌ Không tìm thấy deviceToken cho anhoa [2025-08-16 10:01:27] === Vào send_fcm_v1.php === [2025-08-16 10:01:27] Dữ liệu POST: thoId=hieppr | message=chào tôi cần sửa ống nước [2025-08-16 10:01:27] ➡️ Gọi Firestore để lấy deviceToken cho hieppr [2025-08-16 10:01:27] 🔐 Lấy access token từ service_account.json [2025-08-16 10:01:27] ✅ Access token lấy thành công [2025-08-16 10:01:27] 📥 Firestore response: HTTP 200 [2025-08-16 10:01:27] ❌ Không tìm thấy deviceToken cho hieppr [2025-08-16 10:01:59] === Vào send_fcm_v1.php === [2025-08-16 10:01:59] Dữ liệu POST: thoId=thanhquang | message=xin chào [2025-08-16 10:01:59] ➡️ Gọi Firestore để lấy deviceToken cho thanhquang [2025-08-16 10:01:59] 🔐 Lấy access token từ service_account.json [2025-08-16 10:01:59] ✅ Access token lấy thành công [2025-08-16 10:01:59] 📥 Firestore response: HTTP 200 [2025-08-16 10:01:59] ➡️ Gửi FCM đến erXwBvV5W003hQg89KB1HG:APA91bFOyMCyds-znoQhfrVImZidyu3kKmyd4mT8LO39YESyQ8nnbOsjPdNNElWOf8Ba7o9uZksVZ3QZ5KRWldN4zlUXY1V88tPjzC6iUt9wiQUaCqo9O-g [2025-08-16 10:01:59] 🔐 Lấy access token từ service_account.json [2025-08-16 10:02:00] ✅ Access token lấy thành công [2025-08-16 10:02:00] 📤 FCM response HTTP 200 [2025-08-16 10:02:00] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-16 10:03:02] === Vào send_fcm_v1.php === [2025-08-16 10:03:02] Dữ liệu POST: thoId=hieppr | message=chào [2025-08-16 10:03:02] ➡️ Gọi Firestore để lấy deviceToken cho hieppr [2025-08-16 10:03:02] 🔐 Lấy access token từ service_account.json [2025-08-16 10:03:02] ✅ Access token lấy thành công [2025-08-16 10:03:02] 📥 Firestore response: HTTP 200 [2025-08-16 10:03:02] ➡️ Gửi FCM đến ek132Tk2QTyEx9ajhhUGmc:APA91bE3Iw4t_eBFriN2648sZmo95NU0GJJjNMDmvbRmAamnUMspNY1ukysEgsI9ecEyhRabZULhK-fQ2tJLMD3X4aKbbYQ8mMiJIcnZdCpB7FuWmpZ5FCw [2025-08-16 10:03:02] 🔐 Lấy access token từ service_account.json [2025-08-16 10:03:03] ✅ Access token lấy thành công [2025-08-16 10:03:03] 📤 FCM response HTTP 200 [2025-08-16 10:03:03] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-17 21:05:30] === Vào send_fcm_v1.php === [2025-08-17 21:05:30] Dữ liệu POST: thoId= | message= [2025-08-17 21:05:30] ❌ Thiếu dữ liệu POST [2025-08-17 22:18:30] === Vào send_fcm_v1.php === [2025-08-17 22:18:30] Dữ liệu POST: thoId= | message= [2025-08-17 22:18:30] ❌ Thiếu dữ liệu POST [2025-08-17 22:22:06] === Vào send_fcm_v1.php === [2025-08-17 22:22:06] Dữ liệu POST: thoId= | message= [2025-08-17 22:22:06] ❌ Thiếu dữ liệu POST [2025-08-19 18:24:46] === Vào send_fcm_v1.php === [2025-08-19 18:24:46] Dữ liệu POST: thoId=hieppr | message=https://firebasestorage.googleapis.com/v0/b/fix247-ff87f.firebasestorage.app/o/chat_images%2Fc8703800-6295-4af8-99b1-199f0fc9d0f4?alt=media&token=34ed88ae-45b7-4a5e-a8c1-9e6249fcdb71 [2025-08-19 18:24:46] ➡️ Gọi Firestore để lấy deviceToken cho hieppr [2025-08-19 18:24:46] 🔐 Lấy access token từ service_account.json [2025-08-19 18:24:46] ✅ Access token lấy thành công [2025-08-19 18:24:47] 📥 Firestore response: HTTP 200 [2025-08-19 18:24:47] ➡️ Gửi FCM đến ek132Tk2QTyEx9ajhhUGmc:APA91bE3Iw4t_eBFriN2648sZmo95NU0GJJjNMDmvbRmAamnUMspNY1ukysEgsI9ecEyhRabZULhK-fQ2tJLMD3X4aKbbYQ8mMiJIcnZdCpB7FuWmpZ5FCw [2025-08-19 18:24:47] 🔐 Lấy access token từ service_account.json [2025-08-19 18:24:47] ✅ Access token lấy thành công [2025-08-19 18:24:47] 📤 FCM response HTTP 200 [2025-08-19 18:24:47] ✅ Kết thúc xử lý send_fcm_v1.php [2025-08-22 13:13:14] === Vào send_fcm_v1.php === [2025-08-22 13:13:14] Dữ liệu POST: thoId= | message= [2025-08-22 13:13:14] ❌ Thiếu dữ liệu POST