mercadolibre 1.8.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/mercadolibre.rb +20 -7
- data/lib/mercadolibre/api.rb +18 -7
- data/lib/mercadolibre/core/apps.rb +17 -0
- data/lib/mercadolibre/core/bookmarks.rb +21 -0
- data/lib/mercadolibre/core/categories.rb +47 -0
- data/lib/mercadolibre/core/currencies.rb +18 -0
- data/lib/mercadolibre/core/deals.rb +3 -4
- data/lib/mercadolibre/core/feedbacks.rb +63 -0
- data/lib/mercadolibre/core/item_variations.rb +35 -0
- data/lib/mercadolibre/core/items.rb +87 -0
- data/lib/mercadolibre/core/listings.rb +43 -0
- data/lib/mercadolibre/core/{locations_and_currencies.rb → locations.rb} +7 -13
- data/lib/mercadolibre/core/messaging.rb +55 -0
- data/lib/mercadolibre/core/metrics.rb +53 -0
- data/lib/mercadolibre/core/money.rb +21 -0
- data/lib/mercadolibre/core/order_blacklist.rb +25 -0
- data/lib/mercadolibre/core/order_notes.rb +33 -0
- data/lib/mercadolibre/core/orders.rb +39 -0
- data/lib/mercadolibre/core/pictures.rb +33 -0
- data/lib/mercadolibre/core/projects.rb +42 -0
- data/lib/mercadolibre/core/question_blacklist.rb +27 -0
- data/lib/mercadolibre/core/{questions_and_answers.rb → questions.rb} +10 -31
- data/lib/mercadolibre/core/searching.rb +33 -0
- data/lib/mercadolibre/core/shipping.rb +6 -6
- data/lib/mercadolibre/core/{users_and_apps.rb → users.rb} +21 -23
- data/lib/mercadolibre/version.rb +1 -1
- metadata +22 -9
- data/lib/mercadolibre/core/categories_and_listings.rb +0 -59
- data/lib/mercadolibre/core/collections.rb +0 -10
- data/lib/mercadolibre/core/items_and_searches.rb +0 -153
- data/lib/mercadolibre/core/orders_and_feedback.rb +0 -202
@@ -18,16 +18,16 @@ module Mercadolibre
|
|
18
18
|
get_request("/items/#{item_id}/shipping_options").body
|
19
19
|
end
|
20
20
|
|
21
|
-
def get_shipping_modes
|
22
|
-
get_request("/sites/#{
|
21
|
+
def get_shipping_modes(site_id)
|
22
|
+
get_request("/sites/#{site_id}/shipping_methods").body
|
23
23
|
end
|
24
24
|
|
25
|
-
def get_shipping_services
|
26
|
-
get_request("/sites/#{
|
25
|
+
def get_shipping_services(site_id)
|
26
|
+
get_request("/sites/#{site_id}/shipping_services").body
|
27
27
|
end
|
28
28
|
|
29
|
-
def get_site_shipping_costs(attrs={})
|
30
|
-
get_request("/sites/#{
|
29
|
+
def get_site_shipping_costs(site_id, attrs={})
|
30
|
+
get_request("/sites/#{site_id}/shipping_options", attrs).body
|
31
31
|
end
|
32
32
|
|
33
33
|
def get_user_shipping_modes(user_id, attrs={})
|
@@ -1,14 +1,14 @@
|
|
1
1
|
module Mercadolibre
|
2
2
|
module Core
|
3
|
-
module
|
4
|
-
def get_user(user_id)
|
5
|
-
get_request("/users/#{user_id}").body
|
6
|
-
end
|
7
|
-
|
3
|
+
module Users
|
8
4
|
def get_users(user_ids)
|
9
5
|
get_request('/users', { ids: user_ids.join(',') }).body
|
10
6
|
end
|
11
7
|
|
8
|
+
def get_user(user_id)
|
9
|
+
get_request("/users/#{user_id}", { access_token: @access_token }).body
|
10
|
+
end
|
11
|
+
|
12
12
|
def get_seller(nickname)
|
13
13
|
response = search_items({ nickname: nickname, limit: 0 })
|
14
14
|
if response.seller.present?
|
@@ -18,6 +18,14 @@ module Mercadolibre
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
+
def update_user(user_id, attrs)
|
22
|
+
payload = attrs.to_json
|
23
|
+
|
24
|
+
headers = { content_type: :json }
|
25
|
+
|
26
|
+
put_request("/users/#{user_id}?access_token=#{@access_token}", payload, headers).body
|
27
|
+
end
|
28
|
+
|
21
29
|
def get_my_user
|
22
30
|
get_request('/users/me', { access_token: @access_token }).body
|
23
31
|
end
|
@@ -26,6 +34,10 @@ module Mercadolibre
|
|
26
34
|
get_request("/users/#{user_id}/addresses", { access_token: @access_token }).body
|
27
35
|
end
|
28
36
|
|
37
|
+
def get_user_accepted_payment_methods(user_id)
|
38
|
+
get_request("/users/#{user_id}/accepted_payment_methods").body
|
39
|
+
end
|
40
|
+
|
29
41
|
def get_user_payment_methods(user_id)
|
30
42
|
get_request("/users/#{user_id}/payment_methods", { access_token: @access_token }).body
|
31
43
|
end
|
@@ -34,6 +46,10 @@ module Mercadolibre
|
|
34
46
|
get_request("/users/#{user_id}/brands", { access_token: @access_token }).body
|
35
47
|
end
|
36
48
|
|
49
|
+
def get_user_brand(user_id, brand_id)
|
50
|
+
get_request("/users/#{user_id}/brands/#{brand_id}", { access_token: @access_token }).body
|
51
|
+
end
|
52
|
+
|
37
53
|
def get_user_promotion_packs(user_id, listing_type=nil, category_id=nil)
|
38
54
|
filters = { access_token: @access_token }
|
39
55
|
|
@@ -67,24 +83,6 @@ module Mercadolibre
|
|
67
83
|
|
68
84
|
get_request("/users/#{user_id}/available_listing_type/#{listing_type}", filters).body
|
69
85
|
end
|
70
|
-
|
71
|
-
def get_application_feeds
|
72
|
-
get_request("/users/#{user_id}/applications/#{@app_key}", { access_token: @access_token }).body
|
73
|
-
end
|
74
|
-
|
75
|
-
def get_application_info
|
76
|
-
get_request("/applications/#{@app_key}", { access_token: @access_token }).body
|
77
|
-
end
|
78
|
-
|
79
|
-
def get_user_accepted_payment_methods(user_id)
|
80
|
-
get_request("/users/#{user_id}/accepted_payment_methods").body
|
81
|
-
end
|
82
|
-
|
83
|
-
def get_user_mercadopago_balance(user_id)
|
84
|
-
# docs: http://developers.mercadolibre.com/es/saldo-de-la-cuenta
|
85
|
-
params = { access_token: @access_token }
|
86
|
-
get_request("/users/#{user_id}/mercadopago_account/balance", params).body
|
87
|
-
end
|
88
86
|
end
|
89
87
|
end
|
90
88
|
end
|
data/lib/mercadolibre/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mercadolibre
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matias Hick
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-07-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -64,17 +64,30 @@ files:
|
|
64
64
|
- README.md
|
65
65
|
- lib/mercadolibre.rb
|
66
66
|
- lib/mercadolibre/api.rb
|
67
|
-
- lib/mercadolibre/core/
|
68
|
-
- lib/mercadolibre/core/
|
67
|
+
- lib/mercadolibre/core/apps.rb
|
68
|
+
- lib/mercadolibre/core/bookmarks.rb
|
69
|
+
- lib/mercadolibre/core/categories.rb
|
70
|
+
- lib/mercadolibre/core/currencies.rb
|
69
71
|
- lib/mercadolibre/core/deals.rb
|
70
|
-
- lib/mercadolibre/core/
|
71
|
-
- lib/mercadolibre/core/
|
72
|
+
- lib/mercadolibre/core/feedbacks.rb
|
73
|
+
- lib/mercadolibre/core/item_variations.rb
|
74
|
+
- lib/mercadolibre/core/items.rb
|
75
|
+
- lib/mercadolibre/core/listings.rb
|
76
|
+
- lib/mercadolibre/core/locations.rb
|
77
|
+
- lib/mercadolibre/core/messaging.rb
|
72
78
|
- lib/mercadolibre/core/metrics.rb
|
79
|
+
- lib/mercadolibre/core/money.rb
|
73
80
|
- lib/mercadolibre/core/oauth.rb
|
74
|
-
- lib/mercadolibre/core/
|
75
|
-
- lib/mercadolibre/core/
|
81
|
+
- lib/mercadolibre/core/order_blacklist.rb
|
82
|
+
- lib/mercadolibre/core/order_notes.rb
|
83
|
+
- lib/mercadolibre/core/orders.rb
|
84
|
+
- lib/mercadolibre/core/pictures.rb
|
85
|
+
- lib/mercadolibre/core/projects.rb
|
86
|
+
- lib/mercadolibre/core/question_blacklist.rb
|
87
|
+
- lib/mercadolibre/core/questions.rb
|
88
|
+
- lib/mercadolibre/core/searching.rb
|
76
89
|
- lib/mercadolibre/core/shipping.rb
|
77
|
-
- lib/mercadolibre/core/
|
90
|
+
- lib/mercadolibre/core/users.rb
|
78
91
|
- lib/mercadolibre/version.rb
|
79
92
|
- lib/mercadopago/api.rb
|
80
93
|
- lib/mercadopago/core/oauth.rb
|
@@ -1,59 +0,0 @@
|
|
1
|
-
module Mercadolibre
|
2
|
-
module Core
|
3
|
-
module CategoriesAndListings
|
4
|
-
def get_sites
|
5
|
-
get_request('/sites').body
|
6
|
-
end
|
7
|
-
|
8
|
-
def get_site(site_id=nil)
|
9
|
-
get_request("/sites/#{site_id}").body
|
10
|
-
end
|
11
|
-
|
12
|
-
def get_site_domain_info(domain)
|
13
|
-
get_request("/site_domains/#{domain}").body
|
14
|
-
end
|
15
|
-
|
16
|
-
def get_listing_types(site_id=nil)
|
17
|
-
site_id = @site if site_id.nil?
|
18
|
-
get_request("/sites/#{site_id}/listing_types").body
|
19
|
-
end
|
20
|
-
|
21
|
-
def get_listing_exposures(site_id=nil)
|
22
|
-
site_id = @site if site_id.nil?
|
23
|
-
get_request("/sites/#{site_id}/listing_exposures").body
|
24
|
-
end
|
25
|
-
|
26
|
-
def get_listing_prices(filters={})
|
27
|
-
get_request("/sites/#{site_id}/listing_prices", filters).body
|
28
|
-
end
|
29
|
-
|
30
|
-
def get_site_categories(site_id=nil)
|
31
|
-
site_id = @site if site_id.nil?
|
32
|
-
get_request("/sites/#{site_id}/categories").body
|
33
|
-
end
|
34
|
-
|
35
|
-
def get_site_category(category_id)
|
36
|
-
get_request("/categories/#{category_id}").body
|
37
|
-
end
|
38
|
-
|
39
|
-
def get_category_attributes(category_id)
|
40
|
-
get_request("/categories/#{category_id}/attributes").body
|
41
|
-
end
|
42
|
-
|
43
|
-
def get_category_prediction(title, site_id=nil)
|
44
|
-
site_id = @site if site_id.nil?
|
45
|
-
get_request("/sites/#{site_id}/category_predictor/predict", { title: title }).body
|
46
|
-
end
|
47
|
-
|
48
|
-
def get_category_promotion_packs(category_id)
|
49
|
-
get_request("/categories/#{category_id}/classifieds_promotion_packs").body
|
50
|
-
end
|
51
|
-
|
52
|
-
def get_listing_type(listing_type_id, site_id=nil)
|
53
|
-
site_id = @site if site_id.nil?
|
54
|
-
get_request("/sites/#{site_id}/listing_types/#{listing_type_id}", { title: title }).body
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
@@ -1,153 +0,0 @@
|
|
1
|
-
module Mercadolibre
|
2
|
-
module Core
|
3
|
-
module ItemsAndSearches
|
4
|
-
def get_my_item_ids(filters={})
|
5
|
-
user_id = get_my_user.id
|
6
|
-
|
7
|
-
filters.merge!({ access_token: @access_token, limit: 50, offset: 0 })
|
8
|
-
|
9
|
-
get_request("/users/#{user_id}/items/search", filters).body
|
10
|
-
end
|
11
|
-
|
12
|
-
def get_item_ids(filters={})
|
13
|
-
get_request("/sites/#{@site}/search", filters).body
|
14
|
-
end
|
15
|
-
|
16
|
-
def search_items(filters={})
|
17
|
-
get_request("/sites/#{@site}/search", filters).body
|
18
|
-
end
|
19
|
-
|
20
|
-
def get_item(item_id, attrs={})
|
21
|
-
get_request("/items/#{item_id}", attrs).body
|
22
|
-
end
|
23
|
-
|
24
|
-
def get_item_visits(item_ids)
|
25
|
-
if item_ids.is_a? Array
|
26
|
-
result = { }
|
27
|
-
|
28
|
-
item_ids.each_slice(50) do |ids_group|
|
29
|
-
filters = { ids: ids_group.join(',') }
|
30
|
-
result.merge!(get_request('/visits/items', filters, { api_response_kind: 'hash' }).body)
|
31
|
-
end
|
32
|
-
|
33
|
-
result
|
34
|
-
else
|
35
|
-
filters = { ids: ids_group.join(',') }
|
36
|
-
get_request('/visits/items', filters, { api_response_kind: 'hash' }).body[item_ids]
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
def get_item_description(item_id)
|
41
|
-
get_request("/items/#{item_id}/description").body
|
42
|
-
end
|
43
|
-
|
44
|
-
def get_item_descriptions(item_id)
|
45
|
-
get_request("/items/#{item_id}/descriptions").body
|
46
|
-
end
|
47
|
-
|
48
|
-
def get_item_available_upgrades(item_id)
|
49
|
-
get_request("/items/#{item_id}/available_upgrades?access_token=@access_token").body
|
50
|
-
end
|
51
|
-
|
52
|
-
def get_search_url(site_id, q)
|
53
|
-
get_request("/sites/#{site_id}/searchUrl?q=#{q}").body.url
|
54
|
-
end
|
55
|
-
|
56
|
-
def get_hot_items(site_id, category_id, limit=15)
|
57
|
-
get_request("/sites/#{site_id}/hot_items/search?category=#{category_id}&limit=#{limit}").body
|
58
|
-
end
|
59
|
-
|
60
|
-
def get_featured_items(site_id, pool_id)
|
61
|
-
get_request("/sites/#{site_id}/featured_items/#{pool_id}").body
|
62
|
-
end
|
63
|
-
|
64
|
-
def get_site_trends(site_id, category_id=nil)
|
65
|
-
if category_id.present?
|
66
|
-
params = { category: category_id }
|
67
|
-
else
|
68
|
-
params = { }
|
69
|
-
end
|
70
|
-
|
71
|
-
get_request("/sites/#{site_id}/trends/search", params).body
|
72
|
-
end
|
73
|
-
|
74
|
-
def item_valid?(attribs)
|
75
|
-
payload = attribs.to_json
|
76
|
-
|
77
|
-
headers = { content_type: :json }
|
78
|
-
|
79
|
-
result = post_request("/items/validate?access_token=#{@access_token}", payload, headers)
|
80
|
-
|
81
|
-
(result.status_code.to_s == '204')
|
82
|
-
end
|
83
|
-
|
84
|
-
def create_item(attribs)
|
85
|
-
payload = attribs.to_json
|
86
|
-
|
87
|
-
headers = { content_type: :json }
|
88
|
-
|
89
|
-
post_request("/items?access_token=#{@access_token}", payload, headers).body
|
90
|
-
end
|
91
|
-
|
92
|
-
def relist_item(item_id, price, quantity, listing_type_id)
|
93
|
-
payload = { price: price, quantity: quantity, listing_type_id: listing_type_id }.to_json
|
94
|
-
|
95
|
-
headers = { content_type: :json, accept: :json }
|
96
|
-
|
97
|
-
post_request("/items/#{item_id}/relist?access_token=#{@access_token}", payload, headers).body
|
98
|
-
end
|
99
|
-
|
100
|
-
def update_item_fields(item_id, attribs)
|
101
|
-
payload = attribs.to_json
|
102
|
-
|
103
|
-
headers = { content_type: :json, accept: :json }
|
104
|
-
|
105
|
-
put_request("/items/#{item_id}?access_token=#{@access_token}", payload, headers).body
|
106
|
-
end
|
107
|
-
|
108
|
-
def update_item_listing_type(item_id, listing_type_id)
|
109
|
-
payload = { id: listing_type_id }.to_json
|
110
|
-
|
111
|
-
headers = { content_type: :json, accept: :json }
|
112
|
-
|
113
|
-
post_request("/items/#{item_id}/listing_type?access_token=#{@access_token}", payload, headers).body
|
114
|
-
end
|
115
|
-
|
116
|
-
def add_item_description(item_id, text)
|
117
|
-
payload = { text: text }.to_json
|
118
|
-
|
119
|
-
headers = { content_type: :json, accept: :json }
|
120
|
-
|
121
|
-
post_request("/items/#{item_id}/descriptions?access_token=#{@access_token}", payload, headers).body
|
122
|
-
end
|
123
|
-
|
124
|
-
def update_item_attributes(item_id, attrs)
|
125
|
-
payload = attrs.to_json
|
126
|
-
|
127
|
-
headers = { content_type: :json, accept: :json }
|
128
|
-
|
129
|
-
put_request("/items/#{item_id}?access_token=#{@access_token}", payload, headers).status_code == 200
|
130
|
-
end
|
131
|
-
|
132
|
-
def delete_item_attributes(item_id, attr_list)
|
133
|
-
payload = attr_list.map { |x| { id: x } }.to_json
|
134
|
-
|
135
|
-
headers = { content_type: :json, accept: :json }
|
136
|
-
|
137
|
-
put_request("/items/#{item_id}?access_token=#{@access_token}", payload, headers).status_code == 200
|
138
|
-
end
|
139
|
-
|
140
|
-
def update_item_identifiers(item_id, attrs)
|
141
|
-
payload = attrs.to_json
|
142
|
-
|
143
|
-
headers = { content_type: :json }
|
144
|
-
|
145
|
-
put_request("/items/#{item_id}/product_identifiers?access_token=#{@access_token}", payload, headers).status_code == 200
|
146
|
-
end
|
147
|
-
|
148
|
-
def get_item_identifiers(item_id)
|
149
|
-
get_request("/items/#{item_id}/product_identifiers").body
|
150
|
-
end
|
151
|
-
end
|
152
|
-
end
|
153
|
-
end
|
@@ -1,202 +0,0 @@
|
|
1
|
-
module Mercadolibre
|
2
|
-
module Core
|
3
|
-
module OrdersAndFeedback
|
4
|
-
def search_archived_orders(filters={})
|
5
|
-
filters.merge!({
|
6
|
-
seller: get_my_user.id,
|
7
|
-
access_token: @access_token
|
8
|
-
})
|
9
|
-
|
10
|
-
get_request('/orders/search/archived', filters).body
|
11
|
-
end
|
12
|
-
|
13
|
-
def search_pending_orders(filters={})
|
14
|
-
filters.merge!({
|
15
|
-
seller: get_my_user.id,
|
16
|
-
access_token: @access_token
|
17
|
-
})
|
18
|
-
|
19
|
-
get_request('/orders/search/pending', filters).body
|
20
|
-
end
|
21
|
-
|
22
|
-
def search_orders(filters={})
|
23
|
-
filters.merge!({
|
24
|
-
seller: get_my_user.id,
|
25
|
-
access_token: @access_token
|
26
|
-
})
|
27
|
-
|
28
|
-
get_request('/orders/search', filters).body
|
29
|
-
end
|
30
|
-
|
31
|
-
def get_order(order_id)
|
32
|
-
filters = { access_token: @access_token }
|
33
|
-
get_request("/orders/#{order_id}", filters).body
|
34
|
-
end
|
35
|
-
|
36
|
-
def get_order_notes(order_id)
|
37
|
-
filters = { access_token: @access_token }
|
38
|
-
get_request("/orders/#{order_id}/notes", filters).body
|
39
|
-
end
|
40
|
-
|
41
|
-
def create_order_note(order_id, text)
|
42
|
-
payload = { note: text }.to_json
|
43
|
-
|
44
|
-
headers = { content_type: :json, accept: :json }
|
45
|
-
|
46
|
-
result = post_request("/orders/#{order_id}/notes?access_token=#{@access_token}", payload, headers)
|
47
|
-
result.body.note
|
48
|
-
end
|
49
|
-
|
50
|
-
def update_order_note(order_id, note_id, text)
|
51
|
-
payload = { note: text }.to_json
|
52
|
-
|
53
|
-
headers = { content_type: :json, accept: :json }
|
54
|
-
|
55
|
-
result = put_request("/orders/#{order_id}/notes/#{note_id}?access_token=#{@access_token}", payload, headers)
|
56
|
-
result.body.note
|
57
|
-
end
|
58
|
-
|
59
|
-
def delete_order_note(order_id, note_id)
|
60
|
-
result = delete_request("/orders/#{order_id}/notes/#{note_id}?access_token=#{@access_token}")
|
61
|
-
result.status_code == 200
|
62
|
-
end
|
63
|
-
|
64
|
-
def get_order_feedbacks(order_id)
|
65
|
-
filters = { version: '3.0', access_token: @access_token }
|
66
|
-
|
67
|
-
get_request("/orders/#{order_id}/feedback", filters).body
|
68
|
-
end
|
69
|
-
|
70
|
-
def get_order_buyer_feedback(order_id)
|
71
|
-
filters = { version: '3.0', access_token: @access_token }
|
72
|
-
|
73
|
-
get_request("/orders/#{order_id}/feedback/purchase", filters).body
|
74
|
-
end
|
75
|
-
|
76
|
-
def get_order_seller_feedback(order_id)
|
77
|
-
filters = { version: '3.0', access_token: @access_token }
|
78
|
-
|
79
|
-
get_request("/orders/#{order_id}/feedback/sale", filters).body
|
80
|
-
end
|
81
|
-
|
82
|
-
def create_order_feedback(order_id, feedback_data)
|
83
|
-
payload = feedback_data.to_json
|
84
|
-
|
85
|
-
headers = { content_type: :json }
|
86
|
-
|
87
|
-
post_request("/orders/#{order_id}/feedback?version=3.0&access_token=#{@access_token}", payload, headers).body
|
88
|
-
end
|
89
|
-
|
90
|
-
def change_order_seller_feedback(order_id, kind, feedback_data)
|
91
|
-
payload = feedback_data.to_json
|
92
|
-
|
93
|
-
headers = { content_type: :json }
|
94
|
-
|
95
|
-
put_request("/orders/#{order_id}/feedback/sale?version=3.0&access_token=#{@access_token}", payload, headers).body
|
96
|
-
end
|
97
|
-
|
98
|
-
def change_order_buyer_feedback(order_id, kind, feedback_data)
|
99
|
-
payload = feedback_data.to_json
|
100
|
-
|
101
|
-
headers = { content_type: :json }
|
102
|
-
|
103
|
-
put_request("/orders/#{order_id}/feedback/purchase?version=3.0&access_token=#{@access_token}", payload, headers).body
|
104
|
-
end
|
105
|
-
|
106
|
-
def change_order_feedback(feedback_id, feedback_data)
|
107
|
-
payload = feedback_data.to_json
|
108
|
-
|
109
|
-
headers = { content_type: :json }
|
110
|
-
|
111
|
-
put_request("/feedback/#{feedback_id}?version=3.0&access_token=#{@access_token}", payload, headers).body
|
112
|
-
end
|
113
|
-
|
114
|
-
def reply_order_feedback(feedback_id, text)
|
115
|
-
payload = { reply: text }.to_json
|
116
|
-
|
117
|
-
headers = { content_type: :json }
|
118
|
-
|
119
|
-
post_request("/feedback/{feedback_id}/reply?version=3.0&access_token=#{@access_token}", payload, headers).body
|
120
|
-
end
|
121
|
-
|
122
|
-
def get_order_messages(order_id, filters={})
|
123
|
-
filters.merge!({
|
124
|
-
access_token: @access_token
|
125
|
-
})
|
126
|
-
|
127
|
-
get_request("/messages/orders/#{order_id}", filters).body
|
128
|
-
end
|
129
|
-
|
130
|
-
def get_order_message(message_id)
|
131
|
-
params = { access_token: @access_token }
|
132
|
-
get_request("/messages/#{message_id}", params).body
|
133
|
-
end
|
134
|
-
|
135
|
-
def create_order_message(order_id, user_from, user_to, content_type, message, attachments=[])
|
136
|
-
if content_type == 'plain'
|
137
|
-
message_data = { plain: message }
|
138
|
-
elsif content_type == 'html'
|
139
|
-
message_data = { html: message }
|
140
|
-
else
|
141
|
-
raise 'invalid content type! Allowed options: plain,html.'
|
142
|
-
end
|
143
|
-
|
144
|
-
payload = {
|
145
|
-
from: { user_id: user_from },
|
146
|
-
to: [{
|
147
|
-
user_id: user_to,
|
148
|
-
resource: 'orders',
|
149
|
-
resource_id: order_id,
|
150
|
-
site_id: @site
|
151
|
-
}],
|
152
|
-
text: message_data,
|
153
|
-
attachments: attachments
|
154
|
-
}.to_json
|
155
|
-
|
156
|
-
headers = { content_type: :json }
|
157
|
-
|
158
|
-
post_request("/messages?access_token=#{@access_token}&application_id=#{@app_key}", payload, headers).body
|
159
|
-
end
|
160
|
-
|
161
|
-
def create_attachment(path_to_file)
|
162
|
-
payload = { file: File.new(path_to_file, 'rb') }
|
163
|
-
post_request("/messages/attachments?access_token=#{@access_token}", payload).body
|
164
|
-
end
|
165
|
-
|
166
|
-
def get_attachment(attachment_id)
|
167
|
-
params = { access_token: @access_token }
|
168
|
-
get_request("/messages/attachments/#{attachment_id}", params, { api_response_kind: 'raw' }).body
|
169
|
-
end
|
170
|
-
|
171
|
-
def get_site_payment_methods(site_id)
|
172
|
-
results = get_request("/sites/#{site_id}/payment_methods")
|
173
|
-
results.body
|
174
|
-
end
|
175
|
-
|
176
|
-
def get_site_payment_method_info(site_id, payment_method_id)
|
177
|
-
results = get_request("/sites/#{site_id}/payment_methods/#{payment_method_id}")
|
178
|
-
results.body
|
179
|
-
end
|
180
|
-
|
181
|
-
def get_orders_blacklist(user_id)
|
182
|
-
results = get_request("/users/#{user_id}/order_blacklist?access_token=#{@access_token}")
|
183
|
-
results.body.map { |r| r.user.id }
|
184
|
-
end
|
185
|
-
|
186
|
-
def add_user_to_orders_blacklist(seller_id, user_id)
|
187
|
-
payload = { user_id: user_id }.to_json
|
188
|
-
|
189
|
-
headers = { content_type: :json }
|
190
|
-
|
191
|
-
url = "/users/#{seller_id}/order_blacklist?access_token=#{@access_token}"
|
192
|
-
post_request(url, payload, headers).status_code == 200
|
193
|
-
end
|
194
|
-
|
195
|
-
def remove_user_from_orders_blacklist(seller_id, user_id)
|
196
|
-
url = "/users/#{seller_id}/order_blacklist/#{user_id}?access_token=#{@access_token}"
|
197
|
-
|
198
|
-
delete_request(url).status_code == 200
|
199
|
-
end
|
200
|
-
end
|
201
|
-
end
|
202
|
-
end
|