row_id: 43007

Column Value
row_id 43007
time_created 2026-06-22 12:38:41.344529
endpoint https://usmall-catalog.shopfans.io/log/product_upload
params
body {"product": {"partial_update": 0, "variant_remote_code": null, "rating": 5.0, "rating_count": 1, "brand": "AITIME", "seller_name": "AITIME", "author": null, "name": "AITIME Portable Daily Contact Lens Organizer, Disposable Dispenser, Travel Color Storage Case Kit With Labeled R & L (Blue)", "description": "About this item \n Fine Quality & Durability: Daily contact lens organizer surface special treatment, dirt-resistant, durable and super easy to clean,the pouch has a nice soft smooth rubbery touch to it so it feels great on your hand. \n \n Segregation: Travel contact lens bag with 2 zippered pockets, the kit helps you to manage R & L lenses effortlessly. The L and R tabs at the top of the organizer can always remind you . \n \n Big Capacity: Contact lens pouch fits 40 lenses, up to 20 days' supply. Extra space for contact lens tool. \n \n Multifunctional : Disposable contact lens storage can also be used to store some small items such as glasses,hair clips, lip gloss, make up etc, good for organized when traveling. \n \n Smooth Zipper: Wide zipper design,fluently without snagging,easy to take out and put in. \n \n This product is protected by patent \n \n \n\u203a\n \n See more product details\n\n About this item Fine Quality & Durability: Daily contact lens organizer surface special treatment, dirt-resistant, durable and super easy to clean,the pouch has a nice soft smooth rubbery touch to it so it feels great on your hand. Segregation: Travel contact lens bag with 2 zippered pockets, the kit helps you to manage R & L lenses effortlessly. The L and R tabs at the top of the organizer can always remind you . Big Capacity: Contact lens pouch fits 40 lenses, up to 20 days' supply. Extra space for contact lens tool. Multifunctional : Disposable contact lens storage can also be used to store some small items such as glasses,hair clips, lip gloss, make up etc, good for organized when traveling. Smooth Zipper: Wide zipper design,fluently without snagging,easy to take out and put in. This product is protected by patent \n \u203a See more product details", "data": {"dataFacets": []}, "categories": ["Health & Household > Vision > Contact Lens Care > Cases"], "gender": "NO GENDER", "product_images": [], "market_id": 37, "remote_code": "B0D9BSQ6NV", "is_lost": 0, "variants": [{"remote_code": "B0D9BSQ6NV", "additional_upc": "B0D9BNVMZS", "remote_url": "https://www.amazon.com/dp/B0D9BNVMZS?th=1&psc=1", "delivery_days": 5, "weight": 90.0, "size": "NO_SIZE", "origin_color": "Blue", "price": 12.99, "variant_images": ["https://m.media-amazon.com/images/I/61hC1TqcNHL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/71+UtcVjljL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/61Tui2p410L._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/71IAR4xGFcL._AC_SL1500_.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://m.media-amazon.com/images/I/61hC1TqcNHL._AC_SL1500_._AC_SY300.jpg", "description": "Color: Blue; Size: NO_SIZE", "colors": ["Blue"], "upc": "", "name": "", "combo_key": "NO_SIZEBlue"}, {"remote_code": "B0D9BN5849", "additional_upc": "B0D9BN5849", "remote_url": "https://www.amazon.com/dp/B0D9BN5849?th=1&psc=1", "delivery_days": 5, "weight": 120.0, "size": "NO_SIZE", "origin_color": "Gery", "price": 13.99, "variant_images": ["https://m.media-amazon.com/images/I/71C3+Ec5POL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/71+UtcVjljL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/71tful5gz6L._AC_SL1500_.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://m.media-amazon.com/images/I/71C3+Ec5POL._AC_SL1500_._AC_SY300.jpg", "description": "Color: Gery; Size: NO_SIZE", "colors": ["Gery"], "upc": "", "name": "AITIME Portable Daily Contact Lens Organizer,Disposable Contact Lens Dispenser,Travel Color Contact Lens Storage Case Kit with Labeled R & L(Gery)", "combo_key": "NO_SIZEGery"}, {"remote_code": "B0D9BKW1FR", "additional_upc": "B0D9BKW1FR", "remote_url": "https://www.amazon.com/dp/B0D9BKW1FR?th=1&psc=1", "delivery_days": 5, "weight": "", "size": "NO_SIZE", "origin_color": "Green", "price": 13.99, "variant_images": ["https://m.media-amazon.com/images/I/61XEShMNpuL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/61RFNmkmM0L._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/71+UtcVjljL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/61rsnLJ3zeL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/71T5Y5J+6iL._AC_SL1500_.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://m.media-amazon.com/images/I/61XEShMNpuL._AC_SL1500_._AC_SY300.jpg", "description": "Color: Green; Size: NO_SIZE", "colors": ["Green"], "upc": "", "name": "AITIME Portable Daily Contact Lens Organizer, Disposable Dispenser, Travel Color Storage Case Kit With Labeled R & L (Green)", "combo_key": "NO_SIZEGreen"}]}, "remote_url": "https://www.amazon.com/dp/B0D9BSQ6NV?th=1&psc=1", "parsing_type": "refresh", "finalize": false, "parsing_code": 200, "parsing_text": "[200] Success: Item: 'B0D9BSQ6NV' - parsed successfully. additional_error_text=''"}
status_code 500
error_text File "/opt/working_folder/middlewares/catch_errors_middleware/catch_500_errors.py", line 15, in dispatch response = await call_next(request) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 84, in call_next raise app_exc File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 70, in coro await self.app(scope, receive_or_disconnect, send_no_error) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 83, in __call__ await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 79, in __call__ raise exc File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 68, in __call__ await self.app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 20, in __call__ raise e File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 17, in __call__ await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 718, in __call__ await route.handle(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 276, in handle await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 66, in app response = await func(request) ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 274, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 193, in run_endpoint_function return await run_in_threadpool(dependant.call, **values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/starlette/concurrency.py", line 41, in run_in_threadpool return await anyio.to_thread.run_sync(func, *args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/anyio/to_thread.py", line 33, in run_sync return await get_asynclib().run_sync_in_worker_thread( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread return await future ^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 807, in run result = context.run(func, *args) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/working_folder/api/logging_router/api/product_logging.py", line 705, in log_product_upload upsert_product_hash( File "/opt/working_folder/api/logging_router/api/product_logging.py", line 368, in upsert_product_hash db.execute(stmt) File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2362, in execute return self._execute_internal( ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2256, in _execute_internal result = conn.execute( ^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1418, in execute return meth( ^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 515, in _execute_on_connection return connection._execute_clauseelement( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1640, in _execute_clauseelement ret = self._execute_context( ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context return self._exec_single_context( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context self._handle_dbapi_exception( File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2355, in _handle_dbapi_exception raise sqlalchemy_exception.with_traceback(exc_info[2]) from e File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context self.dialect.do_execute( File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 941, in do_execute cursor.execute(statement, parameters)