python-amazon-ad-api 1.0.2__py3-none-any.whl → 1.0.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,6 +7,7 @@ class AdGroupsV3(Client):
7
7
  """
8
8
 
9
9
  @sp_endpoint("/sp/adGroups", method="POST")
10
+ @Utils.deprecated
10
11
  def create_ad_groups(self, version: int = 3, prefer: bool = False, **kwargs) -> ApiResponse:
11
12
  r"""
12
13
  Creates one or more ad groups.
@@ -31,6 +32,7 @@ class AdGroupsV3(Client):
31
32
  return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
32
33
 
33
34
  @sp_endpoint("/sp/adGroups", method="PUT")
35
+ @Utils.deprecated
34
36
  def edit_ad_groups(self, version: int = 3, prefer: bool = False, **kwargs) -> ApiResponse:
35
37
  r"""
36
38
  Creates one or more ad groups.
@@ -55,6 +57,7 @@ class AdGroupsV3(Client):
55
57
  return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
56
58
 
57
59
  @sp_endpoint("/sp/adGroups/delete", method="POST")
60
+ @Utils.deprecated
58
61
  def delete_ad_groups(self, version: int = 3, **kwargs) -> ApiResponse:
59
62
  """
60
63
  Deletes Sponsored Products ad groups by changing it's state to "ARCHIVED".
@@ -74,6 +77,7 @@ class AdGroupsV3(Client):
74
77
  return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
75
78
 
76
79
  @sp_endpoint("/sp/adGroups/list", method="POST")
80
+ @Utils.deprecated
77
81
  def list_ad_groups(self, version: int = 3, **kwargs) -> ApiResponse:
78
82
  """
79
83
  Lists Sponsored Products campaigns.
@@ -7,6 +7,7 @@ class CampaignsV3(Client):
7
7
  """
8
8
 
9
9
  @sp_endpoint('/sp/campaigns', method='POST')
10
+ @Utils.deprecated
10
11
  def create_campaigns(self, version: int = 3, prefer: bool = False, **kwargs) -> ApiResponse:
11
12
  r"""
12
13
  create_campaigns(body: (dict, str, list)) -> ApiResponse
@@ -39,6 +40,7 @@ class CampaignsV3(Client):
39
40
  return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
40
41
 
41
42
  @sp_endpoint('/sp/campaigns', method='PUT')
43
+ @Utils.deprecated
42
44
  def edit_campaigns(self, version: int = 3, prefer: bool = False, **kwargs) -> ApiResponse:
43
45
  r"""
44
46
  edit_campaigns(body: (dict, str, list)) -> ApiResponse
@@ -101,6 +103,7 @@ class CampaignsV3(Client):
101
103
  )
102
104
 
103
105
  @sp_endpoint('/sp/campaigns/delete', method='POST')
106
+ @Utils.deprecated
104
107
  def delete_campaigns(self, version: int = 3, **kwargs) -> ApiResponse:
105
108
  r"""
106
109
  delete_campaigns(body: (dict, str, list)) -> ApiResponse
@@ -7,6 +7,7 @@ class ProductAdsV3(Client):
7
7
  """
8
8
 
9
9
  @sp_endpoint('/sp/productAds/list', method='POST')
10
+ @Utils.deprecated
10
11
  def list_product_ads(self, version: int = 3, **kwargs) -> ApiResponse:
11
12
  r"""
12
13
  Lists Sponsored Products Ads.
@@ -32,6 +33,7 @@ class ProductAdsV3(Client):
32
33
  return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
33
34
 
34
35
  @sp_endpoint('/sp/productAds', method='POST')
36
+ @Utils.deprecated
35
37
  def create_product_ads(self, version: int = 3, prefer: bool = False, **kwargs) -> ApiResponse:
36
38
  r"""
37
39
  Create one or more SP Product Ads.
@@ -61,6 +63,7 @@ class ProductAdsV3(Client):
61
63
  return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
62
64
 
63
65
  @sp_endpoint('/sp/productAds', method='PUT')
66
+ @Utils.deprecated
64
67
  def edit_product_ads(self, version: int = 3, prefer: bool = False, **kwargs) -> ApiResponse:
