airbyte-agent-shopify 0.1.4__tar.gz → 0.1.6__tar.gz

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.
Files changed (61) hide show
  1. airbyte_agent_shopify-0.1.6/AUTH.md +96 -0
  2. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/CHANGELOG.md +10 -0
  3. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/PKG-INFO +4 -4
  4. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/README.md +3 -3
  5. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/__init__.py +6 -6
  6. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/auth_strategies.py +1 -3
  7. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/executor/local_executor.py +1 -3
  8. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/pyproject.toml +1 -1
  9. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/.gitignore +0 -0
  10. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/REFERENCE.md +0 -0
  11. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/__init__.py +0 -0
  12. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/__init__.py +0 -0
  13. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/auth_template.py +0 -0
  14. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/cloud_utils/__init__.py +0 -0
  15. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/cloud_utils/client.py +0 -0
  16. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/connector_model_loader.py +0 -0
  17. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/constants.py +0 -0
  18. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/exceptions.py +0 -0
  19. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/executor/__init__.py +0 -0
  20. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/executor/hosted_executor.py +0 -0
  21. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/executor/models.py +0 -0
  22. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/extensions.py +0 -0
  23. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/http/__init__.py +0 -0
  24. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/http/adapters/__init__.py +0 -0
  25. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/http/adapters/httpx_adapter.py +0 -0
  26. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/http/config.py +0 -0
  27. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/http/exceptions.py +0 -0
  28. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/http/protocols.py +0 -0
  29. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/http/response.py +0 -0
  30. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/http_client.py +0 -0
  31. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/introspection.py +0 -0
  32. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/logging/__init__.py +0 -0
  33. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/logging/logger.py +0 -0
  34. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/logging/types.py +0 -0
  35. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/observability/__init__.py +0 -0
  36. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/observability/config.py +0 -0
  37. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/observability/models.py +0 -0
  38. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/observability/redactor.py +0 -0
  39. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/observability/session.py +0 -0
  40. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/performance/__init__.py +0 -0
  41. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/performance/instrumentation.py +0 -0
  42. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/performance/metrics.py +0 -0
  43. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/schema/__init__.py +0 -0
  44. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/schema/base.py +0 -0
  45. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/schema/components.py +0 -0
  46. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/schema/connector.py +0 -0
  47. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/schema/extensions.py +0 -0
  48. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/schema/operations.py +0 -0
  49. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/schema/security.py +0 -0
  50. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/secrets.py +0 -0
  51. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/telemetry/__init__.py +0 -0
  52. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/telemetry/config.py +0 -0
  53. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/telemetry/events.py +0 -0
  54. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/telemetry/tracker.py +0 -0
  55. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/types.py +0 -0
  56. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/utils.py +0 -0
  57. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/_vendored/connector_sdk/validation.py +0 -0
  58. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/connector.py +0 -0
  59. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/connector_model.py +0 -0
  60. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/models.py +65 -65
  61. {airbyte_agent_shopify-0.1.4 → airbyte_agent_shopify-0.1.6}/airbyte_agent_shopify/types.py +0 -0
