tessitura_rest 1.1.6 → 1.1.7

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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +1 -1
  3. data/.rubocop.yml +23 -7
  4. data/.travis.yml +1 -1
  5. data/lib/tessitura_rest/crm/accounts.rb +4 -3
  6. data/lib/tessitura_rest/crm/actions.rb +16 -18
  7. data/lib/tessitura_rest/crm/addresses.rb +79 -80
  8. data/lib/tessitura_rest/crm/attributes.rb +9 -10
  9. data/lib/tessitura_rest/crm/constituencies.rb +8 -9
  10. data/lib/tessitura_rest/crm/constituents.rb +72 -75
  11. data/lib/tessitura_rest/crm/issues.rb +21 -23
  12. data/lib/tessitura_rest/crm/phones.rb +12 -13
  13. data/lib/tessitura_rest/crm/web_logins.rb +2 -4
  14. data/lib/tessitura_rest/custom/email.rb +15 -15
  15. data/lib/tessitura_rest/custom/local_procedure.rb +2 -2
  16. data/lib/tessitura_rest/diagnostics/diagnostics.rb +2 -2
  17. data/lib/tessitura_rest/finance/appeals.rb +1 -2
  18. data/lib/tessitura_rest/finance/gift_certificates.rb +1 -2
  19. data/lib/tessitura_rest/reference_data/countries.rb +2 -3
  20. data/lib/tessitura_rest/reference_data/sections.rb +1 -2
  21. data/lib/tessitura_rest/reference_data/states.rb +2 -3
  22. data/lib/tessitura_rest/security/security_user_groups.rb +2 -3
  23. data/lib/tessitura_rest/txn/orders.rb +8 -11
  24. data/lib/tessitura_rest/txn/package.rb +11 -11
  25. data/lib/tessitura_rest/txn/payments.rb +1 -1
  26. data/lib/tessitura_rest/txn/performance_extension.rb +15 -14
  27. data/lib/tessitura_rest/txn/performance_package_mode_of_sales.rb +2 -4
  28. data/lib/tessitura_rest/txn/price_types.rb +2 -4
  29. data/lib/tessitura_rest/txn/product_keywords.rb +1 -3
  30. data/lib/tessitura_rest/txn/production_extension.rb +2 -3
  31. data/lib/tessitura_rest/txn/production_season.rb +3 -5
  32. data/lib/tessitura_rest/txn/sub_line_items.rb +4 -4
  33. data/lib/tessitura_rest/txn/web_contents.rb +1 -3
  34. data/lib/tessitura_rest/version.rb +1 -1
  35. data/lib/tessitura_rest/web/cart.rb +141 -143
  36. data/lib/tessitura_rest/web/login.rb +26 -13
  37. data/lib/tessitura_rest/web/payment_plan_extension.rb +18 -19
  38. data/lib/tessitura_rest/web/registration.rb +34 -36
  39. data/lib/tessitura_rest/web/session.rb +37 -38
  40. data/lib/tessitura_rest.rb +1 -2
  41. data/tessitura_rest.gemspec +17 -15
  42. metadata +19 -19
@@ -1,301 +1,299 @@
1
1
  module Cart
2
-
3
- def get_cart(session_key, options={})
2
+ def get_cart(session_key, options = {})
4
3
  options.merge!(basic_auth: @auth, headers: @headers)
5
4
  self.class.get(base_api_endpoint("Web/Cart/#{session_key}?messageTypes=-11"), options)
6
5
  end
7
6
 
8
- def get_checkout_complete(session_key, options={})
7
+ def get_checkout_complete(session_key, options = {})
9
8
  options.merge!(basic_auth: @auth, headers: @headers)
10
9
  self.class.get(base_api_endpoint("Web/Cart/#{session_key}&savedCart=true"), options)
11
10
  end
12
11
 
13
- def empty_cart(session_key, options={})
12
+ def empty_cart(session_key, options = {})
14
13
  options.merge!(basic_auth: @auth, headers: @headers)
