Class: PPC::API::Sogou::Creative

Inherits:
PPC::API::Sogou show all
Defined in:
lib/ppc/api/sogou/creative.rb

Constant Summary collapse

Service =
'CpcIdea'
CreativeType =
{
  id:                 :cpcIdeaId,
  group_id:           :cpcGrpId,
  title:              :title,
  description1:       :description1,
  description2:       :description2,
  pc_destination:     :visitUrl,
  pc_display:         :showUrl,
  moile_destination:  :mobileVisitUrl,
  mobile_display:     :mobileShowUrl,
  pause:              :pause,
  status:             :status,
  "group_id" =>       :cpc_grp_id,
  "id" =>             :cpc_idea_id,
  "pc_destination" => :visit_url,
  "pc_display" =>     :show_url,
  "mobile_display" => :mobile_show_url,
  "creative_ids" =>   :cpc_idea_ids,
}

Class Method Summary collapse

Methods inherited from PPC::API::Sogou

debug_print, process, request

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



52
53
54
55
56
# File 'lib/ppc/api/sogou/creative.rb', line 52

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

.all(auth, ids, getTemp = 0) ⇒ Object



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

def self.all( auth, ids,  getTemp = 0 )
  body = { cpcGrpIds: ids, getTemp: getTemp }
  response = request( auth, Service, 'getCpcIdeaByCpcGrpId', body )
  process( response, 'cpcGrpIdeas' ){ |x| ids.count == 1 ? reverse_type(x[:cpc_idea_types]) : x.map{|y| reverse_type(y[:cpc_idea_types])}.flatten }
end

.delete(auth, ids) ⇒ Object



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

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

.enable(auth, ids) ⇒ Object



75
76
77
78
# File 'lib/ppc/api/sogou/creative.rb', line 75

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

.get(auth, ids, getTemp = 0) ⇒ Object



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

def self.get( auth, ids,  getTemp = 0 )
  body = { cpcIdeaIds: ids, getTemp: getTemp }
  response = request( auth, Service, 'getCpcIdeaByCpcIdeaId', body )
  process( response, 'cpcIdeaTypes' ){ |x| reverse_type(x) }
end

.ids(auth, ids, getTemp = 0) ⇒ Object



46
47
48
49
50
# File 'lib/ppc/api/sogou/creative.rb', line 46

def self.ids( auth, ids,  getTemp = 0 )
  body = { cpcGrpIds: ids, getTemp: getTemp }
  response = request( auth, Service, 'getCpcIdeaIdByCpcGrpId', body )
  process( response, 'cpcGrpIdeaIds' ){ |x| reverse_type( x ) }
end

.info(auth, ids, getTemp = 0) ⇒ Object



34
35
36
37
38
# File 'lib/ppc/api/sogou/creative.rb', line 34

def self.info( auth, ids,  getTemp = 0 )
  body = { cpcIdeaIds: ids, getTemp: getTemp }
  response = request( auth, Service, 'getCpcIdeaByCpcIdeaId', body )
  process( response, 'cpcIdeaTypes' ){ |x| reverse_type(x)[0] }
end

.pause(auth, ids) ⇒ Object



80
81
82
83
# File 'lib/ppc/api/sogou/creative.rb', line 80

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

.status(auth, ids, getTemp = 0) ⇒ Object



85
86
87
88
89
# File 'lib/ppc/api/sogou/creative.rb', line 85

def self.status( auth, ids, getTemp = 0 )
  body = { cpcIdeaIds: ids, getTemp: getTemp }
  response = request( auth, Service, 'getCpcIdeaByCpcIdeaId', body )
  process( response, 'cpcIdeaTypes' ){ |x| reverse_type(x, @status_map) }
end

.update(auth, creatives) ⇒ Object



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

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