tessitura_rest 1.1.3 → 1.1.7

Sign up to get free protection for your applications and to get access to all the features.
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 +25 -46
  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 +12 -12
  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