From e02932eb83c5e592f93538775c41213593bab5ff Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sun, 17 May 2026 22:19:52 +0000 Subject: [PATCH 1/2] feat(api): api update --- .stats.yml | 4 +- .../dealers/nlt/offer_retrieve_response.py | 41 ++++++++++++++++++- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/.stats.yml b/.stats.yml index 23e57fa..4f9f81e 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 12 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/azure/partnermax-6b46d3e49935c9b6d7df9150b7dad7fc184b4f1edaf47d3c1626785ea8eea04b.yml -openapi_spec_hash: 32e26e0ae2574e8356931eef53062c7e +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/azure/partnermax-eb7585f84c961b4388b2cfe057e3dba9edf92af55cd9cb6fa097f0d1ca21c55b.yml +openapi_spec_hash: fa2c2ed67b11bd033589562913a61a41 config_hash: bf921bb2f4db038ffed15141c74cd018 diff --git a/src/partnermax/types/dealers/nlt/offer_retrieve_response.py b/src/partnermax/types/dealers/nlt/offer_retrieve_response.py index 58f5599..0ce6d92 100644 --- a/src/partnermax/types/dealers/nlt/offer_retrieve_response.py +++ b/src/partnermax/types/dealers/nlt/offer_retrieve_response.py @@ -1,6 +1,6 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -from typing import List, Optional +from typing import Dict, List, Optional from datetime import datetime from typing_extensions import Literal @@ -17,6 +17,7 @@ "Gallery", "NetworkOffer", "Quotazioni", + "ServiziInclusi", "Tag", ] @@ -115,6 +116,14 @@ class Quotazioni(BaseModel): km_inclusi_anno: Literal[10000, 15000, 20000, 25000, 30000, 40000] +class ServiziInclusi(BaseModel): + name: str + """Service name (e.g. "Assicurazione RCA", "Manutenzione").""" + + description: Optional[str] = None + """Short human description (e.g. "Responsabilità Civile Auto").""" + + class Tag(BaseModel): name: str @@ -143,6 +152,14 @@ class OfferRetrieveResponse(BaseModel): title: str + accessori_di_serie: Optional[List[str]] = None + """Standard equipment list (one entry per item). + + Sourced from `mnet_dettagli.equipaggiamento` split on newlines/semicolons. + Currently empty on every live offer (upstream column unpopulated); will + auto-fill when the data flows in. + """ + accessori_inclusi: Optional[List[AccessoriInclusi]] = None addons_disponibili: Optional[AddonsDisponibili] = None @@ -161,6 +178,19 @@ class OfferRetrieveResponse(BaseModel): description_short: Optional[str] = None + dettagli_tecnici: Optional[Dict[str, object]] = None + """ + Full Motornet technical sheet — apimax: `_get_dettagli_motornet` + (`nlt_resolver.py:752`). Every non-null `mnet_dettagli` column for this + `codice_motornet_uni` flattened into a plain dict (~30-40 keys typically + populated out of 90 columns). Native units preserved: cilindrata (cc), kw, hp, + coppia, accelerazione (s), velocita (km/h), lunghezza/larghezza/altezza/passo + (cm), peso (kg), bagagliaio (L, free-text), emissioni_co2 (g/km, free-text), + pneumatici_anteriori ("205/55 R17"), trazione, alimentazione, cambio, euro, + autonomia_media, capacita_nominale_batteria, etc. Keys are stable across offers; + values are int/float/bool/string (timestamps ISO-formatted). + """ + fuel_type: Optional[str] = None """Raw Italian label from `nlt_offerte.alimentazione` (e.g. "Benzina", "Ibrida").""" @@ -190,6 +220,15 @@ class OfferRetrieveResponse(BaseModel): segmento: Optional[str] = None + servizi_inclusi: Optional[List[ServiziInclusi]] = None + """Services normally included in the canone. + + apimax: `_get_services_included` (`nlt_resolver.py:719`) reads global + `nlt_services` is_active table — same 8 services across the network + (Assicurazione RCA / Kasco / Incendio-Furto, Manutenzione, Assistenza Stradale, + Bollo, Pneumatici, Veicolo in anticipo). Not per-offer. + """ + solo_privati: Optional[bool] = None """Per-offer VAT scope: true → consumer-facing (B2C, VAT-inclusive). From f0e753c16e096b21362da6e2575febfa8ca309c6 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sun, 17 May 2026 22:20:08 +0000 Subject: [PATCH 2/2] release: 0.4.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 8 ++++++++ pyproject.toml | 2 +- src/partnermax/_version.py | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 6b7b74c..da59f99 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.3.0" + ".": "0.4.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e81646..8b3972b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.4.0 (2026-05-17) + +Full Changelog: [v0.3.0...v0.4.0](https://github.com/DealerMax-app/partnermax-python/compare/v0.3.0...v0.4.0) + +### Features + +* **api:** api update ([e02932e](https://github.com/DealerMax-app/partnermax-python/commit/e02932eb83c5e592f93538775c41213593bab5ff)) + ## 0.3.0 (2026-05-17) Full Changelog: [v0.2.0...v0.3.0](https://github.com/DealerMax-app/partnermax-python/compare/v0.2.0...v0.3.0) diff --git a/pyproject.toml b/pyproject.toml index d3af4fa..692b799 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "partnermax" -version = "0.3.0" +version = "0.4.0" description = "The official Python library for the partnermax API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/partnermax/_version.py b/src/partnermax/_version.py index 19db8ef..a702f98 100644 --- a/src/partnermax/_version.py +++ b/src/partnermax/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "partnermax" -__version__ = "0.3.0" # x-release-please-version +__version__ = "0.4.0" # x-release-please-version