python-amazon-ad-api 1.4.1__tar.gz → 1.4.3__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.
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/PKG-INFO +3 -1
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/README.md +2 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/v1/__init__.py +4 -0
- python_amazon_ad_api-1.4.3/ad_api/api/v1/ad_associations.py +138 -0
- python_amazon_ad_api-1.4.3/ad_api/api/v1/brand_store_edition_publish_versions.py +98 -0
- python_amazon_ad_api-1.4.3/ad_api/version.py +1 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/python_amazon_ad_api.egg-info/PKG-INFO +3 -1
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/python_amazon_ad_api.egg-info/SOURCES.txt +2 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/setup.cfg +1 -1
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/setup.py +1 -1
- python_amazon_ad_api-1.4.1/ad_api/version.py +0 -1
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/LICENSE +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/__init__.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/__init__.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/account.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/account_budgets.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/advertising_test_account.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/attribution.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/audiences.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/billing.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/brand_metrics.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/creative_assets.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/eligibility.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/exports.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/history.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/insights.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/invoices.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/localization.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/manager_accounts.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/metadata.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/portfolios.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/portfolios_v3.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/profiles.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/recommendations.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/reports.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/__init__.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/ad_creatives_v4.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/ad_groups.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/ad_groups_v4.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/ads_v4.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/benchmarks.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/bid_recommendations.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/brands.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/budget_rules.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/campaigns.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/campaigns_v4.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/forecast.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/keywords.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/keywords_recommendations.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/landing_page_asins.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/media.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/migration.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/negative_keywords.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/negative_product_targeting.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/optimization_rules.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/product_targeting.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/recommendations.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/reports.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/stores.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/targeting_categories.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/targeting_recommendations.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/themes.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/__init__.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/ad_groups.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/bid_recommendations.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/brand_safety.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/budget_rules.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/campaigns.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/campaigns_budget_usage.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/creatives.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/forecast.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/negative_product_targeting.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/product_ads.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/product_targeting.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/recommendations.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/reports.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/snapshots.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/targeting_recommendations.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/__init__.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/ad_groups_v3.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/bid_recommendations_v3.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/budget_initial_recommendation.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/budget_recommendations.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/budget_rules.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/budget_rules_recommendations.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/campaign_consolidated_recommendations.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/campaign_negative_keywords_v3.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/campaign_negative_targets.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/campaigns_budget_usage.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/campaigns_v3.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/campaings_optimization.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/keywords_v3.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/negative_keywords_v3.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/negative_product_targeting_v3.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/product_ads_v3.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/product_recommendations.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/product_targeting_v3.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/ranked_keywords_recommendations.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/schedule_based_bid_optimization.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/stores.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/stream.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/v1/ad_extensions.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/v1/ad_groups.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/v1/ads.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/v1/advertiser_accounts.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/v1/campaigns.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/v1/targets.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/validation_configurations.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/auth/__init__.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/auth/access_token_client.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/auth/access_token_response.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/auth/credentials.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/auth/exceptions.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/base/__init__.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/base/api_response.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/base/base_client.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/base/client.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/base/config.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/base/credential_provider.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/base/exceptions.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/base/helpers.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/base/marketplaces.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/base/utils.py +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/pyproject.toml +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/python_amazon_ad_api.egg-info/dependency_links.txt +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/python_amazon_ad_api.egg-info/requires.txt +0 -0
- {python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/python_amazon_ad_api.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-amazon-ad-api
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.3
|
|
4
4
|
Summary: Python wrapper for the Amazon Advertising API
|
|
5
5
|
Home-page: https://github.com/denisneuf/python-amazon-ad-api
|
|
6
6
|
Author: Daniel Alvaro
|
|
@@ -306,6 +306,8 @@ The v1 API lives under `/adsApi/v1/` and is **not** split by product: every call
|
|
|
306
306
|
* [Targets](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/targets.html#ad_api.api.v1.Targets.Targets.query_targets)
|
|
307
307
|
* [Ad Extensions](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/ad_extensions.html#ad_api.api.v1.AdExtensions.AdExtensions.query_ad_extensions)
|
|
308
308
|
* [Advertiser Accounts](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/advertiser_accounts.html#ad_api.api.v1.AdvertiserAccounts.AdvertiserAccounts.query_advertiser_accounts)
|
|
309
|
+
* [Ad Associations](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/ad_associations.html#ad_api.api.v1.AdAssociations.AdAssociations.query_ad_associations)
|
|
310
|
+
* [Brand Store Edition Publish Versions](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/brand_store_edition_publish_versions.html#ad_api.api.v1.BrandStoreEditionPublishVersions.BrandStoreEditionPublishVersions.query_brand_store_edition_publish_versions)
|
|
309
311
|
|
|
310
312
|
|
|
311
313
|
### [Modules Available Sponsored Products](https://python-amazon-ad-api.readthedocs.io/en/latest/sp.html)
|
|
@@ -278,6 +278,8 @@ The v1 API lives under `/adsApi/v1/` and is **not** split by product: every call
|
|
|
278
278
|
* [Targets](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/targets.html#ad_api.api.v1.Targets.Targets.query_targets)
|
|
279
279
|
* [Ad Extensions](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/ad_extensions.html#ad_api.api.v1.AdExtensions.AdExtensions.query_ad_extensions)
|
|
280
280
|
* [Advertiser Accounts](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/advertiser_accounts.html#ad_api.api.v1.AdvertiserAccounts.AdvertiserAccounts.query_advertiser_accounts)
|
|
281
|
+
* [Ad Associations](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/ad_associations.html#ad_api.api.v1.AdAssociations.AdAssociations.query_ad_associations)
|
|
282
|
+
* [Brand Store Edition Publish Versions](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/brand_store_edition_publish_versions.html#ad_api.api.v1.BrandStoreEditionPublishVersions.BrandStoreEditionPublishVersions.query_brand_store_edition_publish_versions)
|
|
281
283
|
|
|
282
284
|
|
|
283
285
|
### [Modules Available Sponsored Products](https://python-amazon-ad-api.readthedocs.io/en/latest/sp.html)
|
|
@@ -4,6 +4,8 @@ from .ads import Ads
|
|
|
4
4
|
from .targets import Targets
|
|
5
5
|
from .ad_extensions import AdExtensions
|
|
6
6
|
from .advertiser_accounts import AdvertiserAccounts
|
|
7
|
+
from .ad_associations import AdAssociations
|
|
8
|
+
from .brand_store_edition_publish_versions import BrandStoreEditionPublishVersions
|
|
7
9
|
|
|
8
10
|
__all__ = [
|
|
9
11
|
"Campaigns",
|
|
@@ -12,4 +14,6 @@ __all__ = [
|
|
|
12
14
|
"Targets",
|
|
13
15
|
"AdExtensions",
|
|
14
16
|
"AdvertiserAccounts",
|
|
17
|
+
"AdAssociations",
|
|
18
|
+
"BrandStoreEditionPublishVersions",
|
|
15
19
|
]
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, ApiResponse, Utils
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class AdAssociations(Client):
|
|
5
|
+
r"""
|
|
6
|
+
AdAssociations(account='default', marketplace: Marketplaces = Marketplaces.EU, credentials=None, debug=False)
|
|
7
|
+
|
|
8
|
+
Amazon Ads API v1 - unified AdAssociations endpoints
|
|
9
|
+
|
|
10
|
+
An ad association links one ``adId`` to one ``adGroupId`` and decides how
|
|
11
|
+
much of the group's traffic that ad receives. ``weight`` is the relative
|
|
12
|
+
percentage directed to the creative, and ``startDateTime`` / ``endDateTime``
|
|
13
|
+
bound when the association applies.
|
|
14
|
+
|
|
15
|
+
This is the first v1 family in this client with all four operations: the
|
|
16
|
+
others stop at update, while this one also has a delete.
|
|
17
|
+
|
|
18
|
+
Update cannot move an association to another ad or ad group: only the dates,
|
|
19
|
+
the state and the weight are accepted, so reassigning means delete and
|
|
20
|
+
create.
|
|
21
|
+
|
|
22
|
+
Like AdvertiserAccounts, this is not an ad-product resource and takes no
|
|
23
|
+
``adProductFilter`` -- the query filters by association, ad group or ad.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
@sp_endpoint('/adsApi/v1/query/adAssociations', method='POST')
|
|
27
|
+
def query_ad_associations(self, **kwargs) -> ApiResponse:
|
|
28
|
+
r"""
|
|
29
|
+
query_ad_associations(body: dict) -> ApiResponse
|
|
30
|
+
|
|
31
|
+
Amazon Ads API v1 - Query AdAssociations (operationId: QueryAdAssociation)
|
|
32
|
+
|
|
33
|
+
Request Body
|
|
34
|
+
| **adAssociationIdFilter** (dict) [optional]
|
|
35
|
+
| **include** (list<string>) : association identifiers
|
|
36
|
+
| **adGroupIdFilter** (dict) [optional]
|
|
37
|
+
| **include** (list<string>) : ad group identifiers
|
|
38
|
+
| **adIdFilter** (dict) [optional]
|
|
39
|
+
| **include** (list<string>) : ad identifiers
|
|
40
|
+
| **maxResults** (int) [optional] Maximum number of records in the response
|
|
41
|
+
| **nextToken** (string) [optional] Token to navigate to the next page
|
|
42
|
+
|
|
43
|
+
Returns
|
|
44
|
+
ApiResponse. ``payload`` holds ``adAssociations`` and ``nextToken``.
|
|
45
|
+
"""
|
|
46
|
+
headers = {"Accept": "application/json", "Content-Type": "application/json"}
|
|
47
|
+
return self._request(
|
|
48
|
+
kwargs.pop('path'),
|
|
49
|
+
data=Utils.convert_body(kwargs.pop('body'), False),
|
|
50
|
+
params=kwargs,
|
|
51
|
+
headers=headers,
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
@sp_endpoint('/adsApi/v1/create/adAssociations', method='POST')
|
|
55
|
+
def create_ad_associations(self, **kwargs) -> ApiResponse:
|
|
56
|
+
r"""
|
|
57
|
+
create_ad_associations(body: dict) -> ApiResponse
|
|
58
|
+
|
|
59
|
+
Amazon Ads API v1 - Create AdAssociations (operationId: CreateAdAssociation)
|
|
60
|
+
|
|
61
|
+
Request Body [Required]
|
|
62
|
+
| **adAssociations** (list, 1..20) [required]
|
|
63
|
+
|
|
64
|
+
Each element:
|
|
65
|
+
| **adGroupId** (string) [required] the ad group the ad belongs to
|
|
66
|
+
| **adId** (string) [required] the ad being associated
|
|
67
|
+
| **state** (string) [required] Enum [ ENABLED, PAUSED ]
|
|
68
|
+
| **startDateTime** (string) [optional] when the association starts
|
|
69
|
+
| **endDateTime** (string) [optional] when it stops
|
|
70
|
+
| **weight** (integer) [optional] relative share of the ad
|
|
71
|
+
group's traffic directed to this creative
|
|
72
|
+
|
|
73
|
+
Returns
|
|
74
|
+
ApiResponse. Per-entity result carrying ``success`` and ``error``,
|
|
75
|
+
not the created objects.
|
|
76
|
+
"""
|
|
77
|
+
headers = {"Accept": "application/json", "Content-Type": "application/json"}
|
|
78
|
+
return self._request(
|
|
79
|
+
kwargs.pop('path'),
|
|
80
|
+
data=Utils.convert_body(kwargs.pop('body'), False),
|
|
81
|
+
params=kwargs,
|
|
82
|
+
headers=headers,
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
@sp_endpoint('/adsApi/v1/update/adAssociations', method='POST')
|
|
86
|
+
def update_ad_associations(self, **kwargs) -> ApiResponse:
|
|
87
|
+
r"""
|
|
88
|
+
update_ad_associations(body: dict) -> ApiResponse
|
|
89
|
+
|
|
90
|
+
Amazon Ads API v1 - Update AdAssociations (operationId: UpdateAdAssociation)
|
|
91
|
+
|
|
92
|
+
The ad and the ad group cannot be changed here. To point the same creative
|
|
93
|
+
at a different ad, delete the association and create a new one.
|
|
94
|
+
|
|
95
|
+
Request Body [Required]
|
|
96
|
+
| **adAssociations** (list, 1..20) [required]
|
|
97
|
+
|
|
98
|
+
Each element:
|
|
99
|
+
| **adAssociationId** (string) [required] association to update
|
|
100
|
+
| **startDateTime** (string) [optional]
|
|
101
|
+
| **endDateTime** (string) [optional]
|
|
102
|
+
| **state** (string) [optional] Enum [ ENABLED, PAUSED, ARCHIVED ]
|
|
103
|
+
| **weight** (integer) [optional]
|
|
104
|
+
|
|
105
|
+
Returns
|
|
106
|
+
ApiResponse. Per-entity result carrying ``success`` and ``error``.
|
|
107
|
+
"""
|
|
108
|
+
headers = {"Accept": "application/json", "Content-Type": "application/json"}
|
|
109
|
+
return self._request(
|
|
110
|
+
kwargs.pop('path'),
|
|
111
|
+
data=Utils.convert_body(kwargs.pop('body'), False),
|
|
112
|
+
params=kwargs,
|
|
113
|
+
headers=headers,
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
@sp_endpoint('/adsApi/v1/delete/adAssociations', method='POST')
|
|
117
|
+
def delete_ad_associations(self, **kwargs) -> ApiResponse:
|
|
118
|
+
r"""
|
|
119
|
+
delete_ad_associations(body: dict) -> ApiResponse
|
|
120
|
+
|
|
121
|
+
Amazon Ads API v1 - Delete AdAssociations (operationId: DeleteAdAssociation)
|
|
122
|
+
|
|
123
|
+
The array is named ``adAssociationIds`` here, not ``adAssociations`` as in
|
|
124
|
+
create and update. Sending the wrong name is a rejected request.
|
|
125
|
+
|
|
126
|
+
Request Body [Required]
|
|
127
|
+
| **adAssociationIds** (list, 1..20) [required] associations to delete
|
|
128
|
+
|
|
129
|
+
Returns
|
|
130
|
+
ApiResponse. Per-entity result carrying ``success`` and ``error``.
|
|
131
|
+
"""
|
|
132
|
+
headers = {"Accept": "application/json", "Content-Type": "application/json"}
|
|
133
|
+
return self._request(
|
|
134
|
+
kwargs.pop('path'),
|
|
135
|
+
data=Utils.convert_body(kwargs.pop('body'), False),
|
|
136
|
+
params=kwargs,
|
|
137
|
+
headers=headers,
|
|
138
|
+
)
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, ApiResponse, Utils
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class BrandStoreEditionPublishVersions(Client):
|
|
5
|
+
r"""
|
|
6
|
+
BrandStoreEditionPublishVersions(account='default', marketplace: Marketplaces = Marketplaces.EU, credentials=None, debug=False)
|
|
7
|
+
|
|
8
|
+
Amazon Ads API v1 - unified BrandStoreEditionPublishVersions endpoints
|
|
9
|
+
|
|
10
|
+
Two routes, neither of which creates or deletes anything: a store edition
|
|
11
|
+
publish version is queried, and its state is moved between draft and
|
|
12
|
+
publish.
|
|
13
|
+
|
|
14
|
+
Permissions: ``amazon_stores_view`` or ``amazon_stores_edit`` for the
|
|
15
|
+
query, ``amazon_stores_edit`` alone for the update. This is Amazon Stores,
|
|
16
|
+
not DSP.
|
|
17
|
+
|
|
18
|
+
Two enums live here and they are not interchangeable:
|
|
19
|
+
|
|
20
|
+
- ``StorePublishState`` -- ``DRAFT`` or ``PUBLISH``. What the caller
|
|
21
|
+
decides, and the only one the update accepts.
|
|
22
|
+
- ``StorePublishStatus`` -- ``DRAFT`` or ``REVIEW_IN_PROGRESS``. Where
|
|
23
|
+
the content currently sits, and the only one the query filters on.
|
|
24
|
+
|
|
25
|
+
The two differ by one letter in the name and share the ``DRAFT`` value, so
|
|
26
|
+
sending one where the other belongs is a rejected request rather than a
|
|
27
|
+
silent mismatch.
|
|
28
|
+
|
|
29
|
+
Unlike the rest of v1, the query has no fully optional body: store, edition
|
|
30
|
+
and publish status are all required, each accepting exactly one value.
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
@sp_endpoint('/adsApi/v1/query/brandStoreEditionPublishVersions', method='POST')
|
|
34
|
+
def query_brand_store_edition_publish_versions(self, **kwargs) -> ApiResponse:
|
|
35
|
+
r"""
|
|
36
|
+
query_brand_store_edition_publish_versions(body: dict) -> ApiResponse
|
|
37
|
+
|
|
38
|
+
Amazon Ads API v1 - Query (operationId: QueryBrandStoreEditionPublishVersion)
|
|
39
|
+
|
|
40
|
+
Requires one of these permissions: ["amazon_stores_edit", "amazon_stores_view"]
|
|
41
|
+
|
|
42
|
+
Request Body [Required]
|
|
43
|
+
| **editionIdFilter** (dict) [required]
|
|
44
|
+
| **include** (list<string>) : exactly one edition id
|
|
45
|
+
| **storeIdFilter** (dict) [required]
|
|
46
|
+
| **include** (list<string>) : exactly one store id
|
|
47
|
+
| **publishStatusFilter** (dict) [required]
|
|
48
|
+
| **include** (list<StorePublishStatus>) : exactly one of
|
|
49
|
+
Enum [ DRAFT, REVIEW_IN_PROGRESS ]
|
|
50
|
+
| **maxResults** (int) [optional]
|
|
51
|
+
| **nextToken** (string) [optional]
|
|
52
|
+
|
|
53
|
+
Returns
|
|
54
|
+
ApiResponse. ``payload`` holds ``brandStoreEditionPublishVersions``
|
|
55
|
+
and ``nextToken``. Each entry carries ``editionId``, ``storeId``,
|
|
56
|
+
``storeEditionPublishId``, ``publishState``, ``publishStatus`` and
|
|
57
|
+
``pages`` -- the last one appears only in the answer.
|
|
58
|
+
"""
|
|
59
|
+
headers = {"Accept": "application/json", "Content-Type": "application/json"}
|
|
60
|
+
return self._request(
|
|
61
|
+
kwargs.pop('path'),
|
|
62
|
+
data=Utils.convert_body(kwargs.pop('body'), False),
|
|
63
|
+
params=kwargs,
|
|
64
|
+
headers=headers,
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
@sp_endpoint('/adsApi/v1/update/brandStoreEditionPublishVersions', method='POST')
|
|
68
|
+
def update_brand_store_edition_publish_versions(self, **kwargs) -> ApiResponse:
|
|
69
|
+
r"""
|
|
70
|
+
update_brand_store_edition_publish_versions(body: dict) -> ApiResponse
|
|
71
|
+
|
|
72
|
+
Amazon Ads API v1 - Update (operationId: UpdateBrandStoreEditionPublishVersion)
|
|
73
|
+
|
|
74
|
+
Requires one of these permissions: ["amazon_stores_edit"]
|
|
75
|
+
|
|
76
|
+
The array holds exactly one element, not a range.
|
|
77
|
+
|
|
78
|
+
Request Body [Required]
|
|
79
|
+
| **brandStoreEditionPublishVersions** (list, exactly 1) [required]
|
|
80
|
+
|
|
81
|
+
Each element:
|
|
82
|
+
| **storeEditionPublishId** (string) [required] version to move
|
|
83
|
+
| **editionId** (string) [optional]
|
|
84
|
+
| **storeId** (string) [optional]
|
|
85
|
+
| **publishState** (string) [optional]
|
|
86
|
+
Enum [ DRAFT, PUBLISH ] -- this is StorePublishState, not the
|
|
87
|
+
StorePublishStatus the query filters on.
|
|
88
|
+
|
|
89
|
+
Returns
|
|
90
|
+
ApiResponse
|
|
91
|
+
"""
|
|
92
|
+
headers = {"Accept": "application/json", "Content-Type": "application/json"}
|
|
93
|
+
return self._request(
|
|
94
|
+
kwargs.pop('path'),
|
|
95
|
+
data=Utils.convert_body(kwargs.pop('body'), False),
|
|
96
|
+
params=kwargs,
|
|
97
|
+
headers=headers,
|
|
98
|
+
)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.4.3"
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/python_amazon_ad_api.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-amazon-ad-api
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.3
|
|
4
4
|
Summary: Python wrapper for the Amazon Advertising API
|
|
5
5
|
Home-page: https://github.com/denisneuf/python-amazon-ad-api
|
|
6
6
|
Author: Daniel Alvaro
|
|
@@ -306,6 +306,8 @@ The v1 API lives under `/adsApi/v1/` and is **not** split by product: every call
|
|
|
306
306
|
* [Targets](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/targets.html#ad_api.api.v1.Targets.Targets.query_targets)
|
|
307
307
|
* [Ad Extensions](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/ad_extensions.html#ad_api.api.v1.AdExtensions.AdExtensions.query_ad_extensions)
|
|
308
308
|
* [Advertiser Accounts](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/advertiser_accounts.html#ad_api.api.v1.AdvertiserAccounts.AdvertiserAccounts.query_advertiser_accounts)
|
|
309
|
+
* [Ad Associations](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/ad_associations.html#ad_api.api.v1.AdAssociations.AdAssociations.query_ad_associations)
|
|
310
|
+
* [Brand Store Edition Publish Versions](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/brand_store_edition_publish_versions.html#ad_api.api.v1.BrandStoreEditionPublishVersions.BrandStoreEditionPublishVersions.query_brand_store_edition_publish_versions)
|
|
309
311
|
|
|
310
312
|
|
|
311
313
|
### [Modules Available Sponsored Products](https://python-amazon-ad-api.readthedocs.io/en/latest/sp.html)
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/python_amazon_ad_api.egg-info/SOURCES.txt
RENAMED
|
@@ -95,10 +95,12 @@ ad_api/api/sp/product_targeting_v3.py
|
|
|
95
95
|
ad_api/api/sp/ranked_keywords_recommendations.py
|
|
96
96
|
ad_api/api/sp/schedule_based_bid_optimization.py
|
|
97
97
|
ad_api/api/v1/__init__.py
|
|
98
|
+
ad_api/api/v1/ad_associations.py
|
|
98
99
|
ad_api/api/v1/ad_extensions.py
|
|
99
100
|
ad_api/api/v1/ad_groups.py
|
|
100
101
|
ad_api/api/v1/ads.py
|
|
101
102
|
ad_api/api/v1/advertiser_accounts.py
|
|
103
|
+
ad_api/api/v1/brand_store_edition_publish_versions.py
|
|
102
104
|
ad_api/api/v1/campaigns.py
|
|
103
105
|
ad_api/api/v1/targets.py
|
|
104
106
|
ad_api/auth/__init__.py
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.4.1"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/advertising_test_account.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/bid_recommendations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/keywords_recommendations.py
RENAMED
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/landing_page_asins.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/negative_keywords.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/optimization_rules.py
RENAMED
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/product_targeting.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/targeting_categories.py
RENAMED
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sb/targeting_recommendations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/bid_recommendations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/campaigns_budget_usage.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/product_targeting.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sd/targeting_recommendations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/bid_recommendations_v3.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/budget_recommendations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/campaign_negative_targets.py
RENAMED
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/campaigns_budget_usage.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/campaings_optimization.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/negative_keywords_v3.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/product_recommendations.py
RENAMED
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/sp/product_targeting_v3.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/v1/advertiser_accounts.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/api/validation_configurations.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/auth/access_token_client.py
RENAMED
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/auth/access_token_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/ad_api/base/credential_provider.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.4.1 → python_amazon_ad_api-1.4.3}/python_amazon_ad_api.egg-info/requires.txt
RENAMED
|
File without changes
|
|
File without changes
|