65
68
  r"""
66
69
  Updates one or more product ads specified by identifier.
@@ -87,6 +90,7 @@ class ProductAdsV3(Client):
87
90
  return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
88
91
 
89
92
  @sp_endpoint('/sp/productAds/delete', method='POST')
93
+ @Utils.deprecated
90
94
  def delete_product_ads(self, version: int = 3, **kwargs) -> ApiResponse:
91
95
  r"""
92
96
  Delete one or multiple sponsored product ads.
@@ -3,6 +3,7 @@ from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse, Uti
3
3
 
4
4
  class TargetsV3(Client):
5
5
  @sp_endpoint('/sp/targets/list', method='POST')
6
+ @Utils.deprecated
6
7
  def list_product_targets(self, version: int = 3, **kwargs) -> ApiResponse:
7
8
  r"""
8
9
  Listing product targets.
@@ -18,6 +19,7 @@ class TargetsV3(Client):
18
19
  return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
19
20
 
20
21
  @sp_endpoint('/sp/targets', method='POST')
22
+ @Utils.deprecated
21
23
  def create_product_targets(self, version: int = 3, prefer: bool = False, **kwargs) -> ApiResponse:
22
24
  r"""
23
25
  Creating product targets.
@@ -46,6 +48,7 @@ class TargetsV3(Client):
46
48
  return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
47
49
 
48
50
  @sp_endpoint('/sp/targets', method='PUT')
51
+ @Utils.deprecated
49
52
  def edit_product_targets(self, version: int = 3, prefer: bool = False, **kwargs) -> ApiResponse:
50
53
  r"""
51
54
  Updating product targets.
@@ -72,6 +75,7 @@ class TargetsV3(Client):
72
75
  return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
73
76
 
74
77
  @sp_endpoint('/sp/targets/delete', method='POST')
78
+ @Utils.deprecated
75
79
  def delete_product_targets(self, version: int = 3, **kwargs) -> ApiResponse:
76
80
  r"""
77
81
  Deleting product targets
ad_api/api/v1/__init__.py CHANGED
@@ -1,9 +1,11 @@
1
1
  from .campaigns import Campaigns
2
2
  from .ad_groups import AdGroups
3
3
  from .ads import Ads
4
+ from .targets import Targets
4
5
 
5
6
  __all__ = [
6
7
  "Campaigns",
7
8
  "AdGroups",
8
9
  "Ads",
10
+ "Targets",
9
11
  ]
