convexity-api-client 0.21.0.dev332__py3-none-any.whl → 0.21.0.dev336__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- convexity_api_client/api/v1/crm_create_sales_rep.py +186 -0
- convexity_api_client/api/v1/crm_delete_sales_rep.py +182 -0
- convexity_api_client/api/v1/crm_get_sales_rep.py +182 -0
- convexity_api_client/api/v1/crm_list_sales_reps.py +236 -0
- convexity_api_client/api/v1/crm_update_sales_rep.py +202 -0
- convexity_api_client/api/v1/inventory_assign_item_warehouse_location.py +206 -0
- convexity_api_client/api/v1/inventory_create_cost_list_vendor_assignment.py +202 -0
- convexity_api_client/api/v1/inventory_create_price_list_channel_assignment.py +202 -0
- convexity_api_client/api/v1/inventory_create_price_list_customer_assignment.py +202 -0
- convexity_api_client/api/v1/inventory_delete_cost_list_vendor_assignment.py +196 -0
- convexity_api_client/api/v1/inventory_delete_price_list_channel_assignment.py +196 -0
- convexity_api_client/api/v1/inventory_delete_price_list_customer_assignment.py +196 -0
- convexity_api_client/api/v1/inventory_list_cost_list_vendor_assignments.py +202 -0
- convexity_api_client/api/v1/inventory_list_item_cost_list_entries.py +182 -0
- convexity_api_client/api/v1/inventory_list_item_price_list_entries.py +182 -0
- convexity_api_client/api/v1/inventory_list_item_warehouse_locations.py +212 -0
- convexity_api_client/api/v1/inventory_list_price_list_channel_assignments.py +202 -0
- convexity_api_client/api/v1/inventory_list_price_list_customer_assignments.py +202 -0
- convexity_api_client/api/v1/inventory_list_warehouse_location_items.py +226 -0
- convexity_api_client/api/v1/inventory_update_cost_list_vendor_assignment.py +216 -0
- convexity_api_client/api/v1/inventory_update_price_list_channel_assignment.py +216 -0
- convexity_api_client/api/v1/inventory_update_price_list_customer_assignment.py +216 -0
- convexity_api_client/api/v1/purchasing_create_item_sourcing.py +190 -0
- convexity_api_client/api/v1/purchasing_deactivate_item_sourcing.py +182 -0
- convexity_api_client/api/v1/purchasing_get_item_sourcing_options.py +166 -0
- convexity_api_client/api/v1/purchasing_list_item_sourcing.py +382 -0
- convexity_api_client/api/v1/purchasing_update_item_sourcing.py +202 -0
- convexity_api_client/api/v1/purchasing_upsert_item_sourcing_cost.py +206 -0
- convexity_api_client/api/v1/sales_list_orders.py +20 -0
- convexity_api_client/api/v1/warehouse_workflow_cancel_pick_pack_ship.py +182 -0
- convexity_api_client/api/v1/warehouse_workflow_complete_pick_pack_ship_pack.py +202 -0
- convexity_api_client/api/v1/warehouse_workflow_complete_pick_pack_ship_pick.py +202 -0
- convexity_api_client/api/v1/warehouse_workflow_create_pick_pack_ship.py +186 -0
- convexity_api_client/api/v1/warehouse_workflow_generate_pick_pack_ship_pdf.py +188 -0
- convexity_api_client/api/v1/warehouse_workflow_get_pick_pack_ship.py +182 -0
- convexity_api_client/api/v1/warehouse_workflow_mark_pick_pack_ship_shipped.py +202 -0
- convexity_api_client/api/v1/warehouse_workflow_save_pick_pack_ship_shipment.py +202 -0
- convexity_api_client/models/__init__.py +134 -0
- convexity_api_client/models/adjust_stock_request.py +20 -8
- convexity_api_client/models/assign_inventory_item_location_request.py +108 -0
- convexity_api_client/models/assign_inventory_item_location_request_ext_data_type_0.py +47 -0
- convexity_api_client/models/bulk_upsert_customer_payload.py +20 -0
- convexity_api_client/models/bulk_upsert_sales_order_payload.py +40 -0
- convexity_api_client/models/complete_pick_pack_ship_pack_request.py +75 -0
- convexity_api_client/models/complete_pick_pack_ship_request.py +97 -0
- convexity_api_client/models/cost_list_entry_response.py +77 -0
- convexity_api_client/models/cost_list_vendor_assignment_response.py +149 -0
- convexity_api_client/models/cost_list_vendor_assignment_response_ext_data_type_0.py +47 -0
- convexity_api_client/models/cost_rule.py +53 -0
- convexity_api_client/models/cost_rule_response.py +22 -0
- convexity_api_client/models/cost_source_type.py +9 -0
- convexity_api_client/models/create_cost_list_request.py +4 -5
- convexity_api_client/models/create_cost_list_vendor_assignment_request.py +116 -0
- convexity_api_client/models/create_cost_list_vendor_assignment_request_ext_data_type_0.py +47 -0
- convexity_api_client/models/create_customer_request.py +20 -0
- convexity_api_client/models/create_item_sourcing_request.py +256 -0
- convexity_api_client/models/create_item_sourcing_request_ext_data_type_0.py +47 -0
- convexity_api_client/models/create_pick_pack_ship_request.py +153 -0
- convexity_api_client/models/create_price_list_channel_assignment_request.py +116 -0
- convexity_api_client/models/create_price_list_channel_assignment_request_ext_data_type_0.py +47 -0
- convexity_api_client/models/create_price_list_customer_assignment_request.py +116 -0
- convexity_api_client/models/create_price_list_customer_assignment_request_ext_data_type_0.py +47 -0
- convexity_api_client/models/create_price_list_request.py +4 -5
- convexity_api_client/models/create_sales_order_line_request.py +40 -8
- convexity_api_client/models/create_sales_order_request.py +40 -0
- convexity_api_client/models/create_sales_rep_request.py +181 -0
- convexity_api_client/models/create_sales_rep_request_ext_data_type_0.py +47 -0
- convexity_api_client/models/customer.py +53 -0
- convexity_api_client/models/customer_response.py +14 -0
- convexity_api_client/models/inventory_config.py +53 -0
- convexity_api_client/models/inventory_config_response.py +28 -0
- convexity_api_client/models/inventory_item.py +43 -0
- convexity_api_client/models/inventory_item_location.py +237 -0
- convexity_api_client/models/inventory_item_location_assignment_response.py +150 -0
- convexity_api_client/models/inventory_item_location_assignment_response_ext_data_type_0.py +47 -0
- convexity_api_client/models/inventory_item_type.py +0 -1
- convexity_api_client/models/item_sourcing.py +41 -0
- convexity_api_client/models/item_sourcing_item_option.py +107 -0
- convexity_api_client/models/item_sourcing_options_response.py +120 -0
- convexity_api_client/models/item_sourcing_response.py +360 -0
- convexity_api_client/models/item_sourcing_response_ext_data_type_0.py +47 -0
- convexity_api_client/models/item_sourcing_uom_option.py +77 -0
- convexity_api_client/models/item_sourcing_vendor_option.py +77 -0
- convexity_api_client/models/item_warehouse_location_response.py +248 -0
- convexity_api_client/models/list_cost_list_entries_response.py +83 -0
- convexity_api_client/models/list_cost_list_vendor_assignments_response.py +83 -0
- convexity_api_client/models/list_item_sourcing_response.py +83 -0
- convexity_api_client/models/list_item_warehouse_locations_response.py +83 -0
- convexity_api_client/models/list_price_list_channel_assignments_response.py +83 -0
- convexity_api_client/models/list_price_list_customer_assignments_response.py +83 -0
- convexity_api_client/models/list_price_list_entries_response.py +83 -0
- convexity_api_client/models/list_sales_reps_response.py +83 -0
- convexity_api_client/models/list_warehouse_location_items_response.py +83 -0
- convexity_api_client/models/mark_pick_pack_ship_shipped_request.py +84 -0
- convexity_api_client/models/pick_pack_ship_line_request.py +100 -0
- convexity_api_client/models/pick_pack_ship_packed_line_request.py +111 -0
- convexity_api_client/models/pick_pack_ship_picked_line_request.py +91 -0
- convexity_api_client/models/pick_pack_ship_response.py +111 -0
- convexity_api_client/models/price_list.py +41 -0
- convexity_api_client/models/price_list_channel_assignment_response.py +149 -0
- convexity_api_client/models/price_list_channel_assignment_response_ext_data_type_0.py +47 -0
- convexity_api_client/models/price_list_customer_assignment_response.py +149 -0
- convexity_api_client/models/price_list_customer_assignment_response_ext_data_type_0.py +47 -0
- convexity_api_client/models/price_list_entry_response.py +77 -0
- convexity_api_client/models/price_source_type.py +9 -0
- convexity_api_client/models/project.py +43 -0
- convexity_api_client/models/purchase_order_line.py +101 -0
- convexity_api_client/models/purchase_order_line_request.py +20 -8
- convexity_api_client/models/purchase_order_line_response.py +103 -0
- convexity_api_client/models/purchasing_list_item_sourcing_filter_operator_type_0.py +19 -0
- convexity_api_client/models/purchasing_list_item_sourcing_sort_direction_type_0.py +9 -0
- convexity_api_client/models/resolve_cost_response.py +22 -0
- convexity_api_client/models/resolve_price_response.py +20 -0
- convexity_api_client/models/sales_invoice_line.py +121 -0
- convexity_api_client/models/sales_invoice_line_request.py +40 -8
- convexity_api_client/models/sales_invoice_line_response.py +121 -0
- convexity_api_client/models/sales_order.py +73 -0
- convexity_api_client/models/sales_order_line.py +121 -0
- convexity_api_client/models/sales_order_line_response.py +123 -0
- convexity_api_client/models/sales_order_response.py +28 -0
- convexity_api_client/models/sales_rep.py +279 -0
- convexity_api_client/models/sales_rep_response.py +185 -0
- convexity_api_client/models/sales_rep_response_ext_data_type_0.py +47 -0
- convexity_api_client/models/save_pick_pack_ship_shipment_request.py +163 -0
- convexity_api_client/models/stock_balance.py +20 -8
- convexity_api_client/models/update_customer_request.py +20 -0
- convexity_api_client/models/update_item_sourcing_request.py +312 -0
- convexity_api_client/models/update_item_sourcing_request_ext_data_type_0.py +47 -0
- convexity_api_client/models/update_list_assignment_request.py +111 -0
- convexity_api_client/models/update_list_assignment_request_ext_data_type_0.py +47 -0
- convexity_api_client/models/update_sales_order_request.py +40 -0
- convexity_api_client/models/update_sales_rep_request.py +211 -0
- convexity_api_client/models/update_sales_rep_request_ext_data_type_0.py +47 -0
- convexity_api_client/models/upsert_inventory_config_request.py +40 -0
- convexity_api_client/models/upsert_item_sourcing_cost_request.py +62 -0
- convexity_api_client/models/warehouse_location.py +43 -0
- convexity_api_client/models/warehouse_location_item_response.py +160 -0
- {convexity_api_client-0.21.0.dev332.dist-info → convexity_api_client-0.21.0.dev336.dist-info}/METADATA +1 -1
- {convexity_api_client-0.21.0.dev332.dist-info → convexity_api_client-0.21.0.dev336.dist-info}/RECORD +140 -41
- {convexity_api_client-0.21.0.dev332.dist-info → convexity_api_client-0.21.0.dev336.dist-info}/WHEEL +1 -1
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import TYPE_CHECKING, Any, TypeVar, cast
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
from ..types import UNSET, Unset
|
|
10
|
+
|
|
11
|
+
if TYPE_CHECKING:
|
|
12
|
+
from ..models.update_item_sourcing_request_ext_data_type_0 import UpdateItemSourcingRequestExtDataType0
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
T = TypeVar("T", bound="UpdateItemSourcingRequest")
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@_attrs_define
|
|
19
|
+
class UpdateItemSourcingRequest:
|
|
20
|
+
"""Partial inline update for a sourcing relationship.
|
|
21
|
+
|
|
22
|
+
Attributes:
|
|
23
|
+
inventory_item_id (None | str | Unset):
|
|
24
|
+
vendor_id (None | str | Unset):
|
|
25
|
+
vendor_item_code (None | str | Unset):
|
|
26
|
+
origin_country_code (None | str | Unset):
|
|
27
|
+
hts_code (None | str | Unset):
|
|
28
|
+
uom_id (None | str | Unset):
|
|
29
|
+
min_order_qty (float | None | Unset):
|
|
30
|
+
order_multiple_qty (float | None | Unset):
|
|
31
|
+
lead_time_days (int | None | Unset):
|
|
32
|
+
is_primary (bool | None | Unset):
|
|
33
|
+
is_active (bool | None | Unset):
|
|
34
|
+
ext_data (None | Unset | UpdateItemSourcingRequestExtDataType0):
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
inventory_item_id: None | str | Unset = UNSET
|
|
38
|
+
vendor_id: None | str | Unset = UNSET
|
|
39
|
+
vendor_item_code: None | str | Unset = UNSET
|
|
40
|
+
origin_country_code: None | str | Unset = UNSET
|
|
41
|
+
hts_code: None | str | Unset = UNSET
|
|
42
|
+
uom_id: None | str | Unset = UNSET
|
|
43
|
+
min_order_qty: float | None | Unset = UNSET
|
|
44
|
+
order_multiple_qty: float | None | Unset = UNSET
|
|
45
|
+
lead_time_days: int | None | Unset = UNSET
|
|
46
|
+
is_primary: bool | None | Unset = UNSET
|
|
47
|
+
is_active: bool | None | Unset = UNSET
|
|
48
|
+
ext_data: None | Unset | UpdateItemSourcingRequestExtDataType0 = UNSET
|
|
49
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
50
|
+
|
|
51
|
+
def to_dict(self) -> dict[str, Any]:
|
|
52
|
+
from ..models.update_item_sourcing_request_ext_data_type_0 import UpdateItemSourcingRequestExtDataType0
|
|
53
|
+
|
|
54
|
+
inventory_item_id: None | str | Unset
|
|
55
|
+
if isinstance(self.inventory_item_id, Unset):
|
|
56
|
+
inventory_item_id = UNSET
|
|
57
|
+
else:
|
|
58
|
+
inventory_item_id = self.inventory_item_id
|
|
59
|
+
|
|
60
|
+
vendor_id: None | str | Unset
|
|
61
|
+
if isinstance(self.vendor_id, Unset):
|
|
62
|
+
vendor_id = UNSET
|
|
63
|
+
else:
|
|
64
|
+
vendor_id = self.vendor_id
|
|
65
|
+
|
|
66
|
+
vendor_item_code: None | str | Unset
|
|
67
|
+
if isinstance(self.vendor_item_code, Unset):
|
|
68
|
+
vendor_item_code = UNSET
|
|
69
|
+
else:
|
|
70
|
+
vendor_item_code = self.vendor_item_code
|
|
71
|
+
|
|
72
|
+
origin_country_code: None | str | Unset
|
|
73
|
+
if isinstance(self.origin_country_code, Unset):
|
|
74
|
+
origin_country_code = UNSET
|
|
75
|
+
else:
|
|
76
|
+
origin_country_code = self.origin_country_code
|
|
77
|
+
|
|
78
|
+
hts_code: None | str | Unset
|
|
79
|
+
if isinstance(self.hts_code, Unset):
|
|
80
|
+
hts_code = UNSET
|
|
81
|
+
else:
|
|
82
|
+
hts_code = self.hts_code
|
|
83
|
+
|
|
84
|
+
uom_id: None | str | Unset
|
|
85
|
+
if isinstance(self.uom_id, Unset):
|
|
86
|
+
uom_id = UNSET
|
|
87
|
+
else:
|
|
88
|
+
uom_id = self.uom_id
|
|
89
|
+
|
|
90
|
+
min_order_qty: float | None | Unset
|
|
91
|
+
if isinstance(self.min_order_qty, Unset):
|
|
92
|
+
min_order_qty = UNSET
|
|
93
|
+
else:
|
|
94
|
+
min_order_qty = self.min_order_qty
|
|
95
|
+
|
|
96
|
+
order_multiple_qty: float | None | Unset
|
|
97
|
+
if isinstance(self.order_multiple_qty, Unset):
|
|
98
|
+
order_multiple_qty = UNSET
|
|
99
|
+
else:
|
|
100
|
+
order_multiple_qty = self.order_multiple_qty
|
|
101
|
+
|
|
102
|
+
lead_time_days: int | None | Unset
|
|
103
|
+
if isinstance(self.lead_time_days, Unset):
|
|
104
|
+
lead_time_days = UNSET
|
|
105
|
+
else:
|
|
106
|
+
lead_time_days = self.lead_time_days
|
|
107
|
+
|
|
108
|
+
is_primary: bool | None | Unset
|
|
109
|
+
if isinstance(self.is_primary, Unset):
|
|
110
|
+
is_primary = UNSET
|
|
111
|
+
else:
|
|
112
|
+
is_primary = self.is_primary
|
|
113
|
+
|
|
114
|
+
is_active: bool | None | Unset
|
|
115
|
+
if isinstance(self.is_active, Unset):
|
|
116
|
+
is_active = UNSET
|
|
117
|
+
else:
|
|
118
|
+
is_active = self.is_active
|
|
119
|
+
|
|
120
|
+
ext_data: dict[str, Any] | None | Unset
|
|
121
|
+
if isinstance(self.ext_data, Unset):
|
|
122
|
+
ext_data = UNSET
|
|
123
|
+
elif isinstance(self.ext_data, UpdateItemSourcingRequestExtDataType0):
|
|
124
|
+
ext_data = self.ext_data.to_dict()
|
|
125
|
+
else:
|
|
126
|
+
ext_data = self.ext_data
|
|
127
|
+
|
|
128
|
+
field_dict: dict[str, Any] = {}
|
|
129
|
+
field_dict.update(self.additional_properties)
|
|
130
|
+
field_dict.update({})
|
|
131
|
+
if inventory_item_id is not UNSET:
|
|
132
|
+
field_dict["inventory_item_id"] = inventory_item_id
|
|
133
|
+
if vendor_id is not UNSET:
|
|
134
|
+
field_dict["vendor_id"] = vendor_id
|
|
135
|
+
if vendor_item_code is not UNSET:
|
|
136
|
+
field_dict["vendor_item_code"] = vendor_item_code
|
|
137
|
+
if origin_country_code is not UNSET:
|
|
138
|
+
field_dict["origin_country_code"] = origin_country_code
|
|
139
|
+
if hts_code is not UNSET:
|
|
140
|
+
field_dict["hts_code"] = hts_code
|
|
141
|
+
if uom_id is not UNSET:
|
|
142
|
+
field_dict["uom_id"] = uom_id
|
|
143
|
+
if min_order_qty is not UNSET:
|
|
144
|
+
field_dict["min_order_qty"] = min_order_qty
|
|
145
|
+
if order_multiple_qty is not UNSET:
|
|
146
|
+
field_dict["order_multiple_qty"] = order_multiple_qty
|
|
147
|
+
if lead_time_days is not UNSET:
|
|
148
|
+
field_dict["lead_time_days"] = lead_time_days
|
|
149
|
+
if is_primary is not UNSET:
|
|
150
|
+
field_dict["is_primary"] = is_primary
|
|
151
|
+
if is_active is not UNSET:
|
|
152
|
+
field_dict["is_active"] = is_active
|
|
153
|
+
if ext_data is not UNSET:
|
|
154
|
+
field_dict["ext_data"] = ext_data
|
|
155
|
+
|
|
156
|
+
return field_dict
|
|
157
|
+
|
|
158
|
+
@classmethod
|
|
159
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
160
|
+
from ..models.update_item_sourcing_request_ext_data_type_0 import UpdateItemSourcingRequestExtDataType0
|
|
161
|
+
|
|
162
|
+
d = dict(src_dict)
|
|
163
|
+
|
|
164
|
+
def _parse_inventory_item_id(data: object) -> None | str | Unset:
|
|
165
|
+
if data is None:
|
|
166
|
+
return data
|
|
167
|
+
if isinstance(data, Unset):
|
|
168
|
+
return data
|
|
169
|
+
return cast(None | str | Unset, data)
|
|
170
|
+
|
|
171
|
+
inventory_item_id = _parse_inventory_item_id(d.pop("inventory_item_id", UNSET))
|
|
172
|
+
|
|
173
|
+
def _parse_vendor_id(data: object) -> None | str | Unset:
|
|
174
|
+
if data is None:
|
|
175
|
+
return data
|
|
176
|
+
if isinstance(data, Unset):
|
|
177
|
+
return data
|
|
178
|
+
return cast(None | str | Unset, data)
|
|
179
|
+
|
|
180
|
+
vendor_id = _parse_vendor_id(d.pop("vendor_id", UNSET))
|
|
181
|
+
|
|
182
|
+
def _parse_vendor_item_code(data: object) -> None | str | Unset:
|
|
183
|
+
if data is None:
|
|
184
|
+
return data
|
|
185
|
+
if isinstance(data, Unset):
|
|
186
|
+
return data
|
|
187
|
+
return cast(None | str | Unset, data)
|
|
188
|
+
|
|
189
|
+
vendor_item_code = _parse_vendor_item_code(d.pop("vendor_item_code", UNSET))
|
|
190
|
+
|
|
191
|
+
def _parse_origin_country_code(data: object) -> None | str | Unset:
|
|
192
|
+
if data is None:
|
|
193
|
+
return data
|
|
194
|
+
if isinstance(data, Unset):
|
|
195
|
+
return data
|
|
196
|
+
return cast(None | str | Unset, data)
|
|
197
|
+
|
|
198
|
+
origin_country_code = _parse_origin_country_code(d.pop("origin_country_code", UNSET))
|
|
199
|
+
|
|
200
|
+
def _parse_hts_code(data: object) -> None | str | Unset:
|
|
201
|
+
if data is None:
|
|
202
|
+
return data
|
|
203
|
+
if isinstance(data, Unset):
|
|
204
|
+
return data
|
|
205
|
+
return cast(None | str | Unset, data)
|
|
206
|
+
|
|
207
|
+
hts_code = _parse_hts_code(d.pop("hts_code", UNSET))
|
|
208
|
+
|
|
209
|
+
def _parse_uom_id(data: object) -> None | str | Unset:
|
|
210
|
+
if data is None:
|
|
211
|
+
return data
|
|
212
|
+
if isinstance(data, Unset):
|
|
213
|
+
return data
|
|
214
|
+
return cast(None | str | Unset, data)
|
|
215
|
+
|
|
216
|
+
uom_id = _parse_uom_id(d.pop("uom_id", UNSET))
|
|
217
|
+
|
|
218
|
+
def _parse_min_order_qty(data: object) -> float | None | Unset:
|
|
219
|
+
if data is None:
|
|
220
|
+
return data
|
|
221
|
+
if isinstance(data, Unset):
|
|
222
|
+
return data
|
|
223
|
+
return cast(float | None | Unset, data)
|
|
224
|
+
|
|
225
|
+
min_order_qty = _parse_min_order_qty(d.pop("min_order_qty", UNSET))
|
|
226
|
+
|
|
227
|
+
def _parse_order_multiple_qty(data: object) -> float | None | Unset:
|
|
228
|
+
if data is None:
|
|
229
|
+
return data
|
|
230
|
+
if isinstance(data, Unset):
|
|
231
|
+
return data
|
|
232
|
+
return cast(float | None | Unset, data)
|
|
233
|
+
|
|
234
|
+
order_multiple_qty = _parse_order_multiple_qty(d.pop("order_multiple_qty", UNSET))
|
|
235
|
+
|
|
236
|
+
def _parse_lead_time_days(data: object) -> int | None | Unset:
|
|
237
|
+
if data is None:
|
|
238
|
+
return data
|
|
239
|
+
if isinstance(data, Unset):
|
|
240
|
+
return data
|
|
241
|
+
return cast(int | None | Unset, data)
|
|
242
|
+
|
|
243
|
+
lead_time_days = _parse_lead_time_days(d.pop("lead_time_days", UNSET))
|
|
244
|
+
|
|
245
|
+
def _parse_is_primary(data: object) -> bool | None | Unset:
|
|
246
|
+
if data is None:
|
|
247
|
+
return data
|
|
248
|
+
if isinstance(data, Unset):
|
|
249
|
+
return data
|
|
250
|
+
return cast(bool | None | Unset, data)
|
|
251
|
+
|
|
252
|
+
is_primary = _parse_is_primary(d.pop("is_primary", UNSET))
|
|
253
|
+
|
|
254
|
+
def _parse_is_active(data: object) -> bool | None | Unset:
|
|
255
|
+
if data is None:
|
|
256
|
+
return data
|
|
257
|
+
if isinstance(data, Unset):
|
|
258
|
+
return data
|
|
259
|
+
return cast(bool | None | Unset, data)
|
|
260
|
+
|
|
261
|
+
is_active = _parse_is_active(d.pop("is_active", UNSET))
|
|
262
|
+
|
|
263
|
+
def _parse_ext_data(data: object) -> None | Unset | UpdateItemSourcingRequestExtDataType0:
|
|
264
|
+
if data is None:
|
|
265
|
+
return data
|
|
266
|
+
if isinstance(data, Unset):
|
|
267
|
+
return data
|
|
268
|
+
try:
|
|
269
|
+
if not isinstance(data, dict):
|
|
270
|
+
raise TypeError()
|
|
271
|
+
ext_data_type_0 = UpdateItemSourcingRequestExtDataType0.from_dict(data)
|
|
272
|
+
|
|
273
|
+
return ext_data_type_0
|
|
274
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
275
|
+
pass
|
|
276
|
+
return cast(None | Unset | UpdateItemSourcingRequestExtDataType0, data)
|
|
277
|
+
|
|
278
|
+
ext_data = _parse_ext_data(d.pop("ext_data", UNSET))
|
|
279
|
+
|
|
280
|
+
update_item_sourcing_request = cls(
|
|
281
|
+
inventory_item_id=inventory_item_id,
|
|
282
|
+
vendor_id=vendor_id,
|
|
283
|
+
vendor_item_code=vendor_item_code,
|
|
284
|
+
origin_country_code=origin_country_code,
|
|
285
|
+
hts_code=hts_code,
|
|
286
|
+
uom_id=uom_id,
|
|
287
|
+
min_order_qty=min_order_qty,
|
|
288
|
+
order_multiple_qty=order_multiple_qty,
|
|
289
|
+
lead_time_days=lead_time_days,
|
|
290
|
+
is_primary=is_primary,
|
|
291
|
+
is_active=is_active,
|
|
292
|
+
ext_data=ext_data,
|
|
293
|
+
)
|
|
294
|
+
|
|
295
|
+
update_item_sourcing_request.additional_properties = d
|
|
296
|
+
return update_item_sourcing_request
|
|
297
|
+
|
|
298
|
+
@property
|
|
299
|
+
def additional_keys(self) -> list[str]:
|
|
300
|
+
return list(self.additional_properties.keys())
|
|
301
|
+
|
|
302
|
+
def __getitem__(self, key: str) -> Any:
|
|
303
|
+
return self.additional_properties[key]
|
|
304
|
+
|
|
305
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
306
|
+
self.additional_properties[key] = value
|
|
307
|
+
|
|
308
|
+
def __delitem__(self, key: str) -> None:
|
|
309
|
+
del self.additional_properties[key]
|
|
310
|
+
|
|
311
|
+
def __contains__(self, key: str) -> bool:
|
|
312
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import Any, TypeVar
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="UpdateItemSourcingRequestExtDataType0")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class UpdateItemSourcingRequestExtDataType0:
|
|
14
|
+
""" """
|
|
15
|
+
|
|
16
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
17
|
+
|
|
18
|
+
def to_dict(self) -> dict[str, Any]:
|
|
19
|
+
|
|
20
|
+
field_dict: dict[str, Any] = {}
|
|
21
|
+
field_dict.update(self.additional_properties)
|
|
22
|
+
|
|
23
|
+
return field_dict
|
|
24
|
+
|
|
25
|
+
@classmethod
|
|
26
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
27
|
+
d = dict(src_dict)
|
|
28
|
+
update_item_sourcing_request_ext_data_type_0 = cls()
|
|
29
|
+
|
|
30
|
+
update_item_sourcing_request_ext_data_type_0.additional_properties = d
|
|
31
|
+
return update_item_sourcing_request_ext_data_type_0
|
|
32
|
+
|
|
33
|
+
@property
|
|
34
|
+
def additional_keys(self) -> list[str]:
|
|
35
|
+
return list(self.additional_properties.keys())
|
|
36
|
+
|
|
37
|
+
def __getitem__(self, key: str) -> Any:
|
|
38
|
+
return self.additional_properties[key]
|
|
39
|
+
|
|
40
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
41
|
+
self.additional_properties[key] = value
|
|
42
|
+
|
|
43
|
+
def __delitem__(self, key: str) -> None:
|
|
44
|
+
del self.additional_properties[key]
|
|
45
|
+
|
|
46
|
+
def __contains__(self, key: str) -> bool:
|
|
47
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import TYPE_CHECKING, Any, TypeVar, cast
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
from ..types import UNSET, Unset
|
|
10
|
+
|
|
11
|
+
if TYPE_CHECKING:
|
|
12
|
+
from ..models.update_list_assignment_request_ext_data_type_0 import UpdateListAssignmentRequestExtDataType0
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
T = TypeVar("T", bound="UpdateListAssignmentRequest")
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@_attrs_define
|
|
19
|
+
class UpdateListAssignmentRequest:
|
|
20
|
+
"""
|
|
21
|
+
Attributes:
|
|
22
|
+
is_active (bool | None | Unset):
|
|
23
|
+
ext_data (None | Unset | UpdateListAssignmentRequestExtDataType0):
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
is_active: bool | None | Unset = UNSET
|
|
27
|
+
ext_data: None | Unset | UpdateListAssignmentRequestExtDataType0 = UNSET
|
|
28
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
29
|
+
|
|
30
|
+
def to_dict(self) -> dict[str, Any]:
|
|
31
|
+
from ..models.update_list_assignment_request_ext_data_type_0 import UpdateListAssignmentRequestExtDataType0
|
|
32
|
+
|
|
33
|
+
is_active: bool | None | Unset
|
|
34
|
+
if isinstance(self.is_active, Unset):
|
|
35
|
+
is_active = UNSET
|
|
36
|
+
else:
|
|
37
|
+
is_active = self.is_active
|
|
38
|
+
|
|
39
|
+
ext_data: dict[str, Any] | None | Unset
|
|
40
|
+
if isinstance(self.ext_data, Unset):
|
|
41
|
+
ext_data = UNSET
|
|
42
|
+
elif isinstance(self.ext_data, UpdateListAssignmentRequestExtDataType0):
|
|
43
|
+
ext_data = self.ext_data.to_dict()
|
|
44
|
+
else:
|
|
45
|
+
ext_data = self.ext_data
|
|
46
|
+
|
|
47
|
+
field_dict: dict[str, Any] = {}
|
|
48
|
+
field_dict.update(self.additional_properties)
|
|
49
|
+
field_dict.update({})
|
|
50
|
+
if is_active is not UNSET:
|
|
51
|
+
field_dict["is_active"] = is_active
|
|
52
|
+
if ext_data is not UNSET:
|
|
53
|
+
field_dict["ext_data"] = ext_data
|
|
54
|
+
|
|
55
|
+
return field_dict
|
|
56
|
+
|
|
57
|
+
@classmethod
|
|
58
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
59
|
+
from ..models.update_list_assignment_request_ext_data_type_0 import UpdateListAssignmentRequestExtDataType0
|
|
60
|
+
|
|
61
|
+
d = dict(src_dict)
|
|
62
|
+
|
|
63
|
+
def _parse_is_active(data: object) -> bool | None | Unset:
|
|
64
|
+
if data is None:
|
|
65
|
+
return data
|
|
66
|
+
if isinstance(data, Unset):
|
|
67
|
+
return data
|
|
68
|
+
return cast(bool | None | Unset, data)
|
|
69
|
+
|
|
70
|
+
is_active = _parse_is_active(d.pop("is_active", UNSET))
|
|
71
|
+
|
|
72
|
+
def _parse_ext_data(data: object) -> None | Unset | UpdateListAssignmentRequestExtDataType0:
|
|
73
|
+
if data is None:
|
|
74
|
+
return data
|
|
75
|
+
if isinstance(data, Unset):
|
|
76
|
+
return data
|
|
77
|
+
try:
|
|
78
|
+
if not isinstance(data, dict):
|
|
79
|
+
raise TypeError()
|
|
80
|
+
ext_data_type_0 = UpdateListAssignmentRequestExtDataType0.from_dict(data)
|
|
81
|
+
|
|
82
|
+
return ext_data_type_0
|
|
83
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
84
|
+
pass
|
|
85
|
+
return cast(None | Unset | UpdateListAssignmentRequestExtDataType0, data)
|
|
86
|
+
|
|
87
|
+
ext_data = _parse_ext_data(d.pop("ext_data", UNSET))
|
|
88
|
+
|
|
89
|
+
update_list_assignment_request = cls(
|
|
90
|
+
is_active=is_active,
|
|
91
|
+
ext_data=ext_data,
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
update_list_assignment_request.additional_properties = d
|
|
95
|
+
return update_list_assignment_request
|
|
96
|
+
|
|
97
|
+
@property
|
|
98
|
+
def additional_keys(self) -> list[str]:
|
|
99
|
+
return list(self.additional_properties.keys())
|
|
100
|
+
|
|
101
|
+
def __getitem__(self, key: str) -> Any:
|
|
102
|
+
return self.additional_properties[key]
|
|
103
|
+
|
|
104
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
105
|
+
self.additional_properties[key] = value
|
|
106
|
+
|
|
107
|
+
def __delitem__(self, key: str) -> None:
|
|
108
|
+
del self.additional_properties[key]
|
|
109
|
+
|
|
110
|
+
def __contains__(self, key: str) -> bool:
|
|
111
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import Any, TypeVar
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="UpdateListAssignmentRequestExtDataType0")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class UpdateListAssignmentRequestExtDataType0:
|
|
14
|
+
""" """
|
|
15
|
+
|
|
16
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
17
|
+
|
|
18
|
+
def to_dict(self) -> dict[str, Any]:
|
|
19
|
+
|
|
20
|
+
field_dict: dict[str, Any] = {}
|
|
21
|
+
field_dict.update(self.additional_properties)
|
|
22
|
+
|
|
23
|
+
return field_dict
|
|
24
|
+
|
|
25
|
+
@classmethod
|
|
26
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
27
|
+
d = dict(src_dict)
|
|
28
|
+
update_list_assignment_request_ext_data_type_0 = cls()
|
|
29
|
+
|
|
30
|
+
update_list_assignment_request_ext_data_type_0.additional_properties = d
|
|
31
|
+
return update_list_assignment_request_ext_data_type_0
|
|
32
|
+
|
|
33
|
+
@property
|
|
34
|
+
def additional_keys(self) -> list[str]:
|
|
35
|
+
return list(self.additional_properties.keys())
|
|
36
|
+
|
|
37
|
+
def __getitem__(self, key: str) -> Any:
|
|
38
|
+
return self.additional_properties[key]
|
|
39
|
+
|
|
40
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
41
|
+
self.additional_properties[key] = value
|
|
42
|
+
|
|
43
|
+
def __delitem__(self, key: str) -> None:
|
|
44
|
+
del self.additional_properties[key]
|
|
45
|
+
|
|
46
|
+
def __contains__(self, key: str) -> bool:
|
|
47
|
+
return key in self.additional_properties
|
|
@@ -23,6 +23,8 @@ class UpdateSalesOrderRequest:
|
|
|
23
23
|
Attributes:
|
|
24
24
|
so_number (str):
|
|
25
25
|
customer_id (None | str | Unset):
|
|
26
|
+
sales_rep_id (None | str | Unset):
|
|
27
|
+
commission_rate_snapshot (float | None | str | Unset):
|
|
26
28
|
channel_id (None | str | Unset):
|
|
27
29
|
external_id (None | str | Unset):
|
|
28
30
|
custom_status_id (None | str | Unset):
|
|
@@ -38,6 +40,8 @@ class UpdateSalesOrderRequest:
|
|
|
38
40
|
|
|
39
41
|
so_number: str
|
|
40
42
|
customer_id: None | str | Unset = UNSET
|
|
43
|
+
sales_rep_id: None | str | Unset = UNSET
|
|
44
|
+
commission_rate_snapshot: float | None | str | Unset = UNSET
|
|
41
45
|
channel_id: None | str | Unset = UNSET
|
|
42
46
|
external_id: None | str | Unset = UNSET
|
|
43
47
|
custom_status_id: None | str | Unset = UNSET
|
|
@@ -62,6 +66,18 @@ class UpdateSalesOrderRequest:
|
|
|
62
66
|
else:
|
|
63
67
|
customer_id = self.customer_id
|
|
64
68
|
|
|
69
|
+
sales_rep_id: None | str | Unset
|
|
70
|
+
if isinstance(self.sales_rep_id, Unset):
|
|
71
|
+
sales_rep_id = UNSET
|
|
72
|
+
else:
|
|
73
|
+
sales_rep_id = self.sales_rep_id
|
|
74
|
+
|
|
75
|
+
commission_rate_snapshot: float | None | str | Unset
|
|
76
|
+
if isinstance(self.commission_rate_snapshot, Unset):
|
|
77
|
+
commission_rate_snapshot = UNSET
|
|
78
|
+
else:
|
|
79
|
+
commission_rate_snapshot = self.commission_rate_snapshot
|
|
80
|
+
|
|
65
81
|
channel_id: None | str | Unset
|
|
66
82
|
if isinstance(self.channel_id, Unset):
|
|
67
83
|
channel_id = UNSET
|
|
@@ -140,6 +156,10 @@ class UpdateSalesOrderRequest:
|
|
|
140
156
|
)
|
|
141
157
|
if customer_id is not UNSET:
|
|
142
158
|
field_dict["customer_id"] = customer_id
|
|
159
|
+
if sales_rep_id is not UNSET:
|
|
160
|
+
field_dict["sales_rep_id"] = sales_rep_id
|
|
161
|
+
if commission_rate_snapshot is not UNSET:
|
|
162
|
+
field_dict["commission_rate_snapshot"] = commission_rate_snapshot
|
|
143
163
|
if channel_id is not UNSET:
|
|
144
164
|
field_dict["channel_id"] = channel_id
|
|
145
165
|
if external_id is not UNSET:
|
|
@@ -182,6 +202,24 @@ class UpdateSalesOrderRequest:
|
|
|
182
202
|
|
|
183
203
|
customer_id = _parse_customer_id(d.pop("customer_id", UNSET))
|
|
184
204
|
|
|
205
|
+
def _parse_sales_rep_id(data: object) -> None | str | Unset:
|
|
206
|
+
if data is None:
|
|
207
|
+
return data
|
|
208
|
+
if isinstance(data, Unset):
|
|
209
|
+
return data
|
|
210
|
+
return cast(None | str | Unset, data)
|
|
211
|
+
|
|
212
|
+
sales_rep_id = _parse_sales_rep_id(d.pop("sales_rep_id", UNSET))
|
|
213
|
+
|
|
214
|
+
def _parse_commission_rate_snapshot(data: object) -> float | None | str | Unset:
|
|
215
|
+
if data is None:
|
|
216
|
+
return data
|
|
217
|
+
if isinstance(data, Unset):
|
|
218
|
+
return data
|
|
219
|
+
return cast(float | None | str | Unset, data)
|
|
220
|
+
|
|
221
|
+
commission_rate_snapshot = _parse_commission_rate_snapshot(d.pop("commission_rate_snapshot", UNSET))
|
|
222
|
+
|
|
185
223
|
def _parse_channel_id(data: object) -> None | str | Unset:
|
|
186
224
|
if data is None:
|
|
187
225
|
return data
|
|
@@ -301,6 +339,8 @@ class UpdateSalesOrderRequest:
|
|
|
301
339
|
update_sales_order_request = cls(
|
|
302
340
|
so_number=so_number,
|
|
303
341
|
customer_id=customer_id,
|
|
342
|
+
sales_rep_id=sales_rep_id,
|
|
343
|
+
commission_rate_snapshot=commission_rate_snapshot,
|
|
304
344
|
channel_id=channel_id,
|
|
305
345
|
external_id=external_id,
|
|
306
346
|
custom_status_id=custom_status_id,
|