Log and dedup source of truth for the patient reactivation campaign
(DENTALI recall via Chatwoot).
Replaces the CSV that ``app_s/whatsapp/services/reactivation/sender.py``
used to read and write: that CSV lives under ``temporales_julian/``,
a path that does not exist on the production checkout, so
``record_sent`` raised ``FileNotFoundError`` there and the dedup check
in ``is_recently_sent`` silently saw an empty log — the same patient
got the same message every run.
Registro y fuente de verdad del dedup para la campaña de reactivación
de pacientes (recall DENTALI vía Chatwoot). Reemplaza el CSV que usaba
``sender.py``.
Actions
| Action |
Description |
| Resolve ambiguous: mark as FAILED (verified it did NOT go out) |
|
| Resolve ambiguous: mark as SENT (verified it DID go out) |
|
Reactivation Sends
It has the following related modules and may be of interest to you: