# diag_buscar_numero.py - Rastrea un telefono en cartera_junta: como y donde se cuenta. # Ejecutar en backend/: python diag_buscar_numero.py import os, requests from dotenv import load_dotenv load_dotenv() TELEFONO = "18099166706" # <-- numero a buscar (tal cual y normalizado) URL = os.getenv("CARTERA_URL") or os.getenv("SUPABASE_PAUTA_URL", "") KEY = os.getenv("CARTERA_KEY") or os.getenv("SUPABASE_PAUTA_KEY", "") T = os.getenv("SUPABASE_TABLA_CARTERA", "cartera_junta") HEAD = {"apikey": KEY, "Authorization": f"Bearer {KEY}"} def _norm(v): """Misma normalizacion de la cartera: quita +51/+ y el 51 inicial de celulares PE.""" s = str(v or "") for x in ("+51","+"," ","-","(",")"): s=s.replace(x,"") s=s.strip() if s.isdigit() and 51900000000 <= int(s) <= 51999999999: s=s[2:] return s # variantes a buscar: el numero tal cual y su version normalizada variantes = {TELEFONO, _norm(TELEFONO)} print(f"Buscando telefono: {TELEFONO} (variantes: {variantes})\n") encontrado = False for tel in variantes: r = requests.get(f"{URL}/rest/v1/{T}", params={"select":"*", "telefono": f"eq.{tel}"}, headers=HEAD, timeout=60) r.raise_for_status() filas = r.json() if not filas: continue encontrado = True print(f"=== {len(filas)} fila(s) con telefono = {tel} ===") for i,f in enumerate(filas,1): print(f"\n Fila {i}:") for campo in ["telefono","es_origen","canal","origen_base","asesor","sede", "programa","codigo","fecha_creada","solo_contacto"]: if campo in f: print(f" {campo:14}= {f.get(campo)}") # mostrar cualquier otro campo extra otros=[k for k in f.keys() if k not in ("telefono","es_origen","canal","origen_base","asesor","sede", "programa","codigo","fecha_creada","solo_contacto")] for k in otros: print(f" {k:14}= {f.get(k)}") if not encontrado: print("El telefono NO aparece en cartera_junta (ni tal cual ni normalizado).") print("=> No se esta contando en ninguna pauta/origen de la cartera.") else: print("\n--- Como leer esto ---") print(" es_origen=SI -> esta fila es la que CUENTA como origen del telefono.") print(" canal -> COPITO / PAUTA_WSP / WEB_FORMULARIO / etc.") print(" origen_base -> POSTGRE (Chatwoot) o SUPABASE (tu Excel).") print(" codigo -> la pauta/campania a la que esta asociado (si tiene).")