python-amazon-ad-api 1.1.7__tar.gz → 1.1.9__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.1.7 → python_amazon_ad_api-1.1.9}/PKG-INFO +16 -5
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/README.md +15 -4
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/campaigns_v4.py +28 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/targeting_categories.py +23 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/base/helpers.py +2 -0
- python_amazon_ad_api-1.1.9/ad_api/version.py +1 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/python_amazon_ad_api.egg-info/PKG-INFO +16 -5
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/setup.cfg +1 -1
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/setup.py +1 -1
- python_amazon_ad_api-1.1.7/ad_api/version.py +0 -1
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/LICENSE +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/__init__.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/__init__.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/account.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/advertising_test_account.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/attribution.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/audiences.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/billing.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/brand_metrics.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/creative_assets.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/eligibility.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/exports.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/history.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/insights.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/invoices.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/localization.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/manager_accounts.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/metadata.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/portfolios.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/portfolios_v3.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/profiles.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/recommendations.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/reports.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/__init__.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/ad_creatives_v4.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/ad_groups.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/ad_groups_v4.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/ads_v4.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/benchmarks.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/bid_recommendations.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/brands.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/budget_rules.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/campaigns.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/forecast.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/keywords.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/keywords_recommendations.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/landing_page_asins.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/media.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/migration.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/negative_keywords.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/negative_product_targeting.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/optimization_rules.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/product_targeting.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/recommendations.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/reports.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/stores.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/targeting_recommendations.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/themes.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sd/__init__.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sd/ad_groups.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sd/bid_recommendations.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sd/brand_safety.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sd/budget_rules.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sd/campaigns.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sd/campaigns_budget_usage.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sd/creatives.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sd/forecast.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sd/negative_product_targeting.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sd/product_ads.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sd/product_targeting.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sd/recommendations.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sd/reports.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sd/snapshots.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sd/targeting_recommendations.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/__init__.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/ad_groups_v3.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/bid_recommendations_v3.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/budget_initial_recommendation.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/budget_recommendations.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/budget_rules.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/budget_rules_recommendations.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/campaign_consolidated_recommendations.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/campaign_negative_keywords_v3.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/campaign_negative_targets.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/campaigns_budget_usage.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/campaigns_v3.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/campaings_optimization.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/keywords_v3.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/negative_keywords_v3.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/negative_product_targeting_v3.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/product_ads_v3.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/product_recommendations.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/product_targeting_v3.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/ranked_keywords_recommendations.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/schedule_based_bid_optimization.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/stores.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/stream.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/v1/__init__.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/v1/ad_groups.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/v1/ads.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/v1/campaigns.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/v1/targets.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/validation_configurations.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/auth/__init__.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/auth/access_token_client.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/auth/access_token_response.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/auth/credentials.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/auth/exceptions.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/base/__init__.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/base/api_response.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/base/base_client.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/base/client.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/base/config.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/base/credential_provider.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/base/exceptions.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/base/marketplaces.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/base/utils.py +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/pyproject.toml +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/python_amazon_ad_api.egg-info/SOURCES.txt +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/python_amazon_ad_api.egg-info/dependency_links.txt +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/python_amazon_ad_api.egg-info/requires.txt +0 -0
- {python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/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.1.
|
|
3
|
+
Version: 1.1.9
|
|
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
|
|
@@ -343,24 +343,35 @@ Warning: the campaign, ad group and product ad operations are deprecated in favo
|
|
|
343
343
|
* [Ad Groups (deprecated)](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/ad_groups.html)
|
|
344
344
|
* [Keywords](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/keywords.html)
|
|
345
345
|
* [Negative Keywords](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/negative_keywords.html)
|
|
346
|
+
* [Keywords Recommendations](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/keywords_recommendations.html)
|
|
346
347
|
* [Product Targeting](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/product_targeting.html)
|
|
347
348
|
* [Negative Product Targeting](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/negative_product_targeting.html)
|
|
348
349
|
* [Targeting Recommendations](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/targeting_recommendations.html)
|
|
349
350
|
* [Bid Recommendations](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/bid_recommendations.html)
|
|
351
|
+
* [Benchmarks](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/benchmarks.html)
|
|
350
352
|
* [Stores](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/stores.html)
|
|
351
353
|
* [Landing Page Asins](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/landing_page_asins.html)
|
|
352
354
|
* [Media](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/media.html)
|
|
353
355
|
* [Brands](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/brands.html)
|
|
354
|
-
* [Moderation](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/moderation.html)
|
|
355
|
-
* [Reports](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/reports.html)
|
|
356
|
-
* [Snapshots](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/snapshots.html)
|
|
357
356
|
* [Themes](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/themes.html)
|
|
357
|
+
* [Reports](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/reports.html)
|
|
358
358
|
|
|
359
359
|
### [Modules Available Sponsored Brands 4.0](https://python-amazon-ad-api.readthedocs.io/en/latest/sb_v4.html)
|
|
360
360
|
|
|
361
|
+
> The 4.0 contract is fully covered: every operation is implemented except the campaign moderation route, which the service answers with a router `404`, and the report download, which resolves through the shared `_download` helper.
|
|
362
|
+
|
|
361
363
|
* [Campaigns](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/campaigns_v4.html)
|
|
362
364
|
* [Ad Groups](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/ad_groups_v4.html)
|
|
363
|
-
* [Ads
|
|
365
|
+
* [Ads](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/ads_v4.html)
|
|
366
|
+
* [Ad Creatives](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/ad_creatives_v4.html)
|
|
367
|
+
* [Forecast](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/forecast.html)
|
|
368
|
+
* [Recommendations](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/recommendations.html)
|
|
369
|
+
* [Budget Rules](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/budget_rules.html)
|
|
370
|
+
* [Optimization Rules](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/optimization_rules.html)
|
|
371
|
+
* [Targeting Categories](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/targeting_categories.html)
|
|
372
|
+
* [Migration](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/migration.html)
|
|
373
|
+
|
|
374
|
+
> Most 4.0 routes take a versioned media type and the service routes on it. With `application/json` they answer `404 Could not find resource`, which reads like a missing route but is only the wrong media type. This affects forecasts, budget recommendations, optimization rules, migrations, insights, negative brand recommendations and the collection creatives.
|
|
364
375
|
|
|
365
376
|
### [Modules Available Sponsored Display](https://python-amazon-ad-api.readthedocs.io/en/latest/sd.html)
|
|
366
377
|
|
|
@@ -315,24 +315,35 @@ Warning: the campaign, ad group and product ad operations are deprecated in favo
|
|
|
315
315
|
* [Ad Groups (deprecated)](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/ad_groups.html)
|
|
316
316
|
* [Keywords](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/keywords.html)
|
|
317
317
|
* [Negative Keywords](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/negative_keywords.html)
|
|
318
|
+
* [Keywords Recommendations](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/keywords_recommendations.html)
|
|
318
319
|
* [Product Targeting](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/product_targeting.html)
|
|
319
320
|
* [Negative Product Targeting](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/negative_product_targeting.html)
|
|
320
321
|
* [Targeting Recommendations](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/targeting_recommendations.html)
|
|
321
322
|
* [Bid Recommendations](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/bid_recommendations.html)
|
|
323
|
+
* [Benchmarks](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/benchmarks.html)
|
|
322
324
|
* [Stores](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/stores.html)
|
|
323
325
|
* [Landing Page Asins](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/landing_page_asins.html)
|
|
324
326
|
* [Media](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/media.html)
|
|
325
327
|
* [Brands](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/brands.html)
|
|
326
|
-
* [Moderation](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/moderation.html)
|
|
327
|
-
* [Reports](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/reports.html)
|
|
328
|
-
* [Snapshots](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/snapshots.html)
|
|
329
328
|
* [Themes](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/themes.html)
|
|
329
|
+
* [Reports](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/reports.html)
|
|
330
330
|
|
|
331
331
|
### [Modules Available Sponsored Brands 4.0](https://python-amazon-ad-api.readthedocs.io/en/latest/sb_v4.html)
|
|
332
332
|
|
|
333
|
+
> The 4.0 contract is fully covered: every operation is implemented except the campaign moderation route, which the service answers with a router `404`, and the report download, which resolves through the shared `_download` helper.
|
|
334
|
+
|
|
333
335
|
* [Campaigns](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/campaigns_v4.html)
|
|
334
336
|
* [Ad Groups](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/ad_groups_v4.html)
|
|
335
|
-
* [Ads
|
|
337
|
+
* [Ads](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/ads_v4.html)
|
|
338
|
+
* [Ad Creatives](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/ad_creatives_v4.html)
|
|
339
|
+
* [Forecast](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/forecast.html)
|
|
340
|
+
* [Recommendations](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/recommendations.html)
|
|
341
|
+
* [Budget Rules](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/budget_rules.html)
|
|
342
|
+
* [Optimization Rules](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/optimization_rules.html)
|
|
343
|
+
* [Targeting Categories](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/targeting_categories.html)
|
|
344
|
+
* [Migration](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/migration.html)
|
|
345
|
+
|
|
346
|
+
> Most 4.0 routes take a versioned media type and the service routes on it. With `application/json` they answer `404 Could not find resource`, which reads like a missing route but is only the wrong media type. This affects forecasts, budget recommendations, optimization rules, migrations, insights, negative brand recommendations and the collection creatives.
|
|
336
347
|
|
|
337
348
|
### [Modules Available Sponsored Display](https://python-amazon-ad-api.readthedocs.io/en/latest/sd.html)
|
|
338
349
|
|
|
@@ -77,6 +77,34 @@ class CampaignsV4(Client):
|
|
|
77
77
|
|
|
78
78
|
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
|
|
79
79
|
|
|
80
|
+
@sp_endpoint('/sb/campaigns/insights', method='POST')
|
|
81
|
+
def get_campaign_insights(self, version: int = 4, **kwargs) -> ApiResponse:
|
|
82
|
+
"""
|
|
83
|
+
Gets insights for campaign ad groups.
|
|
84
|
+
|
|
85
|
+
Request Body [Required]
|
|
86
|
+
| **adGroups** (array): [required] One entry per ad group.
|
|
87
|
+
| **adFormat** (string): [required] Ad format of the ad group.
|
|
88
|
+
| **keywords** (array): [optional] Each entry needs
|
|
89
|
+
``keywordText``, ``matchType`` and ``bid``.
|
|
90
|
+
|
|
91
|
+
Returns:
|
|
92
|
+
| ApiResponse, ``200``.
|
|
93
|
+
|
|
94
|
+
.. note::
|
|
95
|
+
This route takes ``application/vnd.sbinsights.v4+json``, not the
|
|
96
|
+
campaigns media type. With ``application/json`` it answers ``404
|
|
97
|
+
Could not find resource``, so the versioned type is what routes it.
|
|
98
|
+
|
|
99
|
+
.. note::
|
|
100
|
+
An empty body answers ``400`` naming ``adGroups``, which is the only
|
|
101
|
+
required member.
|
|
102
|
+
"""
|
|
103
|
+
json_version = 'application/vnd.sbinsights.v' + str(version) + "+json"
|
|
104
|
+
headers = {'Accept': json_version}
|
|
105
|
+
|
|
106
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
|
|
107
|
+
|
|
80
108
|
@sp_endpoint('/sb/v4/campaigns/list', method='POST')
|
|
81
109
|
def list_campaigns(self, version: int = 4, **kwargs) -> ApiResponse:
|
|
82
110
|
"""
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/targeting_categories.py
RENAMED
|
@@ -67,6 +67,29 @@ class TargetingCategories(Client):
|
|
|
67
67
|
params=kwargs,
|
|
68
68
|
headers={'Accept': self._MEDIA, 'Content-Type': self._MEDIA})
|
|
69
69
|
|
|
70
|
+
@sp_endpoint('/sb/negativeTargets/brands/recommendations', method='GET')
|
|
71
|
+
def list_negative_brand_recommendations(self, **kwargs) -> ApiResponse:
|
|
72
|
+
"""
|
|
73
|
+
Gets brand recommendations for negative targeting.
|
|
74
|
+
|
|
75
|
+
Keyword Args
|
|
76
|
+
| query **nextToken** (string): [optional] Pagination token.
|
|
77
|
+
|
|
78
|
+
Returns:
|
|
79
|
+
| ApiResponse, ``200``, with brands under ``brands``, each carrying
|
|
80
|
+
``brandRefinementId`` and ``name``.
|
|
81
|
+
|
|
82
|
+
Example::
|
|
83
|
+
|
|
84
|
+
{"brands": [{"brandRefinementId": "19897490031", "name": "YEYIAN"}]}
|
|
85
|
+
|
|
86
|
+
.. note::
|
|
87
|
+
Lives here because it shares this class media type. It is the one
|
|
88
|
+
route in this class that is not about the category tree.
|
|
89
|
+
"""
|
|
90
|
+
return self._request(kwargs.pop('path'), params=kwargs,
|
|
91
|
+
headers={'Accept': self._MEDIA, 'Content-Type': self._MEDIA})
|
|
92
|
+
|
|
70
93
|
@sp_endpoint('/sb/targets/products/count', method='POST')
|
|
71
94
|
def get_product_count(self, category, **kwargs) -> ApiResponse:
|
|
72
95
|
"""
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import functools
|
|
1
2
|
from io import BytesIO
|
|
2
3
|
from typing import TypeVar
|
|
3
4
|
|
|
@@ -17,6 +18,7 @@ T = TypeVar("T")
|
|
|
17
18
|
|
|
18
19
|
def sp_endpoint(path, method="GET"):
|
|
19
20
|
def decorator(function: T) -> T:
|
|
21
|
+
@functools.wraps(function)
|
|
20
22
|
def wrapper(*args, **kwargs):
|
|
21
23
|
kwargs.update({"path": path, "method": method})
|
|
22
24
|
return function(*args, **kwargs)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.1.9"
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/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.1.
|
|
3
|
+
Version: 1.1.9
|
|
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
|
|
@@ -343,24 +343,35 @@ Warning: the campaign, ad group and product ad operations are deprecated in favo
|
|
|
343
343
|
* [Ad Groups (deprecated)](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/ad_groups.html)
|
|
344
344
|
* [Keywords](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/keywords.html)
|
|
345
345
|
* [Negative Keywords](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/negative_keywords.html)
|
|
346
|
+
* [Keywords Recommendations](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/keywords_recommendations.html)
|
|
346
347
|
* [Product Targeting](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/product_targeting.html)
|
|
347
348
|
* [Negative Product Targeting](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/negative_product_targeting.html)
|
|
348
349
|
* [Targeting Recommendations](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/targeting_recommendations.html)
|
|
349
350
|
* [Bid Recommendations](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/bid_recommendations.html)
|
|
351
|
+
* [Benchmarks](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/benchmarks.html)
|
|
350
352
|
* [Stores](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/stores.html)
|
|
351
353
|
* [Landing Page Asins](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/landing_page_asins.html)
|
|
352
354
|
* [Media](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/media.html)
|
|
353
355
|
* [Brands](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/brands.html)
|
|
354
|
-
* [Moderation](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/moderation.html)
|
|
355
|
-
* [Reports](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/reports.html)
|
|
356
|
-
* [Snapshots](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/snapshots.html)
|
|
357
356
|
* [Themes](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/themes.html)
|
|
357
|
+
* [Reports](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/reports.html)
|
|
358
358
|
|
|
359
359
|
### [Modules Available Sponsored Brands 4.0](https://python-amazon-ad-api.readthedocs.io/en/latest/sb_v4.html)
|
|
360
360
|
|
|
361
|
+
> The 4.0 contract is fully covered: every operation is implemented except the campaign moderation route, which the service answers with a router `404`, and the report download, which resolves through the shared `_download` helper.
|
|
362
|
+
|
|
361
363
|
* [Campaigns](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/campaigns_v4.html)
|
|
362
364
|
* [Ad Groups](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/ad_groups_v4.html)
|
|
363
|
-
* [Ads
|
|
365
|
+
* [Ads](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/ads_v4.html)
|
|
366
|
+
* [Ad Creatives](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/ad_creatives_v4.html)
|
|
367
|
+
* [Forecast](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/forecast.html)
|
|
368
|
+
* [Recommendations](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/recommendations.html)
|
|
369
|
+
* [Budget Rules](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/budget_rules.html)
|
|
370
|
+
* [Optimization Rules](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/optimization_rules.html)
|
|
371
|
+
* [Targeting Categories](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/targeting_categories.html)
|
|
372
|
+
* [Migration](https://python-amazon-ad-api.readthedocs.io/en/latest/sb/migration.html)
|
|
373
|
+
|
|
374
|
+
> Most 4.0 routes take a versioned media type and the service routes on it. With `application/json` they answer `404 Could not find resource`, which reads like a missing route but is only the wrong media type. This affects forecasts, budget recommendations, optimization rules, migrations, insights, negative brand recommendations and the collection creatives.
|
|
364
375
|
|
|
365
376
|
### [Modules Available Sponsored Display](https://python-amazon-ad-api.readthedocs.io/en/latest/sd.html)
|
|
366
377
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.1.7"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/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.1.7 → python_amazon_ad_api-1.1.9}/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
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/keywords_recommendations.py
RENAMED
|
File without changes
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/landing_page_asins.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/negative_keywords.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sb/optimization_rules.py
RENAMED
|
File without changes
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/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.1.7 → python_amazon_ad_api-1.1.9}/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.1.7 → python_amazon_ad_api-1.1.9}/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.1.7 → python_amazon_ad_api-1.1.9}/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.1.7 → python_amazon_ad_api-1.1.9}/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.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sd/targeting_recommendations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/bid_recommendations_v3.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/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.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/campaign_negative_targets.py
RENAMED
|
File without changes
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/campaigns_budget_usage.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/campaings_optimization.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/negative_keywords_v3.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/sp/product_recommendations.py
RENAMED
|
File without changes
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/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
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/api/validation_configurations.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/ad_api/auth/access_token_client.py
RENAMED
|
File without changes
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/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.1.7 → python_amazon_ad_api-1.1.9}/ad_api/base/credential_provider.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/python_amazon_ad_api.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{python_amazon_ad_api-1.1.7 → python_amazon_ad_api-1.1.9}/python_amazon_ad_api.egg-info/requires.txt
RENAMED
|
File without changes
|
|
File without changes
|