@@ -0,0 +1,96 @@
1
+ # Shopify authentication and configuration
2
+
3
+ This page documents the authentication and configuration options for the Shopify agent connector.
4
+
5
+ ## Authentication
6
+
7
+ ### Open source execution
8
+
9
+ In open source mode, you provide API credentials directly to the connector.
10
+
11
+ #### OAuth
12
+ This authentication method is not available for this connector.
13
+
14
+ #### Token
15
+
16
+ | Field Name | Type | Required | Description |
17
+ |------------|------|----------|-------------|
18
+ | `api_key` | `str` | Yes | Your Shopify Admin API access token |
19
+ | `shop` | `str` | Yes | Your Shopify store name (e.g., 'my-store' from my-store.myshopify.com) |
20
+
21
+ ```python
22
+ from airbyte_agent_shopify import ShopifyConnector
23
+ from airbyte_agent_shopify.models import ShopifyAuthConfig
24
+
25
+ connector = ShopifyConnector(
26
+ auth_config=ShopifyAuthConfig(
27
+ api_key="<Your Shopify Admin API access token>",
28
+ shop="<Your Shopify store name (e.g., 'my-store' from my-store.myshopify.com)>"
29
+ )
30
+ )
31
+ ```
32
+
33
+ ### Hosted execution
34
+
35
+ In hosted mode, you first create a connector via the Airbyte API (providing your OAuth or Token credentials), then execute operations using either the Python SDK or API. If you need a step-by-step guide, see the [hosted execution tutorial](https://docs.airbyte.com/ai-agents/quickstarts/tutorial-hosted).
36
+
37
+ #### OAuth
38
+ This authentication method is not available for this connector.
39
+
40
+ #### Token
41
+
42
+ Create a connector with Token credentials:
43
+
44
+ ```bash
45
+ curl -X POST 'https://api.airbyte.ai/v1/integrations/sources' \
46
+ -H 'Authorization: Bearer <SCOPED_TOKEN>' \
47
+ -H 'Content-Type: application/json' \
48
+ -d '{
49
+ "workspace_id": "<WORKSPACE_ID>",
50
+ "source_template_id": "<SOURCE_TEMPLATE_ID>",
51
+ "name": "My Shopify Connector",
52
+ "credentials": {
53
+ "api_key": "<Your Shopify Admin API access token>",
54
+ "shop": "<Your Shopify store name (e.g., 'my-store' from my-store.myshopify.com)>"
55
+ }
56
+ }'
57
+ ```
58
+
59
+ #### Execution
60
+
61
+ After creating the connector, execute operations using either the Python SDK or API.
62
+
63
+ **Python SDK**
64
+
65
+ ```python
66
+ from airbyte_agent_shopify import ShopifyConnector
67
+
68
+ connector = ShopifyConnector(
69
+ external_user_id="<your-scoped-token>",
70
+ airbyte_client_id="<your-client-id>",
71
+ airbyte_client_secret="<your-client-secret>"
72
+ )
73
+
74
+ @agent.tool_plain # assumes you're using Pydantic AI
75
+ @ShopifyConnector.describe
76
+ async def shopify_execute(entity: str, action: str, params: dict | None = None):
77
+ return await connector.execute(entity, action, params or {})
78
+ ```
79
+
80
+ **API**
81
+
82
+ ```bash
83
+ curl -X POST 'https://api.airbyte.ai/api/v1/connectors/sources/<connector_id>/execute' \
84
+ -H 'Authorization: Bearer <SCOPED_TOKEN>' \
85
+ -H 'Content-Type: application/json' \
86
+ -d '{"entity": "<entity>", "action": "<action>", "params": {}}'
87
+ ```
88
+
89
+
90
+ ## Configuration
91
+
92
+ The Shopify connector requires the following configuration variables. These variables are used to construct the base API URL. Pass them via the `config` parameter when initializing the connector.
93
+
94
+ | Variable | Type | Required | Default | Description |
95
+ |----------|------|----------|---------|-------------|
96
+ | `shop` | `string` | Yes | my-store | Your Shopify store name (e.g., 'my-store' from my-store.myshopify.com) |
@@ -1,5 +1,15 @@
1
1
  # Shopify changelog
2
2
 
3
+ ## [0.1.6] - 2026-01-22
4
+ - Updated connector definition (YAML version 0.1.1)
5
+ - Source commit: 49e6dfe9
6
+ - SDK version: 0.1.0
7
+
8
+ ## [0.1.5] - 2026-01-22
9
+ - Updated connector definition (YAML version 0.1.1)
10
+ - Source commit: b27328e2
11
+ - SDK version: 0.1.0
12
+
3
13
  ## [0.1.4] - 2026-01-22
4
14
  - Updated connector definition (YAML version 0.1.1)
5
15
  - Source commit: 1da193dd
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: airbyte-agent-shopify
3
- Version: 0.1.4
3
+ Version: 0.1.6
4
4
  Summary: Airbyte Shopify Connector for AI platforms
5
5
  Project-URL: Homepage, https://github.com/airbytehq/airbyte-agent-connectors
6
6
  Project-URL: Documentation, https://docs.airbyte.com/ai-agents/
@@ -102,7 +102,7 @@ async def shopify_execute(entity: str, action: str, params: dict | None = None):
102
102
 
103
103
  In hosted mode, API credentials are stored securely in Airbyte Cloud. You provide your Airbyte credentials instead.
104
104
 
105
- This example assumes you've already authenticated your connector with Airbyte. See [Authentication](AUTH.md) to learn more about authenticating. If you need a step-by-step guide, see the [hosted execution tutorial](https://docs.airbyte.com/ai-agents/hosted-execution).
105
+ This example assumes you've already authenticated your connector with Airbyte. See [Authentication](AUTH.md) to learn more about authenticating. If you need a step-by-step guide, see the [hosted execution tutorial](https://docs.airbyte.com/ai-agents/quickstarts/tutorial-hosted).
106
106
 
107
107
  ```python
108
108
  from airbyte_agent_shopify import ShopifyConnector
@@ -167,6 +167,6 @@ For the service's official API docs, see the [Shopify API reference](https://sho
167
167
 
168
168
  ## Version information
169
169
 
170
- - **Package version:** 0.1.4
170
+ - **Package version:** 0.1.6
171
171
  - **Connector version:** 0.1.1
172
- - **Generated with Connector SDK commit SHA:** 1da193dd2b3d4b2e2147ba74bd9a4062a62c4186
172
+ - **Generated with Connector SDK commit SHA:** 49e6dfe93fc406c8d2ed525372608fa2766ebece
@@ -69,7 +69,7 @@ async def shopify_execute(entity: str, action: str, params: dict | None = None):
69
69
 
70
70
  In hosted mode, API credentials are stored securely in Airbyte Cloud. You provide your Airbyte credentials instead.
71
71
 
72
- This example assumes you've already authenticated your connector with Airbyte. See [Authentication](AUTH.md) to learn more about authenticating. If you need a step-by-step guide, see the [hosted execution tutorial](https://docs.airbyte.com/ai-agents/hosted-execution).
72
+ This example assumes you've already authenticated your connector with Airbyte. See [Authentication](AUTH.md) to learn more about authenticating. If you need a step-by-step guide, see the [hosted execution tutorial](https://docs.airbyte.com/ai-agents/quickstarts/tutorial-hosted).
73
73
 
74
74
  ```python
75
75
  from airbyte_agent_shopify import ShopifyConnector
@@ -134,6 +134,6 @@ For the service's official API docs, see the [Shopify API reference](https://sho
134
134
 
135
135
  ## Version information
136
136
 
137
- - **Package version:** 0.1.4
137
+ - **Package version:** 0.1.6
138
138
  - **Connector version:** 0.1.1
139
- - **Generated with Connector SDK commit SHA:** 1da193dd2b3d4b2e2147ba74bd9a4062a62c4186
139
+ - **Generated with Connector SDK commit SHA:** 49e6dfe93fc406c8d2ed525372608fa2766ebece
@@ -13,14 +13,14 @@ from .models import (
13
13
  CustomerAddressList,
14
14
  MarketingConsent,
15
15
  OrderAddress,
16
- LineItem,
17
- Fulfillment,
18
16
  Transaction,
19
17
  Refund,
18
+ LineItem,
19
+ Fulfillment,
20
20
  Order,
21
21
  OrderList,
22
- ProductVariant,
23
22
  ProductImage,
23
+ ProductVariant,
24
24
  Product,
25
25
  ProductList,
26
26
  ProductVariantList,
@@ -186,14 +186,14 @@ __all__ = [
186
186
  "CustomerAddressList",
187
187
  "MarketingConsent",
188
188
  "OrderAddress",
189
- "LineItem",
190
- "Fulfillment",
191
189
  "Transaction",
192
190
  "Refund",
191
+ "LineItem",
192
+ "Fulfillment",
193
193
  "Order",
194
194
  "OrderList",
195
- "ProductVariant",
196
195
  "ProductImage",
196
+ "ProductVariant",
197
197
  "Product",
198
198
  "ProductList",
199
199
  "ProductVariantList",
@@ -634,9 +634,7 @@ class OAuth2AuthStrategy(AuthStrategy):
634
634
  Headers dict with additional headers added
635
635
  """
636
636
  # Build template context with extracted secret values
637
- template_context = {
638
- key: extract_secret_value(value) for key, value in secrets.items()
639
- }
637
+ template_context = {key: extract_secret_value(value) for key, value in secrets.items()}
640
638
 
641
639
  for header_name, value_template in additional_headers.items():
642
640
  # Use Jinja2 templating for variable substitution
@@ -694,9 +694,7 @@ class LocalExecutor:
694
694
  """
695
695
  return {key: value for key, value in params.items() if key in allowed_fields and value is not None}
696
696
 
697
- def _extract_header_params(
698
- self, endpoint: EndpointDefinition, params: dict[str, Any], body: dict[str, Any] | None = None
699
- ) -> dict[str, str]:
697
+ def _extract_header_params(self, endpoint: EndpointDefinition, params: dict[str, Any], body: dict[str, Any] | None = None) -> dict[str, str]:
700
698
  """Extract header parameters from params and schema defaults.
701
699
 
702
700
  Also adds Content-Type header when there's a request body (unless already specified
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "airbyte-agent-shopify"
3
- version = "0.1.4"
3
+ version = "0.1.6"
4
4
  description = "Airbyte Shopify Connector for AI platforms"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13"
@@ -119,6 +119,55 @@ class OrderAddress(BaseModel):
119
119
  latitude: Union[float | None, Any] = Field(default=None)
120
120
  longitude: Union[float | None, Any] = Field(default=None)
121
121
 
122
+ class Transaction(BaseModel):
123
+ """An order transaction"""
124
+ model_config = ConfigDict(extra="allow", populate_by_name=True)
125
+
126
+ id: Union[int, Any] = Field(default=None)
127
+ order_id: Union[int | None, Any] = Field(default=None)
128
+ kind: Union[str | None, Any] = Field(default=None)
129
+ gateway: Union[str | None, Any] = Field(default=None)
130
+ status: Union[str | None, Any] = Field(default=None)
131
+ message: Union[str | None, Any] = Field(default=None)
132
+ created_at: Union[str | None, Any] = Field(default=None)
133
+ test: Union[bool | None, Any] = Field(default=None)
134
+ authorization: Union[str | None, Any] = Field(default=None)
135
+ location_id: Union[int | None, Any] = Field(default=None)
136
+ user_id: Union[int | None, Any] = Field(default=None)
137
+ parent_id: Union[int | None, Any] = Field(default=None)
138
+ processed_at: Union[str | None, Any] = Field(default=None)
139
+ device_id: Union[int | None, Any] = Field(default=None)
140
+ error_code: Union[str | None, Any] = Field(default=None)
141
+ source_name: Union[str | None, Any] = Field(default=None)
142
+ receipt: Union[dict[str, Any] | None, Any] = Field(default=None)
143
+ currency_exchange_adjustment: Union[dict[str, Any] | None, Any] = Field(default=None)
144
+ amount: Union[str | None, Any] = Field(default=None)
145
+ currency: Union[str | None, Any] = Field(default=None)
146
+ payment_id: Union[str | None, Any] = Field(default=None)
147
+ total_unsettled_set: Union[dict[str, Any] | None, Any] = Field(default=None)
148
+ manual_payment_gateway: Union[bool | None, Any] = Field(default=None)
149
+ admin_graphql_api_id: Union[str | None, Any] = Field(default=None)
150
+
151
+ class Refund(BaseModel):
152
+ """An order refund"""
153
+ model_config = ConfigDict(extra="allow", populate_by_name=True)
154
+
155
+ id: Union[int, Any] = Field(default=None)
156
+ order_id: Union[int | None, Any] = Field(default=None)
157
+ created_at: Union[str | None, Any] = Field(default=None)
158
+ note: Union[str | None, Any] = Field(default=None)
159
+ user_id: Union[int | None, Any] = Field(default=None)
160
+ processed_at: Union[str | None, Any] = Field(default=None)
161
+ restock: Union[bool | None, Any] = Field(default=None)
162
+ duties: Union[list[dict[str, Any]] | None, Any] = Field(default=None)
163
+ total_duties_set: Union[dict[str, Any] | None, Any] = Field(default=None)
164
+ return_: Union[dict[str, Any] | None, Any] = Field(default=None, alias="return")
165
+ refund_line_items: Union[list[dict[str, Any]] | None, Any] = Field(default=None)
166
+ transactions: Union[list[Transaction] | None, Any] = Field(default=None)
167
+ order_adjustments: Union[list[dict[str, Any]] | None, Any] = Field(default=None)
168
+ admin_graphql_api_id: Union[str | None, Any] = Field(default=None)
169
+ refund_shipping_lines: Union[list[dict[str, Any]] | None, Any] = Field(default=None)
170
+
122
171
  class LineItem(BaseModel):
123
172
  """LineItem type definition"""
124
173
  model_config = ConfigDict(extra="allow", populate_by_name=True)
@@ -176,55 +225,6 @@ class Fulfillment(BaseModel):
176
225
  name: Union[str | None, Any] = Field(default=None)
177
226
  admin_graphql_api_id: Union[str | None, Any] = Field(default=None)
178
227
 
179
- class Transaction(BaseModel):
180
- """An order transaction"""
181
- model_config = ConfigDict(extra="allow", populate_by_name=True)
182
-
183
- id: Union[int, Any] = Field(default=None)
184
- order_id: Union[int | None, Any] = Field(default=None)
185
- kind: Union[str | None, Any] = Field(default=None)
186
- gateway: Union[str | None, Any] = Field(default=None)
187
- status: Union[str | None, Any] = Field(default=None)
188
- message: Union[str | None, Any] = Field(default=None)
189
- created_at: Union[str | None, Any] = Field(default=None)
190
- test: Union[bool | None, Any] = Field(default=None)
191
- authorization: Union[str | None, Any] = Field(default=None)
192
- location_id: Union[int | None, Any] = Field(default=None)
193
- user_id: Union[int | None, Any] = Field(default=None)
194
- parent_id: Union[int | None, Any] = Field(default=None)
195
- processed_at: Union[str | None, Any] = Field(default=None)
196
- device_id: Union[int | None, Any] = Field(default=None)
197
- error_code: Union[str | None, Any] = Field(default=None)
198
- source_name: Union[str | None, Any] = Field(default=None)
199
- receipt: Union[dict[str, Any] | None, Any] = Field(default=None)
200
- currency_exchange_adjustment: Union[dict[str, Any] | None, Any] = Field(default=None)
201
- amount: Union[str | None, Any] = Field(default=None)
202
- currency: Union[str | None, Any] = Field(default=None)
203
- payment_id: Union[str | None, Any] = Field(default=None)
204
- total_unsettled_set: Union[dict[str, Any] | None, Any] = Field(default=None)
205
- manual_payment_gateway: Union[bool | None, Any] = Field(default=None)
206
- admin_graphql_api_id: Union[str | None, Any] = Field(default=None)
207
-
208
- class Refund(BaseModel):
209
- """An order refund"""
210
- model_config = ConfigDict(extra="allow", populate_by_name=True)
211
-
212
- id: Union[int, Any] = Field(default=None)
213
- order_id: Union[int | None, Any] = Field(default=None)
214
- created_at: Union[str | None, Any] = Field(default=None)
215
- note: Union[str | None, Any] = Field(default=None)
216
- user_id: Union[int | None, Any] = Field(default=None)
217
- processed_at: Union[str | None, Any] = Field(default=None)
218
- restock: Union[bool | None, Any] = Field(default=None)
219
- duties: Union[list[dict[str, Any]] | None, Any] = Field(default=None)
220
- total_duties_set: Union[dict[str, Any] | None, Any] = Field(default=None)
221
- return_: Union[dict[str, Any] | None, Any] = Field(default=None, alias="return")
222
- refund_line_items: Union[list[dict[str, Any]] | None, Any] = Field(default=None)
223
- transactions: Union[list[Transaction] | None, Any] = Field(default=None)
224
- order_adjustments: Union[list[dict[str, Any]] | None, Any] = Field(default=None)
225
- admin_graphql_api_id: Union[str | None, Any] = Field(default=None)
226
- refund_shipping_lines: Union[list[dict[str, Any]] | None, Any] = Field(default=None)
227
-
228
228
  class Order(BaseModel):
229
229
  """A Shopify order"""
230
230
  model_config = ConfigDict(extra="allow", populate_by_name=True)
@@ -329,6 +329,22 @@ class OrderList(BaseModel):
329
329
 
330
330
  orders: Union[list[Order], Any] = Field(default=None)
331
331
 
332
+ class ProductImage(BaseModel):
333
+ """A product image"""
334
+ model_config = ConfigDict(extra="allow", populate_by_name=True)
335
+
336
+ id: Union[int, Any] = Field(default=None)
337
+ product_id: Union[int | None, Any] = Field(default=None)
338
+ position: Union[int | None, Any] = Field(default=None)
339
+ created_at: Union[str | None, Any] = Field(default=None)
340
+ updated_at: Union[str | None, Any] = Field(default=None)
341
+ alt: Union[str | None, Any] = Field(default=None)
342
+ width: Union[int | None, Any] = Field(default=None)
343
+ height: Union[int | None, Any] = Field(default=None)
344
+ src: Union[str | None, Any] = Field(default=None)
345
+ variant_ids: Union[list[int] | None, Any] = Field(default=None)
346
+ admin_graphql_api_id: Union[str | None, Any] = Field(default=None)
347
+
332
348
  class ProductVariant(BaseModel):
333
349
  """A product variant"""
334
350
  model_config = ConfigDict(extra="allow", populate_by_name=True)
@@ -360,22 +376,6 @@ class ProductVariant(BaseModel):
360
376
  requires_shipping: Union[bool | None, Any] = Field(default=None)
361
377
  admin_graphql_api_id: Union[str | None, Any] = Field(default=None)
362
378
 
363
- class ProductImage(BaseModel):
364
- """A product image"""
365
- model_config = ConfigDict(extra="allow", populate_by_name=True)
366
-
367
- id: Union[int, Any] = Field(default=None)
368
- product_id: Union[int | None, Any] = Field(default=None)
369
- position: Union[int | None, Any] = Field(default=None)
370
- created_at: Union[str | None, Any] = Field(default=None)
371
- updated_at: Union[str | None, Any] = Field(default=None)
372
- alt: Union[str | None, Any] = Field(default=None)
373
- width: Union[int | None, Any] = Field(default=None)
374
- height: Union[int | None, Any] = Field(default=None)
375
- src: Union[str | None, Any] = Field(default=None)
376
- variant_ids: Union[list[int] | None, Any] = Field(default=None)
377
- admin_graphql_api_id: Union[str | None, Any] = Field(default=None)
378
-
379
379
  class Product(BaseModel):
380
380
  """A Shopify product"""
381
381
  model_config = ConfigDict(extra="allow", populate_by_name=True)