yotpo 0.1.0 → 1.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.
Files changed (55) hide show
  1. checksums.yaml +5 -13
  2. data/.ruby-version +1 -1
  3. data/.travis.yml +0 -2
  4. data/lib/yotpo.rb +1 -1
  5. data/lib/yotpo/api/account_social.rb +39 -0
  6. data/lib/yotpo/api/answer.rb +16 -0
  7. data/lib/yotpo/api/comment.rb +38 -0
  8. data/lib/yotpo/api/feature.rb +12 -0
  9. data/lib/yotpo/api/oauth.rb +13 -0
  10. data/lib/yotpo/api/owner_feature.rb +48 -0
  11. data/lib/yotpo/api/owner_feature_setting.rb +37 -0
  12. data/lib/yotpo/api/product.rb +13 -0
  13. data/lib/yotpo/api/question.rb +44 -0
  14. data/lib/yotpo/api/review.rb +4 -1
  15. data/lib/yotpo/api/user.rb +5 -0
  16. data/lib/yotpo/client.rb +21 -5
  17. data/lib/yotpo/core/response_parser.rb +5 -3
  18. data/lib/yotpo/version.rb +1 -1
  19. data/spec/api/account_social_spec.rb +59 -0
  20. data/spec/api/answer_spec.rb +32 -0
  21. data/spec/api/comment_spec.rb +74 -0
  22. data/spec/api/feature_spec.rb +21 -0
  23. data/spec/api/oauth_spec.rb +22 -0
  24. data/spec/api/owner_feature_setting_spec.rb +79 -0
  25. data/spec/api/owner_feature_spec.rb +77 -0
  26. data/spec/api/product_spec.rb +18 -0
  27. data/spec/api/purchase_spec.rb +2 -2
  28. data/spec/api/question_spec.rb +53 -0
  29. data/spec/api/review_spec.rb +17 -0
  30. data/spec/api/user_spec.rb +14 -0
  31. data/spec/cassettes/add_features.yml +51 -0
  32. data/spec/cassettes/add_shop_owner_answer.yml +49 -0
  33. data/spec/cassettes/add_vote_to_review.yml +46 -0
  34. data/spec/cassettes/anonymous_user_confirmation.yml +49 -0
  35. data/spec/cassettes/create_account_social.yml +51 -0
  36. data/spec/cassettes/create_comment.yml +53 -0
  37. data/spec/cassettes/create_new_purchase.yml +23 -28
  38. data/spec/cassettes/get_account_social.yml +51 -0
  39. data/spec/cassettes/get_feature_settings.yml +50 -0
  40. data/spec/cassettes/get_features.yml +191 -0
  41. data/spec/cassettes/get_owner_features.yml +106 -0
  42. data/spec/cassettes/get_product_url.yml +93 -0
  43. data/spec/cassettes/mass_update_feature_settings.yml +48 -0
  44. data/spec/cassettes/owner_feature_settings.yml +49 -0
  45. data/spec/cassettes/question_create_by_token.yml +49 -0
  46. data/spec/cassettes/question_send_confirmation.yml +74 -0
  47. data/spec/cassettes/remove_feature.yml +49 -0
  48. data/spec/cassettes/update_account_social.yml +50 -0
  49. data/spec/cassettes/update_comment.yml +50 -0
  50. data/spec/cassettes/update_comment_avatar.yml +48 -0
  51. data/spec/cassettes/update_feature_settings.yml +48 -0
  52. data/spec/cassettes/user_enable_feature.yml +49 -0
  53. data/spec/cassettes/validate_token.yml +48 -0
  54. data/yotpo.gemspec +2 -2
  55. metadata +99 -26
