diff --git a/README.md b/README.md index 157b622b..7a65f4f1 100644 --- a/README.md +++ b/README.md @@ -11,9 +11,9 @@ This Python package is automatically generated by the [OpenAPI Generator](https: Python 3.7+ -# Installation & Usage +## Installation & Usage ### pip install -If you want to install package from pypi: +If you want to install from PyPI: ```sh pip install xi.sdk.resellers ``` @@ -25,7 +25,6 @@ pip install git+https://github.com/ingrammicro-xvantage/xi-sdk-resellers-python. ``` (you may need to run `pip` with root permission: `sudo pip install git+https://github.com/ingrammicro-xvantage/xi-sdk-resellers-python.git`) - Then import the package: ```python import xi.sdk.resellers @@ -334,5 +333,3 @@ Authentication schemes defined for the API: For any inquiries or support, please feel free to contact us at: - Email: [xi_support@ingrammicro.com](xi_support@ingrammicro.com) - - diff --git a/docs/DealsDetailsResponseProductsInner.md b/docs/DealsDetailsResponseProductsInner.md index c9e07d78..16c1bd2d 100644 --- a/docs/DealsDetailsResponseProductsInner.md +++ b/docs/DealsDetailsResponseProductsInner.md @@ -16,8 +16,8 @@ Name | Type | Description | Notes **remaining_quantity** | **int** | The quantity remaining as part of the deal for the customer to order. | [optional] **comments** | **str** | Comments of the deal. | [optional] **special_conditions** | **str** | Special conditions of the deal. | [optional] -**start_date** | **date** | Start Date. | [optional] -**expiration_date** | **date** | Expiration date. | [optional] +**start_date** | **str** | Start Date. | [optional] +**expiration_date** | **str** | Expiration date. | [optional] **days_remaining** | **int** | Number of days remaining before the deal expires. | [optional] ## Example diff --git a/docs/OrderDetailB2BLinesInner.md b/docs/OrderDetailB2BLinesInner.md index 9a7caf85..6d690a19 100644 --- a/docs/OrderDetailB2BLinesInner.md +++ b/docs/OrderDetailB2BLinesInner.md @@ -27,6 +27,7 @@ Name | Type | Description | Notes **special_bid_number** | **str** | The line-level bid number provided to the reseller by the vendor for special pricing and discounts. Used to track the bid number in the case of split orders or where different line items have different bid numbers. Line-level bid numbers take precedence over header-level bid numbers. | [optional] **requested_deliverydate** | **str** | Reseller-requested delivery date. Delivery date is not guaranteed. | [optional] **promised_delivery_date** | **str** | The delivery date promised by IngramMicro. | [optional] +**back_order_eta_data** | **str** | Backorder ETA date | [optional] **line_notes** | **str** | Line-level notes for the order. | [optional] **shipment_details** | [**List[OrderDetailB2BLinesInnerShipmentDetailsInner]**](OrderDetailB2BLinesInnerShipmentDetailsInner.md) | Shipping details for the line item. | [optional] **service_contract_info** | [**OrderDetailB2BLinesInnerServiceContractInfo**](OrderDetailB2BLinesInnerServiceContractInfo.md) | | [optional] diff --git a/docs/ProductDetailResponse.md b/docs/ProductDetailResponse.md index 81c9aa9e..3d137515 100644 --- a/docs/ProductDetailResponse.md +++ b/docs/ProductDetailResponse.md @@ -13,7 +13,7 @@ Name | Type | Description | Notes **product_detail_description** | **str** | The detailed description given for the product. | [optional] **upc** | **str** | The UPC code for the product. Consists of 12 numeric digits that are uniquely assigned to each trade item. | [optional] **product_category** | **str** | The category of the product. | [optional] -**product_subcategory** | **str** | The sub-category of the product. | [optional] +**product_sub_category** | **str** | The sub-category of the product. | [optional] **vendor_name** | **str** | Vendor name for the order. | [optional] **vendor_number** | **str** | Vendor number that identifies the product. | [optional] **product_status_code** | **str** | Status code of the product. | [optional] diff --git a/docs/QuoteDetailsResponse.md b/docs/QuoteDetailsResponse.md index 5857569b..6e30bf86 100644 --- a/docs/QuoteDetailsResponse.md +++ b/docs/QuoteDetailsResponse.md @@ -22,6 +22,7 @@ Name | Type | Description | Notes **intro_preamble** | **str** | Introductory paragraph included in each quote. Legally required - must be included when presenting the quote details. | [optional] **purchase_instructions** | **str** | Purchase instructions. Legally required - must be included when presenting the quote details. | [optional] **legal_terms** | **str** | Legal terms - Legally required - must be included when presenting the quote details. | [optional] +**quote_type** | **str** | | [optional] **lease_info** | **str** | Lease information. | [optional] **leasing_instructions** | **str** | Leasing information | [optional] **reseller_info** | [**QuoteDetailsResponseResellerInfo**](QuoteDetailsResponseResellerInfo.md) | | [optional] diff --git a/docs/RenewalsApi.md b/docs/RenewalsApi.md index 25f4603a..73ae0700 100644 --- a/docs/RenewalsApi.md +++ b/docs/RenewalsApi.md @@ -94,7 +94,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **post_renewalssearch** -> RenewalsSearchResponse post_renewalssearch(im_customer_number, im_country_code, im_correlation_id, content_type, im_sender_id=im_sender_id, customer_order_number=customer_order_number, ingram_purchase_order_number=ingram_purchase_order_number, serial_number=serial_number, page=page, size=size, sort=sort, renewals_search_request=renewals_search_request) +> RenewalsSearchResponse post_renewalssearch(im_customer_number, im_country_code, im_correlation_id, im_sender_id=im_sender_id, customer_order_number=customer_order_number, ingram_purchase_order_number=ingram_purchase_order_number, serial_number=serial_number, page=page, size=size, sort=sort, renewals_search_request=renewals_search_request) Renewals Search @@ -131,7 +131,6 @@ with xi.sdk.resellers.ApiClient(configuration) as api_client: im_customer_number = '20-222222' # str | Your unique Ingram Micro customer number. im_country_code = 'US' # str | Two-character ISO country code. im_correlation_id = 'fbac82ba-cf0a-4bcf-fc03-0c5084' # str | Unique transaction number to identify each transaction across all the systems. - content_type = 'application/json' # str | The media type for JSON Request. im_sender_id = 'MyCompany' # str | Unique value used to identify the sender of the transaction. Example: MyCompany (optional) customer_order_number = 'customer_order_number_example' # str | The reseller's unique PO/Order number. (optional) ingram_purchase_order_number = 'ingram_purchase_order_number_example' # str | Sales order number. (optional) @@ -143,7 +142,7 @@ with xi.sdk.resellers.ApiClient(configuration) as api_client: try: # Renewals Search - api_response = api_instance.post_renewalssearch(im_customer_number, im_country_code, im_correlation_id, content_type, im_sender_id=im_sender_id, customer_order_number=customer_order_number, ingram_purchase_order_number=ingram_purchase_order_number, serial_number=serial_number, page=page, size=size, sort=sort, renewals_search_request=renewals_search_request) + api_response = api_instance.post_renewalssearch(im_customer_number, im_country_code, im_correlation_id, im_sender_id=im_sender_id, customer_order_number=customer_order_number, ingram_purchase_order_number=ingram_purchase_order_number, serial_number=serial_number, page=page, size=size, sort=sort, renewals_search_request=renewals_search_request) print("The response of RenewalsApi->post_renewalssearch:\n") pprint(api_response) except Exception as e: @@ -160,7 +159,6 @@ Name | Type | Description | Notes **im_customer_number** | **str**| Your unique Ingram Micro customer number. | **im_country_code** | **str**| Two-character ISO country code. | **im_correlation_id** | **str**| Unique transaction number to identify each transaction across all the systems. | - **content_type** | **str**| The media type for JSON Request. | **im_sender_id** | **str**| Unique value used to identify the sender of the transaction. Example: MyCompany | [optional] **customer_order_number** | **str**| The reseller's unique PO/Order number. | [optional] **ingram_purchase_order_number** | **str**| Sales order number. | [optional] diff --git a/docs/ReturnsDetailsResponseProductsInner.md b/docs/ReturnsDetailsResponseProductsInner.md index 47aaaafd..cba26126 100644 --- a/docs/ReturnsDetailsResponseProductsInner.md +++ b/docs/ReturnsDetailsResponseProductsInner.md @@ -10,16 +10,17 @@ Name | Type | Description | Notes **ingram_part_number** | **str** | Unique IngramMicro part number. | [optional] **vendor_part_number** | **str** | The vendor's part number for the line item. | [optional] **upc** | **str** | The UPC code of a product. | [optional] -**invoice_date** | **date** | The date of the invoice. | [optional] +**invoice_date** | **str** | The date of the invoice. | [optional] **invoice_number** | **str** | Ingram micro Invoice number. | [optional] **customer_order_number** | **str** | The reseller's order number for reference in their system. | [optional] -**request_details** | **str** | Request details. | [optional] **quantity** | **float** | The quantity of the line item. | [optional] **unit_price** | **float** | The unit price of the line item. | [optional] **extended_price** | **float** | Unit price X quantity for the line item. | [optional] **status** | **str** | The status of the line item. | [optional] **return_branch** | **str** | The code of the return branch. | [optional] **ship_from_branch** | **str** | The code of the ship from branch. | [optional] +**request_details** | **str** | Request details. | [optional] +**additional_details** | **str** | | [optional] ## Example diff --git a/docs/ValidateQuoteResponse.md b/docs/ValidateQuoteResponse.md index 4688b25d..fa0119b7 100644 --- a/docs/ValidateQuoteResponse.md +++ b/docs/ValidateQuoteResponse.md @@ -9,6 +9,10 @@ Name | Type | Description | Notes **vendor_name** | **str** | The name of the vendor. | [optional] **vmf_additional_attributes** | [**List[ValidateQuoteResponseVmfAdditionalAttributesInner]**](ValidateQuoteResponseVmfAdditionalAttributesInner.md) | The object containing the list of fields required at a header level by the vendor. | [optional] **lines** | [**List[ValidateQuoteResponseLinesInner]**](ValidateQuoteResponseLinesInner.md) | The object containing the lines from the quote. | [optional] +**quote_type** | **int** | | [optional] +**vendor_group_name** | **str** | | [optional] +**vendor_quote_number** | **str** | | [optional] +**vendor_master_number** | **str** | | [optional] ## Example diff --git a/setup.py b/setup.py index c3c3cc58..844924a4 100644 --- a/setup.py +++ b/setup.py @@ -38,7 +38,7 @@ setup( name=NAME, - version="0.0.4", + version="0.0.5", description="Ingram Micro - Xvantage Integration (XI) Python Server-side SDK.", author="Ingram Micro Xvantage Integration(XI)", author_email="xi_support@ingrammicro.com", diff --git a/test/test_deals_details_response.py b/test/test_deals_details_response.py index bbcf92b1..c6344f60 100644 --- a/test/test_deals_details_response.py +++ b/test/test_deals_details_response.py @@ -72,8 +72,8 @@ def make_instance(self, include_optional) -> DealsDetailsResponse: remaining_quantity = 56, comments = '', special_conditions = '', - start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - expiration_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + start_date = '', + expiration_date = '', days_remaining = 56, ) ] ) diff --git a/test/test_deals_details_response_products_inner.py b/test/test_deals_details_response_products_inner.py index 6831c2d3..3fd95982 100644 --- a/test/test_deals_details_response_products_inner.py +++ b/test/test_deals_details_response_products_inner.py @@ -46,8 +46,8 @@ def make_instance(self, include_optional) -> DealsDetailsResponseProductsInner: remaining_quantity = 56, comments = '', special_conditions = '', - start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - expiration_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + start_date = '', + expiration_date = '', days_remaining = 56 ) else: diff --git a/test/test_order_detail_b2_b.py b/test/test_order_detail_b2_b.py index 2125f874..824adb15 100644 --- a/test/test_order_detail_b2_b.py +++ b/test/test_order_detail_b2_b.py @@ -113,6 +113,7 @@ def make_instance(self, include_optional) -> OrderDetailB2B: special_bid_number = '', requested_deliverydate = '', promised_delivery_date = '', + back_order_eta_data = '', line_notes = '', shipment_details = [ xi.sdk.resellers.models.order_detail_b2_b_lines_inner_shipment_details_inner.OrderDetailB2B_lines_inner_shipmentDetails_inner( diff --git a/test/test_order_detail_b2_b_lines_inner.py b/test/test_order_detail_b2_b_lines_inner.py index 09d8963b..ad291075 100644 --- a/test/test_order_detail_b2_b_lines_inner.py +++ b/test/test_order_detail_b2_b_lines_inner.py @@ -57,6 +57,7 @@ def make_instance(self, include_optional) -> OrderDetailB2BLinesInner: special_bid_number = '', requested_deliverydate = '', promised_delivery_date = '', + back_order_eta_data = '', line_notes = '', shipment_details = [ xi.sdk.resellers.models.order_detail_b2_b_lines_inner_shipment_details_inner.OrderDetailB2B_lines_inner_shipmentDetails_inner( diff --git a/test/test_product_detail_response.py b/test/test_product_detail_response.py index 16630959..d5f3dac7 100644 --- a/test/test_product_detail_response.py +++ b/test/test_product_detail_response.py @@ -43,7 +43,7 @@ def make_instance(self, include_optional) -> ProductDetailResponse: product_detail_description = '', upc = '', product_category = '', - product_subcategory = '', + product_sub_category = '', vendor_name = '', vendor_number = '', product_status_code = '', diff --git a/test/test_quote_details_response.py b/test/test_quote_details_response.py index 573672ed..7d8fcb9a 100644 --- a/test/test_quote_details_response.py +++ b/test/test_quote_details_response.py @@ -52,6 +52,7 @@ def make_instance(self, include_optional) -> QuoteDetailsResponse: intro_preamble = '', purchase_instructions = '', legal_terms = '', + quote_type = '', lease_info = '', leasing_instructions = '', reseller_info = xi.sdk.resellers.models.quote_details_response_reseller_info.QuoteDetailsResponse_resellerInfo( diff --git a/test/test_returns_details_response.py b/test/test_returns_details_response.py index 50950053..91c003c2 100644 --- a/test/test_returns_details_response.py +++ b/test/test_returns_details_response.py @@ -50,16 +50,17 @@ def make_instance(self, include_optional) -> ReturnsDetailsResponse: ingram_part_number = '', vendor_part_number = '', upc = '', - invoice_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + invoice_date = '', invoice_number = '', customer_order_number = '', - request_details = '', quantity = 1.337, unit_price = 1.337, extended_price = 1.337, status = '', return_branch = '', - ship_from_branch = '', ) + ship_from_branch = '', + request_details = '', + additional_details = '', ) ], sub_total = 1.337, tax = 1.337, diff --git a/test/test_returns_details_response_products_inner.py b/test/test_returns_details_response_products_inner.py index 273dd379..eec4b756 100644 --- a/test/test_returns_details_response_products_inner.py +++ b/test/test_returns_details_response_products_inner.py @@ -40,16 +40,17 @@ def make_instance(self, include_optional) -> ReturnsDetailsResponseProductsInner ingram_part_number = '', vendor_part_number = '', upc = '', - invoice_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + invoice_date = '', invoice_number = '', customer_order_number = '', - request_details = '', quantity = 1.337, unit_price = 1.337, extended_price = 1.337, status = '', return_branch = '', - ship_from_branch = '' + ship_from_branch = '', + request_details = '', + additional_details = '' ) else: return ReturnsDetailsResponseProductsInner( diff --git a/test/test_validate_quote_response.py b/test/test_validate_quote_response.py index d867f213..c1b5abe8 100644 --- a/test/test_validate_quote_response.py +++ b/test/test_validate_quote_response.py @@ -54,7 +54,11 @@ def make_instance(self, include_optional) -> ValidateQuoteResponse: attribute_value = '', attribute_description = '', ) ], ) - ] + ], + quote_type = 56, + vendor_group_name = '', + vendor_quote_number = '', + vendor_master_number = '' ) else: return ValidateQuoteResponse( diff --git a/xi/sdk/resellers/api/renewals_api.py b/xi/sdk/resellers/api/renewals_api.py index 59007f85..ffe40093 100644 --- a/xi/sdk/resellers/api/renewals_api.py +++ b/xi/sdk/resellers/api/renewals_api.py @@ -371,7 +371,6 @@ def post_renewalssearch( im_customer_number: Annotated[str, Field(strict=True, max_length=10, description="Your unique Ingram Micro customer number.")], im_country_code: Annotated[str, Field(min_length=2, strict=True, max_length=2, description="Two-character ISO country code.")], im_correlation_id: Annotated[str, Field(strict=True, max_length=32, description="Unique transaction number to identify each transaction across all the systems.")], - content_type: Annotated[StrictStr, Field(description="The media type for JSON Request.")], im_sender_id: Annotated[Optional[Annotated[str, Field(strict=True, max_length=32)]], Field(description="Unique value used to identify the sender of the transaction. Example: MyCompany")] = None, customer_order_number: Annotated[Optional[StrictStr], Field(description="The reseller's unique PO/Order number.")] = None, ingram_purchase_order_number: Annotated[Optional[StrictStr], Field(description="Sales order number.")] = None, @@ -403,8 +402,6 @@ def post_renewalssearch( :type im_country_code: str :param im_correlation_id: Unique transaction number to identify each transaction across all the systems. (required) :type im_correlation_id: str - :param content_type: The media type for JSON Request. (required) - :type content_type: str :param im_sender_id: Unique value used to identify the sender of the transaction. Example: MyCompany :type im_sender_id: str :param customer_order_number: The reseller's unique PO/Order number. @@ -447,7 +444,6 @@ def post_renewalssearch( im_customer_number=im_customer_number, im_country_code=im_country_code, im_correlation_id=im_correlation_id, - content_type=content_type, im_sender_id=im_sender_id, customer_order_number=customer_order_number, ingram_purchase_order_number=ingram_purchase_order_number, @@ -484,7 +480,6 @@ def post_renewalssearch_with_http_info( im_customer_number: Annotated[str, Field(strict=True, max_length=10, description="Your unique Ingram Micro customer number.")], im_country_code: Annotated[str, Field(min_length=2, strict=True, max_length=2, description="Two-character ISO country code.")], im_correlation_id: Annotated[str, Field(strict=True, max_length=32, description="Unique transaction number to identify each transaction across all the systems.")], - content_type: Annotated[StrictStr, Field(description="The media type for JSON Request.")], im_sender_id: Annotated[Optional[Annotated[str, Field(strict=True, max_length=32)]], Field(description="Unique value used to identify the sender of the transaction. Example: MyCompany")] = None, customer_order_number: Annotated[Optional[StrictStr], Field(description="The reseller's unique PO/Order number.")] = None, ingram_purchase_order_number: Annotated[Optional[StrictStr], Field(description="Sales order number.")] = None, @@ -516,8 +511,6 @@ def post_renewalssearch_with_http_info( :type im_country_code: str :param im_correlation_id: Unique transaction number to identify each transaction across all the systems. (required) :type im_correlation_id: str - :param content_type: The media type for JSON Request. (required) - :type content_type: str :param im_sender_id: Unique value used to identify the sender of the transaction. Example: MyCompany :type im_sender_id: str :param customer_order_number: The reseller's unique PO/Order number. @@ -560,7 +553,6 @@ def post_renewalssearch_with_http_info( im_customer_number=im_customer_number, im_country_code=im_country_code, im_correlation_id=im_correlation_id, - content_type=content_type, im_sender_id=im_sender_id, customer_order_number=customer_order_number, ingram_purchase_order_number=ingram_purchase_order_number, @@ -597,7 +589,6 @@ def post_renewalssearch_without_preload_content( im_customer_number: Annotated[str, Field(strict=True, max_length=10, description="Your unique Ingram Micro customer number.")], im_country_code: Annotated[str, Field(min_length=2, strict=True, max_length=2, description="Two-character ISO country code.")], im_correlation_id: Annotated[str, Field(strict=True, max_length=32, description="Unique transaction number to identify each transaction across all the systems.")], - content_type: Annotated[StrictStr, Field(description="The media type for JSON Request.")], im_sender_id: Annotated[Optional[Annotated[str, Field(strict=True, max_length=32)]], Field(description="Unique value used to identify the sender of the transaction. Example: MyCompany")] = None, customer_order_number: Annotated[Optional[StrictStr], Field(description="The reseller's unique PO/Order number.")] = None, ingram_purchase_order_number: Annotated[Optional[StrictStr], Field(description="Sales order number.")] = None, @@ -629,8 +620,6 @@ def post_renewalssearch_without_preload_content( :type im_country_code: str :param im_correlation_id: Unique transaction number to identify each transaction across all the systems. (required) :type im_correlation_id: str - :param content_type: The media type for JSON Request. (required) - :type content_type: str :param im_sender_id: Unique value used to identify the sender of the transaction. Example: MyCompany :type im_sender_id: str :param customer_order_number: The reseller's unique PO/Order number. @@ -673,7 +662,6 @@ def post_renewalssearch_without_preload_content( im_customer_number=im_customer_number, im_country_code=im_country_code, im_correlation_id=im_correlation_id, - content_type=content_type, im_sender_id=im_sender_id, customer_order_number=customer_order_number, ingram_purchase_order_number=ingram_purchase_order_number, @@ -705,7 +693,6 @@ def _post_renewalssearch_serialize( im_customer_number, im_country_code, im_correlation_id, - content_type, im_sender_id, customer_order_number, ingram_purchase_order_number, @@ -767,8 +754,6 @@ def _post_renewalssearch_serialize( _header_params['IM-CorrelationID'] = im_correlation_id if im_sender_id is not None: _header_params['IM-SenderID'] = im_sender_id - if content_type is not None: - _header_params['Content Type'] = content_type # process the form parameters # process the body parameter if renewals_search_request is not None: diff --git a/xi/sdk/resellers/models/deals_details_response_products_inner.py b/xi/sdk/resellers/models/deals_details_response_products_inner.py index 29534983..1f141c55 100644 --- a/xi/sdk/resellers/models/deals_details_response_products_inner.py +++ b/xi/sdk/resellers/models/deals_details_response_products_inner.py @@ -17,7 +17,6 @@ import re # noqa: F401 import json -from datetime import date from pydantic import BaseModel, Field, StrictFloat, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set @@ -38,8 +37,8 @@ class DealsDetailsResponseProductsInner(BaseModel): remaining_quantity: Optional[StrictInt] = Field(default=None, description="The quantity remaining as part of the deal for the customer to order.", alias="remainingQuantity") comments: Optional[StrictStr] = Field(default=None, description="Comments of the deal.") special_conditions: Optional[StrictStr] = Field(default=None, description="Special conditions of the deal.", alias="specialConditions") - start_date: Optional[date] = Field(default=None, description="Start Date.", alias="startDate") - expiration_date: Optional[date] = Field(default=None, description="Expiration date.", alias="expirationDate") + start_date: Optional[StrictStr] = Field(default=None, description="Start Date.", alias="startDate") + expiration_date: Optional[StrictStr] = Field(default=None, description="Expiration date.", alias="expirationDate") days_remaining: Optional[StrictInt] = Field(default=None, description="Number of days remaining before the deal expires.", alias="daysRemaining") __properties: ClassVar[List[str]] = ["ingramPartNumber", "vendorPartNumber", "upc", "productDescription", "msrp", "extendedMSRP", "standardPrice", "approvedQuantity", "remainingQuantity", "comments", "specialConditions", "startDate", "expirationDate", "daysRemaining"] diff --git a/xi/sdk/resellers/models/order_detail_b2_b_lines_inner.py b/xi/sdk/resellers/models/order_detail_b2_b_lines_inner.py index 10700d4a..a829efdc 100644 --- a/xi/sdk/resellers/models/order_detail_b2_b_lines_inner.py +++ b/xi/sdk/resellers/models/order_detail_b2_b_lines_inner.py @@ -55,6 +55,7 @@ class OrderDetailB2BLinesInner(BaseModel): special_bid_number: Optional[StrictStr] = Field(default=None, description="The line-level bid number provided to the reseller by the vendor for special pricing and discounts. Used to track the bid number in the case of split orders or where different line items have different bid numbers. Line-level bid numbers take precedence over header-level bid numbers.", alias="specialBidNumber") requested_deliverydate: Optional[StrictStr] = Field(default=None, description="Reseller-requested delivery date. Delivery date is not guaranteed.", alias="requestedDeliverydate") promised_delivery_date: Optional[StrictStr] = Field(default=None, description="The delivery date promised by IngramMicro.", alias="promisedDeliveryDate") + back_order_eta_data: Optional[StrictStr] = Field(default=None, description="Backorder ETA date", alias="backOrderETAData") line_notes: Optional[StrictStr] = Field(default=None, description="Line-level notes for the order.", alias="lineNotes") shipment_details: Optional[List[OrderDetailB2BLinesInnerShipmentDetailsInner]] = Field(default=None, description="Shipping details for the line item.", alias="shipmentDetails") service_contract_info: Optional[OrderDetailB2BLinesInnerServiceContractInfo] = Field(default=None, alias="serviceContractInfo") @@ -63,7 +64,7 @@ class OrderDetailB2BLinesInner(BaseModel): estimated_dates: Optional[List[OrderDetailB2BLinesInnerEstimatedDatesInner]] = Field(default=None, alias="estimatedDates") schedule_lines: Optional[List[OrderDetailB2BLinesInnerScheduleLinesInner]] = Field(default=None, alias="scheduleLines") multiple_shipments: Optional[List[OrderDetailB2BLinesInnerMultipleShipmentsInner]] = Field(default=None, alias="multipleShipments") - __properties: ClassVar[List[str]] = ["subOrderNumber", "ingramOrderLineNumber", "vendorSalesOrderLineNumber", "customerLineNumber", "lineStatus", "ingramPartNumber", "vendorPartNumber", "vendorName", "partDescription", "unitWeight", "weightUom", "unitPrice", "upcCode", "extendedPrice", "taxAmount", "currencyCode", "quantityOrdered", "quantityConfirmed", "quantityBackOrdered", "specialBidNumber", "requestedDeliverydate", "promisedDeliveryDate", "lineNotes", "shipmentDetails", "serviceContractInfo", "additionalAttributes", "links", "estimatedDates", "scheduleLines", "multipleShipments"] + __properties: ClassVar[List[str]] = ["subOrderNumber", "ingramOrderLineNumber", "vendorSalesOrderLineNumber", "customerLineNumber", "lineStatus", "ingramPartNumber", "vendorPartNumber", "vendorName", "partDescription", "unitWeight", "weightUom", "unitPrice", "upcCode", "extendedPrice", "taxAmount", "currencyCode", "quantityOrdered", "quantityConfirmed", "quantityBackOrdered", "specialBidNumber", "requestedDeliverydate", "promisedDeliveryDate", "backOrderETAData", "lineNotes", "shipmentDetails", "serviceContractInfo", "additionalAttributes", "links", "estimatedDates", "scheduleLines", "multipleShipments"] model_config = { "populate_by_name": True, @@ -198,6 +199,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "specialBidNumber": obj.get("specialBidNumber"), "requestedDeliverydate": obj.get("requestedDeliverydate"), "promisedDeliveryDate": obj.get("promisedDeliveryDate"), + "backOrderETAData": obj.get("backOrderETAData"), "lineNotes": obj.get("lineNotes"), "shipmentDetails": [OrderDetailB2BLinesInnerShipmentDetailsInner.from_dict(_item) for _item in obj["shipmentDetails"]] if obj.get("shipmentDetails") is not None else None, "serviceContractInfo": OrderDetailB2BLinesInnerServiceContractInfo.from_dict(obj["serviceContractInfo"]) if obj.get("serviceContractInfo") is not None else None, diff --git a/xi/sdk/resellers/models/product_detail_response.py b/xi/sdk/resellers/models/product_detail_response.py index 3d59ba33..e3dbd217 100644 --- a/xi/sdk/resellers/models/product_detail_response.py +++ b/xi/sdk/resellers/models/product_detail_response.py @@ -38,7 +38,7 @@ class ProductDetailResponse(BaseModel): product_detail_description: Optional[StrictStr] = Field(default=None, description="The detailed description given for the product.", alias="productDetailDescription") upc: Optional[StrictStr] = Field(default=None, description="The UPC code for the product. Consists of 12 numeric digits that are uniquely assigned to each trade item.") product_category: Optional[StrictStr] = Field(default=None, description="The category of the product.", alias="productCategory") - product_subcategory: Optional[StrictStr] = Field(default=None, description="The sub-category of the product.", alias="productSubcategory") + product_sub_category: Optional[StrictStr] = Field(default=None, description="The sub-category of the product.", alias="productSubCategory") vendor_name: Optional[StrictStr] = Field(default=None, description="Vendor name for the order.", alias="vendorName") vendor_number: Optional[StrictStr] = Field(default=None, description="Vendor number that identifies the product.", alias="vendorNumber") product_status_code: Optional[StrictStr] = Field(default=None, description="Status code of the product.", alias="productStatusCode") @@ -48,7 +48,7 @@ class ProductDetailResponse(BaseModel): technical_specifications: Optional[List[ProductDetailResponseTechnicalSpecificationsInner]] = Field(default=None, description="Technical specifications of the product.", alias="technicalSpecifications") warranty_information: Optional[List[Dict[str, Any]]] = Field(default=None, description="Warranty information related to the product.", alias="warrantyInformation") additional_information: Optional[ProductDetailResponseAdditionalInformation] = Field(default=None, alias="additionalInformation") - __properties: ClassVar[List[str]] = ["ingramPartNumber", "vendorPartNumber", "customerPartNumber", "productAuthorized", "description", "productDetailDescription", "upc", "productCategory", "productSubcategory", "vendorName", "vendorNumber", "productStatusCode", "productClass", "indicators", "ciscoFields", "technicalSpecifications", "warrantyInformation", "additionalInformation"] + __properties: ClassVar[List[str]] = ["ingramPartNumber", "vendorPartNumber", "customerPartNumber", "productAuthorized", "description", "productDetailDescription", "upc", "productCategory", "productSubCategory", "vendorName", "vendorNumber", "productStatusCode", "productClass", "indicators", "ciscoFields", "technicalSpecifications", "warrantyInformation", "additionalInformation"] model_config = { "populate_by_name": True, @@ -125,7 +125,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "productDetailDescription": obj.get("productDetailDescription"), "upc": obj.get("upc"), "productCategory": obj.get("productCategory"), - "productSubcategory": obj.get("productSubcategory"), + "productSubCategory": obj.get("productSubCategory"), "vendorName": obj.get("vendorName"), "vendorNumber": obj.get("vendorNumber"), "productStatusCode": obj.get("productStatusCode"), diff --git a/xi/sdk/resellers/models/quote_details_response.py b/xi/sdk/resellers/models/quote_details_response.py index f243e080..9a56b78f 100644 --- a/xi/sdk/resellers/models/quote_details_response.py +++ b/xi/sdk/resellers/models/quote_details_response.py @@ -47,6 +47,7 @@ class QuoteDetailsResponse(BaseModel): intro_preamble: Optional[StrictStr] = Field(default=None, description="Introductory paragraph included in each quote. Legally required - must be included when presenting the quote details.", alias="introPreamble") purchase_instructions: Optional[StrictStr] = Field(default=None, description="Purchase instructions. Legally required - must be included when presenting the quote details.", alias="purchaseInstructions") legal_terms: Optional[StrictStr] = Field(default=None, description="Legal terms - Legally required - must be included when presenting the quote details.", alias="legalTerms") + quote_type: Optional[StrictStr] = Field(default=None, alias="quoteType") lease_info: Optional[StrictStr] = Field(default=None, description="Lease information.", alias="leaseInfo") leasing_instructions: Optional[StrictStr] = Field(default=None, description="Leasing information", alias="leasingInstructions") reseller_info: Optional[QuoteDetailsResponseResellerInfo] = Field(default=None, alias="resellerInfo") @@ -57,7 +58,7 @@ class QuoteDetailsResponse(BaseModel): quantity_total: Optional[StrictInt] = Field(default=None, description="Total quantity of all items in the quote.", alias="quantityTotal") extended_quote_price_total: Optional[StrictInt] = Field(default=None, description="Total amount of quoted price for all products in the quote including both solution products and suggested products.", alias="extendedQuotePriceTotal") additional_attributes: Optional[List[QuoteDetailsResponseAdditionalAttributesInner]] = Field(default=None, alias="additionalAttributes") - __properties: ClassVar[List[str]] = ["quoteName", "quoteNumber", "revision", "ingramQuoteDate", "lastModifiedDate", "ingramQuoteExpiryDate", "currencyCode", "closingReason", "specialBidId", "specialBidEffectiveDate", "specialBidExpirationDate", "status", "customerNeed", "proposedSolution", "introPreamble", "purchaseInstructions", "legalTerms", "leaseInfo", "leasingInstructions", "resellerInfo", "endUserInfo", "products", "productsCount", "extendedMsrpTotal", "quantityTotal", "extendedQuotePriceTotal", "additionalAttributes"] + __properties: ClassVar[List[str]] = ["quoteName", "quoteNumber", "revision", "ingramQuoteDate", "lastModifiedDate", "ingramQuoteExpiryDate", "currencyCode", "closingReason", "specialBidId", "specialBidEffectiveDate", "specialBidExpirationDate", "status", "customerNeed", "proposedSolution", "introPreamble", "purchaseInstructions", "legalTerms", "quoteType", "leaseInfo", "leasingInstructions", "resellerInfo", "endUserInfo", "products", "productsCount", "extendedMsrpTotal", "quantityTotal", "extendedQuotePriceTotal", "additionalAttributes"] model_config = { "populate_by_name": True, @@ -147,6 +148,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "introPreamble": obj.get("introPreamble"), "purchaseInstructions": obj.get("purchaseInstructions"), "legalTerms": obj.get("legalTerms"), + "quoteType": obj.get("quoteType"), "leaseInfo": obj.get("leaseInfo"), "leasingInstructions": obj.get("leasingInstructions"), "resellerInfo": QuoteDetailsResponseResellerInfo.from_dict(obj["resellerInfo"]) if obj.get("resellerInfo") is not None else None, diff --git a/xi/sdk/resellers/models/returns_details_response_products_inner.py b/xi/sdk/resellers/models/returns_details_response_products_inner.py index 9acbd8c9..c024ef47 100644 --- a/xi/sdk/resellers/models/returns_details_response_products_inner.py +++ b/xi/sdk/resellers/models/returns_details_response_products_inner.py @@ -17,7 +17,6 @@ import re # noqa: F401 import json -from datetime import date from pydantic import BaseModel, Field, StrictFloat, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set @@ -32,17 +31,18 @@ class ReturnsDetailsResponseProductsInner(BaseModel): ingram_part_number: Optional[StrictStr] = Field(default=None, description="Unique IngramMicro part number.", alias="ingramPartNumber") vendor_part_number: Optional[StrictStr] = Field(default=None, description="The vendor's part number for the line item.", alias="vendorPartNumber") upc: Optional[StrictStr] = Field(default=None, description="The UPC code of a product.") - invoice_date: Optional[date] = Field(default=None, description="The date of the invoice.", alias="invoiceDate") + invoice_date: Optional[StrictStr] = Field(default=None, description="The date of the invoice.", alias="invoiceDate") invoice_number: Optional[StrictStr] = Field(default=None, description="Ingram micro Invoice number.", alias="invoiceNumber") customer_order_number: Optional[StrictStr] = Field(default=None, description="The reseller's order number for reference in their system.", alias="customerOrderNumber") - request_details: Optional[StrictStr] = Field(default=None, description="Request details.", alias="requestDetails") quantity: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The quantity of the line item.") unit_price: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The unit price of the line item.", alias="unitPrice") extended_price: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Unit price X quantity for the line item.", alias="extendedPrice") status: Optional[StrictStr] = Field(default=None, description="The status of the line item.") return_branch: Optional[StrictStr] = Field(default=None, description="The code of the return branch.", alias="returnBranch") ship_from_branch: Optional[StrictStr] = Field(default=None, description="The code of the ship from branch.", alias="shipFromBranch") - __properties: ClassVar[List[str]] = ["ingramLineNumber", "description", "ingramPartNumber", "vendorPartNumber", "upc", "invoiceDate", "invoiceNumber", "customerOrderNumber", "requestDetails", "quantity", "unitPrice", "extendedPrice", "status", "returnBranch", "shipFromBranch"] + request_details: Optional[StrictStr] = Field(default=None, description="Request details.", alias="requestDetails") + additional_details: Optional[StrictStr] = Field(default=None, alias="additionalDetails") + __properties: ClassVar[List[str]] = ["ingramLineNumber", "description", "ingramPartNumber", "vendorPartNumber", "upc", "invoiceDate", "invoiceNumber", "customerOrderNumber", "quantity", "unitPrice", "extendedPrice", "status", "returnBranch", "shipFromBranch", "requestDetails", "additionalDetails"] model_config = { "populate_by_name": True, @@ -103,13 +103,14 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "invoiceDate": obj.get("invoiceDate"), "invoiceNumber": obj.get("invoiceNumber"), "customerOrderNumber": obj.get("customerOrderNumber"), - "requestDetails": obj.get("requestDetails"), "quantity": obj.get("quantity"), "unitPrice": obj.get("unitPrice"), "extendedPrice": obj.get("extendedPrice"), "status": obj.get("status"), "returnBranch": obj.get("returnBranch"), - "shipFromBranch": obj.get("shipFromBranch") + "shipFromBranch": obj.get("shipFromBranch"), + "requestDetails": obj.get("requestDetails"), + "additionalDetails": obj.get("additionalDetails") }) return _obj diff --git a/xi/sdk/resellers/models/validate_quote_response.py b/xi/sdk/resellers/models/validate_quote_response.py index f266c1e6..a08f96c9 100644 --- a/xi/sdk/resellers/models/validate_quote_response.py +++ b/xi/sdk/resellers/models/validate_quote_response.py @@ -17,7 +17,7 @@ import re # noqa: F401 import json -from pydantic import BaseModel, Field, StrictStr +from pydantic import BaseModel, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from xi.sdk.resellers.models.validate_quote_response_lines_inner import ValidateQuoteResponseLinesInner from xi.sdk.resellers.models.validate_quote_response_vmf_additional_attributes_inner import ValidateQuoteResponseVmfAdditionalAttributesInner @@ -32,7 +32,11 @@ class ValidateQuoteResponse(BaseModel): vendor_name: Optional[StrictStr] = Field(default=None, description="The name of the vendor.", alias="vendorName") vmf_additional_attributes: Optional[List[ValidateQuoteResponseVmfAdditionalAttributesInner]] = Field(default=None, description="The object containing the list of fields required at a header level by the vendor.", alias="vmfAdditionalAttributes") lines: Optional[List[ValidateQuoteResponseLinesInner]] = Field(default=None, description="The object containing the lines from the quote.") - __properties: ClassVar[List[str]] = ["quoteNumber", "vendorName", "vmfAdditionalAttributes", "lines"] + quote_type: Optional[StrictInt] = Field(default=None, alias="quoteType") + vendor_group_name: Optional[StrictStr] = Field(default=None, alias="vendorGroupName") + vendor_quote_number: Optional[StrictStr] = Field(default=None, alias="vendorQuoteNumber") + vendor_master_number: Optional[StrictStr] = Field(default=None, alias="vendorMasterNumber") + __properties: ClassVar[List[str]] = ["quoteNumber", "vendorName", "vmfAdditionalAttributes", "lines", "quoteType", "vendorGroupName", "vendorQuoteNumber", "vendorMasterNumber"] model_config = { "populate_by_name": True, @@ -102,7 +106,11 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "quoteNumber": obj.get("quoteNumber"), "vendorName": obj.get("vendorName"), "vmfAdditionalAttributes": [ValidateQuoteResponseVmfAdditionalAttributesInner.from_dict(_item) for _item in obj["vmfAdditionalAttributes"]] if obj.get("vmfAdditionalAttributes") is not None else None, - "lines": [ValidateQuoteResponseLinesInner.from_dict(_item) for _item in obj["lines"]] if obj.get("lines") is not None else None + "lines": [ValidateQuoteResponseLinesInner.from_dict(_item) for _item in obj["lines"]] if obj.get("lines") is not None else None, + "quoteType": obj.get("quoteType"), + "vendorGroupName": obj.get("vendorGroupName"), + "vendorQuoteNumber": obj.get("vendorQuoteNumber"), + "vendorMasterNumber": obj.get("vendorMasterNumber") }) return _obj