ordercloud-python 2026.4.1__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.
- ordercloud/__init__.py +37 -0
- ordercloud/auth.py +136 -0
- ordercloud/client.py +211 -0
- ordercloud/config.py +42 -0
- ordercloud/errors.py +47 -0
- ordercloud/http.py +218 -0
- ordercloud/middleware.py +66 -0
- ordercloud/models/__init__.py +271 -0
- ordercloud/models/address.py +47 -0
- ordercloud/models/api_client.py +116 -0
- ordercloud/models/approval.py +73 -0
- ordercloud/models/assignments.py +402 -0
- ordercloud/models/auth_models.py +114 -0
- ordercloud/models/bundle.py +31 -0
- ordercloud/models/buyer.py +271 -0
- ordercloud/models/catalog.py +33 -0
- ordercloud/models/category.py +35 -0
- ordercloud/models/cost_center.py +27 -0
- ordercloud/models/credit_card.py +35 -0
- ordercloud/models/delivery.py +277 -0
- ordercloud/models/discount.py +63 -0
- ordercloud/models/integration.py +76 -0
- ordercloud/models/inventory_record.py +53 -0
- ordercloud/models/line_item.py +95 -0
- ordercloud/models/line_item_types.py +89 -0
- ordercloud/models/message_sender.py +80 -0
- ordercloud/models/misc.py +280 -0
- ordercloud/models/open_id_connect.py +47 -0
- ordercloud/models/order.py +477 -0
- ordercloud/models/order_return.py +92 -0
- ordercloud/models/payment.py +77 -0
- ordercloud/models/price_schedule.py +76 -0
- ordercloud/models/product.py +227 -0
- ordercloud/models/product_collection.py +186 -0
- ordercloud/models/promotion.py +297 -0
- ordercloud/models/security.py +89 -0
- ordercloud/models/shared.py +131 -0
- ordercloud/models/shipment.py +150 -0
- ordercloud/models/spec.py +67 -0
- ordercloud/models/spending_account.py +33 -0
- ordercloud/models/subscription.py +125 -0
- ordercloud/models/supplier.py +43 -0
- ordercloud/models/sync.py +172 -0
- ordercloud/models/user.py +207 -0
- ordercloud/models/user_group.py +27 -0
- ordercloud/models/webhook.py +58 -0
- ordercloud/py.typed +0 -0
- ordercloud/resources/__init__.py +65 -0
- ordercloud/resources/addresses.py +228 -0
- ordercloud/resources/admin_addresses.py +128 -0
- ordercloud/resources/admin_user_groups.py +185 -0
- ordercloud/resources/admin_users.py +150 -0
- ordercloud/resources/api_clients.py +308 -0
- ordercloud/resources/approval_rules.py +144 -0
- ordercloud/resources/base.py +145 -0
- ordercloud/resources/bundle_line_items.py +59 -0
- ordercloud/resources/bundle_subscription_items.py +54 -0
- ordercloud/resources/bundles.py +278 -0
- ordercloud/resources/buyer_groups.py +128 -0
- ordercloud/resources/buyers.py +164 -0
- ordercloud/resources/cart.py +613 -0
- ordercloud/resources/catalogs.py +311 -0
- ordercloud/resources/categories.py +392 -0
- ordercloud/resources/cost_centers.py +222 -0
- ordercloud/resources/credit_cards.py +227 -0
- ordercloud/resources/delivery_configurations.py +132 -0
- ordercloud/resources/discounts.py +201 -0
- ordercloud/resources/entity_syncs.py +534 -0
- ordercloud/resources/error_configs.py +71 -0
- ordercloud/resources/forgotten_credentials.py +74 -0
- ordercloud/resources/group_orders.py +28 -0
- ordercloud/resources/impersonation_configs.py +132 -0
- ordercloud/resources/incrementors.py +128 -0
- ordercloud/resources/integration_events.py +203 -0
- ordercloud/resources/inventory_integrations.py +65 -0
- ordercloud/resources/inventory_records.py +484 -0
- ordercloud/resources/line_items.py +262 -0
- ordercloud/resources/locales.py +203 -0
- ordercloud/resources/me.py +1882 -0
- ordercloud/resources/message_senders.py +261 -0
- ordercloud/resources/open_id_connects.py +128 -0
- ordercloud/resources/order_returns.py +306 -0
- ordercloud/resources/order_syncs.py +65 -0
- ordercloud/resources/orders.py +689 -0
- ordercloud/resources/payments.py +176 -0
- ordercloud/resources/price_schedules.py +164 -0
- ordercloud/resources/product_collections.py +116 -0
- ordercloud/resources/product_facets.py +128 -0
- ordercloud/resources/product_syncs.py +76 -0
- ordercloud/resources/products.py +454 -0
- ordercloud/resources/promotion_integrations.py +65 -0
- ordercloud/resources/promotions.py +203 -0
- ordercloud/resources/security_profiles.py +222 -0
- ordercloud/resources/seller_approval_rules.py +128 -0
- ordercloud/resources/shipments.py +256 -0
- ordercloud/resources/specs.py +313 -0
- ordercloud/resources/spending_accounts.py +227 -0
- ordercloud/resources/subscription_integrations.py +65 -0
- ordercloud/resources/subscription_items.py +146 -0
- ordercloud/resources/subscriptions.py +128 -0
- ordercloud/resources/supplier_addresses.py +144 -0
- ordercloud/resources/supplier_user_groups.py +210 -0
- ordercloud/resources/supplier_users.py +170 -0
- ordercloud/resources/suppliers.py +190 -0
- ordercloud/resources/tracking_events.py +130 -0
- ordercloud/resources/user_groups.py +210 -0
- ordercloud/resources/users.py +254 -0
- ordercloud/resources/webhooks.py +128 -0
- ordercloud/resources/xp_indices.py +77 -0
- ordercloud/sync_client.py +170 -0
- ordercloud_python-2026.4.1.dist-info/METADATA +552 -0
- ordercloud_python-2026.4.1.dist-info/RECORD +114 -0
- ordercloud_python-2026.4.1.dist-info/WHEEL +4 -0
- ordercloud_python-2026.4.1.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# GENERATED by tools/codegen — DO NOT EDIT
|
|
2
|
+
# Source: ordercloud-openapi-v3.json
|
|
3
|
+
"""OrderCloud Buyers API resource."""
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
from typing import Any, Optional, Union
|
|
7
|
+
|
|
8
|
+
from ..models.buyer import Buyer, BuyerSupplier
|
|
9
|
+
from ..models.shared import ListPage
|
|
10
|
+
from .base import BaseResource
|
|
11
|
+
|
|
12
|
+
__all__ = ["BuyersResource"]
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class BuyersResource(BaseResource):
|
|
16
|
+
"""Operations on OrderCloud Buyers."""
|
|
17
|
+
|
|
18
|
+
async def list(
|
|
19
|
+
self,
|
|
20
|
+
*,
|
|
21
|
+
search: Optional[str] = None,
|
|
22
|
+
search_on: Optional[str] = None,
|
|
23
|
+
sort_by: Optional[str] = None,
|
|
24
|
+
page: Optional[int] = None,
|
|
25
|
+
page_size: Optional[int] = None,
|
|
26
|
+
filters: Optional[dict[str, Any]] = None,
|
|
27
|
+
) -> ListPage[Buyer]:
|
|
28
|
+
"""List buyers
|
|
29
|
+
|
|
30
|
+
Args:
|
|
31
|
+
search: Word or phrase to search for.
|
|
32
|
+
search_on: Comma-delimited list of fields to search on.
|
|
33
|
+
sort_by: Comma-delimited list of fields to sort by.
|
|
34
|
+
page: Page of results to return. When paginating through many items (> page 30), we recommend the "Last ID" method, as outlined in the Advanced Querying documentation.
|
|
35
|
+
page_size: Number of results to return per page.
|
|
36
|
+
filters: An object or dictionary representing key/value pairs to apply as filters. Valid keys are top-level properties of the returned model or 'xp.???'
|
|
37
|
+
|
|
38
|
+
Returns:
|
|
39
|
+
A paginated list of Buyer objects.
|
|
40
|
+
"""
|
|
41
|
+
params = self._build_list_params(
|
|
42
|
+
search=search,
|
|
43
|
+
search_on=search_on,
|
|
44
|
+
sort_by=sort_by,
|
|
45
|
+
page=page,
|
|
46
|
+
page_size=page_size,
|
|
47
|
+
filters=filters,
|
|
48
|
+
)
|
|
49
|
+
resp = await self._http.get("/buyers", **params)
|
|
50
|
+
return self._parse_list(resp.json(), Buyer)
|
|
51
|
+
|
|
52
|
+
async def create(
|
|
53
|
+
self,
|
|
54
|
+
buyer: Union[Buyer, dict[str, Any]],
|
|
55
|
+
) -> Buyer:
|
|
56
|
+
"""Create a buyer
|
|
57
|
+
|
|
58
|
+
Args:
|
|
59
|
+
buyer: A ``Buyer`` model or dict. Required fields: Name.
|
|
60
|
+
|
|
61
|
+
Returns:
|
|
62
|
+
The Buyer object.
|
|
63
|
+
"""
|
|
64
|
+
resp = await self._http.post("/buyers", json=self._serialize(buyer))
|
|
65
|
+
return Buyer(**resp.json())
|
|
66
|
+
|
|
67
|
+
async def get(
|
|
68
|
+
self,
|
|
69
|
+
buyer_id: str,
|
|
70
|
+
) -> Buyer:
|
|
71
|
+
"""Retrieve a buyer
|
|
72
|
+
|
|
73
|
+
Args:
|
|
74
|
+
buyer_id: ID of the buyer.
|
|
75
|
+
|
|
76
|
+
Returns:
|
|
77
|
+
The Buyer object.
|
|
78
|
+
"""
|
|
79
|
+
resp = await self._http.get(f"/buyers/{buyer_id}")
|
|
80
|
+
return Buyer(**resp.json())
|
|
81
|
+
|
|
82
|
+
async def save(
|
|
83
|
+
self,
|
|
84
|
+
buyer_id: str,
|
|
85
|
+
buyer: Union[Buyer, dict[str, Any]],
|
|
86
|
+
) -> Buyer:
|
|
87
|
+
"""Create or update a buyer
|
|
88
|
+
|
|
89
|
+
Args:
|
|
90
|
+
buyer_id: ID of the buyer.
|
|
91
|
+
buyer: A ``Buyer`` model or dict. Required fields: Name.
|
|
92
|
+
|
|
93
|
+
Returns:
|
|
94
|
+
The Buyer object.
|
|
95
|
+
"""
|
|
96
|
+
resp = await self._http.put(
|
|
97
|
+
f"/buyers/{buyer_id}",
|
|
98
|
+
json=self._serialize(buyer),
|
|
99
|
+
)
|
|
100
|
+
return Buyer(**resp.json())
|
|
101
|
+
|
|
102
|
+
async def delete(
|
|
103
|
+
self,
|
|
104
|
+
buyer_id: str,
|
|
105
|
+
) -> None:
|
|
106
|
+
"""Delete a buyer
|
|
107
|
+
|
|
108
|
+
Args:
|
|
109
|
+
buyer_id: ID of the buyer.
|
|
110
|
+
"""
|
|
111
|
+
await self._http.delete(f"/buyers/{buyer_id}")
|
|
112
|
+
|
|
113
|
+
async def patch(
|
|
114
|
+
self,
|
|
115
|
+
buyer_id: str,
|
|
116
|
+
partial: dict[str, Any],
|
|
117
|
+
) -> Buyer:
|
|
118
|
+
"""Partially update a buyer
|
|
119
|
+
|
|
120
|
+
Args:
|
|
121
|
+
buyer_id: ID of the buyer.
|
|
122
|
+
partial: A dict of fields to update.
|
|
123
|
+
|
|
124
|
+
Returns:
|
|
125
|
+
The Buyer object.
|
|
126
|
+
"""
|
|
127
|
+
resp = await self._http.patch(f"/buyers/{buyer_id}", json=partial)
|
|
128
|
+
return Buyer(**resp.json())
|
|
129
|
+
|
|
130
|
+
async def list_buyer_sellers(
|
|
131
|
+
self,
|
|
132
|
+
buyer_id: str,
|
|
133
|
+
*,
|
|
134
|
+
search: Optional[str] = None,
|
|
135
|
+
search_on: Optional[str] = None,
|
|
136
|
+
sort_by: Optional[str] = None,
|
|
137
|
+
page: Optional[int] = None,
|
|
138
|
+
page_size: Optional[int] = None,
|
|
139
|
+
filters: Optional[dict[str, Any]] = None,
|
|
140
|
+
) -> ListPage[BuyerSupplier]:
|
|
141
|
+
"""List sellers this buyer can purchase from
|
|
142
|
+
|
|
143
|
+
Args:
|
|
144
|
+
buyer_id: ID of the buyer.
|
|
145
|
+
search: Word or phrase to search for.
|
|
146
|
+
search_on: Comma-delimited list of fields to search on.
|
|
147
|
+
sort_by: Comma-delimited list of fields to sort by.
|
|
148
|
+
page: Page of results to return. When paginating through many items (> page 30), we recommend the "Last ID" method, as outlined in the Advanced Querying documentation.
|
|
149
|
+
page_size: Number of results to return per page.
|
|
150
|
+
filters: An object or dictionary representing key/value pairs to apply as filters. Valid keys are top-level properties of the returned model or 'xp.???'
|
|
151
|
+
|
|
152
|
+
Returns:
|
|
153
|
+
A paginated list of BuyerSupplier objects.
|
|
154
|
+
"""
|
|
155
|
+
params = self._build_list_params(
|
|
156
|
+
search=search,
|
|
157
|
+
search_on=search_on,
|
|
158
|
+
sort_by=sort_by,
|
|
159
|
+
page=page,
|
|
160
|
+
page_size=page_size,
|
|
161
|
+
filters=filters,
|
|
162
|
+
)
|
|
163
|
+
resp = await self._http.get(f"/buyers/{buyer_id}/sellers", **params)
|
|
164
|
+
return self._parse_list(resp.json(), BuyerSupplier)
|