2026-03-27 09:03:05 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 129,
'car_expert_report_source_url': None,
'category': None,
'color': 'GLACIER WHITE',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': 'EURO 6',
'engine': '1.0L',
'expiration_date': None,
'fuel_type': 'Hybrid',
'id': '9967b764-f883-55f9-b71e-97260a304d39',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/667284f2e5/ford-puma-092019-puma-10-ecoboost-125-ch-mhev-ss-powershift-titanium-business-tout-terrain-5p',
'listing': 'auction',
'location': '69 - LYON',
'make': 'FORD',
'model': 'PUMA (09/2019) Puma 1.0 EcoBoost 125 ch mHEV S&S Powershift '
'Titanium Business Tout-Terrain 5P',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 2600,
'price_includes_vat': True,
'registration_date': '2023-06-08',
'seats_number': 5,
'seller_name': None,
'title': 'FORD PUMA (09/2019) Puma 1.0 EcoBoost 125 ch mHEV S&S Powershift '
'Titanium Business Tout-Terrain 5P',
'transmission': 'automatic',
'trim': 'PUMA (09/2019) Puma 1.0 EcoBoost 125 ch mHEV S&S Powershift Titanium '
'Business Tout-Terrain 5P',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-27 09:03:05 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 39f9a00a-d639-514e-8772-69e6989c3971: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022VOLKSWAGEN T-Roc\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 260000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022VOLKSWAGEN\u0022, \u0022Model\u0022: \u0022T-Roc\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222024-05-29\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/ef8005abe5/volkswagen-t-roc\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002269 - LYON\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022T-Roc\u0022, \u0022Year\u0022: 2024, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 128, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u002239f9a00a-d639-514e-8772-69e6989c3971\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Fri, 27 Mar 2026 09:03:05 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-27 09:03:05 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-27 09:03:05 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 128,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '39f9a00a-d639-514e-8772-69e6989c3971',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/ef8005abe5/volkswagen-t-roc',
'listing': 'auction',
'location': '69 - LYON',
'make': 'VOLKSWAGEN',
'model': 'T-Roc',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 2600,
'price_includes_vat': True,
'registration_date': '2024-05-29',
'seats_number': 5,
'seller_name': None,
'title': 'VOLKSWAGEN T-Roc',
'transmission': 'automatic',
'trim': 'T-Roc',
'year': 2024}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-27 09:03:06 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id f785d3de-95e2-56aa-a8e7-823cf7d5d36f: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Gris Kristall M\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022OPEL CORSA (07/2019) Corsa 1.5 Diesel 100 ch BVM6 Edition Berline 5P\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 260000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022OPEL\u0022, \u0022Model\u0022: \u0022CORSA (07/2019) Corsa 1.5 Diesel 100 ch BVM6 Edition Berline 5P\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u00221.5L\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-02-03\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/94ec9a5be5/opel-corsa-072019-corsa-15-diesel-100-ch-bvm6-edition-berline-5p\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002269 - LYON\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022CORSA (07/2019) Corsa 1.5 Diesel 100 ch BVM6 Edition Berline 5P\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 110, \u0022EmissionStandard\u0022: \u0022EURO 6\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022f785d3de-95e2-56aa-a8e7-823cf7d5d36f\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Fri, 27 Mar 2026 09:03:06 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-27 09:03:06 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-27 09:03:06 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 110,
'car_expert_report_source_url': None,
'category': None,
'color': 'Gris Kristall M',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': 'EURO 6',
'engine': '1.5L',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': 'f785d3de-95e2-56aa-a8e7-823cf7d5d36f',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/94ec9a5be5/opel-corsa-072019-corsa-15-diesel-100-ch-bvm6-edition-berline-5p',
'listing': 'auction',
'location': '69 - LYON',
'make': 'OPEL',
'model': 'CORSA (07/2019) Corsa 1.5 Diesel 100 ch BVM6 Edition Berline 5P',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 2600,
'price_includes_vat': True,
'registration_date': '2023-02-03',
'seats_number': 5,
'seller_name': None,
'title': 'OPEL CORSA (07/2019) Corsa 1.5 Diesel 100 ch BVM6 Edition Berline '
'5P',
'transmission': 'manual',
'trim': 'CORSA (07/2019) Corsa 1.5 Diesel 100 ch BVM6 Edition Berline 5P',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-27 09:03:14 [vpauto.fr] ERROR: Error parsing ad_items: 'NoneType' object has no attribute 'strip'
2026-03-27 09:03:18 [asyncio] ERROR: Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7f3e64513b10>
2026-03-27 09:03:18 [asyncio] ERROR: Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7f3e643964d0>