python-amazon-ad-api 1.2.4__tar.gz → 1.2.6__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.
Files changed (124) hide show
  1. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/PKG-INFO +2 -2
  2. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/README.md +1 -1
  3. python_amazon_ad_api-1.2.6/ad_api/api/history.py +53 -0
  4. python_amazon_ad_api-1.2.6/ad_api/api/insights.py +52 -0
  5. python_amazon_ad_api-1.2.6/ad_api/version.py +1 -0
  6. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/python_amazon_ad_api.egg-info/PKG-INFO +2 -2
  7. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/setup.cfg +1 -1
  8. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/setup.py +1 -1
  9. python_amazon_ad_api-1.2.4/ad_api/api/history.py +0 -30
  10. python_amazon_ad_api-1.2.4/ad_api/api/insights.py +0 -42
  11. python_amazon_ad_api-1.2.4/ad_api/version.py +0 -1
  12. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/LICENSE +0 -0
  13. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/__init__.py +0 -0
  14. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/__init__.py +0 -0
  15. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/account.py +0 -0
  16. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/advertising_test_account.py +0 -0
  17. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/attribution.py +0 -0
  18. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/audiences.py +0 -0
  19. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/billing.py +0 -0
  20. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/brand_metrics.py +0 -0
  21. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/creative_assets.py +0 -0
  22. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/eligibility.py +0 -0
  23. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/exports.py +0 -0
  24. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/invoices.py +0 -0
  25. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/localization.py +0 -0
  26. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/manager_accounts.py +0 -0
  27. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/metadata.py +0 -0
  28. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/portfolios.py +0 -0
  29. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/portfolios_v3.py +0 -0
  30. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/profiles.py +0 -0
  31. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/recommendations.py +0 -0
  32. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/reports.py +0 -0
  33. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/__init__.py +0 -0
  34. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/ad_creatives_v4.py +0 -0
  35. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/ad_groups.py +0 -0
  36. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/ad_groups_v4.py +0 -0
  37. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/ads_v4.py +0 -0
  38. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/benchmarks.py +0 -0
  39. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/bid_recommendations.py +0 -0
  40. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/brands.py +0 -0
  41. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/budget_rules.py +0 -0
  42. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/campaigns.py +0 -0
  43. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/campaigns_v4.py +0 -0
  44. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/forecast.py +0 -0
  45. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/keywords.py +0 -0
  46. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/keywords_recommendations.py +0 -0
  47. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/landing_page_asins.py +0 -0
  48. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/media.py +0 -0
  49. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/migration.py +0 -0
  50. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/negative_keywords.py +0 -0
  51. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/negative_product_targeting.py +0 -0
  52. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/optimization_rules.py +0 -0
  53. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/product_targeting.py +0 -0
  54. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/recommendations.py +0 -0
  55. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/reports.py +0 -0
  56. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/stores.py +0 -0
  57. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/targeting_categories.py +0 -0
  58. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/targeting_recommendations.py +0 -0
  59. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sb/themes.py +0 -0
  60. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sd/__init__.py +0 -0
  61. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sd/ad_groups.py +0 -0
  62. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sd/bid_recommendations.py +0 -0
  63. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sd/brand_safety.py +0 -0
  64. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sd/budget_rules.py +0 -0
  65. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sd/campaigns.py +0 -0
  66. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sd/campaigns_budget_usage.py +0 -0
  67. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sd/creatives.py +0 -0
  68. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sd/forecast.py +0 -0
  69. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sd/negative_product_targeting.py +0 -0
  70. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sd/product_ads.py +0 -0
  71. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sd/product_targeting.py +0 -0
  72. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sd/recommendations.py +0 -0
  73. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sd/reports.py +0 -0
  74. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sd/snapshots.py +0 -0
  75. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sd/targeting_recommendations.py +0 -0
  76. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/__init__.py +0 -0
  77. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/ad_groups_v3.py +0 -0
  78. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/bid_recommendations_v3.py +0 -0
  79. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/budget_initial_recommendation.py +0 -0
  80. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/budget_recommendations.py +0 -0
  81. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/budget_rules.py +0 -0
  82. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/budget_rules_recommendations.py +0 -0
  83. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/campaign_consolidated_recommendations.py +0 -0
  84. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/campaign_negative_keywords_v3.py +0 -0
  85. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/campaign_negative_targets.py +0 -0
  86. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/campaigns_budget_usage.py +0 -0
  87. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/campaigns_v3.py +0 -0
  88. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/campaings_optimization.py +0 -0
  89. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/keywords_v3.py +0 -0
  90. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/negative_keywords_v3.py +0 -0
  91. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/negative_product_targeting_v3.py +0 -0
  92. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/product_ads_v3.py +0 -0
  93. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/product_recommendations.py +0 -0
  94. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/product_targeting_v3.py +0 -0
  95. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/ranked_keywords_recommendations.py +0 -0
  96. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/sp/schedule_based_bid_optimization.py +0 -0
  97. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/stores.py +0 -0
  98. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/stream.py +0 -0
  99. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/v1/__init__.py +0 -0
  100. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/v1/ad_groups.py +0 -0
  101. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/v1/ads.py +0 -0
  102. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/v1/campaigns.py +0 -0
  103. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/v1/targets.py +0 -0
  104. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/api/validation_configurations.py +0 -0
  105. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/auth/__init__.py +0 -0
  106. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/auth/access_token_client.py +0 -0
  107. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/auth/access_token_response.py +0 -0
  108. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/auth/credentials.py +0 -0
  109. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/auth/exceptions.py +0 -0
  110. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/base/__init__.py +0 -0
  111. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/base/api_response.py +0 -0
  112. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/base/base_client.py +0 -0
  113. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/base/client.py +0 -0
  114. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/base/config.py +0 -0
  115. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/base/credential_provider.py +0 -0
  116. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/base/exceptions.py +0 -0
  117. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/base/helpers.py +0 -0
  118. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/base/marketplaces.py +0 -0
  119. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/ad_api/base/utils.py +0 -0
  120. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/pyproject.toml +0 -0
  121. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/python_amazon_ad_api.egg-info/SOURCES.txt +0 -0
  122. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/python_amazon_ad_api.egg-info/dependency_links.txt +0 -0
  123. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/python_amazon_ad_api.egg-info/requires.txt +0 -0
  124. {python_amazon_ad_api-1.2.4 → python_amazon_ad_api-1.2.6}/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.2.4
