levelup 0.9.4 → 0.9.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +32 -305
- data/Gemfile.lock +1 -1
- data/README.md +131 -38
- data/levelup.gemspec +1 -1
- data/lib/levelup.rb +4 -0
- data/lib/levelup/api.rb +1 -2
- data/lib/levelup/configuration.rb +1 -1
- data/lib/levelup/endpoints/access_tokens.rb +7 -10
- data/lib/levelup/endpoints/app_locations.rb +4 -6
- data/lib/levelup/endpoints/app_users.rb +1 -7
- data/lib/levelup/endpoints/credit_cards.rb +3 -4
- data/lib/levelup/endpoints/location_credit.rb +6 -8
- data/lib/levelup/endpoints/location_merchant_funded_credit.rb +23 -0
- data/lib/levelup/endpoints/location_orders.rb +8 -14
- data/lib/levelup/endpoints/merchant_funded_credits.rb +4 -6
- data/lib/levelup/endpoints/merchant_locations.rb +8 -13
- data/lib/levelup/endpoints/merchant_orders.rb +6 -8
- data/lib/levelup/endpoints/orders.rb +3 -3
- data/lib/levelup/endpoints/permissions_requests.rb +1 -2
- data/lib/levelup/endpoints/qr_codes.rb +3 -4
- data/lib/levelup/endpoints/specific_app.rb +1 -2
- data/lib/levelup/endpoints/specific_location.rb +13 -8
- data/lib/levelup/endpoints/specific_merchant.rb +4 -5
- data/lib/levelup/endpoints/specific_order.rb +4 -8
- data/lib/levelup/endpoints/specific_permissions_request.rb +3 -5
- data/lib/levelup/endpoints/user_addresses.rb +6 -7
- data/lib/levelup/endpoints/user_orders.rb +2 -3
- data/lib/levelup/endpoints/users.rb +5 -0
- data/lib/levelup/requests/authenticate_merchant.rb +1 -2
- data/lib/levelup/requests/create_address.rb +3 -4
- data/lib/levelup/requests/create_card.rb +2 -3
- data/lib/levelup/requests/create_order.rb +1 -2
- data/lib/levelup/requests/create_user.rb +4 -13
- data/lib/levelup/requests/get_location_credit.rb +1 -2
- data/lib/levelup/requests/get_location_merchant_funded_credit.rb +16 -0
- data/lib/levelup/requests/get_order.rb +1 -2
- data/lib/levelup/requests/give_merchant_credit.rb +1 -2
- data/lib/levelup/requests/list_addresses.rb +3 -4
- data/lib/levelup/requests/list_app_locations.rb +1 -2
- data/lib/levelup/requests/list_locations.rb +2 -3
- data/lib/levelup/requests/list_orders.rb +2 -3
- data/lib/levelup/requests/list_user_orders.rb +3 -4
- data/lib/levelup/requests/show_permissions_request.rb +1 -2
- data/lib/levelup/responses/success_paginated.rb +1 -2
- data/lib/levelup/templates/app_authenticated.rb +1 -3
- data/lib/levelup/templates/merchant_and_user_authenticated.rb +4 -9
- data/lib/levelup/templates/merchant_authenticated.rb +2 -5
- data/lib/levelup/utils/payment_calculator.rb +83 -0
- data/spec/endpoints/access_tokens_spec.rb +2 -4
- data/spec/endpoints/app_users_spec.rb +6 -22
- data/spec/endpoints/location_credit_spec.rb +1 -2
- data/spec/endpoints/location_merchant_funded_credit_spec.rb +12 -0
- data/spec/endpoints/location_orders_spec.rb +3 -4
- data/spec/endpoints/merchant_funded_credits_spec.rb +1 -2
- data/spec/endpoints/merchant_locations_spec.rb +4 -4
- data/spec/endpoints/qr_codes_spec.rb +1 -2
- data/spec/endpoints/specific_order_spec.rb +3 -4
- data/spec/endpoints/specific_permissions_request_spec.rb +1 -2
- data/spec/endpoints/user_addresses_spec.rb +1 -2
- data/spec/endpoints/user_orders_spec.rb +1 -2
- data/spec/endpoints/users_spec.rb +22 -0
- data/spec/{data_objects/requests → requests}/authenticate_app_spec.rb +0 -0
- data/spec/{data_objects/requests → requests}/authenticate_merchant_spec.rb +0 -0
- data/spec/{data_objects/requests → requests}/create_order_spec.rb +0 -0
- data/spec/{data_objects/requests → requests}/get_order_spec.rb +0 -0
- data/spec/{data_objects/requests → requests}/list_locations_spec.rb +0 -0
- data/spec/{data_objects/requests → requests}/list_orders_spec.rb +0 -0
- data/spec/{data_objects/requests → requests}/refund_order_spec.rb +0 -0
- data/spec/{data_objects/requests → requests}/request_permissions_spec.rb +1 -2
- data/spec/{data_objects/responses → responses}/error_spec.rb +0 -0
- data/spec/{data_objects/responses → responses}/response_spec.rb +0 -0
- data/spec/{data_objects/responses → responses}/success_paginated_spec.rb +1 -2
- data/spec/utils/payment_calculator/payment_calculator_spec.rb +164 -0
- metadata +36 -26
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -19,52 +19,98 @@ Or install it yourself as:
|
|
19
19
|
|
20
20
|
$ gem install levelup
|
21
21
|
|
22
|
+
## Documentation
|
23
|
+
|
24
|
+
[![Documentation](http://img.shields.io/badge/docs-rdoc.info-blue.svg)](http://rubydoc.org/gems/levelup/frames)
|
25
|
+
|
22
26
|
## Usage
|
23
27
|
|
24
|
-
|
28
|
+
### Do once per LevelUp-powered application:
|
29
|
+
- Create an instance of the LevelUp client and authenticate it.
|
25
30
|
|
26
31
|
```ruby
|
27
32
|
api = Levelup::Api.new
|
33
|
+
|
34
|
+
# While testing:
|
35
|
+
Levelup::Configuration.base_api_url = 'https://sandbox.thelevelup.com/'
|
36
|
+
|
37
|
+
# For production, these should be ENV variables:
|
38
|
+
api_key = '23eef8c2895ce66eb4500bb5e324b200f5339e6fe6d8665f6de0205f43f3b563'
|
39
|
+
client_secret = '4d71e958b9fb6a62af624390c4ef394df15d168ea12b3b12735643ff0694520f'
|
40
|
+
|
28
41
|
auth_response = api.access_tokens.create_for_app(
|
29
|
-
api_key:
|
30
|
-
client_secret:
|
42
|
+
api_key: api_key,
|
43
|
+
client_secret: client_secret)
|
44
|
+
|
31
45
|
api.app_access_token = auth_response.token
|
46
|
+
```
|
47
|
+
|
48
|
+
### Do once per merchant account
|
32
49
|
|
33
|
-
|
34
|
-
|
50
|
+
- Authenticate merchants using LevelUp email and password
|
51
|
+
|
52
|
+
```ruby
|
53
|
+
username = 'sandboxdevexample@thelevelup.com'
|
54
|
+
password = 'fod2yau4flu6vok6'
|
55
|
+
|
56
|
+
merchant_token = api.access_tokens.create_for_merchant(
|
57
|
+
api_key: api_key, username: username, password: password)
|
35
58
|
```
|
36
59
|
|
37
|
-
|
60
|
+
### Do for each merchant location
|
61
|
+
|
62
|
+
- Prompt merchant to map LevelUp locations to each of their online ordering locations
|
38
63
|
|
39
64
|
```ruby
|
40
|
-
api.
|
41
|
-
email: 'merchant@email.com',
|
42
|
-
permission_keynames: ['manage_merchant_orders'])
|
43
|
-
# Approve the request through the merchant email and the LevelUp API
|
44
|
-
# will post you a merchant access token.
|
65
|
+
locations_response = api.merchants(merchant_id).locations.list(merchant_access_token)
|
45
66
|
|
46
|
-
#
|
47
|
-
|
67
|
+
# For testing purposes, we'll use the first location
|
68
|
+
|
69
|
+
location = locations_response.locations[0]
|
70
|
+
location_id = location.id
|
48
71
|
```
|
49
72
|
|
50
|
-
|
73
|
+
### Do for each customer
|
74
|
+
|
75
|
+
- Ask a user for permission to make an order for them (alternatively you can use our
|
76
|
+
[OpenID](http://developer.thelevelup.com/resources-and-guides/web-authentication-flow/) or
|
77
|
+
[Oauth2](http://developer.thelevelup.com/resources-and-guides/web-authorization-flow/) flows).
|
78
|
+
For more information on available permissions, see the
|
79
|
+
[LevelUp permissions list](http://developer.thelevelup.com/resources-and-guides/permissions-list/)
|
51
80
|
|
52
81
|
```ruby
|
53
82
|
api.apps.permissions_requests.create(
|
54
83
|
email: 'user@email.com',
|
55
|
-
permission_keynames: ['create_orders'])
|
84
|
+
permission_keynames: ['create_orders', 'read_qr_code'])
|
56
85
|
# wait for the user to approve the request. you will receive a user
|
57
86
|
# access token in the same manner as above.
|
58
87
|
```
|
59
88
|
|
60
|
-
|
89
|
+
- Retrieve a user's QR code
|
90
|
+
|
91
|
+
```ruby
|
92
|
+
qr_code_response = api.qr_codes.get(customer_token)
|
93
|
+
|
94
|
+
qr_code = qr_code_response.code
|
95
|
+
```
|
96
|
+
|
97
|
+
- Create an order for the specified merchant.
|
61
98
|
|
62
99
|
```ruby
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
100
|
+
|
101
|
+
# Check for merchant_funded_credit
|
102
|
+
|
103
|
+
discount_response = api.locations(location_id).merchant_funded_credit.get(
|
104
|
+
qr_code, merchant_access_token)
|
105
|
+
|
106
|
+
# Define the details from the check
|
107
|
+
|
108
|
+
check_total_due_including_tax = 110 # Total amount of payment due on the check (in cents)
|
109
|
+
exempted_item_total = 0 # Total amount of exempted (milk, cigarettes etc) items (in cents)
|
110
|
+
spend_amount_requested = 110 # Total amount of payment requested from LevelUp (in cents)
|
111
|
+
tax_amount_due = 10 # Total tax amount due on check (in cents)
|
112
|
+
identifier_from_merchant = '01234' # Unique check identifier in your platform (ie, check ID)
|
113
|
+
check_items_array = [ # Array of all items on the check
|
68
114
|
{
|
69
115
|
charged_price: 350,
|
70
116
|
description: 'Non-poisonous, supplies vital nutrients',
|
@@ -75,13 +121,57 @@ response = api.orders.create(
|
|
75
121
|
standard_price: 350
|
76
122
|
}
|
77
123
|
# more items can go here
|
78
|
-
]
|
79
|
-
|
80
|
-
|
124
|
+
]
|
125
|
+
|
126
|
+
# Determine the amount of discount to apply to the check
|
127
|
+
|
128
|
+
credit_to_apply = Levelup::Utils::PaymentCalculator.levelup_discount_to_apply(
|
129
|
+
check_total_due_including_tax: check_total_due_including_tax,
|
130
|
+
exempted_item_total: exempted_item_total,
|
131
|
+
merchant_funded_credit_available: discount_response.discount_amount,
|
132
|
+
payment_amount_requested: spend_amount_requested,
|
133
|
+
tax_amount_due: tax_amount_due,
|
134
|
+
)
|
135
|
+
|
136
|
+
# Apply the discount to the check
|
137
|
+
|
138
|
+
# Create a new order request
|
139
|
+
order_response = api.orders.create(
|
140
|
+
identifier_from_merchant: identifier_from_merchant,
|
141
|
+
location_id: location_id,
|
142
|
+
spend_amount: spend_amount_requested,
|
143
|
+
items: check_items_array,
|
144
|
+
merchant_access_token: merchant_access_token,
|
145
|
+
user_access_token: qr_code)
|
146
|
+
|
147
|
+
calculator = Levelup::Utils::PaymentCalculator.new(
|
148
|
+
discount_applied: credit_to_apply,
|
149
|
+
gift_card_credit_available: discount_response.gift_card_amount,
|
150
|
+
spend_amount_returned_from_levelup: order_response.spend_amount,
|
151
|
+
tip_returned_from_levelup: order_response.tip_amount
|
152
|
+
)
|
153
|
+
|
154
|
+
# Get relevant amounts to apply to check and apply as necessary
|
155
|
+
|
156
|
+
calculator.gift_card_payment_to_apply
|
157
|
+
calculator.gift_card_tip_to_apply
|
158
|
+
calculator.levelup_payment_to_apply
|
159
|
+
calculator.levelup_tip_to_apply
|
160
|
+
|
161
|
+
# Additional values are also available (if desired)
|
162
|
+
|
163
|
+
calculator.total_gift_card_payment_to_apply_including_tip
|
164
|
+
calculator.gift_card_remaining_balance_after_payment
|
165
|
+
calculator.total_levelup_payment_to_apply_including_tip
|
166
|
+
|
167
|
+
# Apply each payment to the check and close the check (assuming balance due is 0)
|
81
168
|
```
|
82
169
|
|
83
|
-
The LevelUp Ruby SDK mirrors the API as closely as possible, so the call for any given endpoint
|
170
|
+
The LevelUp Ruby SDK mirrors the API as closely as possible, so the call for any given endpoint
|
171
|
+
can be inferred from its URL.
|
172
|
+
|
84
173
|
For instance:
|
174
|
+
|
85
175
|
```ruby
|
86
176
|
api.apps.permissions_requests.create # points to /v15/apps/permissions_requests/ POST
|
87
177
|
api.user_addresses.list # points to /v15/user_addresses/ GET
|
@@ -90,10 +180,12 @@ api.orders(uuid).refund # points to /v15/orders/:uuid/refund/ POST
|
|
90
180
|
|
91
181
|
## Pagination
|
92
182
|
|
93
|
-
Some requests that return large lists are paginated and only return a small number of values per
|
94
|
-
The LevelUp Ruby SDK handles this by allowing you to request the next page from the
|
183
|
+
Some requests that return large lists are paginated and only return a small number of values per
|
184
|
+
request. The LevelUp Ruby SDK handles this by allowing you to request the next page from the
|
185
|
+
paginated response.
|
95
186
|
|
96
187
|
For instance:
|
188
|
+
|
97
189
|
```ruby
|
98
190
|
locs_response = api.apps(123).locations.list # gets a page of locations associated with an app
|
99
191
|
locs_response.locations # => [location 1, location 2...location 10]
|
@@ -105,8 +197,9 @@ next_page_response = locs_response.next # gets the next page of results
|
|
105
197
|
|
106
198
|
## Errors
|
107
199
|
|
108
|
-
If the LevelUp API returns
|
109
|
-
|
200
|
+
If the LevelUp API returns a 422 error response, it will also return an object containing useful
|
201
|
+
info about the error. It can be handled like so:
|
202
|
+
|
110
203
|
```ruby
|
111
204
|
error = api.access_tokens.create_for_app(
|
112
205
|
api_key: 'bogus_api_key',
|
@@ -123,18 +216,18 @@ puts error.errors[0].property # => 'api_key'
|
|
123
216
|
|
124
217
|
## Contributing
|
125
218
|
|
126
|
-
|
127
|
-
|
128
|
-
|
219
|
+
- Fork it (https://github.com/TheLevelup/levelup-sdk-ruby/fork)
|
220
|
+
- Create your feature branch (`git checkout -b my-new-feature`)
|
221
|
+
- Ensure that Rubocop gives you a clean bill of health
|
129
222
|
```
|
130
223
|
cd path/to/my/ruby-sdk-folder
|
131
|
-
rubocop
|
224
|
+
bundle exec rubocop
|
132
225
|
```
|
133
|
-
|
226
|
+
- Ensure that all RSpec tests pass (and write some for your code!)
|
134
227
|
```
|
135
228
|
cd path/to/my/ruby-sdk-folder
|
136
|
-
rspec
|
229
|
+
bundle exec rspec
|
137
230
|
```
|
138
|
-
|
139
|
-
|
140
|
-
|
231
|
+
- Commit your changes (`git commit -am 'Add some feature'`)
|
232
|
+
- Push to the branch (`git push origin my-new-feature`)
|
233
|
+
- Create a new Pull Request
|
data/levelup.gemspec
CHANGED
data/lib/levelup.rb
CHANGED
@@ -19,6 +19,7 @@ require 'levelup/requests/create_card'
|
|
19
19
|
require 'levelup/requests/create_order'
|
20
20
|
require 'levelup/requests/create_user'
|
21
21
|
require 'levelup/requests/get_location_credit'
|
22
|
+
require 'levelup/requests/get_location_merchant_funded_credit'
|
22
23
|
require 'levelup/requests/get_order'
|
23
24
|
require 'levelup/requests/get_qr_code'
|
24
25
|
require 'levelup/requests/get_user'
|
@@ -43,6 +44,7 @@ require 'levelup/endpoints/app_users'
|
|
43
44
|
require 'levelup/endpoints/apps'
|
44
45
|
require 'levelup/endpoints/credit_cards'
|
45
46
|
require 'levelup/endpoints/location_credit'
|
47
|
+
require 'levelup/endpoints/location_merchant_funded_credit'
|
46
48
|
require 'levelup/endpoints/location_orders'
|
47
49
|
require 'levelup/endpoints/merchant_funded_credits'
|
48
50
|
require 'levelup/endpoints/merchant_locations'
|
@@ -59,4 +61,6 @@ require 'levelup/endpoints/user_addresses'
|
|
59
61
|
require 'levelup/endpoints/user_orders'
|
60
62
|
require 'levelup/endpoints/users'
|
61
63
|
|
64
|
+
require 'levelup/utils/payment_calculator'
|
65
|
+
|
62
66
|
require 'levelup/api'
|
data/lib/levelup/api.rb
CHANGED
@@ -3,8 +3,7 @@
|
|
3
3
|
# of utilizing LevelUp for online ordering and web payments.
|
4
4
|
|
5
5
|
module Levelup
|
6
|
-
# This
|
7
|
-
# API.
|
6
|
+
# This is the base class that handles all requests made to the LevelUp API.
|
8
7
|
class Api
|
9
8
|
# Token to access app-authenticated endpoints
|
10
9
|
attr_writer :app_access_token
|
@@ -1,7 +1,6 @@
|
|
1
1
|
module Levelup
|
2
2
|
module Endpoints
|
3
|
-
# The endpoint holding all functions related to the management of access
|
4
|
-
# tokens.
|
3
|
+
# The endpoint holding all functions related to the management of access tokens.
|
5
4
|
class AccessTokens < Base
|
6
5
|
# The API key assigned to your app. Preconfigured key.
|
7
6
|
attr_writer :api_key
|
@@ -16,18 +15,16 @@ module Levelup
|
|
16
15
|
# Generates a new app access token. If passed no parameters, attempts to
|
17
16
|
# pass the preconfigured API key and client secret to the endpoint.
|
18
17
|
def create_for_app(app_auth_request = nil)
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
request.send_to_api(:post, endpoint_path)
|
18
|
+
build_request(app_auth_request || { api_key: @api_key, client_secret: @secret },
|
19
|
+
Requests::AuthenticateApp).
|
20
|
+
send_to_api(:post, endpoint_path)
|
24
21
|
end
|
25
22
|
|
26
23
|
# Generates a new merchant access token.
|
27
24
|
def create_for_merchant(merchant_auth_request)
|
28
|
-
|
29
|
-
|
30
|
-
|
25
|
+
build_request(merchant_auth_request,
|
26
|
+
Requests::AuthenticateMerchant).
|
27
|
+
send_to_api(:post, endpoint_path(:v14))
|
31
28
|
end
|
32
29
|
|
33
30
|
private
|
@@ -1,18 +1,16 @@
|
|
1
1
|
module Levelup
|
2
2
|
module Endpoints
|
3
3
|
# The endpoint holding all functions relating to a specific app's locations.
|
4
|
-
# This endpoint is a v14 endpoint and should not be expected to remain
|
5
|
-
# accessible indefinitely.
|
4
|
+
# This endpoint is a v14 endpoint and should not be expected to remain accessible indefinitely.
|
6
5
|
class AppLocations < Base
|
7
6
|
def initialize(id)
|
8
7
|
self.id = id
|
9
8
|
end
|
10
9
|
|
11
|
-
# Provides a list of locations controlled by this app. This list is
|
12
|
-
# paginated.
|
10
|
+
# Provides a list of locations controlled by this app. This list is paginated.
|
13
11
|
def list
|
14
|
-
|
15
|
-
|
12
|
+
Requests::ListAppLocations.new.
|
13
|
+
send_to_api(:get, endpoint_path(:v14))
|
16
14
|
end
|
17
15
|
|
18
16
|
private
|
@@ -1,7 +1,6 @@
|
|
1
1
|
module Levelup
|
2
2
|
module Endpoints
|
3
|
-
# The endpoint holding all functions related to managing users under the
|
4
|
-
# current app.
|
3
|
+
# The endpoint holding all functions related to managing users under the current app.
|
5
4
|
class AppUsers < Base
|
6
5
|
def initialize(app_access_token)
|
7
6
|
@app_access_token = app_access_token
|
@@ -13,11 +12,6 @@ module Levelup
|
|
13
12
|
request.send_to_api(:post, endpoint_path)
|
14
13
|
end
|
15
14
|
|
16
|
-
def get(user_access_token)
|
17
|
-
request = Requests::GetUser.new(user_access_token: user_access_token)
|
18
|
-
request.send_to_api(:get, endpoint_path)
|
19
|
-
end
|
20
|
-
|
21
15
|
private
|
22
16
|
|
23
17
|
attr_reader :app_access_token
|
@@ -1,14 +1,13 @@
|
|
1
1
|
module Levelup
|
2
2
|
module Endpoints
|
3
|
-
# The endpoint holding all functions related to managing users' credit
|
4
|
-
# cards.
|
3
|
+
# The endpoint holding all functions related to managing users' credit cards.
|
5
4
|
class CreditCards < Base
|
6
5
|
# Adds a credit card to a user's account. Requires a user access token
|
7
6
|
# with create_first_credit_card permission.
|
8
7
|
# This request will fail unless the user account has no credit card on it.
|
9
8
|
def create(credit_card_request)
|
10
|
-
|
11
|
-
|
9
|
+
build_request(credit_card_request, Requests::CreateCard).
|
10
|
+
send_to_api(:get, endpoint_path)
|
12
11
|
end
|
13
12
|
|
14
13
|
private
|
@@ -1,22 +1,20 @@
|
|
1
1
|
module Levelup
|
2
2
|
module Endpoints
|
3
|
-
# The endpoint holding all functions relating to available credit at
|
4
|
-
# locations.
|
3
|
+
# The endpoint holding all functions relating to available credit at locations.
|
5
4
|
class LocationCredit < Base
|
6
|
-
attr_reader :id
|
7
|
-
|
8
5
|
def initialize(location_id)
|
9
|
-
|
6
|
+
self.id = location_id
|
10
7
|
end
|
11
8
|
|
12
9
|
def get(user_access_token)
|
13
|
-
|
14
|
-
|
15
|
-
request.send_to_api(:get, endpoint_path)
|
10
|
+
Requests::GetLocationCredit.new(user_access_token: user_access_token).
|
11
|
+
send_to_api :get, endpoint_path
|
16
12
|
end
|
17
13
|
|
18
14
|
private
|
19
15
|
|
16
|
+
attr_accessor :id
|
17
|
+
|
20
18
|
def path
|
21
19
|
"locations/#{id}/credit"
|
22
20
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Levelup
|
2
|
+
module Endpoints
|
3
|
+
# The endpoint holding all functions relating to managing merchant-funded credit.
|
4
|
+
class LocationMerchantFundedCredit < Base
|
5
|
+
def initialize(location_id)
|
6
|
+
@id = location_id
|
7
|
+
end
|
8
|
+
|
9
|
+
def get(payment_token_data, merchant_access_token)
|
10
|
+
@payment_token_data = payment_token_data
|
11
|
+
Requests::GetLocationMerchantFundedCredit.new(
|
12
|
+
merchant_access_token: merchant_access_token).
|
13
|
+
send_to_api :get, endpoint_path
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def path
|
19
|
+
"locations/#{@id}/merchant_funded_credit?payment_token_data=#{@payment_token_data}"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -1,28 +1,22 @@
|
|
1
1
|
module Levelup
|
2
2
|
module Endpoints
|
3
|
-
# The endpoint holding all functions relating to orders for a specific
|
4
|
-
#
|
5
|
-
# This is a v14 endpoint and should not be expected to remain functional
|
6
|
-
# indefinitely.
|
3
|
+
# The endpoint holding all functions relating to orders for a specific location.
|
4
|
+
# This is a v14 endpoint and should not be expected to remain functional indefinitely.
|
7
5
|
class LocationOrders < Base
|
8
6
|
def initialize(location_id)
|
9
|
-
|
7
|
+
self.id = location_id
|
10
8
|
end
|
11
9
|
|
12
10
|
# Gets a list of orders made at this location. This list is paginated.
|
13
|
-
#
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
def list(merchant_auth_token)
|
18
|
-
request = Requests::ListOrders.new(
|
19
|
-
merchant_access_token: merchant_auth_token)
|
20
|
-
request.send_to_api(:get, endpoint_path(:v14))
|
11
|
+
# @param merchant_access_token [string] An access token for a user that manages this location.
|
12
|
+
def list(merchant_access_token)
|
13
|
+
Requests::ListOrders.new(merchant_access_token: merchant_access_token).
|
14
|
+
send_to_api(:get, endpoint_path(:v14))
|
21
15
|
end
|
22
16
|
|
23
17
|
private
|
24
18
|
|
25
|
-
|
19
|
+
attr_accessor :id
|
26
20
|
|
27
21
|
def path
|
28
22
|
"locations/#{id}/orders"
|