Class: PPC::API::Sm::Group

Inherits:
PPC::API::Sm show all
Defined in:
lib/ppc/api/sm/group.rb

Constant Summary collapse

Service =
'adgroup'
GroupType =
{
  plan_id:        :campaignId,
  id:             :adgroupId,
  name:           :adgroupName,
  price:          :maxPrice,
  negative:       :negativeWords,
  exact_negative: :exactNegativeWords,
  pause:          :pause,
  status:         :status,
  os:             :adPlatformOS,
  group_ids:      :adgroupIds,
  groups:         :adgroupTypes,
}

Class Method Summary collapse

Methods inherited from PPC::API::Sm

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, groups) ⇒ Object



43
44
45
46
47
# File 'lib/ppc/api/sm/group.rb', line 43

def self.add(auth, groups)
  body = {adgroupTypes: make_type(groups)}
  response = request(auth, Service, "addAdgroup", body)
  process(response, 'adgroupTypes'){|x| reverse_type(x) }
end

.all(auth, plan_ids) ⇒ Object



28
29
30
31
# File 'lib/ppc/api/sm/group.rb', line 28

def self.all( auth, plan_ids )
  response = request(auth, Service, "getAdgroupByCampaignId", {campaignIds: plan_ids} )
  process(response, 'campaignAdgroups' ){ |x| reverse_type(x.map{|temp| temp["adgroupTypes"]}.flatten) }
end

.delete(auth, ids) ⇒ Object



55
56
57
58
# File 'lib/ppc/api/sm/group.rb', line 55

def self.delete(auth, ids)
  response = request(auth, Service, "deleteAdgroup", {adgroupIds: ids} , "delete")
  process(response, 'result'){ |x|  x  }
end

.enable(auth, ids) ⇒ Object



60
61
62
63
# File 'lib/ppc/api/sm/group.rb', line 60

def self.enable( auth, ids )
  groups = ids.map{|id| {id: id, pause: false} }
  self.update( auth, groups )
end

.get(auth, ids) ⇒ Object



38
39
40
41
# File 'lib/ppc/api/sm/group.rb', line 38

def self.get(auth, ids)
  response = request(auth, Service, "getAdgroupByAdgroupId", {adgroupIds: ids} )
  process(response, 'adgroupTypes'){|x| reverse_type(x) }
end

.ids(auth, plan_ids) ⇒ Object



33
34
35
36
# File 'lib/ppc/api/sm/group.rb', line 33

def self.ids( auth, plan_ids )
  response = request(auth, Service, "getAdgroupIdByCampaignId", {campaignIds: plan_ids} )
  process(response, 'campaignAdgroupIds'){ |x| reverse_type( x ) }
end

.info(auth, ids) ⇒ Object



23
24
25
26
# File 'lib/ppc/api/sm/group.rb', line 23

def self.info(auth, ids)
  response = request(auth, Service, "getAdgroupByAdgroupId", {adgroupIds: ids} )
  process(response, 'adgroupTypes'){|x| reverse_type(x)[0] }
end

.pause(auth, ids) ⇒ Object



65
66
67
68
# File 'lib/ppc/api/sm/group.rb', line 65

def self.pause( auth, ids )
  groups = ids.map{|id| {id: id, pause: true} }
  self.update( auth, groups )
end

.update(auth, groups) ⇒ Object



49
50
51
52
53
# File 'lib/ppc/api/sm/group.rb', line 49

def self.update(auth, groups)
  body = {adgroupTypes: make_type(groups)}
  response = request(auth, Service, "updateAdgroup", body)
  process(response, 'adgroupTypes'){|x| reverse_type(x) }
end