python-amazon-ad-api 1.5.4__tar.gz → 1.5.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 (137) hide show
  1. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/PKG-INFO +3 -1
  2. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/README.md +2 -0
  3. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/v1/__init__.py +4 -0
  4. python_amazon_ad_api-1.5.6/ad_api/api/v1/geo_locations.py +54 -0
  5. python_amazon_ad_api-1.5.6/ad_api/api/v1/label_object_associations.py +57 -0
  6. python_amazon_ad_api-1.5.6/ad_api/version.py +1 -0
  7. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/python_amazon_ad_api.egg-info/PKG-INFO +3 -1
  8. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/python_amazon_ad_api.egg-info/SOURCES.txt +2 -0
  9. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/setup.cfg +1 -1
  10. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/setup.py +1 -1
  11. python_amazon_ad_api-1.5.4/ad_api/version.py +0 -1
  12. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/LICENSE +0 -0
  13. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/__init__.py +0 -0
  14. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/__init__.py +0 -0
  15. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/account.py +0 -0
  16. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/account_budgets.py +0 -0
  17. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/advertising_test_account.py +0 -0
  18. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/attribution.py +0 -0
  19. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/audiences.py +0 -0
  20. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/billing.py +0 -0
  21. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/brand_metrics.py +0 -0
  22. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/creative_assets.py +0 -0
  23. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/eligibility.py +0 -0
  24. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/exports.py +0 -0
  25. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/history.py +0 -0
  26. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/insights.py +0 -0
  27. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/invoices.py +0 -0
  28. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/localization.py +0 -0
  29. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/manager_accounts.py +0 -0
  30. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/metadata.py +0 -0
  31. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/portfolios.py +0 -0
  32. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/portfolios_v3.py +0 -0
  33. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/profiles.py +0 -0
  34. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/recommendations.py +0 -0
  35. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/reports.py +0 -0
  36. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/__init__.py +0 -0
  37. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/ad_creatives_v4.py +0 -0
  38. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/ad_groups.py +0 -0
  39. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/ad_groups_v4.py +0 -0
  40. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/ads_v4.py +0 -0
  41. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/benchmarks.py +0 -0
  42. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/bid_recommendations.py +0 -0
  43. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/brands.py +0 -0
  44. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/budget_rules.py +0 -0
  45. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/campaigns.py +0 -0
  46. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/campaigns_v4.py +0 -0
  47. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/forecast.py +0 -0
  48. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/keywords.py +0 -0
  49. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/keywords_recommendations.py +0 -0
  50. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/landing_page_asins.py +0 -0
  51. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/media.py +0 -0
  52. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/migration.py +0 -0
  53. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/negative_keywords.py +0 -0
  54. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/negative_product_targeting.py +0 -0
  55. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/optimization_rules.py +0 -0
  56. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/product_targeting.py +0 -0
  57. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/recommendations.py +0 -0
  58. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/reports.py +0 -0
  59. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/stores.py +0 -0
  60. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/targeting_categories.py +0 -0
  61. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/targeting_recommendations.py +0 -0
  62. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sb/themes.py +0 -0
  63. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sd/__init__.py +0 -0
  64. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sd/ad_groups.py +0 -0
  65. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sd/bid_recommendations.py +0 -0
  66. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sd/brand_safety.py +0 -0
  67. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sd/budget_rules.py +0 -0
  68. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sd/campaigns.py +0 -0
  69. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sd/campaigns_budget_usage.py +0 -0
  70. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sd/creatives.py +0 -0
  71. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sd/forecast.py +0 -0
  72. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sd/negative_product_targeting.py +0 -0
  73. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sd/product_ads.py +0 -0
  74. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sd/product_targeting.py +0 -0
  75. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sd/recommendations.py +0 -0
  76. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sd/reports.py +0 -0
  77. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sd/snapshots.py +0 -0
  78. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sd/targeting_recommendations.py +0 -0
  79. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/__init__.py +0 -0
  80. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/ad_groups_v3.py +0 -0
  81. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/bid_recommendations_v3.py +0 -0
  82. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/budget_initial_recommendation.py +0 -0
  83. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/budget_recommendations.py +0 -0
  84. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/budget_rules.py +0 -0
  85. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/budget_rules_recommendations.py +0 -0
  86. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/campaign_consolidated_recommendations.py +0 -0
  87. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/campaign_negative_keywords_v3.py +0 -0
  88. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/campaign_negative_targets.py +0 -0
  89. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/campaigns_budget_usage.py +0 -0
  90. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/campaigns_v3.py +0 -0
  91. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/campaings_optimization.py +0 -0
  92. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/keywords_v3.py +0 -0
  93. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/negative_keywords_v3.py +0 -0
  94. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/negative_product_targeting_v3.py +0 -0
  95. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/product_ads_v3.py +0 -0
  96. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/product_recommendations.py +0 -0
  97. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/product_targeting_v3.py +0 -0
  98. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/ranked_keywords_recommendations.py +0 -0
  99. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/sp/schedule_based_bid_optimization.py +0 -0
  100. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/stores.py +0 -0
  101. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/stream.py +0 -0
  102. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/v1/ad_associations.py +0 -0
  103. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/v1/ad_extensions.py +0 -0
  104. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/v1/ad_groups.py +0 -0
  105. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/v1/ads.py +0 -0
  106. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/v1/advertiser_accounts.py +0 -0
  107. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/v1/brand_store_edition_publish_versions.py +0 -0
  108. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/v1/brand_store_editions.py +0 -0
  109. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/v1/brand_store_pages.py +0 -0
  110. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/v1/brand_stores.py +0 -0
  111. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/v1/campaigns.py +0 -0
  112. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/v1/labels.py +0 -0
  113. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/v1/manager_accounts.py +0 -0
  114. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/v1/recommendations.py +0 -0
  115. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/v1/reports.py +0 -0
  116. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/v1/selling_accounts.py +0 -0
  117. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/v1/targets.py +0 -0
  118. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/api/validation_configurations.py +0 -0
  119. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/auth/__init__.py +0 -0
  120. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/auth/access_token_client.py +0 -0
  121. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/auth/access_token_response.py +0 -0
  122. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/auth/credentials.py +0 -0
  123. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/auth/exceptions.py +0 -0
  124. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/base/__init__.py +0 -0
  125. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/base/api_response.py +0 -0
  126. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/base/base_client.py +0 -0
  127. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/base/client.py +0 -0
  128. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/base/config.py +0 -0
  129. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/base/credential_provider.py +0 -0
  130. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/base/exceptions.py +0 -0
  131. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/base/helpers.py +0 -0
  132. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/base/marketplaces.py +0 -0
  133. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/ad_api/base/utils.py +0 -0
  134. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/pyproject.toml +0 -0
  135. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/python_amazon_ad_api.egg-info/dependency_links.txt +0 -0
  136. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.6}/python_amazon_ad_api.egg-info/requires.txt +0 -0
  137. {python_amazon_ad_api-1.5.4 → python_amazon_ad_api-1.5.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.5.4
3
+ Version: 1.5.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
@@ -316,6 +316,8 @@ The v1 API lives under `/adsApi/v1/` and is **not** split by product: every call
316
316
  * [Manager Accounts](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/manager_accounts.html#ad_api.api.v1.ManagerAccounts.ManagerAccounts.query_manager_accounts)
317
317
  * [Recommendations](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/recommendations.html#ad_api.api.v1.Recommendations.Recommendations.query_recommendations)
318
318
  * [Selling Accounts](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/selling_accounts.html#ad_api.api.v1.SellingAccounts.SellingAccounts.query_selling_accounts)
319
+ * [Label Object Associations](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/label_object_associations.html#ad_api.api.v1.LabelObjectAssociations.LabelObjectAssociations.query_label_object_associations)
320
+ * [Geo Locations](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/geo_locations.html#ad_api.api.v1.GeoLocations.GeoLocations.create_geo_locations)
319
321
 
320
322
 
321
323
  ### [Modules Available Sponsored Products](https://python-amazon-ad-api.readthedocs.io/en/latest/sp.html)
@@ -288,6 +288,8 @@ The v1 API lives under `/adsApi/v1/` and is **not** split by product: every call
288
288
  * [Manager Accounts](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/manager_accounts.html#ad_api.api.v1.ManagerAccounts.ManagerAccounts.query_manager_accounts)
289
289
  * [Recommendations](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/recommendations.html#ad_api.api.v1.Recommendations.Recommendations.query_recommendations)
290
290
  * [Selling Accounts](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/selling_accounts.html#ad_api.api.v1.SellingAccounts.SellingAccounts.query_selling_accounts)
291
+ * [Label Object Associations](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/label_object_associations.html#ad_api.api.v1.LabelObjectAssociations.LabelObjectAssociations.query_label_object_associations)
292
+ * [Geo Locations](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/geo_locations.html#ad_api.api.v1.GeoLocations.GeoLocations.create_geo_locations)
291
293
 
292
294
 
293
295
  ### [Modules Available Sponsored Products](https://python-amazon-ad-api.readthedocs.io/en/latest/sp.html)
@@ -14,6 +14,8 @@ from .labels import Labels
14
14
  from .manager_accounts import ManagerAccounts
15
15
  from .recommendations import Recommendations
16
16
  from .selling_accounts import SellingAccounts
17
+ from .label_object_associations import LabelObjectAssociations
18
+ from .geo_locations import GeoLocations
17
19
 
18
20
  __all__ = [
19
21
  "Campaigns",
@@ -32,4 +34,6 @@ __all__ = [
32
34
  "ManagerAccounts",
33
35
  "Recommendations",
34
36
  "SellingAccounts",
37
+ "LabelObjectAssociations",
38
+ "GeoLocations",
35
39
  ]
@@ -0,0 +1,54 @@
1
+ from ad_api.base import Client, sp_endpoint, ApiResponse, Utils
2
+
3
+
4
+ class GeoLocations(Client):
5
+ r"""
6
+ GeoLocations(account='default', marketplace: Marketplaces = Marketplaces.EU, credentials=None, debug=False)
7
+
8
+ Amazon Ads API v1 - geographic locations for targeting
9
+
10
+ One route, and it only creates:
11
+
12
+ POST /adsApi/v1/create/geoLocations
13
+
14
+ The contract declares no query and no delete, so a location created here
15
+ cannot be read back or removed through this family. Treat it as a write
16
+ that leaves an object in the account rather than as a lookup.
17
+
18
+ Two shapes sit under ``location``, exactly one of them per entry:
19
+
20
+ radiusLocation a point of interest and a radius around it
21
+ smartLocation postal codes picked by a sales index percentile
22
+ """
23
+
24
+ @sp_endpoint('/adsApi/v1/create/geoLocations', method='POST')
25
+ def create_geo_locations(self, **kwargs) -> ApiResponse:
26
+ r"""
27
+ create_geo_locations(body: dict) -> ApiResponse
28
+
29
+ Amazon Ads API v1 - Create Geo Locations (operationId: CreateGeoLocation)
30
+
31
+ Request Body [Required]
32
+ | **geoLocations** (list<GeoLocationCreate>) : [required] 1..100
33
+ | **location** (CreateGeoLocationUnion) : [required] one of:
34
+ | **radiusLocation** (CreateRadiusLocation)
35
+ | **pointOfInterestRadius** (double) : [required] kilometres or miles
36
+ | **units** (DistanceUnit) : [required] Enum [ KILOMETERS, MILES ]
37
+ | **coordinates** (CreateGeoLocationCoordinates) : latitude and longitude
38
+ | **pointOfInterestAddress** (string) : an address or a place name
39
+ | **smartLocation** (CreateSmartLocation)
40
+ | **locationIndexId** (string) : [required] the index the selection is based on
41
+ | **name** (string) : [required]
42
+ | **minIndexValuePercentile** (int) : 0..100
43
+ | **maxIndexValuePercentile** (int) : 0..100, greater than the minimum
44
+
45
+ Answer
46
+ 207 MultiStatus with success[] and error[] indexed the same way;
47
+ each success carries the created GeoLocation and its position.
48
+
49
+ A radius needs at least 0.37 miles (2000 ft, 0.6 km), and the two
50
+ percentile values must not cross.
51
+ """
52
+ schema_version = 'application/json'
53
+ headers = {"Accept": schema_version, "Content-Type": schema_version}
54
+ return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
@@ -0,0 +1,57 @@
1
+ from ad_api.base import Client, sp_endpoint, ApiResponse, Utils
2
+
3
+
4
+ class LabelObjectAssociations(Client):
5
+ r"""
6
+ LabelObjectAssociations(account='default', marketplace: Marketplaces = Marketplaces.EU, credentials=None, debug=False)
7
+
8
+ Amazon Ads API v1 - label to object associations
9
+
10
+ One route, read only:
11
+
12
+ POST /adsApi/v1/query/labelObjectAssociations
13
+
14
+ Labels itself lists the labels that exist. This family lists what each
15
+ label is applied to, so the pair answers "which labels do I have" and
16
+ "what is tagged".
17
+
18
+ The required member is ``labelObjectTypeFilter``, not the adProductFilter
19
+ the campaign families carry, and it takes exactly one value:
20
+
21
+ AD_GROUP, CAMPAIGN, DEAL, INVENTORY_GROUP
22
+ """
23
+
24
+ @sp_endpoint('/adsApi/v1/query/labelObjectAssociations', method='POST')
25
+ def query_label_object_associations(self, **kwargs) -> ApiResponse:
26
+ r"""
27
+ query_label_object_associations(body: dict) -> ApiResponse
28
+
29
+ Amazon Ads API v1 - Query Label Object Associations (operationId: QueryLabelObjectAssociation)
30
+
31
+ Request Body [Required]
32
+ | **labelObjectTypeFilter** (dict) : [required] exactly one value
33
+ | **include** (list<LabelObjectType>) : Enum [ AD_GROUP, CAMPAIGN, DEAL, INVENTORY_GROUP ]
34
+ | **adProductFilter** (dict) : [optional] exactly one value
35
+ | **labelIdFilter** (dict) : [optional] 1..50 ids
36
+ | **labelObjectIdFilter** (dict) : [optional] 1..50 ids
37
+ | **maxResults** (int) : 1..5000, default 100
38
+ | **nextToken** (string)
39
+
40
+ Returns
41
+ | **labelObjectAssociations** (list<LabelObjectAssociation>) : 0..5000
42
+ | **labelObjectAssociationId** (string) : [required]
43
+ | **labelId** (string) : [required] the label being applied
44
+ | **labelObjectId** (string) : [required] the object, e.g. a deal id or an ad group id
45
+ | **labelObjectType** (LabelObjectType) : [required]
46
+ | **adProduct** (AdProduct)
47
+ | **nextToken** (string)
48
+
49
+ maxResults reaches 5000 here, far above the 100 of the campaign
50
+ families, because associations grow with the number of tagged objects.
51
+
52
+ Requires one of these permissions:
53
+ campaign_edit, campaign_view
54
+ """
55
+ schema_version = 'application/json'
56
+ headers = {"Accept": schema_version, "Content-Type": schema_version}
57
+ return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
@@ -0,0 +1 @@
1
+ __version__ = "1.5.6"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-amazon-ad-api
3
- Version: 1.5.4
3
+ Version: 1.5.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
@@ -316,6 +316,8 @@ The v1 API lives under `/adsApi/v1/` and is **not** split by product: every call
316
316
  * [Manager Accounts](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/manager_accounts.html#ad_api.api.v1.ManagerAccounts.ManagerAccounts.query_manager_accounts)
317
317
  * [Recommendations](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/recommendations.html#ad_api.api.v1.Recommendations.Recommendations.query_recommendations)
318
318
  * [Selling Accounts](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/selling_accounts.html#ad_api.api.v1.SellingAccounts.SellingAccounts.query_selling_accounts)
319
+ * [Label Object Associations](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/label_object_associations.html#ad_api.api.v1.LabelObjectAssociations.LabelObjectAssociations.query_label_object_associations)
320
+ * [Geo Locations](https://python-amazon-ad-api.readthedocs.io/en/latest/v1/geo_locations.html#ad_api.api.v1.GeoLocations.GeoLocations.create_geo_locations)
319
321
 
320
322
 
321
323
  ### [Modules Available Sponsored Products](https://python-amazon-ad-api.readthedocs.io/en/latest/sp.html)
@@ -105,6 +105,8 @@ ad_api/api/v1/brand_store_editions.py
105
105
  ad_api/api/v1/brand_store_pages.py
106
106
  ad_api/api/v1/brand_stores.py
107
107
  ad_api/api/v1/campaigns.py
108
+ ad_api/api/v1/geo_locations.py
109
+ ad_api/api/v1/label_object_associations.py
108
110
  ad_api/api/v1/labels.py
109
111
  ad_api/api/v1/manager_accounts.py
110
112
  ad_api/api/v1/recommendations.py
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = python-amazon-ad-api
3
- version = 1.5.4
3
+ version = 1.5.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.5.4',
5
+ version='1.5.6',
6
6
  install_requires=[
7
7
  "requests>=2.27.1,<2.35.0",
8
8
  "six>=1.16,<1.18",
@@ -1 +0,0 @@
1
- __version__ = "1.5.4"