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]