python-amazon-ad-api 0.9.8__py3-none-any.whl → 1.0.0__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.
ad_api/api/__init__.py CHANGED
@@ -12,6 +12,7 @@ from .audiences import Audiences
12
12
  from .portfolios import Portfolios
13
13
  from .portfolios_v3 import PortfoliosV3
14
14
  from .insights import Insights
15
+ from . import v1
15
16
  from . import sp as sponsored_products
16
17
  from . import sb as sponsored_brands
17
18
  from . import sd as sponsored_display
@@ -26,6 +27,7 @@ from .exports import Exports
26
27
  from .stores import Stores
27
28
 
28
29
  __all__ = [
30
+ "v1",
29
31
  "sp",
30
32
  "sb",
31
33
  "sd",
@@ -396,167 +396,3 @@ class Campaigns(Client):
396
396
  # """
397
397
  # return self._request(fill_query_params(kwargs.pop('path'), campaignId), params=kwargs)
398
398
  #
399
- @sp_endpoint('/adsApi/v1/query/campaigns', method='POST')
400
- def query_campaigns(self, **kwargs) -> ApiResponse:
401
- r"""
402
- query_campaigns(body: dict) -> ApiResponse
403
-
404
- Amazon Ads API v1 - Query Campaigns (operationId: QueryCampaign)
405
-
406
- Request Body [Required]
407
- | **adProductFilter** (dict): [required]
408
- | **include** (list<AdProduct>) : Enum [ AMAZON_DSP, SPONSORED_BRANDS, SPONSORED_DISPLAY, SPONSORED_PRODUCTS, SPONSORED_TELEVISION ]
409
- | **campaignIdFilter** (dict) [optional]
410
- | **include** (list<string>) : Campaign identifiers
411
- | **goalFilter** (dict) [optional]
412
- | **include** (list<Goal>) : Enum [ AWARENESS, CONSIDERATION, CONVERSIONS ]
413
- | **marketplaceScopeFilter** (dict) [optional]
414
- | **include** (list<MarketplaceScope>) : Enum [ GLOBAL, SINGLE_MARKETPLACE ]
415
- | **nameFilter** (dict) [optional]
416
- | **include** (list<string>) : Campaign names
417
- | **queryTermMatchType** (string) : [required] Enum [ BROAD_MATCH, EXACT_MATCH ]
418
- | **portfolioIdFilter** (dict) [optional]
419
- | **include** (list<string>) : Portfolio identifiers
420
- | **retailerScopeFilter** (dict) [optional]
421
- | **include** (list<RetailerScope>) : Enum [ AMAZON, OTHER_RETAILERS ]
422
- | **stateFilter** (dict) [optional]
423
- | **include** (list<State>) : Enum [ ARCHIVED, DRAFT, ENABLED, PAUSED ]
424
- | **maxResults** (int) [optional] Minimum 1, Maximum 1000
425
- | **nextToken** (string) [optional] Token to navigate to the next page
426
-
427
- Headers
428
- | **Amazon-Ads-AccountId** (string) [optional] Advertiser account identifier
429
-
430
- Returns
431
- ApiResponse
432
- | **campaigns** (list), **nextToken** (string)
433
-
434
- """
435
- schema_version = 'application/json'
436
- headers = {"Accept": schema_version, "Content-Type": schema_version}
437
- return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
438
-
439
- @sp_endpoint('/adsApi/v1/delete/campaigns', method='POST')
440
- def delete_campaigns(self, **kwargs) -> ApiResponse:
441
- r"""
442
- delete_campaigns(body: dict) -> ApiResponse
443
-
444
- Amazon Ads API v1 - Delete Campaigns (operationId: DeleteCampaign)
445
-
446
- Request Body [Required]
447
- | **campaignIds** (list<string>) : [required] Campaign identifiers to delete
448
-
449
- Headers
450
- | **Amazon-Ads-AccountId** (string) [optional] Advertiser account identifier
451
-
452
- Returns
453
- ApiResponse
454
- | **207** MultiStatus response with partial errors. Inspect the payload
455
- to know which campaign ids succeeded and which failed.
456
-
457
- """
458
- schema_version = 'application/json'
459
- headers = {"Accept": schema_version, "Content-Type": schema_version}
460
- return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
461
-
462
- @sp_endpoint('/adsApi/v1/update/campaigns', method='POST')
463
- def update_campaigns(self, **kwargs) -> ApiResponse:
464
- r"""
465
- update_campaigns(body: dict) -> ApiResponse
466
-
467
- Amazon Ads API v1 - Update Campaigns (operationId: UpdateCampaign)
468
-
469
- Request Body [Required]
470
- | **campaigns** (list<dict>) : [required] One or more campaign objects to update.
471
- Each object requires **campaignId** and may include any of the fields below.
472
-
473
- Campaign fields [optional except campaignId]
474
- | **campaignId** (string) : [required] The identifier of the campaign to update.
475
- | **adProduct** (string) : Enum [ AMAZON_DSP, SPONSORED_BRANDS, SPONSORED_DISPLAY, SPONSORED_PRODUCTS, SPONSORED_TELEVISION ]
476
- | **name** (string) : The name of the campaign.
477
- | **state** (string) : Enum [ DRAFT, ENABLED, PAUSED ]
478
- | **budgets** (list<dict>) : Budget objects for the campaign.
479
- | **startDateTime** (string) : Campaign start date and time.
480
- | **endDateTime** (string) : Campaign end date and time.
481
- | **portfolioId** (string) : The identifier of the portfolio.
482
- | **purchaseOrderNumber** (string) : Advertiser purchase order number.
483
- | **tags** (list<dict>) : Advertiser-specified custom identifiers.
484
- | **marketplaces** (list<dict>) : Marketplaces where the campaign runs.
485
- | **marketplaceConfigurations** (list<dict>) : Per-marketplace overrides.
486
- | **countries** (list<string>) : Country codes.
487
- | **costType** (string) : Enum [ CPC, CPM, FIXED_PRICE, VCPM ]
488
- | **fees** (list<dict>) : Fee definitions.
489
- | **flights** (list<dict>) : Flight schedules.
490
- | **frequencies** (list<dict>) : Frequency cap definitions.
491
- | **optimizations** (dict) : Campaign optimization settings.
492
- | **siteRestrictions** (list<dict>) : Site restrictions.
493
- | **skanAppId** (string) : SKAdNetwork app id.
494
- | **targetedPGDealId** (string) : Targeted programmatic guaranteed deal id.
495
- | **adomains** (list<string>) : Ad domains.
496
-
497
- Headers
498
- | **Amazon-Ads-AccountId** (string) [optional] Advertiser account identifier
499
-
500
- Returns
501
- ApiResponse
502
- | **207** MultiStatus response with partial errors. Inspect the payload
503
- to know which campaigns succeeded and which failed.
504
-
505
- """
506
- schema_version = 'application/json'
507
- headers = {"Accept": schema_version, "Content-Type": schema_version}
508
- return self._request(kwargs.pop('path'), data=Utils.convert_body(kwargs.pop('body'), False), params=kwargs, headers=headers)
509
-
510
- @sp_endpoint('/adsApi/v1/create/campaigns', method='POST')
511
- def create_campaigns(self, **kwargs) -> ApiResponse:
512
- r"""
513
- create_campaigns(body: dict) -> ApiResponse
514
-
515
- Amazon Ads API v1 - Create Campaigns (operationId: CreateCampaign)
516
-
517
- Request Body [Required]
518
- | **campaigns** (list<dict>) : [required] One or more campaign objects to create.
519
- Each object requires **adProduct**, **name** and **state**.
520
-
521
- Campaign fields
522
- | **adProduct** (string) : [required] Enum [ AMAZON_DSP, SPONSORED_BRANDS, SPONSORED_DISPLAY, SPONSORED_PRODUCTS, SPONSORED_TELEVISION ]
523
- | **name** (string) : [required] The name of the campaign.
524
- | **state** (string) : [required] Enum [ DRAFT, ENABLED, PAUSED ]
525
- | **budgets** (list<dict>) : Budget objects for the campaign.
526
- | **budgetType** (string) : [required] Budget type.
527
- | **budgetValue** (dict) : [required] Budget amount.
528
- | **recurrenceTimePeriod** (string) : [required] Recurrence period.
529
- | **startDateTime** (string) : Campaign start date and time.
530
- | **endDateTime** (string) : Campaign end date and time.
531
- | **portfolioId** (string) : The identifier of the portfolio.
532
- | **purchaseOrderNumber** (string) : Advertiser purchase order number.
533
- | **tags** (list<dict>) : [required key+value] Advertiser-specified custom identifiers.
534
- | **marketplaces** (list<dict>) : Marketplaces where the campaign runs.
535
- | **marketplaceConfigurations** (list<dict>) : Per-marketplace overrides, each with
536
- **marketplace** and **overrides** (both required).
537
- | **countries** (list<string>) : Country codes.
538
- | **costType** (string) : Enum [ CPC, CPM, FIXED_PRICE, VCPM ]
539
- | **fees** (list<dict>) : [required feeType+feeValue+feeValueType] Fee definitions.
540
- | **flights** (list<dict>) : [required budget+startDateTime+endDateTime] Flight schedules.
541
- | **frequencies** (list<dict>) : [required eventMaxCount+frequencyTargetingSetting+
542
- timeCount+timeUnit] Frequency cap definitions.
543
- | **optimizations** (dict) : Campaign optimization settings.
544
- | **siteRestrictions** (list<dict>) : Site restrictions.
545
- | **brandId** (string) : Brand identifier.
546
- | **skanAppId** (string) : SKAdNetwork app id.
547
- | **targetedPGDealId** (string) : Targeted programmatic guaranteed deal id.
548
- | **adomains** (list<string>) : Ad domains.
549
- | **autoCreationSettings** (dict) : Automatic creation settings.
550
-
551
- Headers
552
- | **Amazon-Ads-AccountId** (string) [optional] Advertiser account identifier
553
-
554
- Returns
555
- ApiResponse
556
- | **207** MultiStatus response with partial errors. Inspect the payload
557
- to know which campaigns were created and which failed.
558
-
559
- """
560
- schema_version = 'application/json'
561
- headers = {"Accept": schema_version, "Content-Type": schema_version}
562
- 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__ = "0.9.8"
1
+ __version__ = "1.0.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-amazon-ad-api
3
- Version: 0.9.8
3
+ Version: 1.0.0
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
@@ -299,9 +299,13 @@ There is a new version 3 Portfolios API, please check the [migration guide](http
299
299
  * [Get test account information](https://python-amazon-ad-api.readthedocs.io/en/latest/api/advertising_test_account.html#ad_api.api.AdvertisingTestAccount.AdvertisingTestAccount.get_test_account)
300
300
 
301
301
 
302
- ### Sponsored Products v1 (new)
302
+ ### Amazon Ads API v1 (new, unified)
303
303
 
304
- New unified endpoint generation. Campaigns are queried with a single `POST /adsApi/v1/query/campaigns` resource instead of the versioned v2/v3 endpoints.
304
+ The v1 API lives under `/adsApi/v1/` and is **not** split by product: every call targets the same resource and the product is selected in the request body with `adProductFilter`. It supersedes the per-product v2/v3 endpoints.
305
+
306
+ ```python
307
+ from ad_api.api import v1
308
+ ```
305
309
 
306
310
  | Method | Endpoint | Body |
307
311
  |---|---|---|
@@ -313,9 +317,9 @@ New unified endpoint generation. Campaigns are queried with a single `POST /adsA
313
317
  All four return a **207 MultiStatus** response (except `query_campaigns`, which returns 200), so check the payload for per-entity errors.
314
318
 
315
319
  ```python
316
- from ad_api.api import sponsored_products
320
+ from ad_api.api import v1
317
321
 
318
- result = sponsored_products.Campaigns(credentials=credentials, debug=True).query_campaigns(
322
+ result = v1.Campaigns(credentials=credentials, debug=True).query_campaigns(
319
323
  body={
320
324
  "adProductFilter": {"include": ["SPONSORED_PRODUCTS"]},
321
325
  "stateFilter": {"include": ["ENABLED"]},
@@ -1,6 +1,6 @@
1
1
  ad_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- ad_api/version.py,sha256=GI3Cr15wC6XhdahtMoSOf62d2gYve5G_PiR_xx_RGKc,22
3
- ad_api/api/__init__.py,sha256=rurlFrTJZgSGNdkEahAJGjDAVll2KyCqpLpV40ZKI6o,1487
2
+ ad_api/version.py,sha256=J-j-u0itpEFT6irdmWmixQqYMadNl1X91TxUmoiLHMI,22
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
6
6
  ad_api/api/attribution.py,sha256=vHmXP0wDqhEqaS1q3tJyERxJ1JwntqoEb73LVXNHxR0,5121
@@ -83,7 +83,7 @@ ad_api/api/sp/campaign_consolidated_recommendations.py,sha256=AZS8A0ZH_GRCZ5uExq
83
83
  ad_api/api/sp/campaign_negative_keywords.py,sha256=4Jj8CFt4YX36N4YhXDDVabOiPOfCtQ2kYqYoS2Xejoc,6344
84
84
  ad_api/api/sp/campaign_negative_keywords_v3.py,sha256=3y5PHA_r6GtBAFbAXiGH5q6ByWsG2alA3DCqdRiaO3w,6592
85
85
  ad_api/api/sp/campaign_negative_targets.py,sha256=5fzt3wU1omOrGELtwSs4-R1BCcaT8z5H0StjJfCuc9k,8310
86
- ad_api/api/sp/campaigns.py,sha256=L_6lHAT3mrwyP9K4xqwgMBTzth5_oSMSNZNhpaVoH6o,30910
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
88
  ad_api/api/sp/campaigns_v3.py,sha256=enxuRqoyBeidwR9J5VcPHFDRbiy2G6EEQqKRyaJPI5I,7831
89
89
  ad_api/api/sp/campaings_optimization.py,sha256=CrH9x-KNTsRc56tn_TCDxDTZIF9pYdqDT48LTepys2w,6673
@@ -118,8 +118,8 @@ ad_api/base/exceptions.py,sha256=9D3M40ZIlLS0fA-aQh1BTWPOW-Nvf0tRhbA85jFnDJ4,438
118
118
  ad_api/base/helpers.py,sha256=naUkDLK466x_OBCPXxMlzRc2nPC6iQ6H_vyUji0MJJ0,2282
119
119
  ad_api/base/marketplaces.py,sha256=44lvCcluXNpqTprWQ80e3weSQmQbJoWL-WDSOWVbCyQ,4657
120
120
  ad_api/base/utils.py,sha256=_qnCBOvyJTLgaZjJzUWTi38GGLHkQszXELs79133Rb4,5618
121
- python_amazon_ad_api-0.9.8.dist-info/licenses/LICENSE,sha256=h2rpqlmmLy-4l1tN6KpWAFxx1JEMYeEFrMrZUbx_B_o,1105
122
- python_amazon_ad_api-0.9.8.dist-info/METADATA,sha256=9mf-kIA1iXGxcU5F7Dn7z8L8FrWEhvHnxmJRkQcaCk4,20491
123
- python_amazon_ad_api-0.9.8.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
124
- python_amazon_ad_api-0.9.8.dist-info/top_level.txt,sha256=nN9twUos-8pkP514ZwpvRU9YL9L2XyQyHsMQFfudGTU,7
125
- python_amazon_ad_api-0.9.8.dist-info/RECORD,,
121
+ python_amazon_ad_api-1.0.0.dist-info/licenses/LICENSE,sha256=h2rpqlmmLy-4l1tN6KpWAFxx1JEMYeEFrMrZUbx_B_o,1105
122
+ python_amazon_ad_api-1.0.0.dist-info/METADATA,sha256=IAMgFDqSjs6l7wOw3Ewlm3ecsx6hm9_ifctFukgK1PA,20577
123
+ python_amazon_ad_api-1.0.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
124
+ python_amazon_ad_api-1.0.0.dist-info/top_level.txt,sha256=nN9twUos-8pkP514ZwpvRU9YL9L2XyQyHsMQFfudGTU,7
125
+ python_amazon_ad_api-1.0.0.dist-info/RECORD,,