15
14
  self.class.delete(base_api_endpoint("Web/Cart/#{session_key}"), options)
16
15
  end
17
16
 
18
- def change_mode_of_sale(session_key, code, options={})
17
+ def change_mode_of_sale(session_key, code, options = {})
19
18
  parameters =
20
- {
21
- 'ModeOfSaleId': code
22
- }
19
+ {
20
+ 'ModeOfSaleId': code,
21
+ }
23
22
  options.merge!(basic_auth: @auth, headers: @headers)
24
23
  options.merge!(:body => parameters)
25
24
  self.class.put(base_api_endpoint("Web/Cart/#{session_key}/Properties"), options)
26
25
  end
27
26
 
28
- def add_gift_certificate(session_key, amount, name, notes, gift_certificate_type, options={})
27
+ def add_gift_certificate(session_key, amount, name, notes, gift_certificate_type, options = {})
29
28
  parameters =
30
- {
31
- 'Amount': amount,
32
- 'PaymentMethodId': gift_certificate_type,
33
- 'Notes': notes,
34
- 'Name': name
35
- }
29
+ {
30
+ 'Amount': amount,
31
+ 'PaymentMethodId': gift_certificate_type,
32
+ 'Notes': notes,
33
+ 'Name': name,
34
+ }
36
35
  options.merge!(basic_auth: @auth, headers: @headers)
37
36
  options.merge!(:body => parameters)
38
37
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/GiftCertificates"), options)
39
38
  end
40
39
 
41
- def remove_gift_certificate(session_key, gift_certificate_number, options={})
40
+ def remove_gift_certificate(session_key, gift_certificate_number, options = {})
42
41
  options.merge!(basic_auth: @auth, headers: @headers)
43
42
  self.class.delete(base_api_endpoint("Web/Cart/#{session_key}/GiftCertificates/#{gift_certificate_number}"), options)
44
43
  end
45
44
 
46
- def apply_gift_certificate(session_key, gift_certificate_number, amount, options={})
45
+ def apply_gift_certificate(session_key, gift_certificate_number, amount, options = {})
47
46
  parameters =
48
- {
49
- 'Amount': amount,
50
- 'GiftCertificateNumber': gift_certificate_number
51
- }
47
+ {
48
+ 'Amount': amount,
49
+ 'GiftCertificateNumber': gift_certificate_number,
50
+ }
52
51
  options.merge!(basic_auth: @auth, headers: @headers)
53
- options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
52
+ options.merge!(:body => parameters.to_json, :headers => { 'Content-Type' => 'application/json' })
54
53
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Payments/GiftCertificate"), options)
55
54
  end
56
55
 
57
- def un_apply_gift_certificate(session_key, gift_certificate_number, options={})
56
+ def un_apply_gift_certificate(session_key, gift_certificate_number, options = {})
58
57
  options.merge!(basic_auth: @auth, headers: @headers)
59
58
  self.class.delete(base_api_endpoint("Web/Cart/#{session_key}/Payments/GiftCertificate/#{gift_certificate_number}"), options)
60
59
  end
61
60
 
62
- def add_contribution(session_key, amount, fund, membership_level, renew=nil, upgrade=nil, options={})
61
+ def add_contribution(session_key, amount, fund, membership_level, renew = nil, upgrade = nil, options = {})
63
62
  parameters =
64
- {
63
+ {
65
64
  'Amount': amount,
66
65
  'FundId': fund,
67
66
  'Upgrade': upgrade,
68
67
  'Renew': renew,
69
- 'MembershipLevelId': membership_level
70
- }
68
+ 'MembershipLevelId': membership_level,
69
+ }
71
70
  options.merge!(basic_auth: @auth, headers: @headers)
72
71
  options.merge!(:body => parameters)
73
72
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Contributions"), options)
74
73
  end
75
74
 
76
- def remove_contribution(session_key, line_item_id, options={})
75
+ def remove_contribution(session_key, line_item_id, options = {})
77
76
  options.merge!(basic_auth: @auth, headers: @headers)
