python-amazon-ad-api 1.2.6__py3-none-any.whl → 1.2.7__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.
@@ -1,4 +1,4 @@
1
- from ad_api.base import Client, sp_endpoint, ApiResponse, Utils
1
+ from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse, Utils
2
2
 
3
3
 
4
4
  class CreativeAssets(Client):
@@ -121,3 +121,71 @@ class CreativeAssets(Client):
121
121
 
122
122
  """
123
123
  return self._request(kwargs.pop('path'), params=kwargs)
124
+
125
+ @sp_endpoint('/assets/batchRegister', method='POST')
126
+ def batch_register_assets(self, **kwargs) -> ApiResponse:
127
+ r"""
128
+ Registers several uploaded assets in one call.
129
+
130
+ This route is asynchronous. It answers a ``requestId`` and nothing else,
131
+ so the result has to be read with ``get_batch_register_status``.
132
+
133
+ Request Body (required)
134
+
135
+ - ``assetDetailsList`` (array): between 1 and 50 entries, each one shaped
136
+ like the body ``register_asset`` accepts:
137
+
138
+ - ``url`` (string): where the file sits, from ``upload_asset``.
139
+ - ``name`` (string): the name to give the asset.
140
+ - ``assetType`` (string): ``IMAGE``.
141
+ - ``assetSubTypeList`` (array): ``LOGO``, ``PRODUCT_IMAGE``,
142
+ ``AUTHOR_IMAGE``, ``LIFESTYLE_IMAGE`` or ``OTHER_IMAGE``.
143
+ - ``asinList`` (array): tags the asset with ASINs, so it can be found
144
+ by product later.
145
+ - ``associatedPrograms`` (array): up to 100 entries, one per program
146
+ the asset belongs to.
147
+ - ``otherMetadata`` (object): free key-value pairs of strings.
148
+ - ``tagList`` (array): tags for the asset.
149
+ - ``versionInfo`` (object): ``linkedAssetId`` and ``versionNotes``, to
150
+ register this file as a new version of an existing asset.
151
+ - ``skipAssetSubTypesDetection`` (boolean): keep the subtype as given
152
+ instead of letting the service reclassify it.
153
+
154
+ - ``batchRegistrationContext`` (object): the context applied to the whole
155
+ batch.
156
+
157
+ Returns
158
+ ApiResponse with ``requestId``, which ``get_batch_register_status``
159
+ takes.
160
+
161
+ """
162
+ headers = {
163
+ 'Accept': 'application/vnd.assetsbatchregisterresponse.v1+json',
164
+ 'Content-Type': 'application/vnd.assetsbatchregisterrequest.v1+json',
165
+ }
166
+ body = Utils.convert_body(kwargs.pop('body'), wrap=False)
167
+ return self._request(kwargs.pop('path'), data=body, params=kwargs, headers=headers)
168
+
169
+ @sp_endpoint('/assets/batchRegister/{}', method='GET')
170
+ def get_batch_register_status(self, requestId, **kwargs) -> ApiResponse:
171
+ r"""
172
+ Reports whether a batch registration has finished.
173
+
174
+ The ``requestId`` comes from ``batch_register_assets``. An id the service
175
+ does not know answers ``400`` with
176
+ ``AARServiceBadRequestException ... No request exists for the requestId``,
177
+ not a ``404``: the route answers either way, and the message says the id
178
+ was not found.
179
+
180
+ Path
181
+
182
+ - ``requestId`` (string): required. The identifier the batch call
183
+ returned.
184
+
185
+ Returns
186
+ ApiResponse with the state of that batch.
187
+
188
+ """
189
+ headers = {'Accept': 'application/vnd.creativeassetsgetbatchregisterresponse.v3+json'}
190
+ return self._request(fill_query_params(kwargs.pop('path'), requestId),
191
+ params=kwargs, headers=headers)
ad_api/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "1.2.6"
1
+ __version__ = "1.2.7"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-amazon-ad-api
3
- Version: 1.2.6
3
+ Version: 1.2.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
@@ -268,7 +268,7 @@ curl \
268
268
  * [Billing](https://python-amazon-ad-api.readthedocs.io/en/latest/api/billing.html)
269
269
  * [Audiences](https://python-amazon-ad-api.readthedocs.io/en/latest/api/audiences.html)
270
270
  * [Change History](https://python-amazon-ad-api.readthedocs.io/en/latest/api/history.html)
271
- * [Creative Assets open Beta](https://python-amazon-ad-api.readthedocs.io/en/latest/api//creative_assets.html)
271
+ * [Creative Assets](https://python-amazon-ad-api.readthedocs.io/en/latest/api/creative_assets.html)
272
272
  * [Elegibility](https://python-amazon-ad-api.readthedocs.io/en/latest/api/eligibility.html)
273
273
  * [Insights](https://python-amazon-ad-api.readthedocs.io/en/latest/api/insights.html)
274
274
  * [Localization](https://python-amazon-ad-api.readthedocs.io/en/latest/api/localization.html)
@@ -1,5 +1,5 @@
1
1
  ad_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- ad_api/version.py,sha256=vMQK58X8_YZGKzRm0ThvPAKFtpfyejGmUnDrY9RQ13w,22
2
+ ad_api/version.py,sha256=49prCLbE3fFzLfxem5rd2dr1iV4_L-bN0N4J7jxU5yA,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
@@ -7,7 +7,7 @@ ad_api/api/attribution.py,sha256=vHmXP0wDqhEqaS1q3tJyERxJ1JwntqoEb73LVXNHxR0,512
7
7
  ad_api/api/audiences.py,sha256=TQPt4avswFdCodNfQGDGxcJ2mY2LP2BfYvjxP6oJ0qY,3491
8
8
  ad_api/api/billing.py,sha256=84UhquQRAYGle7sGccP6mgsypLw_c_gJi3qe1uYLmYk,4364
9
9
  ad_api/api/brand_metrics.py,sha256=IlOlVJ2t6cL5DA49RaM3M1AW_3KFEyal08e0ZcnLdVE,6036
10
- ad_api/api/creative_assets.py,sha256=EzxrQbxMe5Y1b6qONJ3zi8cwoorCZAqSmHhiug6d87E,6671
10
+ ad_api/api/creative_assets.py,sha256=u0bCnioUFpGOQO5Z_MO0ErSLcAgSZB5GWM5wm2oW6L0,9687
11
11
  ad_api/api/eligibility.py,sha256=xbHMNxpRqToQDlG8y7nhhSr55ZZIJ_ZA304rmWa7Jx0,3680
12
12
  ad_api/api/exports.py,sha256=Y59C99axCAltMgu3gbfzdnoLKjNTsJ7s1z18yzcxzls,2788
13
13
  ad_api/api/history.py,sha256=tB4XawmQNxDMolaubDUjuIHtrYXRFuhOr4WCB8OJ1t8,2568
@@ -108,8 +108,8 @@ ad_api/base/exceptions.py,sha256=9D3M40ZIlLS0fA-aQh1BTWPOW-Nvf0tRhbA85jFnDJ4,438
108
108
  ad_api/base/helpers.py,sha256=UK7Q13vZ0mNdF54xzfzoGDn2O_cd2yPrK2X4rOzC41c,2334
109
109
  ad_api/base/marketplaces.py,sha256=44lvCcluXNpqTprWQ80e3weSQmQbJoWL-WDSOWVbCyQ,4657
110
110
  ad_api/base/utils.py,sha256=_qnCBOvyJTLgaZjJzUWTi38GGLHkQszXELs79133Rb4,5618
111
- python_amazon_ad_api-1.2.6.dist-info/licenses/LICENSE,sha256=h2rpqlmmLy-4l1tN6KpWAFxx1JEMYeEFrMrZUbx_B_o,1105
112
- python_amazon_ad_api-1.2.6.dist-info/METADATA,sha256=Exh1vIVjTvA9mkFreWZ4j3M8taTveXGf53Ir1luQrl8,21469
113
- python_amazon_ad_api-1.2.6.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
114
- python_amazon_ad_api-1.2.6.dist-info/top_level.txt,sha256=nN9twUos-8pkP514ZwpvRU9YL9L2XyQyHsMQFfudGTU,7
115
- python_amazon_ad_api-1.2.6.dist-info/RECORD,,
111
+ python_amazon_ad_api-1.2.7.dist-info/licenses/LICENSE,sha256=h2rpqlmmLy-4l1tN6KpWAFxx1JEMYeEFrMrZUbx_B_o,1105
112
+ python_amazon_ad_api-1.2.7.dist-info/METADATA,sha256=eyFJj-IHXJy_NCd7MJW1Chqqyu3iGvC_vHT8Yum1GUw,21458
113
+ python_amazon_ad_api-1.2.7.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
114
+ python_amazon_ad_api-1.2.7.dist-info/top_level.txt,sha256=nN9twUos-8pkP514ZwpvRU9YL9L2XyQyHsMQFfudGTU,7
115
+ python_amazon_ad_api-1.2.7.dist-info/RECORD,,