python-amazon-ad-api 0.6.6__tar.gz → 0.6.7__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-0.6.6 → python_amazon_ad_api-0.6.7}/PKG-INFO +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/brand_metrics.py +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/dsp/reports.py +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/bid_recommendations.py +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/campaigns.py +2 -2
- python_amazon_ad_api-0.6.7/ad_api/api/sb/forecast.py +7 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/keywords.py +3 -3
- python_amazon_ad_api-0.6.7/ad_api/api/sb/keywords_recommendations.py +7 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/landing_page_asins.py +1 -1
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/media.py +4 -4
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/negative_product_targeting.py +4 -4
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/product_targeting.py +4 -4
- python_amazon_ad_api-0.6.7/ad_api/api/sb/recommendations.py +7 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/reports.py +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/snapshots.py +1 -1
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/stores.py +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/targeting_recommendations.py +4 -4
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sd/ad_groups.py +3 -3
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sd/bid_recommendations.py +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sd/campaigns.py +3 -3
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sd/creatives.py +1 -1
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sd/negative_product_targeting.py +3 -3
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sd/product_ads.py +3 -3
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sd/product_targeting.py +3 -3
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sd/reports.py +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sd/snapshots.py +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sd/targeting_recommendations.py +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/ad_groups.py +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/bid_recommendations.py +3 -3
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/bid_recommendations_v3.py +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/campaign_negative_keywords.py +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/keywords.py +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/negative_keywords.py +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/negative_product_targeting.py +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/product_ads.py +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/product_recommendations.py +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/product_targeting.py +6 -6
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/reports.py +1 -1
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/snapshots.py +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/suggested_keywords.py +2 -2
- python_amazon_ad_api-0.6.7/ad_api/version.py +1 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/python_amazon_ad_api.egg-info/PKG-INFO +2 -2
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/python_amazon_ad_api.egg-info/requires.txt +1 -1
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/setup.cfg +1 -1
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/setup.py +2 -2
- python_amazon_ad_api-0.6.6/ad_api/api/sb/forecast.py +0 -7
- python_amazon_ad_api-0.6.6/ad_api/api/sb/keywords_recommendations.py +0 -7
- python_amazon_ad_api-0.6.6/ad_api/api/sb/recommendations.py +0 -7
- python_amazon_ad_api-0.6.6/ad_api/version.py +0 -1
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/LICENSE +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/README.md +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/__init__.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/__init__.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/account.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/advertising_test_account.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/attribution.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/audiences.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/billing.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/creative_assets.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/dsp/__init__.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/dsp/access_token_client.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/dsp/client.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/dsp/credential_provider.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/eligibility.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/exports.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/history.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/insights.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/invoices.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/localization.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/manager_accounts.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/metadata.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/portfolios.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/portfolios_v3.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/profiles.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/recommendations.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/reports.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/__init__.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/ad_creatives_v4.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/ad_groups.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/ad_groups_v4.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/ads_v4.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/benchmarks.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/brands.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/campaigns_v4.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/moderation.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/negative_keywords.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/themes.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sd/__init__.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sd/brand_safety.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sd/budget_rules.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sd/campaigns_budget_usage.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sd/forecast.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sd/recommendations.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/__init__.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/ad_groups_v3.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/budget_initial_recommendation.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/budget_recommendations.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/budget_rules.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/budget_rules_recommendations.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/campaign_consolidated_recommendations.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/campaign_negative_keywords_v3.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/campaign_negative_targets.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/campaigns.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/campaigns_budget_usage.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/campaigns_v3.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/campaings_optimization.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/keywords_v3.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/negative_keywords_v3.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/negative_product_targeting_v3.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/product_ads_v3.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/product_targeting_v3.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/ranked_keywords_recommendations.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/schedule_based_bid_optimization.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/stores.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/stream.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/validation_configurations.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/auth/__init__.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/auth/access_token_client.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/auth/access_token_response.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/auth/credentials.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/auth/exceptions.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/base/__init__.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/base/api_response.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/base/base_client.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/base/client.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/base/config.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/base/credential_provider.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/base/exceptions.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/base/helpers.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/base/marketplaces.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/base/utils.py +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/pyproject.toml +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/python_amazon_ad_api.egg-info/SOURCES.txt +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/python_amazon_ad_api.egg-info/dependency_links.txt +0 -0
- {python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/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: 0.6.
|
|
3
|
+
Version: 0.6.7
|
|
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
|
|
@@ -14,7 +14,7 @@ Description-Content-Type: text/markdown
|
|
|
14
14
|
License-File: LICENSE
|
|
15
15
|
Requires-Dist: requests<2.33.0,>=2.27.1
|
|
16
16
|
Requires-Dist: six<1.18,>=1.16
|
|
17
|
-
Requires-Dist: cachetools<6.
|
|
17
|
+
Requires-Dist: cachetools<6.3,>=5.0
|
|
18
18
|
Requires-Dist: pycryptodome<3.24,>=3.13
|
|
19
19
|
Requires-Dist: pytz<2026.0,>=2021.3
|
|
20
20
|
Requires-Dist: confuse<2.1,>=1.7
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class BrandMetrics(Client):
|
|
@@ -26,7 +26,7 @@ class BrandMetrics(Client):
|
|
|
26
26
|
ApiResponse
|
|
27
27
|
|
|
28
28
|
"""
|
|
29
|
-
return self._request(fill_query_params(kwargs.pop('path')), data=kwargs.pop('body'), params=kwargs)
|
|
29
|
+
return self._request(fill_query_params(kwargs.pop('path')), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
30
30
|
|
|
31
31
|
@sp_endpoint('/insights/brandMetrics/report/{}', method='GET')
|
|
32
32
|
def get_report(self, reportId, **kwargs) -> ApiResponse:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from ad_api.api.dsp.client import DspClient as Client
|
|
2
|
-
from ad_api.base import sp_endpoint, fill_query_params, ApiResponse
|
|
2
|
+
from ad_api.base import sp_endpoint, fill_query_params, ApiResponse, Utils
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
class Reports(Client):
|
|
@@ -35,7 +35,7 @@ class Reports(Client):
|
|
|
35
35
|
ApiResponse
|
|
36
36
|
"""
|
|
37
37
|
path = fill_query_params(kwargs.pop('path'), dspAccountId)
|
|
38
|
-
return self._request(path, data=kwargs.pop('body'), headers={'Accept': accept}, params=kwargs)
|
|
38
|
+
return self._request(path, data=Utils.convert_body(kwargs.pop('body'), False), headers={'Accept': accept}, params=kwargs)
|
|
39
39
|
|
|
40
40
|
@sp_endpoint('/accounts/{}/dsp/reports/{}', method='GET')
|
|
41
41
|
def get_report(self, dspAccountId, reportId, accept='application/vnd.dspgetreports.v3+json', **kwargs) -> ApiResponse:
|
{python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/bid_recommendations.py
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class BidRecommendations(Client):
|
|
@@ -32,4 +32,4 @@ class BidRecommendations(Client):
|
|
|
32
32
|
|
|
33
33
|
"""
|
|
34
34
|
|
|
35
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
35
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
@@ -86,7 +86,7 @@ class Campaigns(Client):
|
|
|
86
86
|
|
|
87
87
|
**match_type** (NegativeMatchType): [optional] The negative match type. For more information, see negative keyword match types in the Amazon Advertising support center. Enum:[ negativeExact, negativePhrase ]
|
|
88
88
|
"""
|
|
89
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
89
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
90
90
|
|
|
91
91
|
@sp_endpoint('/sb/campaigns', method='PUT')
|
|
92
92
|
@Utils.deprecated
|
|
@@ -113,7 +113,7 @@ class Campaigns(Client):
|
|
|
113
113
|
| **end_date** (EndDate > string) [optional] The YYYYMMDD end date of the campaign. Must be greater than the value specified in the startDate field. If this property is not included in the request, the endDate value is not updated. If set to null, endDate is deleted from the draft campaign. [nullable: true] [pattern: ^\\d{8}$]
|
|
114
114
|
|
|
115
115
|
"""
|
|
116
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
116
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
117
117
|
|
|
118
118
|
@sp_endpoint('/sb/campaigns/{}', method='GET')
|
|
119
119
|
def get_campaign(self, campaignId, **kwargs) -> ApiResponse:
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, ApiResponse, Utils
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class Forecast(Client):
|
|
5
|
+
@sp_endpoint('/sb/campaigns/shopperSegments/forecast', method='POST')
|
|
6
|
+
def list_forecast(self, **kwargs) -> ApiResponse:
|
|
7
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class Keywords(Client):
|
|
@@ -50,7 +50,7 @@ class Keywords(Client):
|
|
|
50
50
|
Returns:
|
|
51
51
|
| ApiResponse
|
|
52
52
|
"""
|
|
53
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
53
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
54
54
|
|
|
55
55
|
@sp_endpoint('/sb/keywords', method='POST')
|
|
56
56
|
def create_keywords(self, **kwargs) -> ApiResponse:
|
|
@@ -75,7 +75,7 @@ class Keywords(Client):
|
|
|
75
75
|
Returns:
|
|
76
76
|
| ApiResponse
|
|
77
77
|
"""
|
|
78
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
78
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
79
79
|
|
|
80
80
|
@sp_endpoint('/sb/keywords/{}', method='GET')
|
|
81
81
|
def get_keyword(self, keywordId, **kwargs) -> ApiResponse:
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, ApiResponse, Utils
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class KeywordsRecommendations(Client):
|
|
5
|
+
@sp_endpoint('/sb/recommendations/keyword', method='POST')
|
|
6
|
+
def list_keywords_recommendations(self, **kwargs) -> ApiResponse:
|
|
7
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class Media(Client):
|
|
@@ -23,12 +23,12 @@ class Media(Client):
|
|
|
23
23
|
| ApiResponse
|
|
24
24
|
|
|
25
25
|
"""
|
|
26
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
26
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
27
27
|
|
|
28
28
|
@sp_endpoint('/media/complete', method='PUT')
|
|
29
29
|
def complete_media(self, **kwargs) -> ApiResponse:
|
|
30
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
30
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
31
31
|
|
|
32
32
|
@sp_endpoint('/media/describe', method='GET')
|
|
33
33
|
def describe_media(self, **kwargs) -> ApiResponse:
|
|
34
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
34
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class NegativeTargets(Client):
|
|
@@ -28,7 +28,7 @@ class NegativeTargets(Client):
|
|
|
28
28
|
Returns:
|
|
29
29
|
ApiResponse
|
|
30
30
|
"""
|
|
31
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
31
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
32
32
|
|
|
33
33
|
@sp_endpoint('/sb/negativeTargets', method='PUT')
|
|
34
34
|
def edit_negative_targets(self, **kwargs) -> ApiResponse:
|
|
@@ -43,7 +43,7 @@ class NegativeTargets(Client):
|
|
|
43
43
|
Returns:
|
|
44
44
|
ApiResponse
|
|
45
45
|
"""
|
|
46
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
46
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
47
47
|
|
|
48
48
|
@sp_endpoint('/sb/negativeTargets', method='POST')
|
|
49
49
|
def create_negative_targets(self, **kwargs) -> ApiResponse:
|
|
@@ -63,7 +63,7 @@ class NegativeTargets(Client):
|
|
|
63
63
|
Returns:
|
|
64
64
|
ApiResponse
|
|
65
65
|
"""
|
|
66
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
66
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
67
67
|
|
|
68
68
|
@sp_endpoint('/sb/negativeTargets/{}', method='GET')
|
|
69
69
|
def get_negative_target(self, negativeTargetId, **kwargs) -> ApiResponse:
|
{python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/product_targeting.py
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class Targets(Client):
|
|
@@ -31,7 +31,7 @@ class Targets(Client):
|
|
|
31
31
|
"""
|
|
32
32
|
json_version = 'application/vnd.sblisttargetsresponse.v' + str(version) + "+json"
|
|
33
33
|
headers = {'Accept': json_version}
|
|
34
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs, headers=headers)
|
|
34
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
|
|
35
35
|
|
|
36
36
|
@sp_endpoint('/sb/targets', method='PUT')
|
|
37
37
|
def edit_products_targets(self, **kwargs) -> ApiResponse:
|
|
@@ -49,7 +49,7 @@ class Targets(Client):
|
|
|
49
49
|
ApiResponse
|
|
50
50
|
|
|
51
51
|
"""
|
|
52
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
52
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
53
53
|
|
|
54
54
|
@sp_endpoint('/sb/targets', method='POST')
|
|
55
55
|
def create_products_targets(self, **kwargs) -> ApiResponse:
|
|
@@ -65,7 +65,7 @@ class Targets(Client):
|
|
|
65
65
|
Returns:
|
|
66
66
|
ApiResponse
|
|
67
67
|
"""
|
|
68
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
68
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
69
69
|
|
|
70
70
|
@sp_endpoint('/sb/targets/{}', method='GET')
|
|
71
71
|
def get_products_target(self, targetId, **kwargs) -> ApiResponse:
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, ApiResponse, Utils
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class Recommendations(Client):
|
|
5
|
+
@sp_endpoint('/sb/recommendations/creative/headline', method='POST')
|
|
6
|
+
def list_recommendations(self, **kwargs) -> ApiResponse:
|
|
7
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class Reports(Client):
|
|
@@ -27,7 +27,7 @@ class Reports(Client):
|
|
|
27
27
|
ApiResponse
|
|
28
28
|
|
|
29
29
|
"""
|
|
30
|
-
return self._request(fill_query_params(kwargs.pop('path'), recordType), data=kwargs.pop('body'), params=kwargs)
|
|
30
|
+
return self._request(fill_query_params(kwargs.pop('path'), recordType), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
31
31
|
|
|
32
32
|
@sp_endpoint('/v2/reports/{}', method='GET')
|
|
33
33
|
def get_report(self, reportId, **kwargs) -> ApiResponse:
|
|
@@ -14,7 +14,7 @@ class Snapshots(Client):
|
|
|
14
14
|
Returns:
|
|
15
15
|
ApiResponse
|
|
16
16
|
"""
|
|
17
|
-
return self._request(fill_query_params(kwargs.pop('path'), recordType), data=kwargs.pop('body'), params=kwargs)
|
|
17
|
+
return self._request(fill_query_params(kwargs.pop('path'), recordType), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
18
18
|
|
|
19
19
|
@sp_endpoint('/v2/hsa/snapshots/{}', method='GET')
|
|
20
20
|
@Utils.deprecated
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class Stores(Client):
|
|
@@ -41,4 +41,4 @@ class Stores(Client):
|
|
|
41
41
|
@sp_endpoint('/stores/assets', method='POST')
|
|
42
42
|
def create_asset(self, contentDisposition, contentType, **kwargs) -> ApiResponse:
|
|
43
43
|
headers = {'Content-Disposition': contentDisposition, 'Content-Type': contentType}
|
|
44
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs, headers=headers)
|
|
44
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
|
{python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sb/targeting_recommendations.py
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class TargetsRecommendations(Client):
|
|
@@ -21,7 +21,7 @@ class TargetsRecommendations(Client):
|
|
|
21
21
|
Returns:
|
|
22
22
|
ApiResponse
|
|
23
23
|
"""
|
|
24
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
24
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
25
25
|
|
|
26
26
|
@sp_endpoint('/sb/recommendations/targets/category', method='POST')
|
|
27
27
|
def list_category_targets(self, **kwargs) -> ApiResponse:
|
|
@@ -36,7 +36,7 @@ class TargetsRecommendations(Client):
|
|
|
36
36
|
Returns:
|
|
37
37
|
ApiResponse
|
|
38
38
|
"""
|
|
39
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
39
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
40
40
|
|
|
41
41
|
@sp_endpoint('/sb/recommendations/targets/brand', method='POST')
|
|
42
42
|
def list_brand_targets(self, **kwargs) -> ApiResponse:
|
|
@@ -52,4 +52,4 @@ class TargetsRecommendations(Client):
|
|
|
52
52
|
Returns:
|
|
53
53
|
ApiResponse
|
|
54
54
|
"""
|
|
55
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
55
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class AdGroups(Client):
|
|
@@ -49,7 +49,7 @@ class AdGroups(Client):
|
|
|
49
49
|
ApiResponse
|
|
50
50
|
|
|
51
51
|
"""
|
|
52
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
52
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
53
53
|
|
|
54
54
|
@sp_endpoint('/sd/adGroups', method='POST')
|
|
55
55
|
def create_ad_groups(self, **kwargs) -> ApiResponse:
|
|
@@ -71,7 +71,7 @@ class AdGroups(Client):
|
|
|
71
71
|
ApiResponse
|
|
72
72
|
|
|
73
73
|
"""
|
|
74
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
74
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
75
75
|
|
|
76
76
|
@sp_endpoint('/sd/adGroups/{}', method='GET')
|
|
77
77
|
def get_ad_group(self, adGroupId, **kwargs) -> ApiResponse:
|
{python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sd/bid_recommendations.py
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class BidRecommendations(Client):
|
|
@@ -88,4 +88,4 @@ class BidRecommendations(Client):
|
|
|
88
88
|
"""
|
|
89
89
|
contentType = 'application/vnd.sdtargetingrecommendations.v3.2+json'
|
|
90
90
|
headers = {'Content-Type': contentType}
|
|
91
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs, headers=headers)
|
|
91
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class Campaigns(Client):
|
|
@@ -53,7 +53,7 @@ class Campaigns(Client):
|
|
|
53
53
|
ApiResponse
|
|
54
54
|
|
|
55
55
|
"""
|
|
56
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
56
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
57
57
|
|
|
58
58
|
@sp_endpoint('/sd/campaigns', method='POST')
|
|
59
59
|
def create_campaigns(self, **kwargs) -> ApiResponse:
|
|
@@ -81,7 +81,7 @@ class Campaigns(Client):
|
|
|
81
81
|
ApiResponse
|
|
82
82
|
|
|
83
83
|
"""
|
|
84
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
84
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
85
85
|
|
|
86
86
|
@sp_endpoint('/sd/campaigns/{}', method='GET')
|
|
87
87
|
def get_campaign(self, campaignId, **kwargs) -> ApiResponse:
|
|
@@ -171,7 +171,7 @@ class Creatives(Client):
|
|
|
171
171
|
Returns
|
|
172
172
|
ApiResponse
|
|
173
173
|
"""
|
|
174
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
174
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
175
175
|
|
|
176
176
|
@sp_endpoint('/sd/moderation/creatives', method='GET')
|
|
177
177
|
def list_moderation_creatives(self, **kwargs) -> ApiResponse:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class NegativeTargets(Client):
|
|
@@ -49,7 +49,7 @@ class NegativeTargets(Client):
|
|
|
49
49
|
|
|
50
50
|
|
|
51
51
|
"""
|
|
52
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
52
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
53
53
|
|
|
54
54
|
@sp_endpoint('/sd/negativeTargets', method='POST')
|
|
55
55
|
def create_negative_targets(self, **kwargs) -> ApiResponse:
|
|
@@ -73,7 +73,7 @@ class NegativeTargets(Client):
|
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
"""
|
|
76
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
76
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
77
77
|
|
|
78
78
|
@sp_endpoint('/sd/negativeTargets/{}', method='GET')
|
|
79
79
|
def get_negative_target(self, targetId, **kwargs) -> ApiResponse:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class ProductAds(Client):
|
|
@@ -51,7 +51,7 @@ class ProductAds(Client):
|
|
|
51
51
|
ApiResponse
|
|
52
52
|
|
|
53
53
|
"""
|
|
54
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
54
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
55
55
|
|
|
56
56
|
@sp_endpoint('/sd/productAds', method='POST')
|
|
57
57
|
def create_product_ads(self, **kwargs) -> ApiResponse:
|
|
@@ -73,7 +73,7 @@ class ProductAds(Client):
|
|
|
73
73
|
ApiResponse
|
|
74
74
|
|
|
75
75
|
"""
|
|
76
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
76
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
77
77
|
|
|
78
78
|
@sp_endpoint('/sd/productAds/{}', method='GET')
|
|
79
79
|
def get_product_ad(self, adId, **kwargs) -> ApiResponse:
|
{python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sd/product_targeting.py
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class Targets(Client):
|
|
@@ -115,7 +115,7 @@ class Targets(Client):
|
|
|
115
115
|
|
|
116
116
|
|
|
117
117
|
"""
|
|
118
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
118
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
119
119
|
|
|
120
120
|
@sp_endpoint('/sd/targets', method='PUT')
|
|
121
121
|
def edit_products_targets(self, **kwargs) -> ApiResponse:
|
|
@@ -133,7 +133,7 @@ class Targets(Client):
|
|
|
133
133
|
ApiResponse
|
|
134
134
|
|
|
135
135
|
"""
|
|
136
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
136
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
137
137
|
|
|
138
138
|
@sp_endpoint('/sd/targets/{}', method='GET')
|
|
139
139
|
def get_products_target(self, targetId, **kwargs) -> ApiResponse:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class Reports(Client):
|
|
@@ -38,7 +38,7 @@ class Reports(Client):
|
|
|
38
38
|
ApiResponse
|
|
39
39
|
|
|
40
40
|
"""
|
|
41
|
-
return self._request(fill_query_params(kwargs.pop('path'), recordType), data=kwargs.pop('body'), params=kwargs)
|
|
41
|
+
return self._request(fill_query_params(kwargs.pop('path'), recordType), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
42
42
|
|
|
43
43
|
@sp_endpoint('/v2/reports/{}', method='GET')
|
|
44
44
|
def get_report(self, reportId, **kwargs) -> ApiResponse:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class Snapshots(Client):
|
|
@@ -13,7 +13,7 @@ class Snapshots(Client):
|
|
|
13
13
|
Returns:
|
|
14
14
|
ApiResponse
|
|
15
15
|
"""
|
|
16
|
-
return self._request(fill_query_params(kwargs.pop('path'), recordType), data=kwargs.pop('body'), params=kwargs)
|
|
16
|
+
return self._request(fill_query_params(kwargs.pop('path'), recordType), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
17
17
|
|
|
18
18
|
@sp_endpoint('/sd/snapshots/{}', method='GET')
|
|
19
19
|
def get_snapshot(self, snapshotId, **kwargs) -> ApiResponse:
|
{python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sd/targeting_recommendations.py
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class TargetsRecommendations(Client):
|
|
@@ -46,4 +46,4 @@ class TargetsRecommendations(Client):
|
|
|
46
46
|
"""
|
|
47
47
|
contentType = 'application/vnd.sdtargetingrecommendations.v3.1+json'
|
|
48
48
|
headers = {'Content-Type': contentType}
|
|
49
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs, headers=headers)
|
|
49
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
|
|
@@ -23,7 +23,7 @@ class AdGroups(Client):
|
|
|
23
23
|
ApiResponse
|
|
24
24
|
|
|
25
25
|
"""
|
|
26
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
26
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
27
27
|
|
|
28
28
|
@sp_endpoint('/v2/sp/adGroups', method='PUT')
|
|
29
29
|
@Utils.deprecated
|
|
@@ -45,7 +45,7 @@ class AdGroups(Client):
|
|
|
45
45
|
ApiResponse
|
|
46
46
|
|
|
47
47
|
"""
|
|
48
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
48
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
49
49
|
|
|
50
50
|
@sp_endpoint('/v2/sp/adGroups', method='GET')
|
|
51
51
|
@Utils.deprecated
|
{python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/bid_recommendations.py
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class BidRecommendations(Client):
|
|
@@ -55,7 +55,7 @@ class BidRecommendations(Client):
|
|
|
55
55
|
ApiResponse
|
|
56
56
|
|
|
57
57
|
"""
|
|
58
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
58
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
59
59
|
|
|
60
60
|
@sp_endpoint('/v2/sp/targets/bidRecommendations', method='POST')
|
|
61
61
|
def get_targets_bid_recommendations(self, **kwargs) -> ApiResponse:
|
|
@@ -78,4 +78,4 @@ class BidRecommendations(Client):
|
|
|
78
78
|
ApiResponse
|
|
79
79
|
|
|
80
80
|
"""
|
|
81
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
81
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
{python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/bid_recommendations_v3.py
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
|
|
1
|
+
from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse, Utils
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class BidRecommendationsV3(Client):
|
|
@@ -56,4 +56,4 @@ class BidRecommendationsV3(Client):
|
|
|
56
56
|
|
|
57
57
|
headers = {"Content-Type": json_version}
|
|
58
58
|
|
|
59
|
-
return self._request(fill_query_params(kwargs.pop('path')), data=kwargs.pop('body'), params=kwargs, headers=headers)
|
|
59
|
+
return self._request(fill_query_params(kwargs.pop('path')), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
|
|
@@ -132,7 +132,7 @@ class CampaignNegativeKeywords(Client):
|
|
|
132
132
|
ApiResponse
|
|
133
133
|
|
|
134
134
|
"""
|
|
135
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
135
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
136
136
|
|
|
137
137
|
@sp_endpoint('/v2/sp/campaignNegativeKeywords', method='PUT')
|
|
138
138
|
@Utils.deprecated
|
|
@@ -152,4 +152,4 @@ class CampaignNegativeKeywords(Client):
|
|
|
152
152
|
ApiResponse
|
|
153
153
|
|
|
154
154
|
"""
|
|
155
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
155
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
@@ -148,7 +148,7 @@ class Keywords(Client):
|
|
|
148
148
|
|
|
149
149
|
|
|
150
150
|
"""
|
|
151
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
151
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
152
152
|
|
|
153
153
|
@sp_endpoint('/v2/sp/keywords', method='PUT')
|
|
154
154
|
@Utils.deprecated
|
|
@@ -169,4 +169,4 @@ class Keywords(Client):
|
|
|
169
169
|
ApiResponse
|
|
170
170
|
|
|
171
171
|
"""
|
|
172
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
172
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
{python_amazon_ad_api-0.6.6 → python_amazon_ad_api-0.6.7}/ad_api/api/sp/negative_keywords.py
RENAMED
|
@@ -141,7 +141,7 @@ class NegativeKeywords(Client):
|
|
|
141
141
|
ApiResponse
|
|
142
142
|
|
|
143
143
|
"""
|
|
144
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
144
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
145
145
|
|
|
146
146
|
@sp_endpoint('/v2/sp/negativeKeywords', method='PUT')
|
|
147
147
|
@Utils.deprecated
|
|
@@ -161,4 +161,4 @@ class NegativeKeywords(Client):
|
|
|
161
161
|
ApiResponse
|
|
162
162
|
|
|
163
163
|
"""
|
|
164
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
164
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
@@ -26,7 +26,7 @@ class NegativeTargets(Client):
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
"""
|
|
29
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
29
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
30
30
|
|
|
31
31
|
@sp_endpoint('/v2/sp/negativeTargets', method='PUT')
|
|
32
32
|
@Utils.deprecated
|
|
@@ -52,7 +52,7 @@ class NegativeTargets(Client):
|
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
"""
|
|
55
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
55
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
56
56
|
|
|
57
57
|
@sp_endpoint('/v2/sp/negativeTargets', method='GET')
|
|
58
58
|
@Utils.deprecated
|
|
@@ -128,7 +128,7 @@ class ProductAds(Client):
|
|
|
128
128
|
ApiResponse
|
|
129
129
|
|
|
130
130
|
"""
|
|
131
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
131
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|
|
132
132
|
|
|
133
133
|
@sp_endpoint('/v2/sp/productAds', method='POST')
|
|
134
134
|
@Utils.deprecated
|
|
@@ -151,4 +151,4 @@ class ProductAds(Client):
|
|
|
151
151
|
ApiResponse
|
|
152
152
|
|
|
153
153
|
"""
|
|
154
|
-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
|
|
154
|
+
return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs)
|