Class: PPC::API::Sm::Keyword
Constant Summary
collapse
- Service =
'keyword'
- Match_type =
{ 'exact' => 0, 'phrase' => 1, 'wide' => 2, 0 => 'exact', 1 => 'phrase' , 2 => 'wide' }
- KeywordType =
{
id: :keywordId,
group_id: :adgroupId,
keyword: :keyword,
price: :price,
mobile_destination: :destinationUrl,
match_type: :matchType,
status: :status,
pause: :pause,
keyword_ids: :keywordIds,
keywords: :keywordTypes,
}
Class Method Summary
collapse
process, request_uri
Methods included from PPC::API
#make_type, #process, #request, #request_http_body, #request_http_header, #request_uri, #reverse_type
Class Method Details
.add(auth, keywords) ⇒ Object
44
45
46
47
48
|
# File 'lib/ppc/api/sm/keyword.rb', line 44
def self.add(auth, keywords)
body = {keywordTypes: make_type(keywords) }
response = request(auth, Service, "addKeyword", body)
process(response, 'keywordTypes'){|x| reverse_type(x)}
end
|
.all(auth, group_ids) ⇒ Object
29
30
31
32
|
# File 'lib/ppc/api/sm/keyword.rb', line 29
def self.all(auth, group_ids)
response = request(auth, Service, "getKeywordByAdgroupId", {adgroupIds: group_ids} )
process(response, 'groupKeywords'){|x| reverse_type( x.map{|temp| temp["keywordTypes"]}.flatten ) }
end
|
.delete(auth, ids) ⇒ Object
56
57
58
59
|
# File 'lib/ppc/api/sm/keyword.rb', line 56
def self.delete(auth, ids)
response = request(auth, Service, 'deleteKeyword', {keywordIds: ids}, 'delete')
process(response, 'result'){|x| x }
end
|
.enable(auth, ids) ⇒ Object
61
62
63
64
|
# File 'lib/ppc/api/sm/keyword.rb', line 61
def self.enable( auth, ids )
keywords = ids.map{|id| {id: id, pause: false} }
self.update( auth, keywords )
end
|
.get(auth, ids) ⇒ Object
39
40
41
42
|
# File 'lib/ppc/api/sm/keyword.rb', line 39
def self.get(auth, ids)
response = request(auth, Service, 'getKeywordByKeywordId', {keywordIds: ids})
process(response, 'keywordTypes'){|x| reverse_type(x)}
end
|
.ids(auth, group_ids) ⇒ Object
34
35
36
37
|
# File 'lib/ppc/api/sm/keyword.rb', line 34
def self.ids(auth, group_ids)
response = request(auth, Service, "getKeywordIdByAdgroupId", {adgroupIds: group_ids} )
process(response, 'groupKeywordIds'){|x| reverse_type(x)}
end
|
.info(auth, ids) ⇒ Object
24
25
26
27
|
# File 'lib/ppc/api/sm/keyword.rb', line 24
def self.info(auth, ids)
response = request(auth, Service, 'getKeywordByKeywordId', {keywordIds: ids})
process(response, 'keywordTypes'){|x| reverse_type(x)[0] }
end
|
.pause(auth, ids) ⇒ Object
66
67
68
69
|
# File 'lib/ppc/api/sm/keyword.rb', line 66
def self.pause( auth, ids )
keywords = ids.map{|id| {id: id, pause: true} }
self.update( auth, keywords )
end
|
.update(auth, keywords) ⇒ Object
50
51
52
53
54
|
# File 'lib/ppc/api/sm/keyword.rb', line 50
def self.update(auth, keywords)
body = {keywordTypes: make_type(keywords) }
response = request(auth, Service, "updateKeyword", body)
process(response, 'keywordTypes'){|x| reverse_type(x)}
end
|