3
+ Version: 1.2.6
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
@@ -267,7 +267,7 @@ curl \
267
267
  * [Invoices](https://python-amazon-ad-api.readthedocs.io/en/latest/api/invoices.html)
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
- * [Change History open Beta](https://python-amazon-ad-api.readthedocs.io/en/latest/api/history.html)
270
+ * [Change History](https://python-amazon-ad-api.readthedocs.io/en/latest/api/history.html)
271
271
  * [Creative Assets open Beta](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)
@@ -239,7 +239,7 @@ curl \
239
239
  * [Invoices](https://python-amazon-ad-api.readthedocs.io/en/latest/api/invoices.html)
240
240
  * [Billing](https://python-amazon-ad-api.readthedocs.io/en/latest/api/billing.html)
241
241
  * [Audiences](https://python-amazon-ad-api.readthedocs.io/en/latest/api/audiences.html)
242
- * [Change History open Beta](https://python-amazon-ad-api.readthedocs.io/en/latest/api/history.html)
242
+ * [Change History](https://python-amazon-ad-api.readthedocs.io/en/latest/api/history.html)
243
243
  * [Creative Assets open Beta](https://python-amazon-ad-api.readthedocs.io/en/latest/api//creative_assets.html)
244
244
  * [Elegibility](https://python-amazon-ad-api.readthedocs.io/en/latest/api/eligibility.html)
245
245
  * [Insights](https://python-amazon-ad-api.readthedocs.io/en/latest/api/insights.html)
@@ -0,0 +1,53 @@
1
+ from ad_api.base import Client, sp_endpoint, ApiResponse, Utils
2
+
3
+
4
+ class History(Client):
5
+ """ """
6
+
7
+ @sp_endpoint('/history', method='POST')
8
+ def get_history(self, version: str = "1.0", **kwargs) -> ApiResponse:
9
+ r"""
10
+ Returns the changes made to campaigns, ad groups, ads and the rest of the
11
+ entity tree, within a time range. Only events belonging to the
12
+ authenticated advertiser come back.
13
+
14
+ Keyword Args
15
+
16
+ - ``version`` (string): the ``Accept`` version, ``"1.0"`` by default.
17
+ Pass ``"1.1"`` to query the ``THEME`` event type, which the service
18
+ refuses at 1.0. The other six types work at either. [optional]
19
+
20
+ Request Body (required)
21
+
22
+ - ``fromDate`` (integer): epoch in **milliseconds**, not seconds.
23
+ - ``toDate`` (integer): epoch in milliseconds.
24
+ - ``eventTypes`` (object): one or more of ``AD``, ``AD_GROUP``,
25
+ ``CAMPAIGN``, ``KEYWORD``, ``NEGATIVE_KEYWORD``, ``PRODUCT_TARGETING``
26
+ and ``THEME``. Each carries an object, usually ``{}`` or
27
+ ``{"filters": [...]}``.
28
+ - ``count`` (integer): page size. Default 100, minimum 50, maximum 200.
29
+ - ``nextToken`` (string): token from a previous answer. Mutually
30
+ exclusive with ``pageOffset``.
31
+ - ``pageOffset`` (integer): alternative to ``nextToken``, up to 10000.
32
+ - ``sort`` (object): ``{"direction": "ASC"|"DESC", "key": "DATE"}``.
33
+
34
+ The field names are camelCase and the service rejects anything else: a
35
+ body written with ``from_date`` answers ``400`` naming ``fromDate`` as a
36
+ required field. The dates are counted back from the moment of the
37
+ request, so a window computed once and reused drifts out of range: the
38
+ service measures 90 days from its own clock, and a few seconds of drift
39
+ past the edge answers ``400 fromDate is more than 90 days ago``.
40
+
41
+ This route throttles. Seven calls within twelve seconds answered ``429``.
42
+
43
+ Returns
44
+ ApiResponse with ``events``, ``pageSize``, ``pageOffset``,
45
+ ``maxPageNumber`` and ``totalRecords``. An empty ``events`` with
46
+ ``totalRecords`` at ``0`` means the account saw no change in the
47
+ window, not that the call failed.
48
+
49
+ """
50
+ accept = 'application/vnd.historyresponse.v' + version + '+json'
51
+ headers = {'Accept': accept}
52
+ body = Utils.convert_body(kwargs.pop('body'), wrap=False)
53
+ return self._request(kwargs.pop('path'), data=body, params=kwargs, headers=headers)
@@ -0,0 +1,52 @@
1
+ from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
2
+
3
+
4
+ class Insights(Client):
5
+ """ """
6
+
7
+ @sp_endpoint('/insights/audiences/{}/overlappingAudiences', method='GET')
8
+ def get_insights(self, audienceId: str, version: int = 2, **kwargs) -> ApiResponse:
9
+ r"""
10
+ Returns the audiences that overlap with the one given, ranked by affinity.
11
+
12
+ Keyword Args
13
+
14
+ - ``version`` (int): the ``Accept`` version. **Only 2 answers**; 1 was
15
+ retired and replies ``415`` naming v2 as the sole supported type.
16
+ Defaults to 2. [optional]
17
+
18
+ Path
19
+
20
+ - ``audienceId`` (string): required. The audience to measure against.
21
+
22
+ Query
23
+
24
+ - ``adType`` (string): required in practice, ``SD`` or ``DSP``. When it
25
+ is left out the service assumes ``DSP`` and answers
26
+ ``400 Missing advertiserId parameter for DSP request``, which names the
27
+ wrong parameter. Send it explicitly.
28
+ - ``advertiserId`` (string): required for ``DSP``, ignored for ``SD``.
29
+ - ``audienceCategory`` (string): keep only audiences of that category,
30
+ such as ``"In-market"``. The contract calls it an array; a plain string
31
+ is what the service accepts and applies.
32
+ - ``maxResults`` (integer): how many overlaps to return. Default 30.
33
+ Works, and the count follows it.
34
+ - ``nextToken`` (string): token from a previous answer. Subsequent calls
35
+ must repeat the same parameters.
36
+
37
+ Three parameters are accepted and then ignored: ``minimumAudienceSize``,
38
+ ``maximumAudienceSize`` and ``minimumOverlapAffinity``. The call answers
39
+ ``200`` with the same count as without them, so a filter that was never
40
+ applied is indistinguishable from one that matched everything. Check the
41
+ count, not the status.
42
+
43
+ Returns
44
+ ApiResponse with ``requestedAudienceMetadata``, ``overlappingAudiences``,
45
+ ``marketplace`` and ``nextToken``. Each overlap carries
46
+ ``audienceMetadata`` and ``affinity``, a number where higher means a
47
+ closer match.
48
+
49
+ """
50
+ contentType = 'application/vnd.insightsaudiencesoverlap.v' + str(version) + '+json'
51
+ headers = {'Accept': contentType}
52
+ return self._request(fill_query_params(kwargs.pop('path'), audienceId), params=kwargs, headers=headers)
@@ -0,0 +1 @@
1
+ __version__ = "1.2.6"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-amazon-ad-api
3
- Version: 1.2.4
3
+ Version: 1.2.6
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
@@ -267,7 +267,7 @@ curl \
267
267
  * [Invoices](https://python-amazon-ad-api.readthedocs.io/en/latest/api/invoices.html)
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
- * [Change History open Beta](https://python-amazon-ad-api.readthedocs.io/en/latest/api/history.html)
270
+ * [Change History](https://python-amazon-ad-api.readthedocs.io/en/latest/api/history.html)
271
271
  * [Creative Assets open Beta](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)
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = python-amazon-ad-api
3
- version = 1.2.4
3
+ version = 1.2.6
4
4
  author = Daniel Alvaro
5
5
  author_email = denisneuf@hotmail.com
6
6
  description = Python wrapper for the Amazon Advertising API
@@ -2,7 +2,7 @@ from setuptools import setup
2
2
 
3
3
  setup(
4
4
  name='python-amazon-ad-api',
5
- version='1.2.4',
5
+ version='1.2.6',
6
6
  install_requires=[
7
7
  "requests>=2.27.1,<2.35.0",
8
8
  "six>=1.16,<1.18",
@@ -1,30 +0,0 @@
1
- from ad_api.base import Client, sp_endpoint, ApiResponse, Utils
2
-
3
-
4
- class History(Client):
5
- """ """
6
-
7
- @sp_endpoint('/history', method='POST')
8
- def get_history(self, **kwargs) -> ApiResponse:
9
- r"""
10
-
11
- get_history(body: (dict, str, file)) -> ApiResponse
12
-
13
- Returns history of changes for provided event sources that match the filters and time ranges specified. Only events that belong to the authenticated Advertiser can be queried. All times will be in UTC Epoch format. This API accepts identifiers in either the alphamumeric format (default), or the numeric format. If numeric IDs are supplied, then numeric IDs will be returned otherwise, alphanumeric IDs are returned.
14
-
15
- body: | REQUIRED {'description': 'A HistoryQuery}'
16
-
17
- | **from_date** | **int** | Max 90 days of history.
18
- | **to_date** | **int** |
19
- | **event_types**
20
- | HistoryEventType
21
- | **next_token** | **str** | token from previous response to get next set of data. | [optional]
22
- | **page_offset** | **int** | Mutually exclusive with &#39;nextToken&#39;. Max results with pageOffset is 10000. Use nextToken instead for more results. | [optional]
23
- | **count** | **int** | Requested number of results. Default 100. Minimum 50. Maximum 200. | [optional]
24
- | **sort**
25
- | HistorySortParameter
26
- | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
27
-
28
- """
29
- body = Utils.convert_body(kwargs.pop('body'), wrap=False)
30
- return self._request(kwargs.pop('path'), data=body, params=kwargs)
@@ -1,42 +0,0 @@
1
- from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
2
-
3
-
4
- class Insights(Client):
5
- """ """
6
-
7
- @sp_endpoint('/insights/audiences/{}/overlappingAudiences', method='GET')
8
- def get_insights(self, audienceId: str, version: int = 1, **kwargs) -> ApiResponse:
9
- r"""
10
- get_insights(audienceId: str, version: int = 1, **kwargs) -> ApiResponse
11
-
12
- Retrieves the top audiences that overlap with the provided audience.
13
-
14
- Requires one of these permissions: ["advertiser_campaign_edit","advertiser_campaign_view"]
15
-
16
- path **audienceId**:string | Required. The identifier of an audience.
17
-
18
- internal **version**:int | Optional. The version of the overlapping audiences accept 'application/vnd.insightsaudiencesoverlap.v'+str(version)+'+json'. Available values : 1, 2 Default: 1
19
-
20
- query **adType**:string | Required. The advertising program. Available values : DSP, SD
21
-
22
- query **advertiserId**:string | Optional. The identifier of the advertiser you'd like to retrieve overlapping audiences for. This parameter is required for the DSP adType, but is optional for the SD adType.
23
-
24
- query **minimumAudienceSize**:number | Optional. If specified, the sizes of all returned overlapping audiences will be at least the provided size. This parameter is supported only for request to return application/vnd.insightsaudiencesoverlap.v1+json.
25
-
26
- query **maximumAudienceSize**:number | Optional. If specified, the sizes of all returned overlapping audiences will be at most the provided size. This parameter is supported only for request to return application/vnd.insightsaudiencesoverlap.v1+json.
27
-
28
- query **minimumOverlapAffinity**:number | Optional. If specified, the affinities of all returned overlapping audiences will be at least the provided affinity.
29
-
30
- query **maximumOverlapAffinity**:number | Optional. If specified, the affinities of all returned overlapping audiences will be at most the provided affinity.
31
-
32
- query **audienceCategory**:array[string] | Optional. f specified, the categories of all returned overlapping audiences will be one of the provided categories.
33
-
34
- query **maxResults**:integer | Optional. Sets the maximum number of overlapping audiences in the response. This parameter is supported only for request to return application/vnd.insightsaudiencesoverlap.v2+json. Default value : 30
35
-
36
- query **nextToken**:string | Optional. TToken to be used to request additional overlapping audiences. If not provided, the top 30 overlapping audiences are returned. Note: subsequent calls must be made using the same parameters as used in previous requests.
37
-
38
- """
39
-
40
- contentType = 'application/vnd.insightsaudiencesoverlap.v' + str(version) + '+json'
41
- headers = {'Accept': contentType}
42
- return self._request(fill_query_params(kwargs.pop('path'), audienceId), params=kwargs, headers=headers)
@@ -1 +0,0 @@
1
- __version__ = "1.2.4"