Skip to content

Commit e9cae70

Browse files
committed
added campaign_negative_keywords
1 parent 672b691 commit e9cae70

3 files changed

Lines changed: 135 additions & 32 deletions

File tree

ad_api/api/sp/__init__.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# from .campaigns.campaigns import Campaigns
21
from .campaigns import Campaigns
32
from .ad_groups import AdGroups
43
from .product_ads import ProductAds
@@ -10,6 +9,7 @@
109
from .product_targeting import Targets
1110
from .negative_product_targeting import NegativeTargets
1211
from .reports import Reports
12+
from .snapshots import Snapshots
1313
__all__ = [
1414
"Campaigns",
1515
"AdGroups",
@@ -21,5 +21,6 @@
2121
"SuggestedKeywords",
2222
"Targets",
2323
"NegativeTargets",
24-
"Reports"
24+
"Reports",
25+
"Snapshots"
2526
]

ad_api/api/sp/campaign_negative_keywords.py

Lines changed: 132 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,147 @@
22

33
class CampaignNegativeKeywords(Client):
44

5-
@sp_endpoint('/v2/sp/campaignNegativeKeywords', method='GET')
6-
def list_campaign_negative_keywords_request(self, **kwargs) -> ApiResponse:
7-
return self._request(kwargs.pop('path'), params=kwargs)
5+
@sp_endpoint('/v2/sp/campaignNegativeKeywords/{}', method='GET')
6+
def get_campaign_negative_keyword(self, keywordId, **kwargs) -> ApiResponse:
7+
r"""
88
9-
@sp_endpoint('/v2/sp/campaignNegativeKeywords/extended', method='GET')
10-
def list_campaign_negative_keywords_extended_request(self, **kwargs) -> ApiResponse:
11-
return self._request(kwargs.pop('path'), params=kwargs)
9+
get_campaign_negative_keyword(self, keywordId, \*\*kwargs) -> ApiResponse
1210
13-
@sp_endpoint('/v2/sp/campaignNegativeKeywords/{}', method='GET')
14-
def get_campaign_negative_keywords_request(self, keywordId, **kwargs) -> ApiResponse:
15-
return self._request(fill_query_params(kwargs.pop('path'), keywordId), params=kwargs)
11+
Gets a campaign negative keyword specified by identifier.
1612
17-
@sp_endpoint('/v2/sp/campaignNegativeKeywords/extended/{}', method='GET')
18-
def get_campaign_negative_keywords_extended_request(self, keywordId, **kwargs) -> ApiResponse:
13+
path **keywordId**:*number* | Required. The identifier of an existing keyword.
14+
15+
16+
Returns:
17+
18+
ApiResponse
19+
20+
"""
1921
return self._request(fill_query_params(kwargs.pop('path'), keywordId), params=kwargs)
2022

2123
@sp_endpoint('/v2/sp/campaignNegativeKeywords/{}', method='DELETE')
22-
def delete_campaign_negative_keywords_request(self, keywordId, **kwargs) -> ApiResponse:
24+
def delete_campaign_negative_keyword(self, keywordId, **kwargs) -> ApiResponse:
25+
r"""
26+
27+
delete_campaign_negative_keyword(self, keywordId, \*\*kwargs) -> ApiResponse
28+
29+
Archives a campaign negative keyword.
30+
31+
path **keywordId**:*number* | Required. The identifier of an existing keyword.
32+
33+
34+
Returns:
35+
36+
ApiResponse
37+
38+
"""
2339
return self._request(fill_query_params(kwargs.pop('path'), keywordId), params=kwargs)
2440