78
77
  self.class.delete(base_api_endpoint("Web/Cart/#{session_key}/Contributions/#{line_item_id}"), options)
79
78
  end
80
79
 
81
- def add_on_account(session_key, amount, payment_method_id, options={})
80
+ def add_on_account(session_key, amount, payment_method_id, options = {})
82
81
  parameters =
83
- {
82
+ {
84
83
  'Amount': amount,
85
- "PaymentMethodId": payment_method_id
86
- }
84
+ 'PaymentMethodId': payment_method_id,
85
+ }
87
86
  options.merge!(basic_auth: @auth, headers: @headers)
88
87
  options.merge!(:body => parameters)
89
88
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/OnAccount"), options)
90
89
  end
91
90
 
92
- def apply_on_account(session_key, amount, payment_method_id, options={})
91
+ def apply_on_account(session_key, amount, payment_method_id, options = {})
93
92
  parameters =
94
93
  {
95
94
  'Amount': amount,
96
- "PaymentMethodId": payment_method_id
95
+ 'PaymentMethodId': payment_method_id,
97
96
  }
98
97
  options.merge!(basic_auth: @auth, headers: @headers)
99
- options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
98
+ options.merge!(:body => parameters.to_json, :headers => { 'Content-Type' => 'application/json' })
100
99
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Payments/OnAccount"), options)
101
100
  end
102
101
 
103
- def remove_on_account(session_key, payment_id, options={})
102
+ def remove_on_account(session_key, payment_id, options = {})
104
103
  options.merge!(basic_auth: @auth, headers: @headers)
105
104
  self.class.delete(base_api_endpoint("Web/Cart/#{session_key}/OnAccount/#{payment_id}"), options)
106
105
  end
107
106
 
108
- def get_properties(session_key, options={})
107
+ def get_properties(session_key, options = {})
109
108
  options.merge!(basic_auth: @auth, headers: @headers)
110
109
  self.class.get(base_api_endpoint("Web/Cart/#{session_key}/Properties"), options)
111
110
  end
112
111
 
113
- def update_properties(session_key, get_properties_response, options={})
112
+ def update_properties(session_key, get_properties_response, options = {})
114
113
  options.merge!(basic_auth: @auth, headers: @headers)
115
114
  options.merge!(:body => get_properties_response)
116
115
  self.class.put(base_api_endpoint("Web/Cart/#{session_key}/Properties"), options)
117
116
  end
118
117
 
119
- def add_order_comment(session_key, notes, solicitor='webapi', options={})
118
+ def add_order_comment(session_key, notes, solicitor = 'webapi', options = {})
120
119
  options.merge!(basic_auth: @auth, headers: @headers)
121
120
  parameters =
122
- {
123
- "Solicitor": solicitor,
124
- "Notes": notes
125
- }
121
+ {
122
+ 'Solicitor': solicitor,
123
+ 'Notes': notes,
124
+ }
126
125
  options.merge!(:body => parameters)
127
126
  self.class.put(base_api_endpoint("Web/Cart/#{session_key}/Properties"), options)
128
127
  end
129
128
 
130
- def reserve_tickets(session_key, number_of_seats, perf_id, price_type, zone_id, unseated, requested_seats=nil, special_requests=nil, options={})
129
+ def reserve_tickets(session_key, number_of_seats, perf_id, price_type, zone_id, unseated, requested_seats = nil, special_requests = nil, options = {})
131
130
  parameters =
132
- {
133
- "PriceType": price_type,
134
- "PerformanceId": perf_id,
135
- "NumberOfSeats": number_of_seats,
136
- "ZoneId": zone_id,
137
- "SpecialRequests": special_requests,
138
- "Unseated": unseated,
139
- "RequestedSeats": requested_seats
140
- }
131
+ {
132
+ 'PriceType': price_type,
133
+ 'PerformanceId': perf_id,
134
+ 'NumberOfSeats': number_of_seats,
135
+ 'ZoneId': zone_id,
136
+ 'SpecialRequests': special_requests,
137
+ 'Unseated': unseated,
138
+ 'RequestedSeats': requested_seats,
139
+ }
141
140
  options.merge!(basic_auth: @auth, headers: @headers)
