Class: Pddapi::Pinduoduo

Inherits:
Object
  • Object
show all
Includes:
Pddapi
Defined in:
lib/pddapi/api_pinduoduo.rb

Constant Summary

Constants included from Pddapi

PDDURI, VERSION

Instance Method Summary collapse

Methods included from Pddapi

#action_params, #get_sign, #system_params

Instance Method Details

#pdd_ddk_act_prom_url_generate(pid, client_id, secret) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
# File 'lib/pddapi/api_pinduoduo.rb', line 54

def pdd_ddk_act_prom_url_generate(pid, client_id, secret)
  action_params = {
    url_type: 1,
    generate_short_url: true,
    generate_mobile_short_url: true,
    p_id_list: [pid].to_json
  }
  params = system_params('pdd.ddk.act.prom.url.generate', client_id).merge(action_params)
  my_sign = get_sign(params, secret).upcase
  post_data(URI(PDDURI), params.merge({sign: my_sign}))
end

#pdd_ddk_cms_prom_url_generate(pid, multi_group, client_id, secret) ⇒ Object



76
77
78
79
80
81
82
83
84
85
86
# File 'lib/pddapi/api_pinduoduo.rb', line 76

def pdd_ddk_cms_prom_url_generate(pid, multi_group, client_id, secret)
  action_params = {
    p_id_list: [pid].to_json,
    generate_short_url: true,
    generate_mobile: true,
    multi_group: multi_group
  }
  params = system_params('pdd.ddk.cms.prom.url.generate', client_id).merge(action_params)
  my_sign = get_sign(params, secret).upcase
  post_data(URI(PDDURI), params.merge({sign: my_sign}))
end

#pdd_ddk_goods_detail(goods_id, client_id, secret) ⇒ Object



33
34
35
36
37
38
39
40
# File 'lib/pddapi/api_pinduoduo.rb', line 33

def pdd_ddk_goods_detail(goods_id, client_id, secret)
  action_params = {
    goods_id_list: "[#{goods_id}]"
  }
  params = system_params('pdd.ddk.goods.detail', client_id).merge(action_params)
  my_sign = get_sign(params, secret).upcase
  post_data(URI(PDDURI), params.merge({sign: my_sign}))
end

#pdd_ddk_goods_promotion_url_generate(pid, goods_id, multi_group, client_id, secret) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
# File 'lib/pddapi/api_pinduoduo.rb', line 42

def pdd_ddk_goods_promotion_url_generate(pid, goods_id, multi_group, client_id, secret)
  action_params = {
    p_id: pid,
    goods_id_list: "[#{goods_id}]",
    generate_short_url: true,
    multi_group: multi_group
  }
  params = system_params('pdd.ddk.goods.promotion.url.generate', client_id).merge(action_params)
  my_sign = get_sign(params, secret).upcase
  post_data(URI(PDDURI), params.merge({sign: my_sign}))
end

#pdd_ddk_goods_search(keyword, client_id, secret, sort_type = 0, with_coupon = true, page = 1, page_size = 20) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/pddapi/api_pinduoduo.rb', line 20

def pdd_ddk_goods_search(keyword, client_id, secret, sort_type = 0, with_coupon = true, page = 1, page_size = 20)
  action_params = {
    keyword: keyword,
    sort_type: sort_type,
    with_coupon: with_coupon,
    page: page,
    page_size: page_size
  }
  params = system_params('pdd.ddk.goods.search', client_id).merge(action_params)
  my_sign = get_sign(params, secret).upcase
  post_data(URI(PDDURI), params.merge({sign: my_sign}))
end

#pdd_ddk_rp_prom_url_generate(pid, client_id, secret) ⇒ Object



66
67
68
69
70
71
72
73
74
# File 'lib/pddapi/api_pinduoduo.rb', line 66

def pdd_ddk_rp_prom_url_generate(pid, client_id, secret)
  action_params = {
    generate_short_url: true,
    p_id_list: [pid].to_json
  }
  params = system_params('pdd.ddk.rp.prom.url.generate', client_id).merge(action_params)
  my_sign = get_sign(params, secret).upcase
  post_data(URI(PDDURI), params.merge({sign: my_sign}))
end

#pdd_ddk_theme_goods_search(theme_id, client_id, secret) ⇒ Object



98
99
100
101
102
103
104
105
# File 'lib/pddapi/api_pinduoduo.rb', line 98

def pdd_ddk_theme_goods_search(theme_id, client_id, secret)
  action_params = {
    theme_id: theme_id
  }
  params = system_params('pdd.ddk.theme.goods.search', client_id).merge(action_params)
  my_sign = get_sign(params, secret).upcase
  post_data(URI(PDDURI), params.merge({sign: my_sign}))
end

#pdd_ddk_theme_list_get(client_id, secret, page = 1, page_size = 20) ⇒ Object



88
89
90
91
92
93
94
95
96
# File 'lib/pddapi/api_pinduoduo.rb', line 88

def pdd_ddk_theme_list_get(client_id, secret, page = 1,page_size = 20)
  action_params = {
    page: page,
    page_size: page_size 
  }
  params = system_params('pdd.ddk.theme.list.get', client_id).merge(action_params)
  my_sign = get_sign(params, secret).upcase
  post_data(URI(PDDURI), params.merge({sign: my_sign}))
end

#pdd_ddk_theme_prom_url_generate(theme_id_list, pid, client_id, secret) ⇒ Object



107
108
109
110
111
112
113
114
115
116
117
# File 'lib/pddapi/api_pinduoduo.rb', line 107

def pdd_ddk_theme_prom_url_generate(theme_id_list, pid, client_id, secret)
  action_params = {
    pid: pid,
    theme_id_list: theme_id_list,
    generate_short_url: true,
    generate_mobile: true
  }
  params = system_params('pdd.ddk.theme.prom.url.generate', client_id).merge(action_params)
  my_sign = get_sign(params, secret).upcase
  post_data(URI(PDDURI), params.merge({sign: my_sign}))
end

#post_data(uri, params) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/pddapi/api_pinduoduo.rb', line 5

def post_data(uri, params)
  req = Net::HTTP::Post.new(uri)
  req.set_form_data(params)
  res = Net::HTTP.start(uri.hostname, uri.port) do |http|
    http.request(req)
  end
  case res
  when Net::HTTPSuccess
    return res.body 
  else
    return  "{\"status\": 0}"
  end

end