59 lines
2.5 KiB
Python
59 lines
2.5 KiB
Python
# 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).")
|