| | 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 |
| | 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 |
| |
|