@@ -0,0 +1,205 @@
1
+ from ad_api.base import Client, sp_endpoint, ApiResponse, Utils
2
+
3
+
4
+ class Targets(Client):
5
+ r"""
6
+ Targets(account='default', marketplace: Marketplaces = Marketplaces.EU, credentials=None, debug=False)
7
+
8
+ Amazon Ads API v1 - unified Targets endpoints
9
+
10
+ The v1 API is not split by product: every call goes to the same resource
11
+ (``/adsApi/v1/...``) and the product is selected in the request body via
12
+ ``adProductFilter``.
13
+
14
+ """
15
+
16
+ @sp_endpoint('/adsApi/v1/query/targets', method='POST')
17
+ def query_targets(self, **kwargs) -> ApiResponse:
18
+ r"""
19
+ query_targets(body: dict) -> ApiResponse
20
+
21
+ Amazon Ads API v1 - Query Targets (operationId: QueryTarget)
22
+
23
+ Request Body [Required]
24
+ | **adProductFilter** (dict) : [required]
25
+ | **include** (list<AdProduct>) : Enum [ AMAZON_DSP, SPONSORED_BRANDS, SPONSORED_DISPLAY, SPONSORED_PRODUCTS, SPONSORED_TELEVISION ]
26
+ | **targetIdFilter** (dict) [optional]
27
+ | **include** (list<string>) : Target identifiers
28
+ | **adGroupIdFilter** (dict) [optional]
29
+ | **include** (list<string>) : Ad group identifiers
30
+ | **campaignIdFilter** (dict) [optional]
31
+ | **include** (list<string>) : Campaign identifiers
32
+ | **keywordFilter** (dict) [optional]
33
+ | **include** (list<string>) : Keyword texts
34
+ | **queryTermMatchType** (string) : [required] Enum [ BROAD_MATCH, EXACT_MATCH ]
35
+ | **productIdFilter** (dict) [optional]
36
+ | **include** (list<string>) : Product identifiers
37
+ | **queryTermMatchType** (string) : [required] Enum [ BROAD_MATCH, EXACT_MATCH ]
38
+ | **matchTypeFilter** (dict) [optional]
39
+ | **include** (list<MatchType>) : Enum [ BROAD, EXACT, INTERESTED_AUDIENCE, KEYWORDS_CLOSE_MATCH, KEYWORDS_LOOSE_MATCH, KEYWORDS_RELATED_TO_GIFTS, KEYWORDS_RELATED_TO_PEER_BRANDS_PRODUCT_CATEGORY, KEYWORDS_RELATED_TO_PRIME_DAY, KEYWORDS_RELATED_TO_YOUR_BRAND, KEYWORDS_RELATED_TO_YOUR_LANDING_PAGES, KEYWORDS_RELATED_TO_YOUR_PRODUCT_CATEGORY, PHRASE, PRODUCTS_SIMILAR_TO_ADVERTISED_PRODUCTS, PRODUCT_COMPLEMENTS, PRODUCT_EXACT, PRODUCT_REMARKETING, PRODUCT_SIMILAR, PRODUCT_SUBSTITUTES ]
40
+ | **negativeFilter** (dict) [optional]
41
+ | **include** (list<boolean>) : Keep only negative or non-negative targets
42
+ | **targetTypeFilter** (dict) [optional]
43
+ | **include** (list<TargetType>) : Enum [ AD_INITIATION, AD_PLAYER_SIZE, APP, AUDIENCE, BRAND_SAFETY_CATEGORY, BRAND_SAFETY_TIER, CONTENT_CATEGORY, CONTENT_GENRE, CONTENT_INSTREAM_POSITION, CONTENT_OUTSTREAM_POSITION, CONTENT_RATING, DAYPART, DEVICE, DOMAIN, FOLD_POSITION, INVENTORY_SOURCE, KEYWORD, LOCATION, NATIVE_CONTENT_POSITION, PLACEMENT_TYPE, PRODUCT, PRODUCT_AUDIENCE, PRODUCT_CATEGORY, SKIPPABILITY, THEME, THIRD_PARTY, VIDEO_AD_FORMAT, VIDEO_CONTENT_DURATION ]
44
+ | **nativeLanguageLocaleFilter** (dict) [optional]
45
+ | **include** (list<string>) : Locales of the unlocalized keyword text
46
+ | **retailerIdFilter** (dict) [optional]
47
+ | **include** (list<string>) : Retailer identifiers
48
+ | **stateFilter** (dict) [optional]
49
+ | **include** (list<State>) : Enum [ ARCHIVED, DRAFT, ENABLED, PAUSED ]
50
+ | **marketplaceScopeFilter** (dict) [optional]
51
+ | **include** (list<MarketplaceScope>) : Enum [ GLOBAL, SINGLE_MARKETPLACE ]
52
+ | **retailerScopeFilter** (dict) [optional]
53
+ | **include** (list<RetailerScope>) : Enum [ AMAZON, OTHER_RETAILERS ]
54
+ | **maxResults** (int) [optional] Maximum number of records in the response
55
+ | **nextToken** (string) [optional] Token to navigate to the next page
56
+
57
+ Headers
58
+ | **Amazon-Ads-AccountId** (string) [optional] Advertiser account identifier
59
+
60
+ Returns
61
+ ApiResponse
62
+ | **targets** (list), **nextToken** (string)
63
+
64
+ """
65
+ schema_version = 'application/json'
66
+ headers = {"Accept": schema_version, "Content-Type": schema_version}
67
+ return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
68
+
69
+ @sp_endpoint('/adsApi/v1/create/targets', method='POST')
70
+ def create_targets(self, **kwargs) -> ApiResponse:
71
+ r"""
72
+ create_targets(body: dict) -> ApiResponse
73
+
74
+ Amazon Ads API v1 - Create Targets (operationId: CreateTarget)
75
+
76
+ Request Body [Required]
77
+ | **targets** (list<dict>) : [required] One or more target objects.
78
+ Each object requires **adProduct**, **negative**, **state**,
79
+ **targetDetails** and **targetType**.
80
+
81
+ Target fields
82
+ | **adProduct** (string) : [required] Enum [ AMAZON_DSP, SPONSORED_BRANDS, SPONSORED_DISPLAY, SPONSORED_PRODUCTS, SPONSORED_TELEVISION ]
83
+ | **negative** (boolean) : [required] True for a negative target
84
+ | **state** (string) : [required] Enum [ DRAFT, ENABLED, PAUSED ]
85
+ | **targetDetails** (dict) : [required] Exactly one of the variants below
86
+ | **targetType** (string) : [required] Enum [ AD_INITIATION, AD_PLAYER_SIZE, APP, AUDIENCE, BRAND_SAFETY_CATEGORY, BRAND_SAFETY_TIER, CONTENT_CATEGORY, CONTENT_GENRE, CONTENT_INSTREAM_POSITION, CONTENT_OUTSTREAM_POSITION, CONTENT_RATING, DAYPART, DEVICE, DOMAIN, FOLD_POSITION, INVENTORY_SOURCE, KEYWORD, LOCATION, NATIVE_CONTENT_POSITION, PLACEMENT_TYPE, PRODUCT, PRODUCT_AUDIENCE, PRODUCT_CATEGORY, SKIPPABILITY, THEME, THIRD_PARTY, VIDEO_AD_FORMAT, VIDEO_CONTENT_DURATION ]
87
+ | **adGroupId** (string) [optional] Identifier of the parent ad group
88
+ | **campaignId** (string) [optional] Identifier of the parent campaign
89
+ | **bid** (dict) [optional]
90
+ | **bid** (number) : Bid value
91
+ | **marketplaceSettings** (list<dict>) : Per marketplace bids
92
+ | **marketplaceScope** (string) : Enum [ GLOBAL, SINGLE_MARKETPLACE ]
93
+ | **marketplaces** (list<dict>) : Marketplaces where the target runs
94
+ | **marketplaceConfigurations** (list<dict>) : Each with **marketplace** and **overrides** (both required)
95
+ | **tags** (list<dict>) : Each with **key** and **value** (both required)
96
+
97
+ targetDetails variants (use exactly one key, matching ``targetType``)
98
+ | **keywordTarget** : requires ``keyword`` + ``matchType`` (Enum BROAD, EXACT, PHRASE);
99
+ optional ``nativeLanguageKeyword``, ``nativeLanguageLocale``
100
+ | **productTarget** : requires ``matchType``, ``product``, ``productIdType``
101
+ | **productCategoryTarget** : requires ``productCategoryRefinement``;
102
+ optional ``matchType``, ``productGenreRefinement``
103
+ | **productAudienceTarget** : requires ``asin``, ``event``, ``lookback``, ``matchType``
104
+ | **audienceTarget** : requires ``audienceId``; optional ``acrossGroupOperator``, ``groupId``, ``inGroupOperator``
105
+ | **locationTarget** : requires ``locationId``; optional ``locationIdResolved``
106
+ | **domainTarget** : requires ``domainTargetDetails``, ``domainTargetType``
107
+ | **appTarget** : requires ``appId``, ``appType``
108
+ | **deviceTarget** : requires ``deviceType``; optional ``deviceOrientation``, ``mobileDevice``, ``mobileEnvironment``, ``mobileOs``
109
+ | **dayPartTarget** : requires ``dayOfWeek``, ``timeOfDay``
110
+ | **contentCategoryTarget** : requires ``contentCategoryId``
111
+ | **contentGenreTarget** : requires ``contentGenre``
112
+ | **contentRatingTarget** : requires ``contentRatingType``, ``contentRatingTypeDetails``
113
+ | **brandSafetyTierTarget** : requires ``brandSafetyTier``
114
+ | **brandSafetyCategoryTarget** : requires ``brandSafetyCategory``
115
+ | **inventorySourceTarget** : requires ``inventorySourceId``, ``inventorySourceType``
116
+ | **adInitiationTarget** : requires ``videoInitiationType``
117
+ | **adPlayerSizeTarget** : requires ``adPlayerSize``
118
+ | **videoAdFormatTarget** : requires ``videoAdFormat``
119
+ | **thirdPartyTarget** : requires ``thirdPartyTargetDetails``, ``thirdPartyTargetType``
120
+ | **themeTarget** : requires ``matchType``
121
+ | **contentInstreamPositionTarget** : requires ``instreamPosition``
122
+ | **contentOutstreamPositionTarget** : requires ``outstreamPosition``
123
+ | **videoContentDurationTarget** : requires ``duration``
124
+ | **foldPositionTarget** : requires ``foldPosition``
125
+ | **nativeContentPositionTarget** : requires ``nativePosition``
126
+ | **placementTypeTarget** : requires ``placementType``
127
+ | **skippabilityTarget** : requires ``skippabilityType``
128
+
129
+ Example of the envelope::
130
+
131
+ {"targetDetails": {"keywordTarget": {"keyword": "running shoes", "matchType": "EXACT"}}}
132
+
133
+ Headers
134
+ | **Amazon-Ads-AccountId** (string) [optional] Advertiser account identifier
135
+
136
+ Returns
137
+ ApiResponse
138
+ | **207** MultiStatus response with partial errors. Inspect the payload
139
+ to know which targets were created and which failed.
140
+
141
+ """
142
+ schema_version = 'application/json'
143
+ headers = {"Accept": schema_version, "Content-Type": schema_version}
144
+ return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
145
+
146
+ @sp_endpoint('/adsApi/v1/update/targets', method='POST')
147
+ def update_targets(self, **kwargs) -> ApiResponse:
148
+ r"""
149
+ update_targets(body: dict) -> ApiResponse
150
+
151
+ Amazon Ads API v1 - Update Targets (operationId: UpdateTarget)
152
+
153
+ Request Body [Required]
154
+ | **targets** (list<dict>) : [required] One or more target objects.
155
+ Each object requires **targetId** and may include any of the fields below.
156
+
157
+ Target fields [optional except targetId]
158
+ | **targetId** (string) : [required] The identifier of the target to update.
159
+ | **state** (string) : Enum [ DRAFT, ENABLED, PAUSED ]
160
+ | **bid** (dict) : ``bid`` (number) and ``marketplaceSettings``
161
+ | **campaignId** (string)
162
+ | **marketplaceScope** (string) : Enum [ GLOBAL, SINGLE_MARKETPLACE ]
163
+ | **marketplaces** (list<dict>)
164
+ | **marketplaceConfigurations** (list<dict>)
165
+ | **tags** (list<dict>)
166
+
167
+ Note: ``targetDetails``, ``targetType``, ``negative`` and ``adProduct``
168
+ are not part of the update body. To change what a target points at,
169
+ delete it and create a new one.
170
+
171
+ Headers
172
+ | **Amazon-Ads-AccountId** (string) [optional] Advertiser account identifier
173
+
174
+ Returns
175
+ ApiResponse
176
+ | **207** MultiStatus response with partial errors. Inspect the payload
177
+ to know which targets were updated and which failed.
178
+
179
+ """
180
+ schema_version = 'application/json'
181
+ headers = {"Accept": schema_version, "Content-Type": schema_version}
182
+ return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
183
+
184
+ @sp_endpoint('/adsApi/v1/delete/targets', method='POST')
185
+ def delete_targets(self, **kwargs) -> ApiResponse:
186
+ r"""
187
+ delete_targets(body: dict) -> ApiResponse
188
+
189
+ Amazon Ads API v1 - Delete Targets (operationId: DeleteTarget)
190
+
191
+ Request Body [Required]
192
+ | **targetIds** (list<string>) : [required] Target identifiers to delete
193
+
194
+ Headers
195
+ | **Amazon-Ads-AccountId** (string) [optional] Advertiser account identifier
196
+
197
+ Returns
198
+ ApiResponse
199
+ | **207** MultiStatus response with partial errors. Inspect the payload
200
+ to know which target ids succeeded and which failed.
201
+
202
+ """
203
+ schema_version = 'application/json'
204
+ headers = {"Accept": schema_version, "Content-Type": schema_version}
205
+ return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
ad_api/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "1.0.2"
1
+ __version__ = "1.0.4"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-amazon-ad-api
3
- Version: 1.0.2
3
+ Version: 1.0.4
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
@@ -305,6 +305,8 @@ The v1 API lives under `/adsApi/v1/` and is **not** split by product: every call
305
305
 