142
- options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
141
+ options.merge!(:body => parameters.to_json, :headers => { 'Content-Type' => 'application/json' })
143
142
  self.class.post(base_api_endpoint("/Web/Cart/#{session_key}/Tickets"), options)
144
143
  end
145
144
 
146
- def return_tickets(session_key, return_or_donate, id, options={})
145
+ def return_tickets(session_key, return_or_donate, id, options = {})
147
146
  parameters =
148
- {
149
- "TicketNumber": id,
150
- "ReturnOrDonate": return_or_donate
151
- }
147
+ {
148
+ 'TicketNumber': id,
149
+ 'ReturnOrDonate': return_or_donate,
150
+ }
152
151
  options.merge!(basic_auth: @auth, headers: @headers)
153
152
  options.merge!(:body => parameters)
154
153
  self.class.post(base_api_endpoint("/Web/Cart/#{session_key}/Tickets/Return"), options)
155
154
  end
156
155
 
157
- def add_package_item(session_key, price_type, package_id, number_of_seats, zone_id, leave_single_seats, parent_package_line_item_id, unseated, requested_seats=nil, options={})
156
+ def add_package_item(session_key, price_type, package_id, number_of_seats, zone_id, leave_single_seats, parent_package_line_item_id, unseated, requested_seats = nil, options = {})
158
157
  parameters =
159
- {
160
- "PriceType": price_type,
161
- "PackageId": package_id,
162
- "NumberOfSeats": number_of_seats,
163
- "ZoneId": zone_id,
164
- "RequestedSeats": requested_seats,
165
- "LeaveSingleSeats": leave_single_seats,
166
- "ParentPackageLineItemId": parent_package_line_item_id,
167
- "Unseated": unseated
168
- }
158
+ {
159
+ 'PriceType': price_type,
160
+ 'PackageId': package_id,
161
+ 'NumberOfSeats': number_of_seats,
162
+ 'ZoneId': zone_id,
163
+ 'RequestedSeats': requested_seats,
164
+ 'LeaveSingleSeats': leave_single_seats,
165
+ 'ParentPackageLineItemId': parent_package_line_item_id,
166
+ 'Unseated': unseated,
167
+ }
169
168
  options.merge!(basic_auth: @auth, headers: @headers)
170
- options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
169
+ options.merge!(:body => parameters.to_json, :headers => { 'Content-Type' => 'application/json' })
171
170
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Packages/Fixed"), options)
172
171
  end
173
172
 
174
- def remove_package_item(session_key, package_id, line_item_id, options={})
173
+ def remove_package_item(session_key, package_id, line_item_id, options = {})
175
174
  options.merge!(basic_auth: @auth, headers: @headers)
176
175
  self.class.delete(base_api_endpoint("Web/Cart/#{session_key}/Packages/Fixed/#{package_id}/#{line_item_id}"), options)
177
176
  end
178
177
 
179
- def add_nfs_package_item(session_key, nfs_package_line_item_id, performance_id, performance_group_id, price_type, package_id, number_of_seats, zone_id, leave_single_seats, unseated, options={})
178
+ def add_nfs_package_item(session_key, nfs_package_line_item_id, performance_id, performance_group_id, price_type, package_id, number_of_seats, zone_id, leave_single_seats, unseated, options = {})
180
179
  parameters =
