Class: PPC::API::Qihu::Creative

Inherits:
PPC::API::Qihu show all
Defined in:
lib/ppc/api/qihu/creative.rb

Constant Summary collapse

Service =
'creative'
CreativeType =
{
  id:                 :id,
  plan_id:            :campaignId,
  group_id:           :groupId,
  title:              :title,
  description1:       :description1,
  description2:       :description2,
  description3:       :descSecondLine,
  pc_destination:     :destinationUrl,
  pc_display:         :displayUrl,
  mobile_destination: :mobileDestinationUrl,
  mobile_display:     :mobileDisplayUrl,
  pause:              :status,
  mobile_pause:       :mobileStatus,
  add_time:           :addTime,
  updateTime:         :updateTime,
}

Class Method Summary collapse

Methods inherited from PPC::API::Qihu

process, request_http_body, request_http_header, 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



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

def self.add( auth,  creatives )
  response = request( auth, Service, 'add', { creatives: make_type( creatives ) } )
  process( response, 'creativeIdList'){ |x| x.map{|tmp| { id: i.to_i } } }
end

.all(auth, group_id) ⇒ Object

combine two methods to provide another mether



39
40
41
42
43
# File 'lib/ppc/api/qihu/creative.rb', line 39

def self.all( auth, group_id )
  results = self.ids( auth, group_id )
  return results unless results[:succ]
  self.get( auth , results[:result] )
end

.delete(auth, ids) ⇒ Object



65
66
67
68
# File 'lib/ppc/api/qihu/creative.rb', line 65

def self.delete( auth, ids )
  response = request( auth, Service, 'deleteByIdList', { idList: ids } )
  process( response, 'affectedRecords' ){ |x|x }
end

.enable(auth, ids) ⇒ Object



70
71
72
# File 'lib/ppc/api/qihu/creative.rb', line 70

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

.get(auth, ids) ⇒ Object



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

def self.get( auth, ids )
  response = request( auth, Service, 'getInfoByIdList', { idList: ids } )
  process( response, 'creativeList'){ |x| reverse_type(x) }
end

.ids(auth, group_id) ⇒ Object



45
46
47
48
# File 'lib/ppc/api/qihu/creative.rb', line 45

def self.ids( auth, group_id )
  response = request( auth, Service, 'getIdListByGroupId', {"groupId" => group_id[0]} )
  process( response, 'creativeIdList' ){ |x| x.map(&:to_i) }
end

.info(auth, ids) ⇒ Object



33
34
35
36
# File 'lib/ppc/api/qihu/creative.rb', line 33

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

.pause(auth, ids) ⇒ Object



74
75
76
# File 'lib/ppc/api/qihu/creative.rb', line 74

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

.quality(auth, ids) ⇒ Object

quality 本质上和 status 在一个方法里面



84
85
86
# File 'lib/ppc/api/qihu/creative.rb', line 84

def self.quality( auth, ids )
  self.status( auth, ids)
end

.status(auth, ids) ⇒ Object



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

def self.status( auth, ids )
  response = request( auth, Service, 'getStatusByIdList', { idList: ids } )
  process( response, 'creativeList' ){ |x| reverse_type( x, @status_map ) }
end

.update(auth, creatives) ⇒ Object



60
61
62
63
# File 'lib/ppc/api/qihu/creative.rb', line 60

def self.update( auth, creatives )
  response = request( auth, Service, 'update', { creatives: make_type( creatives ) } )
  process( response, 'affectedRecords', 'failCreativeIds' ){ |x| x }
end