File size: 916 Bytes
5301ae9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c356b87
 
 
 
f485041
c356b87
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
from pydantic import BaseModel
from typing import Optional, List, Dict
from datetime import datetime


class UploadResponse(BaseModel):
    file_id: str
    contact_count: int
    message: str


class PromptSaveRequest(BaseModel):
    file_id: str
    prompts: Dict[str, str]
    products: List[str]


class SequenceResponse(BaseModel):
    id: int
    firstName: str
    lastName: str
    email: str
    company: str
    title: Optional[str] = None
    product: str
    subject: str
    emailContent: str


class SmartleadPushRequest(BaseModel):
    file_id: str
    campaign_id: str  # Required - campaign ID to add leads to
    dry_run: bool = False


class SmartleadRunResponse(BaseModel):
    run_id: str
    campaign_id: Optional[str] = None
    campaign_name: Optional[str] = None
    steps_count: int
    total: int
    added: int
    skipped: int
    failed: int
    errors: List[Dict] = []
    status: str