181
- {
182
- "NFSPackageLineItemId": nfs_package_line_item_id,
183
- "PriceType": price_type,
184
- "PackageId": package_id,
185
- "PerformanceId": performance_id,
186
- "PerformanceGroupId": performance_group_id,
187
- "NumberOfSeats": number_of_seats,
188
- "ZoneId": zone_id,
189
- "LeaveSingleSeats": leave_single_seats,
190
- "Unseated": unseated
191
- }
180
+ {
181
+ 'NFSPackageLineItemId': nfs_package_line_item_id,
182
+ 'PriceType': price_type,
183
+ 'PackageId': package_id,
184
+ 'PerformanceId': performance_id,
185
+ 'PerformanceGroupId': performance_group_id,
186
+ 'NumberOfSeats': number_of_seats,
187
+ 'ZoneId': zone_id,
188
+ 'LeaveSingleSeats': leave_single_seats,
189
+ 'Unseated': unseated,
190
+ }
192
191
  options.merge!(basic_auth: @auth, headers: @headers)
193
- options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
192
+ options.merge!(:body => parameters.to_json, :headers => { 'Content-Type' => 'application/json' })
194
193
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Packages/Nfs"), options)
195
194
  end
196
195
 
197
- def remove_nfs_package_item(session_key, line_item_id, options={})
196
+ def remove_nfs_package_item(session_key, line_item_id, options = {})
198
197
  options.merge!(basic_auth: @auth, headers: @headers)
199
198
  self.class.delete(base_api_endpoint("Web/Cart/#{session_key}/Packages/Nfs/#{line_item_id}"), options)
200
199
  end
201
200
 
202
- def add_sub_package_item(session_key, price_type, sub_package_id, number_of_seats, zone_id, leave_single_seats, parent_super_line_item_id, super_line_item_id, unseated, requested_seats=nil, options={})
201
+ def add_sub_package_item(session_key, price_type, sub_package_id, number_of_seats, zone_id, leave_single_seats, parent_super_line_item_id, super_line_item_id, unseated, requested_seats = nil, options = {})
203
202
  parameters =
204
- {
205
- "ParentSuperPackageLineItemId": parent_super_line_item_id,
206
- "SuperPackageLineItemId": super_line_item_id,
207
- "PriceType": price_type,
208
- "SubPackageId": sub_package_id,
209
- "NumberOfSeats": number_of_seats,
210
- "ZoneId": zone_id,
211
- "RequestedSeats": requested_seats,
212
- "LeaveSingleSeats": leave_single_seats,
213
- "Unseated": unseated
214
- }
203
+ {
204
+ 'ParentSuperPackageLineItemId': parent_super_line_item_id,
205
+ 'SuperPackageLineItemId': super_line_item_id,
206
+ 'PriceType': price_type,
207
+ 'SubPackageId': sub_package_id,
208
+ 'NumberOfSeats': number_of_seats,
209
+ 'ZoneId': zone_id,
210
+ 'RequestedSeats': requested_seats,
211
+ 'LeaveSingleSeats': leave_single_seats,
212
+ 'Unseated': unseated,
213
+ }
215
214
  options.merge!(basic_auth: @auth, headers: @headers)
216
- options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
215
+ options.merge!(:body => parameters.to_json, :headers => { 'Content-Type' => 'application/json' })
217
216
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Packages/Super"), options)
218
217
  end
219
218
 
220
- def remove_sub_package_item(session_key, super_package_id, super_package_line_item_id, options={})
219
+ def remove_sub_package_item(session_key, super_package_id, super_package_line_item_id, options = {})
221
220
  options.merge!(basic_auth: @auth, headers: @headers)
222
221
  self.class.delete(base_api_endpoint("Web/Cart/#{session_key}/Packages/Super/#{super_package_id}/#{super_package_line_item_id}"), options)
223
222
  end
224
223
 
225
- def print_ticket_elements(session_key, order_id, ticket_design, reprint, mode, new_ticket_no=false, options={})
224
+ def print_ticket_elements(session_key, order_id, ticket_design, reprint, mode, new_ticket_no = false, options = {})
226
225
  parameters =
227
- {
228
- "NewTicketNoForReprints": new_ticket_no,
229
- "ReprintTickets": reprint,
230
- "OrderId": order_id,
231
- "TicketDesignId": ticket_design,
232
- "Mode": mode
233
- }
226
+ {
227
+ 'NewTicketNoForReprints': new_ticket_no,
228
+ 'ReprintTickets': reprint,
229
+ 'OrderId': order_id,
230
+ 'TicketDesignId': ticket_design,
231
+ 'Mode': mode,
232
+ }
234
233
  options.merge!(basic_auth: @auth, headers: @headers)
