yotpo 1.0.1 → 1.0.3
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 +5 -5
- data/lib/yotpo/api/account.rb +10 -0
- data/lib/yotpo/api/image.rb +27 -0
- data/lib/yotpo/api/product.rb +5 -0
- data/lib/yotpo/api/review.rb +46 -2
- data/lib/yotpo/client.rb +2 -0
- data/lib/yotpo/version.rb +1 -1
- data/spec/api/account_spec.rb +13 -1
- data/spec/api/image_spec.rb +38 -0
- data/spec/api/product_spec.rb +18 -0
- data/spec/api/review_spec.rb +15 -1
- data/spec/cassettes/check_lock_state.yml +50 -0
- data/spec/cassettes/check_products_information.yml +55 -0
- data/spec/cassettes/get_image.yml +162 -0
- data/spec/cassettes/get_review.yml +61 -0
- data/spec/cassettes/list_images.yml +58 -0
- metadata +16 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 0b83e3f2fc016a5ee39f8dfd8f6600978bc51779653f708523789bf47c143577
|
4
|
+
data.tar.gz: ad7d8cb447ccdddcae389f2b8d46cd70bb823b9c5bc070311320a15731bcb173
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b2399df877a4c3b3a6bc00ded492ce2da59ad6fdb48cb416aa9ef05b957dcc4adfc2632ec800d1ce886e9da314939df881fdbf75146b893e3e87455133bc9bb
|
7
|
+
data.tar.gz: 23d109586179d07909d4c0f36102b65bc3f060137f91ea0ba57510489c839d6759219d272d124456b5edf8e2e67b65091eb5983e0c0326630933542f7f85074d
|
data/lib/yotpo/api/account.rb
CHANGED
@@ -40,6 +40,16 @@ module Yotpo
|
|
40
40
|
utoken = params[:utoken]
|
41
41
|
get("/apps/#{app_key}/subomain_check/#{subdomain}?utoken=#{utoken}")
|
42
42
|
end
|
43
|
+
|
44
|
+
#
|
45
|
+
# Check if the account is locked
|
46
|
+
#
|
47
|
+
# @param params [Hash]
|
48
|
+
# @option params [String] :app_key the account app key that was created at registration
|
49
|
+
def check_lock_state(params)
|
50
|
+
app_key = params[:app_key]
|
51
|
+
get("/apps/#{app_key}/lock_state")
|
52
|
+
end
|
43
53
|
end
|
44
54
|
end
|
45
55
|
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Yotpo
|
2
|
+
module Image
|
3
|
+
|
4
|
+
# Gets a specific image in Yotpo
|
5
|
+
#
|
6
|
+
# @param [Hash] params
|
7
|
+
# @option params [String] :app_key the account app key that was created at registration
|
8
|
+
# @option params [String] :id the id of the image
|
9
|
+
# @return [::Hashie::Mash] The image with all of it's data
|
10
|
+
def get_image(params)
|
11
|
+
image_id = params[:id]
|
12
|
+
app_key = params[:app_key]
|
13
|
+
get("v1/widget/#{app_key}/images/show/#{image_id}")
|
14
|
+
end
|
15
|
+
|
16
|
+
# Gets a list of images in Yotpo
|
17
|
+
#
|
18
|
+
# @param [Hash] params
|
19
|
+
# @option params [Array] :ids the ids of the images
|
20
|
+
# @return [::Hashie::Mash] The images with all of their data
|
21
|
+
def list_images(params)
|
22
|
+
app_key = params[:app_key]
|
23
|
+
ids = params[:ids]
|
24
|
+
post("v1/widget/#{app_key}/images/list", ids: ids)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/yotpo/api/product.rb
CHANGED
@@ -11,6 +11,11 @@ module Yotpo
|
|
11
11
|
get("/apps/#{app_key}/bottom_lines", request)
|
12
12
|
end
|
13
13
|
|
14
|
+
def get_products_information(params)
|
15
|
+
app_key = params[:app_key]
|
16
|
+
get("/v1/widget/#{app_key}/products/products_information", { domain_keys: params[:domain_keys] })
|
17
|
+
end
|
18
|
+
|
14
19
|
#
|
15
20
|
# Retrieves the bottom line of a product
|
16
21
|
# @param params [Hash]
|
data/lib/yotpo/api/review.rb
CHANGED
@@ -17,7 +17,7 @@ module Yotpo
|
|
17
17
|
# @option params [String] :review_title the review title
|
18
18
|
# @option params [String Integer] :review_score the rating of the review
|
19
19
|
# @option params [String] :utoken the token of the user who wrote the review (if one exists)
|
20
|
-
# @return [::Hashie::Mash] The new review with all of it's
|
20
|
+
# @return [::Hashie::Mash] The new review with all of it's data
|
21
21
|
def create_review(params)
|
22
22
|
request = {
|
23
23
|
appkey: params[:app_key],
|
@@ -34,10 +34,54 @@ module Yotpo
|
|
34
34
|
review_score: params[:review_score],
|
35
35
|
utoken: params[:utoken]
|
36
36
|
}
|
37
|
-
request.delete_if {|element, value| value.nil? }
|
37
|
+
request.delete_if { |element, value| value.nil? }
|
38
38
|
get('/reviews/dynamic_create', request)
|
39
39
|
end
|
40
40
|
|
41
|
+
# Gets a specific review in Yotpo
|
42
|
+
#
|
43
|
+
# @param [Hash] params
|
44
|
+
# @option params [String] :id the id of the review
|
45
|
+
# @return [::Hashie::Mash] The review with all of it's data
|
46
|
+
def get_review(params)
|
47
|
+
review_id = params[:id]
|
48
|
+
get("/reviews/#{review_id}")
|
49
|
+
end
|
50
|
+
|
51
|
+
#
|
52
|
+
# Gets reviews of all products
|
53
|
+
#
|
54
|
+
# @param [Hash] params
|
55
|
+
# @option params [String] :app_key the app key of the account for which the review is created
|
56
|
+
# @option params [String] :product_id the id of the product
|
57
|
+
# @option params [Integer] :count the amount of reviews per page
|
58
|
+
# @option params [Integer] :page the page number
|
59
|
+
# @option params [String] :since_id the id from which to start retrieving reviews
|
60
|
+
# @option params [String] :since_date the date from which to start retrieving reviews
|
61
|
+
# @option params [String] :since_updated_at Earliest update date of returned reviews
|
62
|
+
# @option params [String] :utoken the users utoken to get the reviews that are most relevant to that user
|
63
|
+
# @option params [String] :user_reference Filter by user reference
|
64
|
+
# @option params [Boolean] :include_site_reviews Include site reviews
|
65
|
+
# @option params [Boolean] :deleted Include deleted reviews
|
66
|
+
|
67
|
+
def get_all_reviews(params)
|
68
|
+
app_key = params[:app_key]
|
69
|
+
sku = params[:product_id]
|
70
|
+
request = {
|
71
|
+
utoken: params[:utoken],
|
72
|
+
since_id: params[:since_id],
|
73
|
+
since_date: params[:since_date],
|
74
|
+
since_updated_at: params[:since_updated_at],
|
75
|
+
count: params[:per_page] || 20,
|
76
|
+
page: params[:page] || 1,
|
77
|
+
include_site_reviews: params[:include_site_reviews],
|
78
|
+
deleted: params[:deleted],
|
79
|
+
user_reference: params[:user_reference]
|
80
|
+
}
|
81
|
+
request.delete_if{|key,val| val.nil? }
|
82
|
+
get("/v1/apps/#{app_key}/#{sku}/reviews", request)
|
83
|
+
end
|
84
|
+
|
41
85
|
#
|
42
86
|
# Gets reviews of a specific product
|
43
87
|
#
|
data/lib/yotpo/client.rb
CHANGED
@@ -13,6 +13,7 @@ require 'yotpo/api/question'
|
|
13
13
|
require 'yotpo/api/answer'
|
14
14
|
require 'yotpo/api/feature'
|
15
15
|
require 'yotpo/api/oauth'
|
16
|
+
require 'yotpo/api/image'
|
16
17
|
require 'yotpo/api/owner_feature'
|
17
18
|
require 'yotpo/api/owner_feature_setting'
|
18
19
|
require 'yotpo/api/product'
|
@@ -28,6 +29,7 @@ module Yotpo
|
|
28
29
|
include Yotpo::AccountSocial
|
29
30
|
include Yotpo::Comment
|
30
31
|
include Yotpo::Feature
|
32
|
+
include Yotpo::Image
|
31
33
|
include Yotpo::Oauth
|
32
34
|
include Yotpo::OwnerFeature
|
33
35
|
include Yotpo::OwnerFeatureSetting
|
data/lib/yotpo/version.rb
CHANGED
data/spec/api/account_spec.rb
CHANGED
@@ -36,7 +36,19 @@ describe Yotpo::Account do
|
|
36
36
|
it { should be_a ::Hashie::Mash }
|
37
37
|
it { should respond_to :available }
|
38
38
|
it { should respond_to :subdomain }
|
39
|
+
end
|
39
40
|
|
40
|
-
|
41
|
+
describe '#check_lock_state' do
|
42
|
+
before(:all) do
|
43
|
+
data = {
|
44
|
+
app_key: @app_key
|
45
|
+
}
|
46
|
+
VCR.use_cassette('check_lock_state') do
|
47
|
+
@response = Yotpo.check_lock_state(data)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
subject { @response.body }
|
51
|
+
it { should be_a ::Hashie::Mash }
|
52
|
+
it { should respond_to :active }
|
41
53
|
end
|
42
54
|
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe Yotpo::Image do
|
4
|
+
describe '#get_image' do
|
5
|
+
before(:all) do
|
6
|
+
VCR.use_cassette('get_image') do
|
7
|
+
@response = Yotpo.get_image(id: 5, app_key: @app_key)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
subject { @response.body.image }
|
12
|
+
it { should respond_to :id }
|
13
|
+
it { should respond_to :image_url }
|
14
|
+
it { should respond_to :big_image_url }
|
15
|
+
it { should respond_to :image_content_type }
|
16
|
+
it { should respond_to :image_width }
|
17
|
+
it { should respond_to :image_height }
|
18
|
+
end
|
19
|
+
|
20
|
+
describe '#list_images' do
|
21
|
+
before(:all) do
|
22
|
+
VCR.use_cassette('list_images') do
|
23
|
+
@response = Yotpo.list_images(ids: [23,24], app_key: @app_key)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
subject { @response.body.images }
|
28
|
+
it { should respond_to :count }
|
29
|
+
|
30
|
+
subject { @response.body.images.first }
|
31
|
+
it { should respond_to :id }
|
32
|
+
it { should respond_to :image_url }
|
33
|
+
it { should respond_to :big_image_url }
|
34
|
+
it { should respond_to :image_content_type }
|
35
|
+
it { should respond_to :image_width }
|
36
|
+
it { should respond_to :image_height }
|
37
|
+
end
|
38
|
+
end
|
data/spec/api/product_spec.rb
CHANGED
@@ -1,6 +1,24 @@
|
|
1
1
|
require 'helper'
|
2
2
|
|
3
3
|
describe Yotpo::Product do
|
4
|
+
describe '#get_product_information' do
|
5
|
+
before(:all) do
|
6
|
+
products_params = {
|
7
|
+
app_key: 'vzStmYud6bHLto5ksn5DoGoA7ghM0kzjMdH2DS5T',
|
8
|
+
domain_keys: ['1', '2']
|
9
|
+
}
|
10
|
+
VCR.use_cassette('check_products_information') do
|
11
|
+
@response = Yotpo.get_products_information(products_params)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
subject { @response.body.products['1'] }
|
16
|
+
it { should be_a ::Hashie::Mash }
|
17
|
+
it { should respond_to :domain_key }
|
18
|
+
it { should respond_to :product_link }
|
19
|
+
it { should respond_to :name }
|
20
|
+
end
|
21
|
+
|
4
22
|
describe '#get_all_bottom_lines' do
|
5
23
|
before(:all) do
|
6
24
|
get_app_bottom_lines_params = {
|
data/spec/api/review_spec.rb
CHANGED
@@ -31,6 +31,20 @@ describe Yotpo::Review do
|
|
31
31
|
it { should respond_to :title }
|
32
32
|
end
|
33
33
|
|
34
|
+
describe '#get_review' do
|
35
|
+
before(:all) do
|
36
|
+
VCR.use_cassette('get_review') do
|
37
|
+
@response = Yotpo.get_review(id: 22)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
subject { @response.body.review }
|
42
|
+
it { should respond_to :id }
|
43
|
+
it { should respond_to :user }
|
44
|
+
it { should respond_to :content }
|
45
|
+
it { should respond_to :title }
|
46
|
+
end
|
47
|
+
|
34
48
|
describe '#get_product_reviews' do
|
35
49
|
before(:all) do
|
36
50
|
get_reviews_params = {
|
@@ -68,4 +82,4 @@ describe Yotpo::Review do
|
|
68
82
|
it { should respond_to :id }
|
69
83
|
|
70
84
|
end
|
71
|
-
end
|
85
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.yotpo.com/apps/3ovRYNIb6OIAI0ddS7EfpYkHpi0oTKl6bj82Vjiy/lock_state
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.2
|
12
|
+
Yotpo-Api-Connector:
|
13
|
+
- Ruby1.0.1
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: 'OK '
|
18
|
+
headers:
|
19
|
+
Server:
|
20
|
+
- nginx/1.8.1
|
21
|
+
Date:
|
22
|
+
- Tue, 16 May 2017 13:55:49 GMT
|
23
|
+
Content-Type:
|
24
|
+
- application/json; charset=utf-8
|
25
|
+
Content-Length:
|
26
|
+
- '65'
|
27
|
+
Connection:
|
28
|
+
- keep-alive
|
29
|
+
Yotpo-Parsed-Request:
|
30
|
+
- '{"action":"lock_state","controller":"apps","id":"3ovRYNIb6OIAI0ddS7EfpYkHpi0oTKl6bj82Vjiy"}'
|
31
|
+
X-Ua-Compatible:
|
32
|
+
- IE=Edge,chrome=1
|
33
|
+
Etag:
|
34
|
+
- '"c3733c6fbd8c6c10a81437240c49c7f9"'
|
35
|
+
Cache-Control:
|
36
|
+
- max-age=0, private, must-revalidate
|
37
|
+
X-Request-Id:
|
38
|
+
- 700119c9b20f1006b5007ff80c96bc8a
|
39
|
+
X-Runtime:
|
40
|
+
- '11.192951'
|
41
|
+
Access-Control-Allow-Credentials:
|
42
|
+
- 'true'
|
43
|
+
Strict-Transport-Security:
|
44
|
+
- max-age=31536000; includeSubDomains
|
45
|
+
body:
|
46
|
+
encoding: UTF-8
|
47
|
+
string: '{"status":{"code":200,"message":"OK"},"response":{"active":true}}'
|
48
|
+
http_version:
|
49
|
+
recorded_at: Tue, 16 May 2017 13:55:49 GMT
|
50
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,55 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.yotpo.com/v1/widget/vzStmYud6bHLto5ksn5DoGoA7ghM0kzjMdH2DS5T/products/products_information?domain_keys%5B%5D=1&domain_keys%5B%5D=2
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.2
|
12
|
+
Yotpo-Api-Connector:
|
13
|
+
- Ruby1.0.1
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: 'OK '
|
18
|
+
headers:
|
19
|
+
Server:
|
20
|
+
- nginx/1.8.1
|
21
|
+
Date:
|
22
|
+
- Tue, 05 Dec 2017 15:45:28 GMT
|
23
|
+
Content-Type:
|
24
|
+
- application/json; charset=utf-8
|
25
|
+
Content-Length:
|
26
|
+
- '357'
|
27
|
+
Connection:
|
28
|
+
- keep-alive
|
29
|
+
X-Frame-Options:
|
30
|
+
- SAMEORIGIN
|
31
|
+
X-Xss-Protection:
|
32
|
+
- 1; mode=block
|
33
|
+
X-Content-Type-Options:
|
34
|
+
- nosniff
|
35
|
+
Yotpo-Parsed-Request:
|
36
|
+
- '{"format":"json","controller":"widget/products","action":"products_information","app_key":"vzStmYud6bHLto5ksn5DoGoA7ghM0kzjMdH2DS5T"}'
|
37
|
+
Etag:
|
38
|
+
- W/"b8bb74f4e812cc9bb09d713b88bc2b0c"
|
39
|
+
Cache-Control:
|
40
|
+
- max-age=0, private, must-revalidate
|
41
|
+
X-Request-Id:
|
42
|
+
- 699b3444-eb7b-4c01-9b78-9216a2840821
|
43
|
+
X-Runtime:
|
44
|
+
- '2.754755'
|
45
|
+
Access-Control-Allow-Credentials:
|
46
|
+
- 'true'
|
47
|
+
Strict-Transport-Security:
|
48
|
+
- max-age=31536000; includeSubDomains
|
49
|
+
body:
|
50
|
+
encoding: UTF-8
|
51
|
+
string: '{"status":{"code":200,"message":"OK"},"response":{"products":{"1":{"id":88,"name":"Angry
|
52
|
+
Bird","domain_key":"1","product_link":"https://yotpo.com/go/mEiK6Ji5","product_url":"http://yotpo.mysimplestore.com/products/angry-bird","image_url":"https://s3.amazonaws.com/yotpo-images-test/Product/88/123/square.png?1503838853","score":null,"reviews_count":null}}}}'
|
53
|
+
http_version:
|
54
|
+
recorded_at: Tue, 05 Dec 2017 15:45:28 GMT
|
55
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,162 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.yotpo.com/images/5
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.2
|
12
|
+
Yotpo-Api-Connector:
|
13
|
+
- Ruby1.0.1
|
14
|
+
Expect:
|
15
|
+
- ''
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: 'OK '
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- nginx/1.10.3
|
23
|
+
Date:
|
24
|
+
- Thu, 16 Nov 2017 15:13:55 GMT
|
25
|
+
Content-Type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
Content-Length:
|
28
|
+
- '365'
|
29
|
+
Connection:
|
30
|
+
- keep-alive
|
31
|
+
X-Frame-Options:
|
32
|
+
- SAMEORIGIN
|
33
|
+
X-Xss-Protection:
|
34
|
+
- 1; mode=block
|
35
|
+
X-Content-Type-Options:
|
36
|
+
- nosniff
|
37
|
+
Yotpo-Parsed-Request:
|
38
|
+
- '{"format":"json","controller":"images","action":"show","id":"5"}'
|
39
|
+
Etag:
|
40
|
+
- W/"8d7961068fa8091bac9925ccf6939fac"
|
41
|
+
Cache-Control:
|
42
|
+
- max-age=0, private, must-revalidate
|
43
|
+
X-Request-Id:
|
44
|
+
- 9c9ceb89-73dc-4c29-8a5a-1b907e74de0d
|
45
|
+
X-Runtime:
|
46
|
+
- '0.137265'
|
47
|
+
Access-Control-Allow-Credentials:
|
48
|
+
- 'true'
|
49
|
+
Strict-Transport-Security:
|
50
|
+
- max-age=31536000; includeSubDomains
|
51
|
+
body:
|
52
|
+
encoding: UTF-8
|
53
|
+
string: '{"status":{"code":200,"message":"OK"},"response":{"image":{"id":5,"image_url":"https://s3.amazonaws.com/yotpo-images-test/Review/22/5/thumb.jpg?1487686542","big_image_url":"https://s3.amazonaws.com/yotpo-images-test/Review/22/5/big.jpg?1487686542","image_content_type":"image/jpeg","image_width":200,"image_height":200,"imageable_type":"Review","imageable_id":22}}}'
|
54
|
+
http_version:
|
55
|
+
recorded_at: Thu, 16 Nov 2017 15:13:55 GMT
|
56
|
+
- request:
|
57
|
+
method: get
|
58
|
+
uri: https://api.yotpo.com/v1/widget/3ovRYNIb6OIAI0ddS7EfpYkHpi0oTKl6bj82Vjiy/images/5
|
59
|
+
body:
|
60
|
+
encoding: US-ASCII
|
61
|
+
string: ''
|
62
|
+
headers:
|
63
|
+
User-Agent:
|
64
|
+
- Faraday v0.9.2
|
65
|
+
Yotpo-Api-Connector:
|
66
|
+
- Ruby1.0.1
|
67
|
+
Expect:
|
68
|
+
- ''
|
69
|
+
response:
|
70
|
+
status:
|
71
|
+
code: 200
|
72
|
+
message: 'OK '
|
73
|
+
headers:
|
74
|
+
Server:
|
75
|
+
- nginx/1.10.3
|
76
|
+
Date:
|
77
|
+
- Mon, 04 Dec 2017 08:05:10 GMT
|
78
|
+
Content-Type:
|
79
|
+
- application/json; charset=utf-8
|
80
|
+
Content-Length:
|
81
|
+
- '365'
|
82
|
+
Connection:
|
83
|
+
- keep-alive
|
84
|
+
X-Frame-Options:
|
85
|
+
- SAMEORIGIN
|
86
|
+
X-Xss-Protection:
|
87
|
+
- 1; mode=block
|
88
|
+
X-Content-Type-Options:
|
89
|
+
- nosniff
|
90
|
+
Yotpo-Parsed-Request:
|
91
|
+
- '{"format":"json","controller":"widget/images","action":"show","app_key":"3ovRYNIb6OIAI0ddS7EfpYkHpi0oTKl6bj82Vjiy","id":"5"}'
|
92
|
+
Etag:
|
93
|
+
- W/"8d7961068fa8091bac9925ccf6939fac"
|
94
|
+
Cache-Control:
|
95
|
+
- max-age=0, private, must-revalidate
|
96
|
+
X-Request-Id:
|
97
|
+
- 2783e562-476d-4913-97bb-58e70d1a2643
|
98
|
+
X-Runtime:
|
99
|
+
- '0.143147'
|
100
|
+
Access-Control-Allow-Credentials:
|
101
|
+
- 'true'
|
102
|
+
Strict-Transport-Security:
|
103
|
+
- max-age=31536000; includeSubDomains
|
104
|
+
body:
|
105
|
+
encoding: UTF-8
|
106
|
+
string: '{"status":{"code":200,"message":"OK"},"response":{"image":{"id":5,"image_url":"https://s3.amazonaws.com/yotpo-images-test/Review/22/5/thumb.jpg?1487686542","big_image_url":"https://s3.amazonaws.com/yotpo-images-test/Review/22/5/big.jpg?1487686542","image_content_type":"image/jpeg","image_width":200,"image_height":200,"imageable_type":"Review","imageable_id":22}}}'
|
107
|
+
http_version:
|
108
|
+
recorded_at: Mon, 04 Dec 2017 08:05:10 GMT
|
109
|
+
- request:
|
110
|
+
method: get
|
111
|
+
uri: https://api.yotpo.com/v1/widget/3ovRYNIb6OIAI0ddS7EfpYkHpi0oTKl6bj82Vjiy/images/show/5
|
112
|
+
body:
|
113
|
+
encoding: US-ASCII
|
114
|
+
string: ''
|
115
|
+
headers:
|
116
|
+
User-Agent:
|
117
|
+
- Faraday v0.9.2
|
118
|
+
Yotpo-Api-Connector:
|
119
|
+
- Ruby1.0.1
|
120
|
+
Expect:
|
121
|
+
- ''
|
122
|
+
response:
|
123
|
+
status:
|
124
|
+
code: 200
|
125
|
+
message: 'OK '
|
126
|
+
headers:
|
127
|
+
Server:
|
128
|
+
- nginx/1.10.3
|
129
|
+
Date:
|
130
|
+
- Mon, 04 Dec 2017 09:36:19 GMT
|
131
|
+
Content-Type:
|
132
|
+
- application/json; charset=utf-8
|
133
|
+
Content-Length:
|
134
|
+
- '365'
|
135
|
+
Connection:
|
136
|
+
- keep-alive
|
137
|
+
X-Frame-Options:
|
138
|
+
- SAMEORIGIN
|
139
|
+
X-Xss-Protection:
|
140
|
+
- 1; mode=block
|
141
|
+
X-Content-Type-Options:
|
142
|
+
- nosniff
|
143
|
+
Yotpo-Parsed-Request:
|
144
|
+
- '{"format":"json","controller":"widget/images","action":"show","app_key":"3ovRYNIb6OIAI0ddS7EfpYkHpi0oTKl6bj82Vjiy","id":"5"}'
|
145
|
+
Etag:
|
146
|
+
- W/"8d7961068fa8091bac9925ccf6939fac"
|
147
|
+
Cache-Control:
|
148
|
+
- max-age=0, private, must-revalidate
|
149
|
+
X-Request-Id:
|
150
|
+
- e9728daf-160c-4bbc-90e5-f65c21f8f678
|
151
|
+
X-Runtime:
|
152
|
+
- '7.839896'
|
153
|
+
Access-Control-Allow-Credentials:
|
154
|
+
- 'true'
|
155
|
+
Strict-Transport-Security:
|
156
|
+
- max-age=31536000; includeSubDomains
|
157
|
+
body:
|
158
|
+
encoding: UTF-8
|
159
|
+
string: '{"status":{"code":200,"message":"OK"},"response":{"image":{"id":5,"image_url":"https://s3.amazonaws.com/yotpo-images-test/Review/22/5/thumb.jpg?1487686542","big_image_url":"https://s3.amazonaws.com/yotpo-images-test/Review/22/5/big.jpg?1487686542","image_content_type":"image/jpeg","image_width":200,"image_height":200,"imageable_type":"Review","imageable_id":22}}}'
|
160
|
+
http_version:
|
161
|
+
recorded_at: Mon, 04 Dec 2017 09:36:19 GMT
|
162
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,61 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.yotpo.com/reviews/22
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.2
|
12
|
+
Yotpo-Api-Connector:
|
13
|
+
- Ruby1.0.1
|
14
|
+
Expect:
|
15
|
+
- ''
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: 'OK '
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- nginx/1.10.3
|
23
|
+
Date:
|
24
|
+
- Thu, 16 Nov 2017 15:13:55 GMT
|
25
|
+
Content-Type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
Content-Length:
|
28
|
+
- '1515'
|
29
|
+
Connection:
|
30
|
+
- keep-alive
|
31
|
+
X-Frame-Options:
|
32
|
+
- SAMEORIGIN
|
33
|
+
X-Xss-Protection:
|
34
|
+
- 1; mode=block
|
35
|
+
X-Content-Type-Options:
|
36
|
+
- nosniff
|
37
|
+
Yotpo-Parsed-Request:
|
38
|
+
- '{"format":"json","controller":"reviews","action":"show","id":"22"}'
|
39
|
+
Etag:
|
40
|
+
- W/"f8255f25de01e79b2568f439aa9305e4"
|
41
|
+
Cache-Control:
|
42
|
+
- max-age=0, private, must-revalidate
|
43
|
+
X-Request-Id:
|
44
|
+
- b90ae4f6-2014-4701-a226-9ad3339b6592
|
45
|
+
X-Runtime:
|
46
|
+
- '0.150779'
|
47
|
+
Access-Control-Allow-Credentials:
|
48
|
+
- 'true'
|
49
|
+
Strict-Transport-Security:
|
50
|
+
- max-age=31536000; includeSubDomains
|
51
|
+
body:
|
52
|
+
encoding: UTF-8
|
53
|
+
string: '{"status":{"code":200,"message":"OK"},"response":{"review":{"id":22,"content":"Wow,
|
54
|
+
what a camera! This is absolutely perfect for anyone who wants to use it for
|
55
|
+
personal use.","title":"Works Great","score":5,"user":{"id":7,"display_name":"Henry
|
56
|
+
K.","slug":"henry-k","social_image":"https://ddcfq0gxiontw.cloudfront.net/images/anonymous_user.png","is_social_connected":false,"bio":null,"score":0,"badges":[]},"user_type":"User","users":[],"products":[{"Location_idx":[0,0],"Product":{"id":8,"name":"Camera
|
57
|
+
GX4","slug":"camera-gx4--4","product_url":"http://www.yotpo.com","shorten_url":"https://yotpo.com/go/v5n0HW0r","images":[{"id":16,"image_url":"https://s3.amazonaws.com/yotpo-images-test/Product/8/16/square.jpg?1487692044","big_image_url":"https://s3.amazonaws.com/yotpo-images-test/Product/8/16/big.jpg?1487692044"}],"social_network_links":{"facebook":"https://yotpo.com/go/kjcEQbGK","twitter":"https://yotpo.com/go/fx5SeycZ","linkedin":"https://yotpo.com/go/vUOZEgEi","google_oauth2":"https://yotpo.com/go/evOxBJDA"},"facebook_testemonials_page_product_url":"https://yotpo.com/go/cFIcQ0lI"}}],"votes_up":0,"votes_down":0,"user_vote":0,"created_at":"2015-03-05T22:00:00.000Z","deleted":false,"new":false,"verified_buyer":false,"archived":false,"social_pushed":false,"facebook_pushed":0,"twitter_pushed":0,"account":{"id":1,"domain":"w2.yotpo.com"},"products_apps":[{"id":8,"product_url":"http://www.yotpo.com","domain_key":"nb2b_pictures_in_reviews","product":{"id":8,"name":"Camera
|
58
|
+
GX4"}}],"sentiment":null}}}'
|
59
|
+
http_version:
|
60
|
+
recorded_at: Thu, 16 Nov 2017 15:13:55 GMT
|
61
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,58 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://api.yotpo.com/v1/widget/3ovRYNIb6OIAI0ddS7EfpYkHpi0oTKl6bj82Vjiy/images/list
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"ids":[23,24]}'
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.2
|
12
|
+
Yotpo-Api-Connector:
|
13
|
+
- Ruby1.0.1
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
Expect:
|
17
|
+
- ''
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: 'OK '
|
22
|
+
headers:
|
23
|
+
Server:
|
24
|
+
- nginx/1.10.3
|
25
|
+
Date:
|
26
|
+
- Mon, 04 Dec 2017 08:05:10 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/json; charset=utf-8
|
29
|
+
Content-Length:
|
30
|
+
- '681'
|
31
|
+
Connection:
|
32
|
+
- keep-alive
|
33
|
+
X-Frame-Options:
|
34
|
+
- SAMEORIGIN
|
35
|
+
X-Xss-Protection:
|
36
|
+
- 1; mode=block
|
37
|
+
X-Content-Type-Options:
|
38
|
+
- nosniff
|
39
|
+
Yotpo-Parsed-Request:
|
40
|
+
- '{"format":"json","controller":"widget/images","action":"list","app_key":"3ovRYNIb6OIAI0ddS7EfpYkHpi0oTKl6bj82Vjiy"}'
|
41
|
+
Etag:
|
42
|
+
- W/"5fb271f67fa767bd3316eabc14503793"
|
43
|
+
Cache-Control:
|
44
|
+
- max-age=0, private, must-revalidate
|
45
|
+
X-Request-Id:
|
46
|
+
- 8c735063-66c7-41a4-bdf3-10552aea65e1
|
47
|
+
X-Runtime:
|
48
|
+
- '0.212524'
|
49
|
+
Access-Control-Allow-Credentials:
|
50
|
+
- 'true'
|
51
|
+
Strict-Transport-Security:
|
52
|
+
- max-age=31536000; includeSubDomains
|
53
|
+
body:
|
54
|
+
encoding: UTF-8
|
55
|
+
string: '{"status":{"code":200,"message":"OK"},"response":{"images":[{"id":23,"image_url":"https://s3.amazonaws.com/yotpo-images-test/Review/46/23/thumb.jpg?1488294060","big_image_url":"https://s3.amazonaws.com/yotpo-images-test/Review/46/23/big.jpg?1488294060","image_content_type":"image/jpeg","image_width":640,"image_height":426,"imageable_type":"Review","imageable_id":46},{"id":24,"image_url":"https://s3.amazonaws.com/yotpo-images-test/Review/46/24/thumb.jpg?1488294066","big_image_url":"https://s3.amazonaws.com/yotpo-images-test/Review/46/24/big.jpg?1488294066","image_content_type":"image/jpeg","image_width":1024,"image_height":589,"imageable_type":"Review","imageable_id":46}]}}'
|
56
|
+
http_version:
|
57
|
+
recorded_at: Mon, 04 Dec 2017 08:05:10 GMT
|
58
|
+
recorded_with: VCR 3.0.3
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yotpo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vladislav Shub
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-12-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -124,6 +124,7 @@ files:
|
|
124
124
|
- lib/yotpo/api/answer.rb
|
125
125
|
- lib/yotpo/api/comment.rb
|
126
126
|
- lib/yotpo/api/feature.rb
|
127
|
+
- lib/yotpo/api/image.rb
|
127
128
|
- lib/yotpo/api/oauth.rb
|
128
129
|
- lib/yotpo/api/owner_feature.rb
|
129
130
|
- lib/yotpo/api/owner_feature_setting.rb
|
@@ -142,6 +143,7 @@ files:
|
|
142
143
|
- spec/api/answer_spec.rb
|
143
144
|
- spec/api/comment_spec.rb
|
144
145
|
- spec/api/feature_spec.rb
|
146
|
+
- spec/api/image_spec.rb
|
145
147
|
- spec/api/oauth_spec.rb
|
146
148
|
- spec/api/owner_feature_setting_spec.rb
|
147
149
|
- spec/api/owner_feature_spec.rb
|
@@ -155,7 +157,9 @@ files:
|
|
155
157
|
- spec/cassettes/add_shop_owner_answer.yml
|
156
158
|
- spec/cassettes/add_vote_to_review.yml
|
157
159
|
- spec/cassettes/anonymous_user_confirmation.yml
|
160
|
+
- spec/cassettes/check_lock_state.yml
|
158
161
|
- spec/cassettes/check_minisite_subdomain.yml
|
162
|
+
- spec/cassettes/check_products_information.yml
|
159
163
|
- spec/cassettes/create_account_platform.yml
|
160
164
|
- spec/cassettes/create_account_social.yml
|
161
165
|
- spec/cassettes/create_comment.yml
|
@@ -166,6 +170,7 @@ files:
|
|
166
170
|
- spec/cassettes/get_account_social.yml
|
167
171
|
- spec/cassettes/get_feature_settings.yml
|
168
172
|
- spec/cassettes/get_features.yml
|
173
|
+
- spec/cassettes/get_image.yml
|
169
174
|
- spec/cassettes/get_login_url.yml
|
170
175
|
- spec/cassettes/get_oauth_token.yml
|
171
176
|
- spec/cassettes/get_owner_features.yml
|
@@ -173,6 +178,8 @@ files:
|
|
173
178
|
- spec/cassettes/get_product_reviews.yml
|
174
179
|
- spec/cassettes/get_product_url.yml
|
175
180
|
- spec/cassettes/get_purchases.yml
|
181
|
+
- spec/cassettes/get_review.yml
|
182
|
+
- spec/cassettes/list_images.yml
|
176
183
|
- spec/cassettes/mass_update_feature_settings.yml
|
177
184
|
- spec/cassettes/owner_feature_settings.yml
|
178
185
|
- spec/cassettes/question_create_by_token.yml
|
@@ -222,7 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
222
229
|
version: '0'
|
223
230
|
requirements: []
|
224
231
|
rubyforge_project:
|
225
|
-
rubygems_version: 2.
|
232
|
+
rubygems_version: 2.7.3
|
226
233
|
signing_key:
|
227
234
|
specification_version: 4
|
228
235
|
summary: A Ruby interface to the YOTPO API
|
@@ -233,6 +240,7 @@ test_files:
|
|
233
240
|
- spec/api/answer_spec.rb
|
234
241
|
- spec/api/comment_spec.rb
|
235
242
|
- spec/api/feature_spec.rb
|
243
|
+
- spec/api/image_spec.rb
|
236
244
|
- spec/api/oauth_spec.rb
|
237
245
|
- spec/api/owner_feature_setting_spec.rb
|
238
246
|
- spec/api/owner_feature_spec.rb
|
@@ -246,7 +254,9 @@ test_files:
|
|
246
254
|
- spec/cassettes/add_shop_owner_answer.yml
|
247
255
|
- spec/cassettes/add_vote_to_review.yml
|
248
256
|
- spec/cassettes/anonymous_user_confirmation.yml
|
257
|
+
- spec/cassettes/check_lock_state.yml
|
249
258
|
- spec/cassettes/check_minisite_subdomain.yml
|
259
|
+
- spec/cassettes/check_products_information.yml
|
250
260
|
- spec/cassettes/create_account_platform.yml
|
251
261
|
- spec/cassettes/create_account_social.yml
|
252
262
|
- spec/cassettes/create_comment.yml
|
@@ -257,6 +267,7 @@ test_files:
|
|
257
267
|
- spec/cassettes/get_account_social.yml
|
258
268
|
- spec/cassettes/get_feature_settings.yml
|
259
269
|
- spec/cassettes/get_features.yml
|
270
|
+
- spec/cassettes/get_image.yml
|
260
271
|
- spec/cassettes/get_login_url.yml
|
261
272
|
- spec/cassettes/get_oauth_token.yml
|
262
273
|
- spec/cassettes/get_owner_features.yml
|
@@ -264,6 +275,8 @@ test_files:
|
|
264
275
|
- spec/cassettes/get_product_reviews.yml
|
265
276
|
- spec/cassettes/get_product_url.yml
|
266
277
|
- spec/cassettes/get_purchases.yml
|
278
|
+
- spec/cassettes/get_review.yml
|
279
|
+
- spec/cassettes/list_images.yml
|
267
280
|
- spec/cassettes/mass_update_feature_settings.yml
|
268
281
|
- spec/cassettes/owner_feature_settings.yml
|
269
282
|
- spec/cassettes/question_create_by_token.yml
|