Class: PPC::API::Baidu::Plan

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

Constant Summary collapse

Service =
'Campaign'
PlanType =
{
  id:                   :campaignId,
  name:                 :campaignName,
  budget:               :budget,
  region:               :regionTarget,
  negative:             :negativeWords,
  exact_negative:       :exactNegativeWords,
  schedule:             :schedule,
  budget_offline_time:  :budgetOfflineTime,
  show_prob:            :showProb,
  device:               :device,
  price_ratio:          :priceRatio,
  is_dynamic:           :isDynamicCreative,
  pause:                :pause,
  status:               :status,
  rmkt_status:          :rmktStatus,
  type:                 :campaignType,
  isdynamictagsublink:  :isDynamicTagSublink,
  isdynamichotredirect: :isDynamicHotRedirect,
  isdynamictitle:       :isDynamicTitle,
  rmkt_price_ratio:     :rmktPriceRatio,
}

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



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

def self.add( auth, plans )
  body = { campaignTypes: make_type( plans ) }
  response = request( auth, Service, 'addCampaign', body)
  process( response, 'campaignTypes' ){ |x| reverse_type(x) }
end

.all(auth) ⇒ Object



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

def self.all( auth )
  body = { campaignIds: nil, campaignFields: PlanType.values}
  response = request(auth,Service,'getCampaign',body)
  process( response, 'campaignTypes' ){ |x|reverse_type(x) }
end

.delete(auth, ids) ⇒ Object



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

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

.enable(auth, ids) ⇒ Object



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

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

.get(auth, ids) ⇒ Object



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

def self.get( auth, ids )
  body = { campaignIds: ids, campaignFields: PlanType.values}
  response = request( auth, Service, 'getCampaign', body)
  process( response, 'campaignTypes' ){ |x| reverse_type(x)}
end

.ids(auth) ⇒ Object



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

def self.ids( auth )
  body = { campaignIds: nil, campaignFields: ["campaignId"]}
  response = request(auth,Service,'getCampaign',body)
  process( response, 'campaignIds' ){ |x|reverse_type(x) }
end

.info(auth, ids) ⇒ Object



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

def self.info( auth, ids )
  body = { campaignIds: ids, campaignFields: PlanType.values}
  response = request(auth,Service,'getCampaign',body)
  process( response, 'campaignType' ){ |x|reverse_type(x)[0] }
end

.pause(auth, ids) ⇒ Object



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

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

.update(auth, plans) ⇒ Object



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

def self.update(auth,plans )
  body = { campaignTypes: make_type( plans ) }
  response = request( auth, Service, 'updateCampaign', body)
  process( response, 'campaignTypes' ){ |x| reverse_type(x) }
end