feat(prospecting): add complete prospecting module for lead discovery and scoring
Some checks failed
Some checks failed
Migrates scanning pipeline from marketing-.lu-domains app into Orion module. Supports digital (domain scan) and offline (manual capture) lead channels with enrichment, scoring, campaign management, and interaction tracking. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
69
app/modules/prospecting/schemas/enrichment.py
Normal file
69
app/modules/prospecting/schemas/enrichment.py
Normal file
@@ -0,0 +1,69 @@
|
||||
# app/modules/prospecting/schemas/enrichment.py
|
||||
"""Pydantic response schemas for enrichment/scanning endpoints."""
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class HttpCheckResult(BaseModel):
|
||||
"""Response from a single HTTP check."""
|
||||
|
||||
has_website: bool
|
||||
uses_https: bool | None = None
|
||||
http_status_code: int | None = None
|
||||
redirect_url: str | None = None
|
||||
|
||||
|
||||
class HttpCheckBatchItem(BaseModel):
|
||||
"""Single item in a batch HTTP check response."""
|
||||
|
||||
domain: str
|
||||
has_website: bool
|
||||
uses_https: bool | None = None
|
||||
http_status_code: int | None = None
|
||||
redirect_url: str | None = None
|
||||
|
||||
|
||||
class HttpCheckBatchResponse(BaseModel):
|
||||
"""Response from batch HTTP check."""
|
||||
|
||||
processed: int
|
||||
results: list[HttpCheckBatchItem]
|
||||
|
||||
|
||||
class ScanSingleResponse(BaseModel):
|
||||
"""Response from a single scan (tech or performance)."""
|
||||
|
||||
domain: str
|
||||
profile: bool
|
||||
|
||||
|
||||
class ScanBatchResponse(BaseModel):
|
||||
"""Response from a batch scan."""
|
||||
|
||||
processed: int
|
||||
successful: int
|
||||
|
||||
|
||||
class ContactScrapeResponse(BaseModel):
|
||||
"""Response from a single contact scrape."""
|
||||
|
||||
domain: str
|
||||
contacts_found: int
|
||||
|
||||
|
||||
class FullEnrichmentResponse(BaseModel):
|
||||
"""Response from full enrichment pipeline."""
|
||||
|
||||
domain: str
|
||||
has_website: bool | None = None
|
||||
tech_scanned: bool
|
||||
perf_scanned: bool
|
||||
contacts_found: int
|
||||
score: int
|
||||
lead_tier: str
|
||||
|
||||
|
||||
class ScoreComputeBatchResponse(BaseModel):
|
||||
"""Response from batch score computation."""
|
||||
|
||||
scored: int
|
||||
Reference in New Issue
Block a user