235
234
  options.merge!(:body => parameters)
236
235
  self.class.post(base_api_endpoint("/Web/Cart/#{session_key}/Print/TicketElements"), options)
237
236
  end
238
237
 
239
- def remove_tickets(session_key, performance_id, line_item_id, options={})
238
+ def remove_tickets(session_key, performance_id, line_item_id, options = {})
240
239
  options.merge!(basic_auth: @auth, headers: @headers)
241
240
  self.class.delete(base_api_endpoint("/Web/Cart/#{session_key}/Tickets/#{performance_id}/#{line_item_id}"), options)
242
241
  end
243
242
 
244
- def add_or_update_fee(session_key, action, fee_id, item_fee_id=nil, amount=nil, options={})
243
+ def add_or_update_fee(session_key, action, fee_id, item_fee_id = nil, amount = nil, options = {})
245
244
  parameters =
246
- {
247
- "Action": action,
248
- "ItemFeeId": item_fee_id,
249
- "FeeId": fee_id,
250
- "Amount": amount
251
- }
245
+ {
246
+ 'Action': action,
247
+ 'ItemFeeId': item_fee_id,
248
+ 'FeeId': fee_id,
249
+ 'Amount': amount,
250
+ }
252
251
  options.merge!(basic_auth: @auth, headers: @headers)
253
252
  options.merge!(:body => parameters)
254
253
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Fees"), options)
255
254
  end
256
255
 
257
- def validate_cart(session_key, super_package=false, fixed=false, flex=false, plan=false, options={})
256
+ def validate_cart(session_key, super_package = false, fixed = false, flex = false, plan = false, options = {})
258
257
  parameters =
259
- {
260
- "ValidateSuperPackages": super_package,
261
- "ValidateFSPackages": fixed,
262
- "ValidateNFSPackages": flex,
263
- "ValidatePaymentPlan": plan
264
- }
258
+ {
259
+ 'ValidateSuperPackages': super_package,
260
+ 'ValidateFSPackages': fixed,
261
+ 'ValidateNFSPackages': flex,
262
+ 'ValidatePaymentPlan': plan,
263
+ }
265
264
  options.merge!(basic_auth: @auth, headers: @headers)
266
265
  options.merge!(:body => parameters)
267
266
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Validate"), options)
268
267
  end
269
268
 
270
- def update_cart_properties_custom_data(session_key, index, value, options={})
269
+ def update_cart_properties_custom_data(session_key, index, value, options = {})
271
270
  parameters =
272
- {
273
- "Index": index,
274
- "Value": value
275
- }
271
+ {
272
+ 'Index': index,
273
+ 'Value': value,
274
+ }
276
275
  options.merge!(basic_auth: @auth, headers: @headers)
277
276
  options.merge!(:body => parameters)
278
277
  put = self.class.put(base_api_endpoint("Web/Cart/#{session_key}/CustomData/#{index}"), options)
279
278
  put.success?
280
279
  end
281
280
 
282
- def checkout(session_key, name_on_card, credit_card_number, cvv_number, credit_card_type, expiration_month, expiration_year, is_order_authorized, order_authorization_code, order_amount, allow_under_payment, options={})
281
+ def checkout(session_key, name_on_card, credit_card_number, cvv_number, credit_card_type, expiration_month, expiration_year, is_order_authorized, order_authorization_code, order_amount, allow_under_payment, options = {})
283
282
  parameters =
