airbyte-agent-amazon-ads 0.1.2__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.
- airbyte_agent_amazon_ads/__init__.py +57 -0
- airbyte_agent_amazon_ads/_vendored/__init__.py +1 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/__init__.py +82 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/auth_strategies.py +1173 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/auth_template.py +135 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/cloud_utils/__init__.py +5 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/cloud_utils/client.py +213 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/connector_model_loader.py +986 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/constants.py +78 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/exceptions.py +23 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/executor/__init__.py +31 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/executor/hosted_executor.py +196 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/executor/local_executor.py +1773 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/executor/models.py +190 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/extensions.py +693 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/http/__init__.py +37 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/http/adapters/__init__.py +9 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/http/adapters/httpx_adapter.py +251 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/http/config.py +98 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/http/exceptions.py +119 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/http/protocols.py +114 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/http/response.py +104 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/http_client.py +693 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/introspection.py +262 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/logging/__init__.py +11 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/logging/logger.py +273 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/logging/types.py +93 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/observability/__init__.py +11 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/observability/config.py +179 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/observability/models.py +19 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/observability/redactor.py +81 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/observability/session.py +103 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/performance/__init__.py +6 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/performance/instrumentation.py +57 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/performance/metrics.py +93 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/__init__.py +75 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/base.py +169 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/components.py +239 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/connector.py +120 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/extensions.py +230 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/operations.py +146 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/security.py +237 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/secrets.py +182 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/telemetry/__init__.py +10 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/telemetry/config.py +32 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/telemetry/events.py +59 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/telemetry/tracker.py +155 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/types.py +254 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/utils.py +60 -0
- airbyte_agent_amazon_ads/_vendored/connector_sdk/validation.py +828 -0
- airbyte_agent_amazon_ads/connector.py +578 -0
- airbyte_agent_amazon_ads/connector_model.py +1074 -0
- airbyte_agent_amazon_ads/models.py +170 -0
- airbyte_agent_amazon_ads/types.py +48 -0
- airbyte_agent_amazon_ads-0.1.2.dist-info/METADATA +136 -0
- airbyte_agent_amazon_ads-0.1.2.dist-info/RECORD +57 -0
- airbyte_agent_amazon_ads-0.1.2.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Pydantic models for amazon-ads connector.
|
|
3
|
+
|
|
4
|
+
This module contains Pydantic models used for authentication configuration
|
|
5
|
+
and response envelope types.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
11
|
+
from typing import TypeVar, Generic, Union, Any
|
|
12
|
+
|
|
13
|
+
# Authentication configuration
|
|
14
|
+
|
|
15
|
+
class AmazonAdsAuthConfig(BaseModel):
|
|
16
|
+
"""OAuth2 Authentication"""
|
|
17
|
+
|
|
18
|
+
model_config = ConfigDict(extra="forbid")
|
|
19
|
+
|
|
20
|
+
client_id: str
|
|
21
|
+
"""The client ID of your Amazon Ads API application"""
|
|
22
|
+
client_secret: str
|
|
23
|
+
"""The client secret of your Amazon Ads API application"""
|
|
24
|
+
refresh_token: str
|
|
25
|
+
"""The refresh token obtained from the OAuth authorization flow"""
|
|
26
|
+
|
|
27
|
+
# ===== RESPONSE TYPE DEFINITIONS (PYDANTIC) =====
|
|
28
|
+
|
|
29
|
+
class Profile(BaseModel):
|
|
30
|
+
"""An advertising profile represents an advertiser's account in a specific marketplace.
|
|
31
|
+
Profiles are used to scope API calls and manage advertising campaigns.
|
|
32
|
+
"""
|
|
33
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
34
|
+
|
|
35
|
+
profile_id: Union[int, Any] = Field(default=None, alias="profileId")
|
|
36
|
+
country_code: Union[str | None, Any] = Field(default=None, alias="countryCode")
|
|
37
|
+
currency_code: Union[str | None, Any] = Field(default=None, alias="currencyCode")
|
|
38
|
+
daily_budget: Union[float | None, Any] = Field(default=None, alias="dailyBudget")
|
|
39
|
+
timezone: Union[str | None, Any] = Field(default=None)
|
|
40
|
+
account_info: Union[Any, Any] = Field(default=None, alias="accountInfo")
|
|
41
|
+
|
|
42
|
+
class AccountInfo(BaseModel):
|
|
43
|
+
"""Information about the advertiser's account associated with a profile"""
|
|
44
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
45
|
+
|
|
46
|
+
marketplace_string_id: Union[str | None, Any] = Field(default=None, alias="marketplaceStringId")
|
|
47
|
+
id: Union[str | None, Any] = Field(default=None)
|
|
48
|
+
type: Union[str | None, Any] = Field(default=None)
|
|
49
|
+
name: Union[str | None, Any] = Field(default=None)
|
|
50
|
+
sub_type: Union[str | None, Any] = Field(default=None, alias="subType")
|
|
51
|
+
valid_payment_method: Union[bool | None, Any] = Field(default=None, alias="validPaymentMethod")
|
|
52
|
+
|
|
53
|
+
class Portfolio(BaseModel):
|
|
54
|
+
"""A portfolio is a container for grouping campaigns together for organizational
|
|
55
|
+
and budget management purposes.
|
|
56
|
+
"""
|
|
57
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
58
|
+
|
|
59
|
+
portfolio_id: Union[Any, Any] = Field(default=None, alias="portfolioId")
|
|
60
|
+
name: Union[str | None, Any] = Field(default=None)
|
|
61
|
+
budget: Union[Any, Any] = Field(default=None)
|
|
62
|
+
in_budget: Union[bool | None, Any] = Field(default=None, alias="inBudget")
|
|
63
|
+
state: Union[str | None, Any] = Field(default=None)
|
|
64
|
+
creation_date: Union[int | None, Any] = Field(default=None, alias="creationDate")
|
|
65
|
+
last_updated_date: Union[int | None, Any] = Field(default=None, alias="lastUpdatedDate")
|
|
66
|
+
serving_status: Union[str | None, Any] = Field(default=None, alias="servingStatus")
|
|
67
|
+
|
|
68
|
+
class PortfolioBudget(BaseModel):
|
|
69
|
+
"""Budget configuration for a portfolio"""
|
|
70
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
71
|
+
|
|
72
|
+
amount: Union[float | None, Any] = Field(default=None)
|
|
73
|
+
currency_code: Union[str | None, Any] = Field(default=None, alias="currencyCode")
|
|
74
|
+
policy: Union[str | None, Any] = Field(default=None)
|
|
75
|
+
start_date: Union[str | None, Any] = Field(default=None, alias="startDate")
|
|
76
|
+
end_date: Union[str | None, Any] = Field(default=None, alias="endDate")
|
|
77
|
+
|
|
78
|
+
class SponsoredProductCampaign(BaseModel):
|
|
79
|
+
"""A Sponsored Products campaign promotes individual product listings on Amazon.
|
|
80
|
+
Campaigns contain ad groups, which contain ads and targeting settings.
|
|
81
|
+
Note: The list endpoint (v3) and get endpoint (v2) return slightly different field formats.
|
|
82
|
+
"""
|
|
83
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
84
|
+
|
|
85
|
+
campaign_id: Union[Any, Any] = Field(default=None, alias="campaignId")
|
|
86
|
+
portfolio_id: Union[Any, Any] = Field(default=None, alias="portfolioId")
|
|
87
|
+
name: Union[str | None, Any] = Field(default=None)
|
|
88
|
+
campaign_type: Union[str | None, Any] = Field(default=None, alias="campaignType")
|
|
89
|
+
tags: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
90
|
+
targeting_type: Union[str | None, Any] = Field(default=None, alias="targetingType")
|
|
91
|
+
premium_bid_adjustment: Union[bool | None, Any] = Field(default=None, alias="premiumBidAdjustment")
|
|
92
|
+
state: Union[str | None, Any] = Field(default=None)
|
|
93
|
+
dynamic_bidding: Union[Any, Any] = Field(default=None, alias="dynamicBidding")
|
|
94
|
+
bidding: Union[Any, Any] = Field(default=None)
|
|
95
|
+
start_date: Union[str | None, Any] = Field(default=None, alias="startDate")
|
|
96
|
+
end_date: Union[str | None, Any] = Field(default=None, alias="endDate")
|
|
97
|
+
daily_budget: Union[float | None, Any] = Field(default=None, alias="dailyBudget")
|
|
98
|
+
budget: Union[Any, Any] = Field(default=None)
|
|
99
|
+
extended_data: Union[dict[str, Any] | None, Any] = Field(default=None, alias="extendedData")
|
|
100
|
+
marketplace_budget_allocation: Union[str | None, Any] = Field(default=None, alias="marketplaceBudgetAllocation")
|
|
101
|
+
off_amazon_settings: Union[dict[str, Any] | None, Any] = Field(default=None, alias="offAmazonSettings")
|
|
102
|
+
|
|
103
|
+
class DynamicBiddingPlacementbiddingItem(BaseModel):
|
|
104
|
+
"""Nested schema for DynamicBidding.placementBidding_item"""
|
|
105
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
106
|
+
|
|
107
|
+
placement: Union[str | None, Any] = Field(default=None, description="The placement type")
|
|
108
|
+
"""The placement type"""
|
|
109
|
+
percentage: Union[int | None, Any] = Field(default=None, description="The bid adjustment percentage")
|
|
110
|
+
"""The bid adjustment percentage"""
|
|
111
|
+
|
|
112
|
+
class DynamicBidding(BaseModel):
|
|
113
|
+
"""Dynamic bidding settings for a campaign"""
|
|
114
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
115
|
+
|
|
116
|
+
placement_bidding: Union[list[DynamicBiddingPlacementbiddingItem] | None, Any] = Field(default=None, alias="placementBidding")
|
|
117
|
+
strategy: Union[str | None, Any] = Field(default=None)
|
|
118
|
+
|
|
119
|
+
class CampaignBudget(BaseModel):
|
|
120
|
+
"""Budget configuration for a campaign"""
|
|
121
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
122
|
+
|
|
123
|
+
budget_type: Union[str | None, Any] = Field(default=None, alias="budgetType")
|
|
124
|
+
budget: Union[float | None, Any] = Field(default=None)
|
|
125
|
+
|
|
126
|
+
# ===== METADATA TYPE DEFINITIONS (PYDANTIC) =====
|
|
127
|
+
# Meta types for operations that extract metadata (e.g., pagination info)
|
|
128
|
+
|
|
129
|
+
# ===== RESPONSE ENVELOPE MODELS =====
|
|
130
|
+
|
|
131
|
+
# Type variables for generic envelope models
|
|
132
|
+
T = TypeVar('T')
|
|
133
|
+
S = TypeVar('S')
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
class AmazonAdsExecuteResult(BaseModel, Generic[T]):
|
|
137
|
+
"""Response envelope with data only.
|
|
138
|
+
|
|
139
|
+
Used for actions that return data without metadata.
|
|
140
|
+
"""
|
|
141
|
+
model_config = ConfigDict(extra="forbid")
|
|
142
|
+
|
|
143
|
+
data: T
|
|
144
|
+
"""Response data containing the result of the action."""
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
class AmazonAdsExecuteResultWithMeta(AmazonAdsExecuteResult[T], Generic[T, S]):
|
|
148
|
+
"""Response envelope with data and metadata.
|
|
149
|
+
|
|
150
|
+
Used for actions that return both data and metadata (e.g., pagination info).
|
|
151
|
+
"""
|
|
152
|
+
meta: S
|
|
153
|
+
"""Metadata about the response (e.g., pagination cursors, record counts)."""
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
# ===== OPERATION RESULT TYPE ALIASES =====
|
|
158
|
+
|
|
159
|
+
# Concrete type aliases for each operation result.
|
|
160
|
+
# These provide simpler, more readable type annotations than using the generic forms.
|
|
161
|
+
|
|
162
|
+
ProfilesListResult = AmazonAdsExecuteResult[list[Profile]]
|
|
163
|
+
"""Result type for profiles.list operation."""
|
|
164
|
+
|
|
165
|
+
PortfoliosListResult = AmazonAdsExecuteResult[dict[str, Any]]
|
|
166
|
+
"""Result type for portfolios.list operation."""
|
|
167
|
+
|
|
168
|
+
SponsoredProductCampaignsListResult = AmazonAdsExecuteResult[dict[str, Any]]
|
|
169
|
+
"""Result type for sponsored_product_campaigns.list operation."""
|
|
170
|
+
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Type definitions for amazon-ads connector.
|
|
3
|
+
"""
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
|
|
6
|
+
# Use typing_extensions.TypedDict for Pydantic compatibility
|
|
7
|
+
try:
|
|
8
|
+
from typing_extensions import TypedDict, NotRequired
|
|
9
|
+
except ImportError:
|
|
10
|
+
from typing import TypedDict, NotRequired # type: ignore[attr-defined]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# ===== NESTED PARAM TYPE DEFINITIONS =====
|
|
15
|
+
# Nested parameter schemas discovered during parameter extraction
|
|
16
|
+
|
|
17
|
+
class SponsoredProductCampaignsListParamsStatefilter(TypedDict):
|
|
18
|
+
"""Nested schema for SponsoredProductCampaignsListParams.stateFilter"""
|
|
19
|
+
include: NotRequired[str]
|
|
20
|
+
|
|
21
|
+
# ===== OPERATION PARAMS TYPE DEFINITIONS =====
|
|
22
|
+
|
|
23
|
+
class ProfilesListParams(TypedDict):
|
|
24
|
+
"""Parameters for profiles.list operation"""
|
|
25
|
+
profile_type_filter: NotRequired[str]
|
|
26
|
+
|
|
27
|
+
class ProfilesGetParams(TypedDict):
|
|
28
|
+
"""Parameters for profiles.get operation"""
|
|
29
|
+
profile_id: str
|
|
30
|
+
|
|
31
|
+
class PortfoliosListParams(TypedDict):
|
|
32
|
+
"""Parameters for portfolios.list operation"""
|
|
33
|
+
include_extended_data_fields: NotRequired[str]
|
|
34
|
+
|
|
35
|
+
class PortfoliosGetParams(TypedDict):
|
|
36
|
+
"""Parameters for portfolios.get operation"""
|
|
37
|
+
portfolio_id: str
|
|
38
|
+
|
|
39
|
+
class SponsoredProductCampaignsListParams(TypedDict):
|
|
40
|
+
"""Parameters for sponsored_product_campaigns.list operation"""
|
|
41
|
+
state_filter: NotRequired[SponsoredProductCampaignsListParamsStatefilter]
|
|
42
|
+
max_results: NotRequired[int]
|
|
43
|
+
next_token: NotRequired[str]
|
|
44
|
+
|
|
45
|
+
class SponsoredProductCampaignsGetParams(TypedDict):
|
|
46
|
+
"""Parameters for sponsored_product_campaigns.get operation"""
|
|
47
|
+
campaign_id: str
|
|
48
|
+
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: airbyte-agent-amazon-ads
|
|
3
|
+
Version: 0.1.2
|
|
4
|
+
Summary: Airbyte Amazon-Ads Connector for AI platforms
|
|
5
|
+
Project-URL: Homepage, https://github.com/airbytehq/airbyte-agent-connectors
|
|
6
|
+
Project-URL: Documentation, https://docs.airbyte.com/ai-agents/
|
|
7
|
+
Project-URL: Repository, https://github.com/airbytehq/airbyte-agent-connectors
|
|
8
|
+
Project-URL: Issues, https://github.com/airbytehq/airbyte-agent-connectors/issues
|
|
9
|
+
Author-email: Airbyte <contact@airbyte.io>
|
|
10
|
+
License: Elastic-2.0
|
|
11
|
+
Keywords: agent,ai,airbyte,amazon-ads,api,connector,data-integration,llm,mcp
|
|
12
|
+
Classifier: Development Status :: 3 - Alpha
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: Other/Proprietary License
|
|
15
|
+
Classifier: Operating System :: OS Independent
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
19
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
20
|
+
Classifier: Typing :: Typed
|
|
21
|
+
Requires-Python: >=3.13
|
|
22
|
+
Requires-Dist: httpx>=0.24.0
|
|
23
|
+
Requires-Dist: jinja2>=3.0.0
|
|
24
|
+
Requires-Dist: jsonpath-ng>=1.6.1
|
|
25
|
+
Requires-Dist: jsonref>=1.1.0
|
|
26
|
+
Requires-Dist: opentelemetry-api>=1.37.0
|
|
27
|
+
Requires-Dist: opentelemetry-sdk>=1.37.0
|
|
28
|
+
Requires-Dist: pydantic>=2.0.0
|
|
29
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
30
|
+
Requires-Dist: pyyaml>=6.0
|
|
31
|
+
Requires-Dist: segment-analytics-python>=2.2.0
|
|
32
|
+
Description-Content-Type: text/markdown
|
|
33
|
+
|
|
34
|
+
# Amazon-Ads agent connector
|
|
35
|
+
|
|
36
|
+
Amazon Ads is Amazon's advertising platform that enables sellers and vendors to promote their
|
|
37
|
+
products across Amazon's marketplace. This connector provides access to advertising profiles
|
|
38
|
+
for managing and analyzing advertising campaigns across different marketplaces.
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
## Example questions
|
|
42
|
+
|
|
43
|
+
The Amazon-Ads connector is optimized to handle prompts like these.
|
|
44
|
+
|
|
45
|
+
- List all my advertising profiles across marketplaces
|
|
46
|
+
- Show me the profiles for my seller accounts
|
|
47
|
+
- What marketplaces do I have advertising profiles in?
|
|
48
|
+
- List all portfolios for a specific profile
|
|
49
|
+
- Show me all sponsored product campaigns
|
|
50
|
+
- What campaigns are currently enabled?
|
|
51
|
+
- Find campaigns with a specific targeting type
|
|
52
|
+
|
|
53
|
+
## Unsupported questions
|
|
54
|
+
|
|
55
|
+
The Amazon-Ads connector isn't currently able to handle prompts like these.
|
|
56
|
+
|
|
57
|
+
- Create a new advertising campaign
|
|
58
|
+
- Update my campaign budget
|
|
59
|
+
- Delete an ad group
|
|
60
|
+
- Generate a performance report
|
|
61
|
+
|
|
62
|
+
## Installation
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
uv pip install airbyte-agent-amazon-ads
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Usage
|
|
69
|
+
|
|
70
|
+
Connectors can run in open source or hosted mode.
|
|
71
|
+
|
|
72
|
+
### Open source
|
|
73
|
+
|
|
74
|
+
In open source mode, you provide API credentials directly to the connector.
|
|
75
|
+
|
|
76
|
+
```python
|
|
77
|
+
from airbyte_agent_amazon-ads import AmazonAdsConnector
|
|
78
|
+
from airbyte_agent_amazon_ads.models import AmazonAdsAuthConfig
|
|
79
|
+
|
|
80
|
+
connector = AmazonAdsConnector(
|
|
81
|
+
auth_config=AmazonAdsAuthConfig(
|
|
82
|
+
client_id="<The client ID of your Amazon Ads API application>",
|
|
83
|
+
client_secret="<The client secret of your Amazon Ads API application>",
|
|
84
|
+
refresh_token="<The refresh token obtained from the OAuth authorization flow>"
|
|
85
|
+
)
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
@agent.tool_plain # assumes you're using Pydantic AI
|
|
89
|
+
@AmazonAdsConnector.describe
|
|
90
|
+
async def amazon-ads_execute(entity: str, action: str, params: dict | None = None):
|
|
91
|
+
return await connector.execute(entity, action, params or {})
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Hosted
|
|
95
|
+
|
|
96
|
+
In hosted mode, API credentials are stored securely in Airbyte Cloud. You provide your Airbyte credentials instead.
|
|
97
|
+
|
|
98
|
+
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).
|
|
99
|
+
|
|
100
|
+
```python
|
|
101
|
+
from airbyte_agent_amazon-ads import AmazonAdsConnector
|
|
102
|
+
|
|
103
|
+
connector = AmazonAdsConnector(
|
|
104
|
+
external_user_id="<your-scoped-token>",
|
|
105
|
+
airbyte_client_id="<your-client-id>",
|
|
106
|
+
airbyte_client_secret="<your-client-secret>"
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
@agent.tool_plain # assumes you're using Pydantic AI
|
|
110
|
+
@AmazonAdsConnector.describe
|
|
111
|
+
async def amazon-ads_execute(entity: str, action: str, params: dict | None = None):
|
|
112
|
+
return await connector.execute(entity, action, params or {})
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Full documentation
|
|
116
|
+
|
|
117
|
+
This connector supports the following entities and actions.
|
|
118
|
+
|
|
119
|
+
| Entity | Actions |
|
|
120
|
+
|--------|---------|
|
|
121
|
+
| Profiles | [List](./REFERENCE.md#profiles-list), [Get](./REFERENCE.md#profiles-get) |
|
|
122
|
+
| Portfolios | [List](./REFERENCE.md#portfolios-list), [Get](./REFERENCE.md#portfolios-get) |
|
|
123
|
+
| Sponsored Product Campaigns | [List](./REFERENCE.md#sponsored-product-campaigns-list), [Get](./REFERENCE.md#sponsored-product-campaigns-get) |
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
For all authentication options, see the connector's [authentication documentation](AUTH.md).
|
|
127
|
+
|
|
128
|
+
For detailed documentation on available actions and parameters, see this connector's [full reference documentation](./REFERENCE.md).
|
|
129
|
+
|
|
130
|
+
For the service's official API docs, see the [Amazon-Ads API reference](https://advertising.amazon.com/API/docs/en-us).
|
|
131
|
+
|
|
132
|
+
## Version information
|
|
133
|
+
|
|
134
|
+
- **Package version:** 0.1.2
|
|
135
|
+
- **Connector version:** 1.0.1
|
|
136
|
+
- **Generated with Connector SDK commit SHA:** 1da193dd2b3d4b2e2147ba74bd9a4062a62c4186
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
airbyte_agent_amazon_ads/__init__.py,sha256=q1HEHSqUrBKHSJDrjl6DpmKQ7BLgfV8-Ct_07h9yWoU,1442
|
|
2
|
+
airbyte_agent_amazon_ads/connector.py,sha256=_xaQg0CzkAHAZLoWoP7zIwYN4Uvge-jYlQyP5A2hrF0,19290
|
|
3
|
+
airbyte_agent_amazon_ads/connector_model.py,sha256=JaflXe0x3R1neowZ8dQ4kTX-6lmQMmAJO9xP1nRFNoc,61939
|
|
4
|
+
airbyte_agent_amazon_ads/models.py,sha256=373Eq2tb4mroZNrkWCpt-oFY1bZgOZd2sDfaNVDZ0rc,7610
|
|
5
|
+
airbyte_agent_amazon_ads/types.py,sha256=qe9zmgsEV06BQKQ68In9fwZji2tDqCB2JJXU_6dNwxA,1538
|
|
6
|
+
airbyte_agent_amazon_ads/_vendored/__init__.py,sha256=ILl7AHXMui__swyrjxrh9yRa4dLiwBvV6axPWFWty80,38
|
|
7
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/__init__.py,sha256=T5o7roU6NSpH-lCAGZ338sE5dlh4ZU6i6IkeG1zpems,1949
|
|
8
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/auth_strategies.py,sha256=Ve7ObJc_A0N99b8ouuicQzVauDunOvFNG1SRKDfV4ag,42110
|
|
9
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/auth_template.py,sha256=nju4jqlFC_KI82ILNumNIyiUtRJcy7J94INIZ0QraI4,4454
|
|
10
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/connector_model_loader.py,sha256=SY_Juqw-cap156MsdgrMfe5MAuFdX0vUcSbH5LUYNK0,36295
|
|
11
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/constants.py,sha256=AtzOvhDMWbRJgpsQNWl5tkogHD6mWgEY668PgRmgtOY,2737
|
|
12
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/exceptions.py,sha256=ss5MGv9eVPmsbLcLWetuu3sDmvturwfo6Pw3M37Oq5k,481
|
|
13
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/extensions.py,sha256=XWRRoJOOrwUHSKbuQt5DU7CCu8ePzhd_HuP7c_uD77w,21376
|
|
14
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/http_client.py,sha256=yucwu3OvJh5wLQa1mk-gTKjtqjKKucMw5ltmlE7mk1c,28000
|
|
15
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/introspection.py,sha256=2CyKXZHT74-1Id97uw1RLeyOi6TV24_hoNbQ6-6y7uI,10335
|
|
16
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/secrets.py,sha256=J9ezMu4xNnLW11xY5RCre6DHP7YMKZCqwGJfk7ufHAM,6855
|
|
17
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/types.py,sha256=d8PidSD5nzhSSgFwUeYtRKw8pTm0Gft_IHsGeELifuk,8748
|
|
18
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/utils.py,sha256=G4LUXOC2HzPoND2v4tQW68R9uuPX9NQyCjaGxb7Kpl0,1958
|
|
19
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/validation.py,sha256=4MPrxYmQh8TbCU0KdvvRKe35Lg1YYLEBd0u4aKySl_E,32122
|
|
20
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/cloud_utils/__init__.py,sha256=4799Hv9f2zxDVj1aLyQ8JpTEuFTp_oOZMRz-NZCdBJg,134
|
|
21
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/cloud_utils/client.py,sha256=YxdRpQr9XjDzih6csSseBVGn9kfMtaqbOCXP0TPuzFY,7189
|
|
22
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/executor/__init__.py,sha256=EmG9YQNAjSuYCVB4D5VoLm4qpD1KfeiiOf7bpALj8p8,702
|
|
23
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/executor/hosted_executor.py,sha256=ydHcG-biRS1ITT5ELwPShdJW-KYpvK--Fos1ipNgHho,6995
|
|
24
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/executor/local_executor.py,sha256=AgBQBlYIra7kyWcZtRRWSJLqrPbuDq38j13hoVoWJJA,73863
|
|
25
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/executor/models.py,sha256=lYVT_bNcw-PoIks4WHNyl2VY-lJVf2FntzINSOBIheE,5845
|
|
26
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/http/__init__.py,sha256=y8fbzZn-3yV9OxtYz8Dy6FFGI5v6TOqADd1G3xHH3Hw,911
|
|
27
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/http/config.py,sha256=6J7YIIwHC6sRu9i-yKa5XvArwK2KU60rlnmxzDZq3lw,3283
|
|
28
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/http/exceptions.py,sha256=eYdYmxqcwA6pgrSoRXNfR6_nRBGRH6upp2-r1jcKaZo,3586
|
|
29
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/http/protocols.py,sha256=eV7NbBIQOcPLw-iu8mtkV2zCVgScDwP0ek1SbPNQo0g,3323
|
|
30
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/http/response.py,sha256=Q-RyM5D0D05ZhmZVJk4hVpmoS8YtyXNOTM5hqBt7rWI,3475
|
|
31
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/http/adapters/__init__.py,sha256=gjbWdU4LfzUG2PETI0TkfkukdzoCAhpL6FZtIEnkO-s,209
|
|
32
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/http/adapters/httpx_adapter.py,sha256=dkYhzBWiKBmzWZlc-cRTx50Hb6fy3OI8kOQvXRfS1CQ,8465
|
|
33
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/logging/__init__.py,sha256=IZoE5yXhwSA0m3xQqh0FiCifjp1sB3S8jnnFPuJLYf8,227
|
|
34
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/logging/logger.py,sha256=rUdKDEQe3pOODmBLEcvhgZeEZi48BvrgKXKq1xvCXu0,8387
|
|
35
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/logging/types.py,sha256=ONb9xKNXUkrR2lojSBMF7ruof7S2r92WjrO_kEZic84,3239
|
|
36
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/observability/__init__.py,sha256=ojx1n9vaWCXFFvb3-90Pwtg845trFdV2v6wcCoO75Ko,269
|
|
37
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/observability/config.py,sha256=uWvRAPHnEusVKviQQncqcpnHKNhoZ4ZoFK6nUOSVClY,5372
|
|
38
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/observability/models.py,sha256=IRGjlJia28_IU7BMSBb5RHWs47yAOLvE20JIIXHazLY,448
|
|
39
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/observability/redactor.py,sha256=HRbSwGxsfQYbYlG4QBVvv8Qnw0d4SMowMv0dTFHsHqQ,2361
|
|
40
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/observability/session.py,sha256=WYRIB3bVz9HhpElkUO9CILCRIrWs9p2MR2hmf8uJm3E,3086
|
|
41
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/performance/__init__.py,sha256=Sp5fSd1LvtIQkv-fnrKqPsM7-6IWp0sSZSK0mhzal_A,200
|
|
42
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/performance/instrumentation.py,sha256=_dXvNiqdndIBwDjeDKNViWzn_M5FkSUsMmJtFldrmsM,1504
|
|
43
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/performance/metrics.py,sha256=FRff7dKt4iwt_A7pxV5n9kAGBR756PC7q8-weWygPSM,2817
|
|
44
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/__init__.py,sha256=Uymu-QuzGJuMxexBagIvUxpVAigIuIhz3KeBl_Vu4Ko,1638
|
|
45
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/base.py,sha256=zBW5svQohGCdn46Snc8DG4PsqfmZDovp693vRgugDFE,5374
|
|
46
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/components.py,sha256=x3YCM1p2n_xHi50fMeOX0mXUiPqjGlLHs3Go8jXokb0,7895
|
|
47
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/connector.py,sha256=mSZk1wr2YSdRj9tTRsPAuIlCzd_xZLw-Bzl1sMwE0rE,3731
|
|
48
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/extensions.py,sha256=f7VhHrcIYxaPOJHMc4g0lpy04pZTbx5nlroNzAu5B9Q,7135
|
|
49
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/operations.py,sha256=RpzGtAI4yvAtMHAfMUMcUwgHv_qJojnKlNb75_agUF8,5729
|
|
50
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/schema/security.py,sha256=6ljzf_JHs4amnQX9AhePcEsT8P3ZnTSC4xeg7-cvsNQ,9100
|
|
51
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/telemetry/__init__.py,sha256=RaLgkBU4dfxn1LC5Y0Q9rr2PJbrwjxvPgBLmq8_WafE,211
|
|
52
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/telemetry/config.py,sha256=tLmQwAFD0kP1WyBGWBS3ysaudN9H3e-3EopKZi6cGKg,885
|
|
53
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/telemetry/events.py,sha256=8Y1NbXiwISX-V_wRofY7PqcwEXD0dLMnntKkY6XFU2s,1328
|
|
54
|
+
airbyte_agent_amazon_ads/_vendored/connector_sdk/telemetry/tracker.py,sha256=Ftrk0_ddfM7dZG8hF9xBuPwhbc9D6JZ7Q9qs5o3LEyA,5579
|
|
55
|
+
airbyte_agent_amazon_ads-0.1.2.dist-info/METADATA,sha256=ZWlxMxS25UcZmafgVUFYARR55_uaJPxW5hOto2oVsqo,5141
|
|
56
|
+
airbyte_agent_amazon_ads-0.1.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
57
|
+
airbyte_agent_amazon_ads-0.1.2.dist-info/RECORD,,
|