@@ -0,0 +1,191 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.yotpo.com/features?utoken=Ufo5XkKXNsuh0k9ZMPndRv4DlV9324ptg730KKqC
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Yotpo-Api-Connector:
13
+ - Ruby0.1.0
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: 'OK '
18
+ headers:
19
+ Server:
20
+ - nginx/1.7.7
21
+ Date:
22
+ - Wed, 18 Nov 2015 10:41:50 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Content-Length:
26
+ - '18072'
27
+ Connection:
28
+ - keep-alive
29
+ X-Ua-Compatible:
30
+ - IE=Edge,chrome=1
31
+ Etag:
32
+ - '"e1525d3950092a57daa70f87a367351a"'
33
+ Cache-Control:
34
+ - max-age=0, private, must-revalidate
35
+ X-Request-Id:
36
+ - 168bb4bd8c6e71fb0280f366c3e45238
37
+ X-Runtime:
38
+ - '0.191187'
39
+ P3p:
40
+ - policyref="/w3c/p3p.xml", CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi
41
+ CONi HIS OUR IND CNT", CP="CAO PSA OUR"
42
+ Access-Control-Allow-Credentials:
43
+ - 'true'
44
+ body:
45
+ encoding: UTF-8
46
+ string: '{"status":{"code":200,"message":"OK"},"response":{"features":[{"id":1,"name":"MapCustomization","description":"Advanced
47
+ general Map customizations","owner_type":"Account","new":null},{"id":2,"name":"Campaigns","description":"Campaigns","owner_type":"Account","new":null},{"id":3,"name":"RichSnippet","description":"Rich
48
+ snippets","owner_type":"Account","new":null},{"id":4,"name":"ReminderAdvancedSettings","description":"Advanced
49
+ Map customizations for orders with multiple products","owner_type":"Account","new":null},{"id":5,"name":"Notifications","description":"Display
50
+ Notifications for b2b user","owner_type":"Account","new":null},{"id":6,"name":"DashboardSideBar","description":"Display
51
+ Dashboard","owner_type":"Account","new":null},{"id":7,"name":"InviteAFriend","description":"Invite
52
+ a friend to use Yotpo","owner_type":"Account","new":null},{"id":8,"name":"StayUpdated","description":"Yotpo
53
+ facebook box","owner_type":"Account","new":null},{"id":9,"name":"Map","description":"Mail
54
+ After Purchase","owner_type":"Account","new":null},{"id":10,"name":"Testimonials","description":"Testimonials","owner_type":"Account","new":null},{"id":11,"name":"LookAndFeel","description":"Ability
55
+ to customize look and feel of widget","owner_type":"Account","new":null},{"id":12,"name":"Bottomline","description":"Bottomline","owner_type":"Account","new":null},{"id":13,"name":"Seo","description":"Seo
56
+ tricks","owner_type":"Account","new":null},{"id":14,"name":"StatusPie","description":"Customize
57
+ used by b2b user status pie","owner_type":"Account","new":null},{"id":15,"name":"Coupons","description":"Ability
58
+ to send coupons to store customers","owner_type":"Account","new":true},{"id":16,"name":"TopProducts","description":"display
59
+ top selling products","owner_type":"Account","new":null},{"id":17,"name":"Header","description":"Display
60
+ b2b header","owner_type":"Account","new":null},{"id":18,"name":"Settings","description":"Display
61
+ settings page","owner_type":"Account","new":null},{"id":19,"name":"Help","description":"Allow
62
+ user to use the help","owner_type":"Account","new":null},{"id":20,"name":"Dashboard","description":"Display
63
+ dashboard","owner_type":"Account","new":null},{"id":21,"name":"Moderate","description":"Reviews
64
+ moderation ability","owner_type":"Account","new":null},{"id":22,"name":"Customize","description":"Display
65
+ customize","owner_type":"Account","new":null},{"id":23,"name":"Install","description":"Display
66
+ installation proccess","owner_type":"Account","new":null},{"id":24,"name":"Footer","description":"Display
67
+ b2b footer","owner_type":"Account","new":null},{"id":25,"name":"CustomizeSideBar","description":"b2b
68
+ customization side bar","owner_type":"Account","new":null},{"id":26,"name":"ModerationSideBar","description":"b2b
69
+ moderation side bar","owner_type":"Account","new":null},{"id":27,"name":"CampaignsDashboard","description":"b2b
70
+ campaigns dashboard","owner_type":"Account","new":null},{"id":28,"name":"SocialAccount","description":"social
71
+ sharing ability","owner_type":"Account","new":null},{"id":29,"name":"FacebookTestimonials","description":"facebook
72
+ page testimonials","owner_type":"Account","new":null},{"id":30,"name":"EmailSettings","description":"email
73
+ settings in b2b","owner_type":"Account","new":null},{"id":31,"name":"AccountSettings","description":"email
74
+ settings in b2b","owner_type":"Account","new":null},{"id":32,"name":"ShopSettings","description":"shop
75
+ credentials settings in b2b","owner_type":"Account","new":null},{"id":33,"name":"ExportReviews","description":"export
76
+ reviews settings in b2b","owner_type":"Account","new":null},{"id":34,"name":"ModerateSiteReviews","description":"site
77
+ reviews moderation","owner_type":"Account","new":null},{"id":35,"name":"ModerateProductReviews","description":"product
78
+ reviews moderation","owner_type":"Account","new":null},{"id":36,"name":"ModerateSettings","description":"reviews
79
+ moderation settings","owner_type":"Account","new":null},{"id":37,"name":"TestimonialsSettings","description":"reviews
80
+ moderation settings","owner_type":"Account","new":null},{"id":38,"name":"BurstEmails","description":"Send
81
+ requests for site reviews to your customers","owner_type":"Account","new":null},{"id":39,"name":"UpsellMails","description":"ability
82
+ to send upsell emails to account''s customers","owner_type":"Account","new":null},{"id":40,"name":"ProductReviews","description":"Account
83
+ that has products and can have products reviews","owner_type":"Account","new":null},{"id":41,"name":"TestimonialsCustomization","description":"Advanced
84
+ Testimonials customizations","owner_type":"Account","new":null},{"id":42,"name":"DashboardNotifications","description":"Notifications
85
+ in the Dashboard page","owner_type":"Account","new":null},{"id":43,"name":"TestimonialsPageManual","description":"Manual
86
+ how to install testimonials in a dedicated page","owner_type":"Account","new":null},{"id":44,"name":"TestimonialsManual","description":"Manual
87
+ how to install testimonials","owner_type":"Account","new":null},{"id":45,"name":"PullOrdersCustomOrderStatus","description":"When
88
+ pulling orders, take only orders with specific status, and not all orders","owner_type":"Account","new":null},{"id":46,"name":"PullOrdersUseShippingDate","description":"When
89
+ pulling orders, save the purchase order date with shipping date, not created
90
+ date","owner_type":"Account","new":null},{"id":47,"name":"Badges","description":"Badges","owner_type":"Account","new":null},{"id":48,"name":"ServiceProviderZendesk","description":"Use
91
+ Service Provider of type Zendesk to collect user emails.","owner_type":"Account","new":null},{"id":49,"name":"EmbeddedWidget","description":"Embedded
92
+ widget","owner_type":"Account","new":null},{"id":50,"name":"SocialPush","description":"Social
93
+ pushes","owner_type":"Account","new":null},{"id":51,"name":"PurchaseCollector","description":"Purchase
94
+ collector feature","owner_type":"Account","new":null},{"id":52,"name":"PromotedProducts","description":"Promoted
95
+ products feature","owner_type":"Account","new":null},{"id":53,"name":"IntroFeatures","description":"Intro
96
+ for features","owner_type":"Account","new":null},{"id":54,"name":"TestimonialsPage","description":"Testimonials
97
+ page skin","owner_type":"Account","new":null},{"id":55,"name":"SortReviews","description":"Sort
98
+ widget reviews by shop owners and shoppers","owner_type":"Account","new":null},{"id":56,"name":"Multistore","description":"Support
99
+ for multiple store accounts","owner_type":"User","new":null},{"id":57,"name":"UserSettings","description":"User
100
+ settings in b2b","owner_type":"Account","new":null},{"id":58,"name":"Comments","description":"ability
101
+ to write a comment on a review","owner_type":"Account","new":null},{"id":59,"name":"MultipleProductMapSelection","description":"Allow
102
+ the account owner to select for which product to send the MAP in case of multiple
103
+ products map","owner_type":"Account","new":null},{"id":60,"name":"CommentsUSA","description":"ability
104
+ to send Up Sails section in the comment notification email to the user(b2c)","owner_type":"Account","new":null},{"id":61,"name":"ServiceProviderVend","description":"Use
105
+ Service Provider of type Vend to collect user emails.","owner_type":"Account","new":null},{"id":62,"name":"ConvertToSiteMap","description":"Change
106
+ mail after purchase to site review mail.","owner_type":"Account","new":null},{"id":63,"name":"ModerationSearch","description":"Allow
107
+ search in the moderation","owner_type":"Account","new":null},{"id":64,"name":"MapBlackList","description":"ability
108
+ to set a list of emails to whom the MAP and burst email wont be sent","owner_type":"Account","new":null},{"id":65,"name":"FullWhiteLabel","description":"Full
109
+ white label on all Yotpo mentions","owner_type":"Account","new":null},{"id":66,"name":"SemiWhiteLabel","description":"Semi
110
+ white label for Yotpo mentions","owner_type":"Account","new":null},{"id":67,"name":"ProcessInvoices","description":"Allow
111
+ to process invoices which sent to SendGrid.","owner_type":"Account","new":null},{"id":68,"name":"QuestionsAndAnswers","description":"Questions
112
+ And Answers section for products.","owner_type":"Account","new":null},{"id":69,"name":"QuestionsAndAnswersUSA","description":"ability
113
+ to send Up Sails section in the answers notification email to the user(b2c)","owner_type":"Account","new":null},{"id":70,"name":"ProductReviewsAsSiteReviews","description":"Ability
114
+ to use product reviews as site reviews.","owner_type":"Account","new":null},{"id":71,"name":"AdvancedEmailSettings","description":"Ability
115
+ to change advanced email settings.","owner_type":"User","new":null},{"id":72,"name":"EmailIssueNotice","description":"Ability
116
+ to customize notice about possible issue with displaying of email.","owner_type":"Account","new":null},{"id":73,"name":"AdvancedAutoPublish","description":"Ability
117
+ to have more advanced auto publish logic.","owner_type":"Account","new":null},{"id":74,"name":"Censor","description":"Ability
118
+ to filter reviews with dirty words.","owner_type":"Account","new":null},{"id":75,"name":"ResendMap","description":"Ability
119
+ to resend mail after purchase","owner_type":"Account","new":null},{"id":76,"name":"PremiumSupport","description":"Premium
120
+ support requests","owner_type":"Account","new":null},{"id":77,"name":"PricingPage","description":"Show
121
+ the pricing page to the users who have this feature","owner_type":"User","new":null},{"id":78,"name":"PremiumFeatures","description":"Show
122
+ page of premium apps to the user who has this feature","owner_type":"User","new":null},{"id":79,"name":"BillingPage","description":"Billing
123
+ page in b2b settings page","owner_type":"User","new":null},{"id":80,"name":"GoogleFeed","description":"Send
124
+ account reviews to google","owner_type":"Account","new":true},{"id":81,"name":"PricingPageWithPrices","description":"Show
125
+ the pricing page with prices to the users who have this feature","owner_type":"User","new":null},{"id":82,"name":"EmailHeaders","description":"Allow
126
+ to edit email headers, like reply-to and form email.","owner_type":"Account","new":null},{"id":83,"name":"ReviewsMe","description":"enable
127
+ support in reviews me","owner_type":"Account","new":null},{"id":84,"name":"VolusionDDoS","description":"Performing
128
+ DDoS on Volusion server to get all orders first.","owner_type":"Account","new":null},{"id":85,"name":"MapHtmlEditor","description":"Enable
129
+ accounts to edit the html of the Mail After Purchase","owner_type":"Account","new":null},{"id":86,"name":"WidgetV2","description":"Provides
130
+ widget functionality","owner_type":"Account","new":null},{"id":87,"name":"GoogleSellerRating","description":"Send
131
+ accounts site reviews to google","owner_type":"Account","new":null},{"id":88,"name":"ReviewRequestLimit","description":"Limit
132
+ the number of review request an account can send","owner_type":"Account","new":null},{"id":89,"name":"OrdersLimitHook","description":"Change
133
+ account package when passing order limit","owner_type":"Account","new":null},{"id":90,"name":"CssEditor","description":"Enable
134
+ accounts to edit completely customize his CSS","owner_type":"Account","new":null},{"id":91,"name":"WidgetPromotedProducts","description":"Promoted
135
+ products for the widget","owner_type":"Account","new":null},{"id":92,"name":"CrossSitePromotedProducts","description":"Promoted
136
+ products for the other sites","owner_type":"Account","new":null},{"id":93,"name":"WidgetReviewsPerPage","description":"Ability
137
+ to set how many reviews to display in the widget by shoppers","owner_type":"Account","new":null},{"id":94,"name":"AdvancedCustomization","description":"Adds
138
+ ability to have advanced customization for widget","owner_type":"Account","new":null},{"id":95,"name":"OrdersCharge","description":"Send
139
+ usage report to Chargify on new orders","owner_type":"User","new":null},{"id":96,"name":"StartTrialTicker","description":"Shows
140
+ a start trial ticker for free customers","owner_type":"User","new":null},{"id":97,"name":"WidgetV1","description":"Provides
141
+ widget functionality, version 1","owner_type":"Account","new":null},{"id":98,"name":"TestimonialsTab","description":"Provides
142
+ testimonials tabs functionality","owner_type":"Account","new":null},{"id":99,"name":"MapReviewTitle","description":"Ability
143
+ to control if review title is shown in map or not","owner_type":"Account","new":null},{"id":100,"name":"MapReviewAcceptOneField","description":"If
144
+ enabled at least one field is required for a map review, title or content
145
+ (not only content)","owner_type":"Account","new":null},{"id":101,"name":"Labs","description":"Indicates
146
+ that a User is a part and have access to Yotpo Labs","owner_type":"Account","new":null},{"id":102,"name":"TellAboutYourself","description":"A
147
+ b2b pop-up window asking the user for some information about him","owner_type":"User","new":null},{"id":103,"name":"StarDistribution","description":"Show
148
+ reviews distribution by score","owner_type":"Account","new":null},{"id":104,"name":"CustomizedLandingPage","description":"Allow
149
+ customized landing pages","owner_type":"Account","new":null},{"id":105,"name":"QuestionsAndAnswersStandalone","description":"Allow
150
+ Q&A widget to be standalone","owner_type":"Account","new":null},{"id":106,"name":"UserReference","description":"External
151
+ reference for Yotpo users","owner_type":"Account","new":null},{"id":107,"name":"DedicatedIp","description":"Use
152
+ a dedicated IP address for mail sending","owner_type":"Account","new":null},{"id":108,"name":"WriteOnlyWidget","description":"Ability
153
+ to make regular widget as write only","owner_type":"Account","new":null},{"id":109,"name":"CreateReviewsAsync","description":"Allows
154
+ to create reviews asynchronously","owner_type":"Account","new":null},{"id":110,"name":"CustomTranslations","description":"Ability
155
+ to customize translations","owner_type":"Account","new":null},{"id":111,"name":"LandingPageTemplate","description":"Ability
156
+ to use custom templates for landing page","owner_type":"Account","new":true},{"id":112,"name":"SkipProductUrlValidation","description":"Skip
157
+ validation of product urls","owner_type":"Account","new":null},{"id":113,"name":"EmailModeration","description":"Ability
158
+ to moderate content via email","owner_type":"Account","new":null},{"id":114,"name":"ShowSocialLinks","description":"Forces
159
+ displaying of social links even if auto publish is false","owner_type":"Account","new":null},{"id":115,"name":"ReviewRequestCharge","description":"Provides
160
+ charge functionality for additional review requests","owner_type":"Account","new":null},{"id":116,"name":"PreventDuplicateReviews","description":"Prevents
161
+ users reviewing more than once on widget","owner_type":"Account","new":null},{"id":117,"name":"ReviewRatingFields","description":"Ability
162
+ to create customized fields for review and customize different review forms","owner_type":"Account","new":null},{"id":118,"name":"WidgetRichSnippet","description":"Adds
163
+ Rich Snippets markup to reviews widget","owner_type":"Account","new":null},{"id":119,"name":"SpamLimitation","description":"ability
164
+ to control emails spam limitation","owner_type":"Account","new":null},{"id":120,"name":"TrustedVendors","description":"Ability
165
+ for vendors to create verified buyers and verified reviewers reviews, and
166
+ also create question without mail verifications","owner_type":"Account","new":null},{"id":121,"name":"CustomizedReviewerBadge","description":"Ability
167
+ to add customized reviewer badge to verified buyers","owner_type":"Account","new":null},{"id":122,"name":"ContentFeed","description":"Push
168
+ xml/html content to s3","owner_type":"Account","new":null},{"id":123,"name":"TermsOfService","description":"Ability
169
+ to add terms of service to the feature","owner_type":"Account","new":null},{"id":124,"name":"WidgetStatusBar","description":"Ability
170
+ to display status bar in widget navigation","owner_type":"Account","new":null},{"id":125,"name":"Ads","description":"Enables
171
+ Yotpo Ads","owner_type":"Account","new":null},{"id":126,"name":"FacebookAds","description":"Enables
172
+ Yotpo Ads for Facebook","owner_type":"Account","new":null},{"id":127,"name":"CustomPoweredBy","description":"Ability
173
+ to change the powered by link","owner_type":"Account","new":null},{"id":128,"name":"JsonFeed","description":"Upload
174
+ reviews/question json content to s3","owner_type":"Account","new":null},{"id":129,"name":"MergeContentFeedFolders","description":"Notify
175
+ rundeck to sync multiple accounts into a single folder","owner_type":"User","new":null},{"id":130,"name":"SocialShare","description":"Allows
176
+ end users to share reviews on social networks","owner_type":"Account","new":null},{"id":131,"name":"MapSendAsync","description":"Each
177
+ MAP will be sent in a new async resque job","owner_type":"Account","new":null},{"id":132,"name":"ServiceProviderHubspot","description":"Use
178
+ Hubspot Marketing automation service","owner_type":"Account","new":null},{"id":133,"name":"ReviewsCarousel","description":"Reviews
179
+ carousel widget","owner_type":"Account","new":true},{"id":134,"name":"AdvancedEmailModeration","description":"Ability
180
+ to auto escalate to email moderation","owner_type":"Account","new":null},{"id":135,"name":"EmailHtmlEditor","description":"Ability
181
+ to edit email templates via advanced HTML editor","owner_type":"Account","new":null},{"id":136,"name":"ReviewWithPictures","description":"The
182
+ abillity to upload pictures to reviews","owner_type":"Account","new":null},{"id":137,"name":"ProductTags","description":"Ability
183
+ to create product tags","owner_type":"Account","new":null},{"id":138,"name":"DisplayNameTrim","description":"Stops
184
+ the trimming of display name in widget , for Staples","owner_type":"Account","new":null},{"id":139,"name":"ReviewsDashboard","description":"Open
185
+ calls for reviews search, filter and grouping via the api","owner_type":"Account","new":null},{"id":140,"name":"Syndication","description":"Ability
186
+ to syndicate reviews between stores","owner_type":"Account","new":null},{"id":141,"name":"AdminPanel","description":"Yotpo
187
+ Admin Panel (YAP) AKA new-B2B","owner_type":"Account","new":null},{"id":142,"name":"BlockSelfServiceUnsubscribe","description":"Block
188
+ ability for an account to perform unsubscribe from chargify","owner_type":"User","new":null}]}}'
189
+ http_version:
190
+ recorded_at: Wed, 18 Nov 2015 10:41:50 GMT
191
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,106 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.yotpo.com/apps/3ovRYNIb6OIAI0ddS7EfpYkHpi0oTKl6bj82Vjiy/features?utoken=Ufo5XkKXNsuh0k9ZMPndRv4DlV9324ptg730KKqC
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Yotpo-Api-Connector:
13
+ - Ruby0.1.0
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: 'OK '
18
+ headers:
19
+ Server:
20
+ - nginx/1.9.4
21
+ Date:
22
+ - Sun, 20 Mar 2016 15:30:24 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Content-Length:
26
+ - '7498'
27
+ Connection:
28
+ - keep-alive
29
+ Yotpo-Parsed-Request:
30
+ - '{"action":"index","controller":"owners_features","app_id":"3ovRYNIb6OIAI0ddS7EfpYkHpi0oTKl6bj82Vjiy"}'
31
+ X-Ua-Compatible:
32
+ - IE=Edge,chrome=1
33
+ Etag:
34
+ - '"52849dd5f87b7053be515b38082ec772"'
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ X-Request-Id:
38
+ - f5e65d5f507afc78bd6fe729663525f7
39
+ X-Runtime:
40
+ - '0.236208'
41
+ Access-Control-Allow-Credentials:
42
+ - 'true'
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"status":{"code":200,"message":"OK"},"response":{"features":[{"id":2,"name":"Campaigns","description":"Campaigns","user_enabled":1,"owner_type":"Account"},{"id":5,"name":"Notifications","description":"Display
46
+ Notifications for b2b user","user_enabled":1,"owner_type":"Account"},{"id":6,"name":"DashboardSideBar","description":"Display
47
+ Dashboard","user_enabled":1,"owner_type":"Account"},{"id":7,"name":"InviteAFriend","description":"Invite
48
+ a friend to use Yotpo","user_enabled":1,"owner_type":"Account"},{"id":8,"name":"StayUpdated","description":"Yotpo
49
+ facebook box","user_enabled":1,"owner_type":"Account"},{"id":9,"name":"Map","description":"Mail
50
+ After Purchase","user_enabled":1,"owner_type":"Account"},{"id":10,"name":"Testimonials","description":"Testimonials","user_enabled":1,"owner_type":"Account"},{"id":11,"name":"LookAndFeel","description":"Ability
51
+ to customize look and feel of widget","user_enabled":1,"owner_type":"Account"},{"id":12,"name":"Bottomline","description":"Bottomline","user_enabled":1,"owner_type":"Account"},{"id":14,"name":"StatusPie","description":"Customize
52
+ used by b2b user status pie","user_enabled":1,"owner_type":"Account"},{"id":16,"name":"TopProducts","description":"display
53
+ top selling products","user_enabled":1,"owner_type":"Account"},{"id":17,"name":"Header","description":"Display
54
+ b2b header","user_enabled":1,"owner_type":"Account"},{"id":18,"name":"Settings","description":"Display
55
+ settings page","user_enabled":1,"owner_type":"Account"},{"id":19,"name":"Help","description":"Allow
56
+ user to use the help","user_enabled":1,"owner_type":"Account"},{"id":20,"name":"Dashboard","description":"Display
57
+ dashboard","user_enabled":1,"owner_type":"Account"},{"id":21,"name":"Moderate","description":"Reviews
58
+ moderation ability","user_enabled":1,"owner_type":"Account"},{"id":22,"name":"Customize","description":"Display
59
+ customize","user_enabled":1,"owner_type":"Account"},{"id":23,"name":"Install","description":"Display
60
+ installation proccess","user_enabled":1,"owner_type":"Account"},{"id":24,"name":"Footer","description":"Display
61
+ b2b footer","user_enabled":1,"owner_type":"Account"},{"id":25,"name":"CustomizeSideBar","description":"b2b
62
+ customization side bar","user_enabled":1,"owner_type":"Account"},{"id":26,"name":"ModerationSideBar","description":"b2b
63
+ moderation side bar","user_enabled":1,"owner_type":"Account"},{"id":27,"name":"CampaignsDashboard","description":"b2b
64
+ campaigns dashboard","user_enabled":1,"owner_type":"Account"},{"id":28,"name":"SocialAccount","description":"social
65
+ sharing ability","user_enabled":1,"owner_type":"Account"},{"id":30,"name":"EmailSettings","description":"email
66
+ settings in b2b","user_enabled":1,"owner_type":"Account"},{"id":31,"name":"AccountSettings","description":"email
67
+ settings in b2b","user_enabled":1,"owner_type":"Account"},{"id":32,"name":"ShopSettings","description":"shop
68
+ credentials settings in b2b","user_enabled":1,"owner_type":"Account"},{"id":33,"name":"ExportReviews","description":"export
69
+ reviews settings in b2b","user_enabled":1,"owner_type":"Account"},{"id":34,"name":"ModerateSiteReviews","description":"site
70
+ reviews moderation","user_enabled":1,"owner_type":"Account"},{"id":35,"name":"ModerateProductReviews","description":"product
71
+ reviews moderation","user_enabled":1,"owner_type":"Account"},{"id":36,"name":"ModerateSettings","description":"reviews
72
+ moderation settings","user_enabled":1,"owner_type":"Account"},{"id":37,"name":"TestimonialsSettings","description":"reviews
73
+ moderation settings","user_enabled":1,"owner_type":"Account"},{"id":38,"name":"BurstEmails","description":"Send
74
+ requests for site reviews to your customers","user_enabled":1,"owner_type":"Account"},{"id":40,"name":"ProductReviews","description":"Account
75
+ that has products and can have products reviews","user_enabled":1,"owner_type":"Account"},{"id":41,"name":"TestimonialsCustomization","description":"Advanced
76
+ Testimonials customizations","user_enabled":1,"owner_type":"Account"},{"id":42,"name":"DashboardNotifications","description":"Notifications
77
+ in the Dashboard page","user_enabled":1,"owner_type":"Account"},{"id":43,"name":"TestimonialsPageManual","description":"Manual
78
+ how to install testimonials in a dedicated page","user_enabled":1,"owner_type":"Account"},{"id":44,"name":"TestimonialsManual","description":"Manual
79
+ how to install testimonials","user_enabled":1,"owner_type":"Account"},{"id":47,"name":"Badges","description":"Badges","user_enabled":1,"owner_type":"Account"},{"id":48,"name":"ServiceProviderZendesk","description":"Use
80
+ Service Provider of type Zendesk to collect user emails.","user_enabled":1,"owner_type":"Account"},{"id":49,"name":"EmbeddedWidget","description":"Embedded
81
+ widget","user_enabled":1,"owner_type":"Account"},{"id":50,"name":"SocialPush","description":"Social
82
+ pushes","user_enabled":1,"owner_type":"Account"},{"id":51,"name":"PurchaseCollector","description":"Purchase
83
+ collector feature","user_enabled":1,"owner_type":"Account"},{"id":53,"name":"IntroFeatures","description":"Intro
84
+ for features","user_enabled":1,"owner_type":"Account"},{"id":54,"name":"TestimonialsPage","description":"Testimonials
85
+ page skin","user_enabled":1,"owner_type":"Account"},{"id":57,"name":"UserSettings","description":"User
86
+ settings in b2b","user_enabled":1,"owner_type":"Account"},{"id":61,"name":"ServiceProviderVend","description":"Use
87
+ Service Provider of type Vend to collect user emails.","user_enabled":1,"owner_type":"Account"},{"id":63,"name":"ModerationSearch","description":"Allow
88
+ search in the moderation","user_enabled":1,"owner_type":"Account"},{"id":67,"name":"ProcessInvoices","description":"Allow
89
+ to process invoices which sent to SendGrid.","user_enabled":1,"owner_type":"Account"},{"id":70,"name":"ProductReviewsAsSiteReviews","description":"Ability
90
+ to use product reviews as site reviews.","user_enabled":1,"owner_type":"Account"},{"id":82,"name":"EmailHeaders","description":"Allow
91
+ to edit email headers, like reply-to and form email.","user_enabled":1,"owner_type":"Account"},{"id":86,"name":"WidgetV2","description":"Provides
92
+ widget functionality","user_enabled":1,"owner_type":"Account"},{"id":91,"name":"WidgetPromotedProducts","description":"Promoted
93
+ products for the widget","user_enabled":1,"owner_type":"Account"},{"id":99,"name":"MapReviewTitle","description":"Ability
94
+ to control if review title is shown in map or not","user_enabled":1,"owner_type":"Account"},{"id":100,"name":"MapReviewAcceptOneField","description":"If
95
+ enabled at least one field is required for a map review, title or content
96
+ (not only content)","user_enabled":1,"owner_type":"Account"},{"id":106,"name":"UserReference","description":"External
97
+ reference for Yotpo users","user_enabled":1,"owner_type":"Account"},{"id":109,"name":"CreateReviewsAsync","description":"Allows
98
+ to create reviews asynchronously","user_enabled":1,"owner_type":"Account"},{"id":116,"name":"Ads","description":"Enables
99
+ Yotpo Ads","user_enabled":1,"owner_type":"Account"},{"id":117,"name":"FacebookAds","description":"Enables
100
+ Yotpo Ads for Facebook","user_enabled":1,"owner_type":"Account"},{"id":119,"name":"SpamLimitation","description":"ability
101
+ to control emails spam limitation","user_enabled":1,"owner_type":"Account"},{"id":129,"name":"SocialShare","description":"Allows
102
+ end users to share reviews on social networks","user_enabled":1,"owner_type":"Account"},{"id":102,"name":"TellAboutYourself","description":"A
103
+ b2b pop-up window asking the user for some information about him","user_enabled":1,"owner_type":"User"}]}}'
104
+ http_version:
105
+ recorded_at: Sun, 20 Mar 2016 15:30:24 GMT
106
+ recorded_with: VCR 3.0.1
@@ -0,0 +1,93 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.yotpo.com/products/vzStmYud6bHLto5ksn5DoGoA7ghM0kzjMdH2DS5T/product_url?sub_reference=10&product_id=120915246&reference=instagram_comment&utoken=Ufo5XkKXNsuh0k9ZMPndRv4DlV9324ptg730KKqC
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Yotpo-Api-Connector:
13
+ - Ruby0.1.0
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: 'OK '
18
+ headers:
19
+ Server:
20
+ - nginx/1.8.1
21
+ Date:
22
+ - Thu, 23 Jun 2016 06:47:48 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Content-Length:
26
+ - '89'
27
+ Connection:
28
+ - keep-alive
29
+ Yotpo-Parsed-Request:
30
+ - '{"controller":"products_apps","action":"get_product_url","app_key":"vzStmYud6bHLto5ksn5DoGoA7ghM0kzjMdH2DS5T"}'
31
+ X-Ua-Compatible:
32
+ - IE=Edge,chrome=1
33
+ Etag:
34
+ - '"bb7644cede4430b825dbdd26e204aeaf"'
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ X-Request-Id:
38
+ - db991858bf2b6acdff3cc9b508167066
39
+ X-Runtime:
40
+ - '5.150407'
41
+ Access-Control-Allow-Credentials:
42
+ - 'true'
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"status":{"code":200,"message":"OK"},"response":{"url":"https://yotpo.com/go/afhj8t2k"}}'
46
+ http_version:
47
+ recorded_at: Thu, 23 Jun 2016 06:47:48 GMT
48
+ - request:
49
+ method: get
50
+ uri: https://api.yotpo.com/products/vzStmYud6bHLto5ksn5DoGoA7ghM0kzjMdH2DS5T/product_url?product_id=120915246&reference=instagram_comment&sub_reference=10&utoken=Ufo5XkKXNsuh0k9ZMPndRv4DlV9324ptg730KKqC
51
+ body:
52
+ encoding: US-ASCII
53
+ string: ''
54
+ headers:
55
+ User-Agent:
56
+ - Faraday v0.9.2
57
+ Yotpo-Api-Connector:
58
+ - Ruby0.1.0
59
+ response:
60
+ status:
61
+ code: 200
62
+ message: 'OK '
63
+ headers:
64
+ Server:
65
+ - nginx/1.8.1
66
+ Date:
67
+ - Thu, 23 Jun 2016 06:56:21 GMT
68
+ Content-Type:
69
+ - application/json; charset=utf-8
70
+ Content-Length:
71
+ - '89'
72
+ Connection:
73
+ - keep-alive
74
+ Yotpo-Parsed-Request:
75
+ - '{"controller":"products_apps","action":"get_product_url","app_key":"vzStmYud6bHLto5ksn5DoGoA7ghM0kzjMdH2DS5T"}'
76
+ X-Ua-Compatible:
77
+ - IE=Edge,chrome=1
78
+ Etag:
79
+ - '"bb7644cede4430b825dbdd26e204aeaf"'
80
+ Cache-Control:
81
+ - max-age=0, private, must-revalidate
82
+ X-Request-Id:
83
+ - c4736ef50122c39e2bc5c96b3b203ee1
84
+ X-Runtime:
85
+ - '6.566141'
86
+ Access-Control-Allow-Credentials:
87
+ - 'true'
88
+ body:
89
+ encoding: UTF-8
90
+ string: '{"status":{"code":200,"message":"OK"},"response":{"url":"https://yotpo.com/go/afhj8t2k"}}'
91
+ http_version:
92
+ recorded_at: Thu, 23 Jun 2016 06:56:21 GMT
93
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,48 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: https://api.yotpo.com/features/11/7/admin_mass_update
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"utoken":"Ufo5XkKXNsuh0k9ZMPndRv4DlV9324ptg730KKqC","settings":{"font_size":"12"}}'
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Yotpo-Api-Connector:
13
+ - Ruby0.1.0
14
+ Content-Type:
15
+ - application/json
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: 'OK '
20
+ headers:
21
+ Server:
22
+ - nginx/1.9.4
23
+ Date:
24
+ - Sun, 20 Dec 2015 09:16:28 GMT
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Content-Length:
28
+ - '38'
29
+ Connection:
30
+ - keep-alive
31
+ X-Ua-Compatible:
32
+ - IE=Edge,chrome=1
33
+ Etag:
34
+ - '"a873ac57132fed9ae7f368e3c8c85724"'
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ X-Request-Id:
38
+ - 287249ae0bb8e752067c2782d0253198
39
+ X-Runtime:
40
+ - '4.872587'
41
+ Access-Control-Allow-Credentials:
42
+ - 'true'
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"status":{"code":200,"message":"OK"}}'
46
+ http_version:
47
+ recorded_at: Sun, 20 Dec 2015 09:16:28 GMT
48
+ recorded_with: VCR 3.0.0
@@ -0,0 +1,49 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.yotpo.com/apps/3ovRYNIb6OIAI0ddS7EfpYkHpi0oTKl6bj82Vjiy/features/11/feature_settings?utoken=Ufo5XkKXNsuh0k9ZMPndRv4DlV9324ptg730KKqC
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Yotpo-Api-Connector:
13
+ - Ruby0.1.0
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: 'OK '
18
+ headers:
19
+ Server:
20
+ - nginx/1.8.1
21
+ Date:
22
+ - Tue, 24 May 2016 07:25:15 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Content-Length:
26
+ - '549'
27
+ Connection:
28
+ - keep-alive
29
+ Yotpo-Parsed-Request:
30
+ - '{"action":"index","controller":"owners_features_settings","app_id":"3ovRYNIb6OIAI0ddS7EfpYkHpi0oTKl6bj82Vjiy","feature_id":"11"}'
31
+ X-Ua-Compatible:
32
+ - IE=Edge,chrome=1
33
+ Etag:
34
+ - '"8280394d71b18294de0e74800bef5244"'
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ X-Request-Id:
38
+ - 2a39dbb82025bba6d9ba6ec3e4662bec
39
+ X-Runtime:
40
+ - '7.943306'
41
+ Access-Control-Allow-Credentials:
42
+ - 'true'
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"status":{"code":200,"message":"OK"},"response":{"widget_size":{"unit":"percentage","value":100},"font_size":"14","font_type":"Open
46
+ Sans","background_color":{"transparent":true,"color":"#ffffff"},"color_primary":"#3085c7","color_d1":"#26649f","color_d2":"#1d5077","color_l1":"#599dd2","color_l2":"#83b6dd","color_l3":"#accee9","color_l4":"#d6e7f4","color_stars":"#ffd200","color_text_white":"#ffffff","theme":"light","color_text_gray_light":"#e3e3e3","color_text_gray":"#a2a2a2","color_text_gray_dark":"#737373","color_text_gray_darker":"#4f4f4f"}}'
47
+ http_version:
48
+ recorded_at: Tue, 24 May 2016 07:25:15 GMT
49
+ recorded_with: VCR 2.9.3