284
- {
285
- "CreditCardOwner": name_on_card,
286
- "CreditCardNumber": credit_card_number,
287
- "CreditCardType": credit_card_type,
288
- "CreditCardMonth": expiration_month,
289
- "CreditCardYear": expiration_year,
290
- "Amount": order_amount,
291
- "AllowUnderPayment": allow_under_payment,
292
- "CreditCardAuthenticationCode": cvv_number,
293
- "Authorize": is_order_authorized,
294
- "AuthorizationCode": order_authorization_code,
295
- }
283
+ {
284
+ 'CreditCardOwner': name_on_card,
285
+ 'CreditCardNumber': credit_card_number,
286
+ 'CreditCardType': credit_card_type,
287
+ 'CreditCardMonth': expiration_month,
288
+ 'CreditCardYear': expiration_year,
289
+ 'Amount': order_amount,
290
+ 'AllowUnderPayment': allow_under_payment,
291
+ 'CreditCardAuthenticationCode': cvv_number,
292
+ 'Authorize': is_order_authorized,
293
+ 'AuthorizationCode': order_authorization_code,
294
+ }
296
295
  options.merge!(basic_auth: @auth, headers: @headers)
297
- options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
296
+ options.merge!(:body => parameters.to_json, :headers => { 'Content-Type' => 'application/json' })
298
297
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Checkout"), options)
299
298
  end
300
-
301
299
  end
@@ -1,18 +1,17 @@
1
1
  module Login
2
-
3
- def with_user(ip_address, business_unit_id, options={})
2
+ def with_user(ip_address, business_unit_id, options = {})
4
3
  options.merge!(basic_auth: @auth, headers: @headers)
5
4
  response = self.class.get(base_api_endpoint('Web/Session/'), options)
6
5
  JSON.parse(response.body)
7
6
  end
8
7
 
9
- def login_using_email(email, password, login_type_id, promotion, session_key, options={})
8
+ def login_using_email(email, password, login_type_id, promotion, session_key, options = {})
10
9
  parameters =
11
10
  {
12
11
  'UserName': email,
13
- 'Password': password,
12
+ 'Password': password,
14
13
  'LoginTypeId': login_type_id,
15
- 'PromotionCode': promotion
14
+ 'PromotionCode': promotion,
16
15
  }
17
16
  options.merge!(basic_auth: @auth, headers: @headers)
18
17
  options.merge!(:body => parameters)
@@ -20,36 +19,50 @@ module Login
20
19
  post['IsLoggedIn']
21
20
  end
22
21
 
23
- def login_using_external(email, login_type_id, promotion, session_key, options={})
22
+ def login_using_external(email, login_type_id, promotion, session_key, options = {})
24
23
  parameters =
25
24
  {
26
25
  'UserName': email,
27
26
  'LoginTypeId': login_type_id,
28
- 'PromotionCode': promotion
27
+ 'PromotionCode': promotion,
29
28
  }
30
29
  options.merge!(basic_auth: @auth, headers: @headers)
31
- options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
30
+ options.merge!(:body => parameters.to_json, :headers => { 'Content-Type' => 'application/json' })
32
31
  post = self.class.post(base_api_endpoint("Web/Session/#{session_key}/Login/External"), options)
33
32
  post.success?
34
33
  end
35
34
 
36
- def login_with_token(email, login_type_id, token, promotion, session_key, options={})
35
+ def login_with_token(email, login_type_id, token, promotion, session_key, options = {})
37
36
  parameters =
38
37
  {
39
38
  'EmailAddress': email,
40
39
  'ForgotLoginToken': token,
41
40
  'LoginTypeId': login_type_id,
42
- 'PromotionCode': promotion
41
+ 'PromotionCode': promotion,
43
42
  }
44
43
  options.merge!(basic_auth: @auth, headers: @headers)
45
- options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
44
+ options.merge!(:body => parameters.to_json, :headers => { 'Content-Type' => 'application/json' })
46
45
  post = self.class.post(base_api_endpoint("Web/Session/#{session_key}/Login/Token"), options)
47
46
  post['IsLoggedIn']
48
47
  end
49
48
 