306
306
  * [Campaigns](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/campaigns.html#ad_api.api.v1.Campaigns.Campaigns.query_campaigns)
307
307
  * [Ad Groups](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/ad_groups.html#ad_api.api.v1.AdGroups.AdGroups.query_ad_groups)
308
+ * [Ads](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/ads.html#ad_api.api.v1.Ads.Ads.query_ads)
309
+ * [Targets](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/targets.html#ad_api.api.v1.Targets.Targets.query_targets)
308
310
 
309
311
 
310
312
  ### [Modules Available Sponsored Products 2.0](https://python-amazon-ad-api.readthedocs.io/en/latest/sp_v2.html)
@@ -1,5 +1,5 @@
1
1
  ad_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- ad_api/version.py,sha256=Y3LSfRioSl2xch70pq_ULlvyECXyEtN3krVaWeGyaxk,22
2
+ ad_api/version.py,sha256=acuR_XSJzp4OrQ5T8-Ac5gYe48mUwObuwjRmisFmZ7k,22
3
3
  ad_api/api/__init__.py,sha256=E9c0ZyK4vplMlKKEBF8CV5u7P4uSkTMSQsAuSQu5bfY,1514
4
4
  ad_api/api/account.py,sha256=CmOvCfHoPWaeTUJvtB0pNoNulZVSz4oMMCKIpVTpHos,2931
5
5
  ad_api/api/advertising_test_account.py,sha256=btOVbdk2tBDmyKSJaQbcIFyzNG8KFJVUmTe4p9xMhpU,1507
@@ -72,7 +72,7 @@ ad_api/api/sd/snapshots.py,sha256=XJ5s0Hd74KpNllIrb4-31_Wh_sLyQTnpZb7eHW-LRHc,22
72
72
  ad_api/api/sd/targeting_recommendations.py,sha256=FmuJxGS5GIXod8iFTS1Ryls_-QFTdf8B3uWL_nne80U,3668
73
73
  ad_api/api/sp/__init__.py,sha256=79oQXcmZIb21Y8PApxQdPkzHVyBE1xmuDFsh8MMl8fo,2452
74
74
  ad_api/api/sp/ad_groups.py,sha256=5UIzpc9t1fzUFR4ycVHKOtaR2dkZu40jJJcIbjOZzrE,7926
75
- ad_api/api/sp/ad_groups_v3.py,sha256=YthtbEk-B9wCxHHrZ5G6vV4m1QLTrW_ceJnMvwand-Y,5206
75
+ ad_api/api/sp/ad_groups_v3.py,sha256=UCK0es4KvWcYMtlO01pel52T2ZBaWDgW0iGKYueK7Rg,5294
76
76
  ad_api/api/sp/bid_recommendations.py,sha256=vEcW6ZRYAzsRPYraJk0syc3JWK8uq0sIjZY8-KOaXas,3337
77
77
  ad_api/api/sp/bid_recommendations_v3.py,sha256=gcbPuunUo29SCynBwpvC0F-F3YE4_oNcFLCIOPXotmI,5366
78
78
  ad_api/api/sp/budget_initial_recommendation.py,sha256=xYmrbJ8AFxc4ineLMrQ6cT9kx2PQnalDXElntxAuobA,529
@@ -85,7 +85,7 @@ ad_api/api/sp/campaign_negative_keywords_v3.py,sha256=3y5PHA_r6GtBAFbAXiGH5q6ByW
85
85
  ad_api/api/sp/campaign_negative_targets.py,sha256=5fzt3wU1omOrGELtwSs4-R1BCcaT8z5H0StjJfCuc9k,8310
86
86
  ad_api/api/sp/campaigns.py,sha256=5N8wsB4-tgbOE61f4aNY9VZRz8EZE6zJ8pyLVcSxU14,21790
87
87
  ad_api/api/sp/campaigns_budget_usage.py,sha256=njn-Wd3xvbJbL5HMSNQK4RyxCgAflqUgVFo7XhlXmB8,862
88
- ad_api/api/sp/campaigns_v3.py,sha256=enxuRqoyBeidwR9J5VcPHFDRbiy2G6EEQqKRyaJPI5I,7831
88
+ ad_api/api/sp/campaigns_v3.py,sha256=hT8vVmsvOxllgi9f069q4ha_Dy9Dfm12l2x0vXFvke4,7897
89
89
  ad_api/api/sp/campaings_optimization.py,sha256=CrH9x-KNTsRc56tn_TCDxDTZIF9pYdqDT48LTepys2w,6673
90
90
  ad_api/api/sp/keywords.py,sha256=DR_y4BUrL2P_lSqw3RwHmIBFI634ekbCaEHDuDqyqwI,7851
91
91
  ad_api/api/sp/keywords_v3.py,sha256=tvpNY0rzCeLVNGLdN2NNa8Y9DyAH9D3GQUnaEieYpXE,3850
@@ -94,19 +94,20 @@ ad_api/api/sp/negative_keywords_v3.py,sha256=EwCTmQZTUvzaXSdbhOvM4WFJTpl6BsbeJ8D
94
94
  ad_api/api/sp/negative_product_targeting.py,sha256=Ti7diEJPxF0rqf2h4HtPXFuR4JyYa4ZwUvG6S3-91sk,7706
95
95
  ad_api/api/sp/negative_product_targeting_v3.py,sha256=aAVwLialz5qxO1FfYwA1kJ8I6A8wB14-GBHB-i2tOEQ,6647
96
96
  ad_api/api/sp/product_ads.py,sha256=n8S91HYNckZkKhjqUOmVdgmAY5InarL8NYFygcqZK5Y,6525
97
- ad_api/api/sp/product_ads_v3.py,sha256=hjuZewphw77gvtQhCYVxNtswsUsuKhFxI17EESwvdz0,5887
97
+ ad_api/api/sp/product_ads_v3.py,sha256=_-KgP2qbsSLrPlI9N6-v3OeiS30bXp0vLs9vzA1EfjI,5975
98
98
  ad_api/api/sp/product_recommendations.py,sha256=vXoZIRqcFc5bo9MUprArKndxcEYe_PuySUnw634Ed4U,499
99
99
  ad_api/api/sp/product_targeting.py,sha256=oULvw43bzYD2beR-WboRF0gP6WI-dB0a1Xy5jEp3oY8,15950
100
- ad_api/api/sp/product_targeting_v3.py,sha256=g_VgQlJON3GxQmIRuxKu-x0gkuevsL3j2xzQ9YRmgso,9479
100
+ ad_api/api/sp/product_targeting_v3.py,sha256=vk_T0piHzP5uwt8HSHm5hFKP_0sXJD8nbyooPtM-BTs,9567
101
101
  ad_api/api/sp/ranked_keywords_recommendations.py,sha256=hVB3-pF0RDgX4ZeeblFk0F_pnRxM3JmulNGdIiKSzI0,13092
102
102
  ad_api/api/sp/reports.py,sha256=OMNHL86doMZpbcLixIN1GLf6Mtm_KRxxxs6_vuzMLbU,5381
103
103
  ad_api/api/sp/schedule_based_bid_optimization.py,sha256=G8VkS7iP1lTIAxZgbfRCLz8njw1DkVH9HQPOZ63pWNU,2371
104
104
  ad_api/api/sp/snapshots.py,sha256=Pl72FpsTRhgA-FQYapTCAqhKLioUMn_Bdru502TS_RE,2969
105
105
  ad_api/api/sp/suggested_keywords.py,sha256=cmE8W6q9bIBVt9Zuy1bZKOWErvcIuOyCt8-XAgrhnu8,3553
106
- ad_api/api/v1/__init__.py,sha256=Z6lR-p-gu-OQbdLOM_Zr-zfuvXN-O8fGYXvnmobCCMs,145
106
+ ad_api/api/v1/__init__.py,sha256=F2CvJLkWZDG_ykzVnivBb10CvmSWw2lVf-7dy5oH8LM,189
107
107
  ad_api/api/v1/ad_groups.py,sha256=pQhCVdve_O6kbL4mBA5bxxhKcKNl_BKqa7z9DvrxwaM,12626
108
108
  ad_api/api/v1/ads.py,sha256=YwZGQ-4WuYquleELtwRI9L8w0fGw7FBRejQE-tZ5hKY,7941
109
109
  ad_api/api/v1/campaigns.py,sha256=u5PlvoAhgVhMxbCvYkPgqtbYK3TXXcb7TMie0Qjrgwc,9573
110
+ ad_api/api/v1/targets.py,sha256=a4BzPjg9m1JJwqphhpQOFkNIcgCw7v4-K0sNzOihMZI,12355
110
111
  ad_api/auth/__init__.py,sha256=B_yKdmsHENQaKfMFAIcSxQqG4aBUmNBm5orKIMUYObk,229
111
112
  ad_api/auth/access_token_client.py,sha256=_V0FGXRmqRNMb1fz1AGqnR6gYr_WqFkMTbK1os0yoIk,2983
112
113
  ad_api/auth/access_token_response.py,sha256=zlkfo3oWjkhAqNJIUOM0S4g_FvpgDa3IwNLxlREM89A,275
@@ -122,8 +123,8 @@ ad_api/base/exceptions.py,sha256=9D3M40ZIlLS0fA-aQh1BTWPOW-Nvf0tRhbA85jFnDJ4,438
122
123
  ad_api/base/helpers.py,sha256=naUkDLK466x_OBCPXxMlzRc2nPC6iQ6H_vyUji0MJJ0,2282
123
124
  ad_api/base/marketplaces.py,sha256=44lvCcluXNpqTprWQ80e3weSQmQbJoWL-WDSOWVbCyQ,4657
124
125
  ad_api/base/utils.py,sha256=_qnCBOvyJTLgaZjJzUWTi38GGLHkQszXELs79133Rb4,5618
125
- python_amazon_ad_api-1.0.2.dist-info/licenses/LICENSE,sha256=h2rpqlmmLy-4l1tN6KpWAFxx1JEMYeEFrMrZUbx_B_o,1105
126
- python_amazon_ad_api-1.0.2.dist-info/METADATA,sha256=0nzo2nhaWDo6X5cyMsKkS-6dbMIK7DWfgV0U7lVuCHQ,20342
127
- python_amazon_ad_api-1.0.2.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
128
- python_amazon_ad_api-1.0.2.dist-info/top_level.txt,sha256=nN9twUos-8pkP514ZwpvRU9YL9L2XyQyHsMQFfudGTU,7
129
- python_amazon_ad_api-1.0.2.dist-info/RECORD,,
126
+ python_amazon_ad_api-1.0.4.dist-info/licenses/LICENSE,sha256=h2rpqlmmLy-4l1tN6KpWAFxx1JEMYeEFrMrZUbx_B_o,1105
127
+ python_amazon_ad_api-1.0.4.dist-info/METADATA,sha256=yi3Le2QPCEx7Vk4ZPSYgUWa3D6_ES_CgbWUkvpI1gYE,20576
128
+ python_amazon_ad_api-1.0.4.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
129
+ python_amazon_ad_api-1.0.4.dist-info/top_level.txt,sha256=nN9twUos-8pkP514ZwpvRU9YL9L2XyQyHsMQFfudGTU,7
130
+ python_amazon_ad_api-1.0.4.dist-info/RECORD,,