Class: PPC::API::Sm::Creative

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

Constant Summary collapse

Service =
'creative'
CreativeType =
{
  id:                 :creativeId,
  group_id:           :adgroupId,
  title:              :title,
  description1:       :description1,
  pause:              :pause,
  mobile_destination: :destinationUrl,
  mobile_display:     :displayUrl,
  status:             :status,
  creative_ids:       :creativeIds,
  creatives:          :creativeTypes,
}

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



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

def self.add(auth, creatives)
  body = {creativeTypes: make_type(creatives)}
  response = request(auth, Service, 'addCreative', body)
  process(response, 'creativeTypes'){|x| reverse_type(x)}
end

.all(auth, ids) ⇒ Object



27
28
29
30
# File 'lib/ppc/api/sm/creative.rb', line 27

def self.all(auth, ids)
  response = request(auth, Service, 'getCreativeByAdgroupId', {adgroupIds: ids})
  process(response, 'groupCreatives'){|x| x.map{|y| y["creativeTypes"].map{|z| reverse_type(z)}}.flatten }
end

.delete(auth, ids) ⇒ Object



54
55
56
57
# File 'lib/ppc/api/sm/creative.rb', line 54

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

.enable(auth, ids) ⇒ Object



59
60
61
62
# File 'lib/ppc/api/sm/creative.rb', line 59

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

.get(auth, ids) ⇒ Object



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

def self.get(auth, ids)
  response = request(auth, Service, 'getCreativeByCreativeId', {creativeIds: ids})
  process(response, 'creativeTypes'){|x| reverse_type(x)}
end

.ids(auth, ids) ⇒ Object



32
33
34
35
# File 'lib/ppc/api/sm/creative.rb', line 32

def self.ids(auth, ids)
  response = request(auth, Service, 'getCreativeIdByAdgroupId', {adgroupIds: ids})
  process(response, 'groupCreativeIds'){|x| reverse_type(x)}
end

.info(auth, ids) ⇒ Object



22
23
24
25
# File 'lib/ppc/api/sm/creative.rb', line 22

def self.info(auth, ids)
  response = request(auth, Service, 'getCreativeByCreativeId', {creativeIds: ids})
  process(response, 'creativeTypes'){|x| reverse_type(x)[0]}
end

.pause(auth, ids) ⇒ Object



64
65
66
67
# File 'lib/ppc/api/sm/creative.rb', line 64

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

.update(auth, creatives) ⇒ Object



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

def self.update(auth, creatives)
  body = {creativeTypes: make_type(creatives)}
  response = request(auth, Service, 'updateCreative', body)
  process(response, 'creativeTypes'){|x| reverse_type(x)}
end