Class: PPC::API::Baidu::Creative

Inherits:
PPC::API::Baidu show all
Defined in:
lib/ppc/api/baidu/creative.rb

Constant Summary collapse

Service =
'Creative'
CreativeType =
{
  id:                 :creativeId,
  group_id:           :adgroupId,
  title:              :title,
  description1:       :description1,
  description2:       :description2,
  pc_destination:     :pcDestinationUrl,
  pc_display:         :pcDisplayUrl,
  mobile_destination: :mobileDestinationUrl,
  mobile_display:     :mobileDisplayUrl,
  pause:              :pause,
  preference:         :devicePreference,
  status:             :status,
  device_preference:  :devicePreference,
}

Class Method Summary collapse

Methods inherited from PPC::API::Baidu

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



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

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



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

def self.all( auth, group_ids )
  body = { ids: group_ids, idType: 5, creativeFields: CreativeType.values}
  response = request( auth, Service, 'getCreative', body )
  process(response, 'groupCreatives' ){|x| reverse_type( x ) }
end

.delete(auth, ids) ⇒ Object



61
62
63
64
65
# File 'lib/ppc/api/baidu/creative.rb', line 61

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

.enable(auth, ids) ⇒ Object



67
68
69
70
# File 'lib/ppc/api/baidu/creative.rb', line 67

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

.get(auth, ids) ⇒ Object



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

def self.get( auth, ids )
  body = { ids: ids, idType: 7, creativeFields: CreativeType.values }
  response = request( auth, Service, 'getCreative', body )
  process( response, 'creativeTypes' ){ |x| reverse_type(x) }
end

.ids(auth, group_ids) ⇒ Object



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

def self.ids( auth, group_ids )
  body = { ids: group_ids, idType: 5, creativeFields: [:creativeId]}
  response = request( auth, Service, 'getCreative', body )
  process(response, 'groupCreativeIds' ){|x| reverse_type( x ) }
end

.info(auth, ids) ⇒ Object



25
26
27
28
29
# File 'lib/ppc/api/baidu/creative.rb', line 25

def self.info( auth, ids )
  body = { ids: ids, idType: 7, creativeFields: CreativeType.values }
  response = request( auth, Service, 'getCreative', body )
  process(response, 'creativeType' ){|x| reverse_type( x )[0] }
end

.pause(auth, ids) ⇒ Object



72
73
74
75
# File 'lib/ppc/api/baidu/creative.rb', line 72

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

.status(auth, ids) ⇒ Object



77
78
79
80
81
# File 'lib/ppc/api/baidu/creative.rb', line 77

def self.status( auth, ids )
  body = { ids: ids, idType: 7, creativeFields: [:creativeId, :status]}
  response = request( auth, Service, 'getCreative', body )
  process(response, 'groupCreatives' ){|x| reverse_type( x ) }
end

.update(auth, creatives) ⇒ Object



55
56
57
58
59
# File 'lib/ppc/api/baidu/creative.rb', line 55

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