50
- def logout(session_key, options={})
49
+ def login_as_guest(email, key, options = {})
50
+ # promotion will be added as a parameter in v 16.0
51
+ parameters =
52
+ {
53
+ 'ElectronicAddressTypeId': 1,
54
+ 'EmailAddress': email,
55
+ 'LoginTypeId': 1,
56
+ }
57
+ options.merge!(basic_auth: @auth, headers: @headers)
58
+ options.merge!(body: parameters)
59
+ response = self.class.post(base_api_endpoint("Web/Session/#{key}/LoginAsGuest"), options)
60
+ JSON.parse(response.body)
61
+ end
62
+
63
+ def logout(session_key, options = {})
51
64
  options.merge!(basic_auth: @auth, headers: @headers)
52
- options.merge!(:body => {}, :headers => {'Content-Type' => 'application/json'})
65
+ options.merge!(:body => {}, :headers => { 'Content-Type' => 'application/json' })
53
66
  self.class.post(base_api_endpoint("/Web/Session/#{session_key}/Logout"), options)
54
67
  end
55
68
  end
@@ -1,18 +1,17 @@
1
1
  module PaymentPlanExtension
2
-
3
- def add_billing_payment_plan(session_key, billing_id, billing_type_id, name, number, month, year, start_date=nil, end_date=nil, options={})
2
+ def add_billing_payment_plan(session_key, billing_id, billing_type_id, name, number, month, year, start_date = nil, end_date = nil, options = {})
4
3
  parameters =
5
4
  {
6
- 'BillingScheduleId': billing_id,
7
- 'BillingTypeId': billing_type_id,
8
- 'StartDate': start_date,
9
- 'EndDate': end_date,
10
- "Card": {
11
- "Name": name,
12
- "Number": number,
13
- "ExpiryMonth": month,
14
- "ExpiryYear": year
15
- }
5
+ 'BillingScheduleId': billing_id,
6
+ 'BillingTypeId': billing_type_id,
7
+ 'StartDate': start_date,
8
+ 'EndDate': end_date,
9
+ 'Card': {
10
+ 'Name': name,
11
+ 'Number': number,
12
+ 'ExpiryMonth': month,
13
+ 'ExpiryYear': year,
14
+ },
16
15
  }
17
16
  options.merge!(basic_auth: @auth, headers: @headers)
18
17
  options.merge!(:body => parameters)
@@ -20,12 +19,12 @@ module PaymentPlanExtension
20
19
  JSON.parse(response.body)
21
20
  end
22
21
 
23
- def preview_billing_payment_plan(session_key, billing_id, start_date=nil, end_date=nil, options={})
22
+ def preview_billing_payment_plan(session_key, billing_id, start_date = nil, end_date = nil, options = {})
24
23
  parameters =
25
24
  {
26
- 'BillingScheduleId': billing_id,
27
- 'StartDate': start_date,
28
- 'EndDate': end_date
25
+ 'BillingScheduleId': billing_id,
26
+ 'StartDate': start_date,
27
+ 'EndDate': end_date,
29
28
  }
30
29
  options.merge!(basic_auth: @auth, headers: @headers)
31
30
  options.merge!(:body => parameters)
@@ -33,10 +32,10 @@ module PaymentPlanExtension
33
32
  JSON.parse(response.body)
34
33
  end
35
34
 
36
- def validate_payment_plan(session_key, options={})
35
+ def validate_payment_plan(session_key, options = {})
37
36
  parameters =
38
37
  {
39
- 'ValidatePaymentPlan': true
38
+ 'ValidatePaymentPlan': true,
40
39
  }
41
40
  options.merge!(basic_auth: @auth, headers: @headers)
42
41
  options.merge!(:body => parameters)
@@ -44,7 +43,7 @@ module PaymentPlanExtension
44
43
  JSON.parse(response.body)
45
44
  end
46
45
 
47
- def remove_payment_plan(session_key, options={})
46
+ def remove_payment_plan(session_key, options = {})
48
47
  options.merge!(basic_auth: @auth, headers: @headers)
49
48
  self.class.delete(base_api_endpoint("Web/Cart/#{session_key}/Payments/Plan"), options)
50
49
  end