zov-tech/backend-py/app
wasrusgen 9a2dcbc3fe backend: client profile API (/api/clients, /api/lead)
NEW HANDLERS:
- _handle_clients: groups manager's Leads by client (name or tg_id), returns
  list with leads_count, last_lead_at, client_phone (extracted from checklist),
  and full leads array per client. Sorted by recency desc.
- _handle_lead: fetches single lead with parsed checklist + ai_response JSON.
  Validates ownership (manager_tg_id matches caller).

NEW ENDPOINTS:
- POST /api/clients — list of manager's clients with summary
- POST /api/lead — single lead detail with ai_response for re-render

Both accept initData auth, only manager role can call.
Apps Script compat: ?path=clients and ?path=lead also work.
2026-05-12 07:16:14 +03:00
..
parsers parsers: better image extraction — real product photos in report cards 2026-05-11 23:43:25 +03:00
__init__.py feat(infra): Python FastAPI backend + Docker compose for VPS deploy (GigaChat with Russian root CA) 2026-05-10 17:44:21 +03:00
ai.py catalog: models cache in Sheets — AI picks from real list, no SKU hallucination 2026-05-12 06:32:39 +03:00
auth.py feat(infra): Python FastAPI backend + Docker compose for VPS deploy (GigaChat with Russian root CA) 2026-05-10 17:44:21 +03:00
catalog.py catalog: filter junk + background refresh + clear endpoint 2026-05-12 07:09:33 +03:00
config.py backend: proxy_pool supports PROXY_LIST_FILE + format auto-conversion 2026-05-11 15:52:02 +03:00
main.py backend: client profile API (/api/clients, /api/lead) 2026-05-12 07:16:14 +03:00
proxy_pool.py backend: proxy_pool supports PROXY_LIST_FILE + format auto-conversion 2026-05-11 15:52:02 +03:00
sheets.py catalog: models cache in Sheets — AI picks from real list, no SKU hallucination 2026-05-12 06:32:39 +03:00
telegram.py feat(infra): Python FastAPI backend + Docker compose for VPS deploy (GigaChat with Russian root CA) 2026-05-10 17:44:21 +03:00