graph TD
A[Start: Receive product URL] --> B[Initialize DataExtractionBot]
B --> C[Call Real-Time Amazon API]
C --> D{URL Type Check}
D -->|Amazon URL| E[Extract via Amazon API]
D -->|Etsy URL| F[Extract via Web Scraping]
E --> G[Parse Raw Data]
F --> G
G --> H[Extract Title]
G --> I[Extract Bullet Points]
G --> J[Extract Description]
G --> K[Extract Main Image URL]
H --> L[Compile Data Structure]
I --> L
J --> L
K --> L
L --> M[Format to JSON]
M --> N[Validate Data Completeness]
N -->|Complete| O[Output JSON Result]
N -->|Incomplete| P[Error Handling]
P --> B
O --> Q[End: Return extracted-product-details]