levelup 0.9.4 → 0.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +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
|
+
[](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"
|