41+
@sp_endpoint('/v2/sp/campaignNegativeKeywords/extended/{}', method='GET')
42+
def get_campaign_negative_keyword_extended(self, keywordId, **kwargs) -> ApiResponse:
43+
r"""
44+
45+
get_campaign_negative_keyword_extended(self, keywordId, \*\*kwargs) -> ApiResponse
46+
47+
Gets a campaign negative keyword that has extended data fields.
48+
49+
path **keywordId**:*number* | Required. The identifier of an existing keyword.
50+
51+
Returns:
52+
53+
ApiResponse
54+
55+
"""
56+
return self._request(fill_query_params(kwargs.pop('path'), keywordId), params=kwargs)
57+
58+
@sp_endpoint('/v2/sp/campaignNegativeKeywords/extended', method='GET')
59+
def list_campaign_negative_keywords_extended(self, **kwargs) -> ApiResponse:
60+
r"""
61+
list_campaign_negative_keywords_extended(self, \*\*kwargs) -> ApiResponse
62+
63+
Gets a list of campaign negative keywords that have extended data fields.
64+
65+
query **startIndex**:*integer* | Optional. 0-indexed record offset for the result set. Default value : 0
66+
67+
query **count**:*integer* | Optional. Number of records to include in the paged response. Defaults to max page size.
68+
69+
query **matchTypeFilter**:*string* | Optional. Restricts results to keywords with match types within the specified comma-separated list. Available values : negativePhrase, negativeExact.
70+
71+
query **keywordText**:*string* | Optional. Restricts results to keywords that match the specified text exactly.
72+
73+
query **campaignIdFilter**:*string* | Optional. A comma-delimited list of campaign identifiers.
74+
75+
query **keywordIdFilter**:*string* | Optional. Restricts results to keywords associated with campaigns specified by identifier in the comma-delimited list.
76+
77+
Returns:
78+
79+
ApiResponse
80+
81+
"""
82+
return self._request(kwargs.pop('path'), params=kwargs)
83+
84+
@sp_endpoint('/v2/sp/campaignNegativeKeywords', method='GET')
85+
def list_campaign_negative_keywords(self, **kwargs) -> ApiResponse:
86+
r"""
87+
list_campaign_negative_keywords(self, \*\*kwargs) -> ApiResponse
88+
89+
Gets a list of campaign negative keywords.
90+
91+
query **startIndex**:*integer* | Optional. 0-indexed record offset for the result set. Default value : 0
92+
93+
query **count**:*integer* | Optional. Number of records to include in the paged response. Defaults to max page size.
94+
95+
query **matchTypeFilter**:*string* | Optional. Restricts results to keywords with match types within the specified comma-separated list. Available values : negativePhrase, negativeExact.
96+
97+
query **keywordText**:*string* | Optional. Restricts results to keywords that match the specified text exactly.
98+
99+
query **campaignIdFilter**:*string* | Optional. A comma-delimited list of campaign identifiers.
100+
101+
query **keywordIdFilter**:*string* | Optional. Restricts results to keywords associated with campaigns specified by identifier in the comma-delimited list.
102+
103+
Returns:
104+
105+
ApiResponse
106+
107+
"""
108+
return self._request(kwargs.pop('path'), params=kwargs)
109+
25110
@sp_endpoint('/v2/sp/campaignNegativeKeywords', method='POST')
26-
def create_campaign_negative_keywords_request(self, **kwargs) -> ApiResponse:
111+
def create_campaign_negative_keywords(self, **kwargs) -> ApiResponse:
112+
r"""
113+
create_campaign_negative_keywords(self, \*\*kwargs) -> ApiResponse:
114+
115+
Creates one or more campaign negative keywords.
116+
117+
body: | REQUIRED {'description': 'An array of keyword objects.}'
118+
119+
| '**campaignId**': *number*, {'description': 'The identifer of the campaign to which the keyword is associated.'}
120+
| '**state**': *string*, {'description': 'The current resource state.' , 'Enum': '[ enabled ]'}
121+
| '**keywordText**': *string*, {'description': 'The text of the expression to match against a search query.'}
122+
| '**matchType**': *string*, {'description': 'The type of match.' , 'Enum': '[ negativeExact, negativePhrase ]'}
123+
124+
Returns:
125+
126+
ApiResponse
127+
128+
"""
27129
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
28130

29131
@sp_endpoint('/v2/sp/campaignNegativeKeywords', method='PUT')
30-
def edit_campaign_negative_keywords_request(self, **kwargs) -> ApiResponse:
31-
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)
132+
def edit_campaign_negative_keywords(self, **kwargs) -> ApiResponse:
133+
r"""
134+
edit_campaign_negative_keywords(self, \*\*kwargs) -> ApiResponse:
135+
136+
Updates one or more campaign negative keywords.
137+
138+
body: | REQUIRED {'description': 'An array of campaign negative keywords with updated values.'}
139+
140+
| '**keywordId**': *number*, {'description': 'The identifer of the campaign to which the keyword is associated.'}
141+
| '**state**': *string*, {'description': 'The current resource state.' , 'Enum': '[ deleted ]'}
142+
143+
Returns:
144+
145+
ApiResponse
146+
147+
"""
148+
return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs)

ad_api/api/sp/reports.py

Lines changed: 0 additions & 15 deletions
This file was deleted.

0 commit comments

Comments
 (0)