square.rb 12.0.0.20210616 → 14.1.0.20210915
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/README.md +16 -2
- data/lib/square/api/base_api.rb +4 -6
- data/lib/square/api/catalog_api.rb +2 -2
- data/lib/square/api/customer_groups_api.rb +10 -2
- data/lib/square/api/customer_segments_api.rb +10 -2
- data/lib/square/api/customers_api.rb +11 -3
- data/lib/square/api/gift_cards_api.rb +3 -2
- data/lib/square/api/inventory_api.rb +244 -5
- data/lib/square/api/labor_api.rb +64 -62
- data/lib/square/api/loyalty_api.rb +15 -5
- data/lib/square/api/o_auth_api.rb +19 -12
- data/lib/square/api/orders_api.rb +37 -0
- data/lib/square/api_helper.rb +19 -29
- data/lib/square/client.rb +2 -8
- data/lib/square/configuration.rb +6 -13
- data/lib/square/http/faraday_client.rb +1 -1
- data/lib/square/utilities/date_time_helper.rb +151 -0
- data/lib/square/utilities/file_wrapper.rb +1 -2
- data/lib/square.rb +48 -48
- metadata +12 -9
- data/lib/square/api/v1_employees_api.rb +0 -362
data/lib/square/client.rb
CHANGED
@@ -4,7 +4,7 @@ module Square
|
|
4
4
|
attr_reader :config
|
5
5
|
|
6
6
|
def sdk_version
|
7
|
-
'
|
7
|
+
'14.1.0.20210915'
|
8
8
|
end
|
9
9
|
|
10
10
|
def square_version
|
@@ -23,12 +23,6 @@ module Square
|
|
23
23
|
@o_auth ||= OAuthApi.new config
|
24
24
|
end
|
25
25
|
|
26
|
-
# Access to v1_employees controller.
|
27
|
-
# @return [V1EmployeesApi] Returns the controller instance.
|
28
|
-
def v1_employees
|
29
|
-
@v1_employees ||= V1EmployeesApi.new config
|
30
|
-
end
|
31
|
-
|
32
26
|
# Access to v1_transactions controller.
|
33
27
|
# @return [V1TransactionsApi] Returns the controller instance.
|
34
28
|
def v1_transactions
|
@@ -220,7 +214,7 @@ module Square
|
|
220
214
|
retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
|
221
215
|
retry_methods: %i[get put], environment: 'production',
|
222
216
|
custom_url: 'https://connect.squareup.com',
|
223
|
-
square_version: '2021-
|
217
|
+
square_version: '2021-09-15', access_token: 'TODO: Replace',
|
224
218
|
additional_headers: {}, config: nil)
|
225
219
|
@config = if config.nil?
|
226
220
|
Configuration.new(timeout: timeout, max_retries: max_retries,
|
data/lib/square/configuration.rb
CHANGED
@@ -3,22 +3,15 @@ module Square
|
|
3
3
|
# are configured in this class.
|
4
4
|
class Configuration
|
5
5
|
# The attribute readers for properties.
|
6
|
-
attr_reader :http_client
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
attr_reader :backoff_factor
|
11
|
-
attr_reader :retry_statuses
|
12
|
-
attr_reader :retry_methods
|
13
|
-
attr_reader :environment
|
14
|
-
attr_reader :custom_url
|
15
|
-
attr_reader :square_version
|
16
|
-
attr_reader :access_token
|
17
|
-
|
6
|
+
attr_reader :http_client, :timeout, :max_retries, :retry_interval, :backoff_factor,
|
7
|
+
:retry_statuses, :retry_methods, :environment, :custom_url, :square_version,
|
8
|
+
:access_token,
|
9
|
+
|
18
10
|
def additional_headers
|
19
11
|
@additional_headers.clone
|
20
12
|
end
|
21
13
|
|
14
|
+
|
22
15
|
class << self
|
23
16
|
attr_reader :environments
|
24
17
|
end
|
@@ -28,7 +21,7 @@ module Square
|
|
28
21
|
retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
|
29
22
|
retry_methods: %i[get put], environment: 'production',
|
30
23
|
custom_url: 'https://connect.squareup.com',
|
31
|
-
square_version: '2021-
|
24
|
+
square_version: '2021-09-15', access_token: 'TODO: Replace',
|
32
25
|
additional_headers: {})
|
33
26
|
# The value to use for connection timeout
|
34
27
|
@timeout = timeout
|
@@ -22,7 +22,7 @@ module Square
|
|
22
22
|
methods: retry_methods
|
23
23
|
faraday.adapter Faraday.default_adapter
|
24
24
|
faraday.options[:params_encoder] = Faraday::FlatParamsEncoder
|
25
|
-
faraday.options[:timeout] = timeout if timeout
|
25
|
+
faraday.options[:timeout] = timeout if timeout.positive?
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
@@ -0,0 +1,151 @@
|
|
1
|
+
require 'date'
|
2
|
+
module Square
|
3
|
+
# A utility that supports dateTime conversion to different formats
|
4
|
+
class DateTimeHelper
|
5
|
+
# Safely converts a DateTime object into a rfc1123 format string
|
6
|
+
# @param [DateTime] The DateTime object
|
7
|
+
# @return [String] The rfc1123 formatted datetime string
|
8
|
+
def self.to_rfc1123(date_time)
|
9
|
+
date_time&.httpdate
|
10
|
+
end
|
11
|
+
|
12
|
+
# Safely converts a map of DateTime objects into a map of rfc1123 format string
|
13
|
+
# @param [hash] a map of DateTime objects
|
14
|
+
# @return [hash] a map of rfc1123 formatted datetime string
|
15
|
+
def self.to_rfc1123_map(date_time, hash, key)
|
16
|
+
return if date_time.nil?
|
17
|
+
|
18
|
+
hash[key] = {}
|
19
|
+
date_time.each do |k, v|
|
20
|
+
hash[key][k] =
|
21
|
+
if v.is_a?(BaseModel)
|
22
|
+
v.to_hash
|
23
|
+
else
|
24
|
+
v.is_a?(DateTime) ? DateTimeHelper.to_rfc1123(v) : v
|
25
|
+
end
|
26
|
+
end
|
27
|
+
hash[key]
|
28
|
+
end
|
29
|
+
|
30
|
+
# Safely converts an array of DateTime objects into an array of rfc1123 format string
|
31
|
+
# @param [Array] an array of DateTime objects
|
32
|
+
# @return [Array] an array of rfc1123 formatted datetime string
|
33
|
+
def self.to_rfc1123_array(date_time, hash, key)
|
34
|
+
return if date_time.nil?
|
35
|
+
|
36
|
+
hash[key] = date_time.map do |v|
|
37
|
+
if v.is_a?(BaseModel)
|
38
|
+
v.to_hash
|
39
|
+
else
|
40
|
+
v.is_a?(DateTime) ? DateTimeHelper.to_rfc1123(v) : v
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
# Safely converts a DateTime object into a unix format string
|
46
|
+
# @param [DateTime] The DateTime object
|
47
|
+
# @return [String] The unix formatted datetime string
|
48
|
+
def self.to_unix(date_time)
|
49
|
+
date_time.to_time.utc.to_i unless date_time.nil?
|
50
|
+
end
|
51
|
+
|
52
|
+
# Safely converts a map of DateTime objects into a map of unix format string
|
53
|
+
# @param [hash] a map of DateTime objects
|
54
|
+
# @return [hash] a map of unix formatted datetime string
|
55
|
+
def self.to_unix_map(date_time, hash, key)
|
56
|
+
return if date_time.nil?
|
57
|
+
|
58
|
+
hash[key] = {}
|
59
|
+
date_time.each do |k, v|
|
60
|
+
hash[key][k] =
|
61
|
+
if v.is_a?(BaseModel)
|
62
|
+
v.to_hash
|
63
|
+
else
|
64
|
+
v.is_a?(DateTime) ? DateTimeHelper.to_unix(v) : v
|
65
|
+
end
|
66
|
+
end
|
67
|
+
hash[key]
|
68
|
+
end
|
69
|
+
|
70
|
+
# Safely converts an array of DateTime objects into a map of unix format string
|
71
|
+
# @param [hash] an array of DateTime objects
|
72
|
+
# @return [hash] an array of unix formatted datetime string
|
73
|
+
def self.to_unix_array(date_time, hash, key)
|
74
|
+
return if date_time.nil?
|
75
|
+
|
76
|
+
hash[key] = date_time.map do |v|
|
77
|
+
if v.is_a?(BaseModel)
|
78
|
+
v.to_hash
|
79
|
+
else
|
80
|
+
v.is_a?(DateTime) ? DateTimeHelper.to_unix(v) : v
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
# Safely converts a DateTime object into a rfc3339 format string
|
86
|
+
# @param [DateTime] The DateTime object
|
87
|
+
# @return [String] The rfc3339 formatted datetime string
|
88
|
+
def self.to_rfc3339(date_time)
|
89
|
+
date_time&.rfc3339
|
90
|
+
end
|
91
|
+
|
92
|
+
# Safely converts a map of DateTime objects into a map of rfc1123 format string
|
93
|
+
# @param [hash] a map of DateTime objects
|
94
|
+
# @return [hash] a map of rfc1123 formatted datetime string
|
95
|
+
def self.to_rfc3339_map(date_time, hash, key)
|
96
|
+
return if date_time.nil?
|
97
|
+
|
98
|
+
hash[key] = {}
|
99
|
+
date_time.each do |k, v|
|
100
|
+
hash[key][k] =
|
101
|
+
if v.is_a?(BaseModel)
|
102
|
+
v.to_hash
|
103
|
+
else
|
104
|
+
v.is_a?(DateTime) ? DateTimeHelper.to_rfc3339(v) : v
|
105
|
+
end
|
106
|
+
end
|
107
|
+
hash[key]
|
108
|
+
end
|
109
|
+
|
110
|
+
# Safely converts an array of DateTime objects into an array of rfc1123 format string
|
111
|
+
# @param [Array] an array of DateTime objects
|
112
|
+
# @return [Array] an array of rfc1123 formatted datetime string
|
113
|
+
def self.to_rfc3339_array(date_time, hash, key)
|
114
|
+
return if date_time.nil?
|
115
|
+
|
116
|
+
hash[key] = date_time.map do |v|
|
117
|
+
if v.is_a?(BaseModel)
|
118
|
+
v.to_hash
|
119
|
+
else
|
120
|
+
v.is_a?(DateTime) ? DateTimeHelper.to_rfc3339(v) : v
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
# Safely converts a rfc1123 format string into a DateTime object
|
126
|
+
# @param [String] The rfc1123 formatted datetime string
|
127
|
+
# @return [DateTime] A DateTime object
|
128
|
+
def self.from_rfc1123(date_time)
|
129
|
+
DateTime.httpdate(date_time)
|
130
|
+
end
|
131
|
+
|
132
|
+
# Safely converts a unix format string into a DateTime object
|
133
|
+
# @param [String] The unix formatted datetime string
|
134
|
+
# @return [DateTime] A DateTime object
|
135
|
+
def self.from_unix(date_time)
|
136
|
+
Time.at(date_time.to_i).utc.to_datetime
|
137
|
+
end
|
138
|
+
|
139
|
+
# Safely converts a rfc3339 format string into a DateTime object
|
140
|
+
# @param [String] The rfc3339 formatted datetime string
|
141
|
+
# @return [DateTime] A DateTime object
|
142
|
+
def self.from_rfc3339(date_time)
|
143
|
+
# missing timezone information
|
144
|
+
if date_time.end_with?('Z') || date_time.index('+')
|
145
|
+
DateTime.rfc3339(date_time)
|
146
|
+
else
|
147
|
+
DateTime.rfc3339("#{date_time}Z")
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
151
|
+
end
|
data/lib/square.rb
CHANGED
@@ -4,62 +4,62 @@ require 'faraday'
|
|
4
4
|
require 'certifi'
|
5
5
|
require 'logging'
|
6
6
|
|
7
|
-
require_relative 'square/api_helper
|
8
|
-
require_relative 'square/client
|
7
|
+
require_relative 'square/api_helper'
|
8
|
+
require_relative 'square/client'
|
9
9
|
|
10
10
|
# Utilities
|
11
|
-
require_relative 'square/utilities/file_wrapper
|
11
|
+
require_relative 'square/utilities/file_wrapper'
|
12
|
+
require_relative 'square/utilities/date_time_helper'
|
12
13
|
|
13
14
|
# Http
|
14
|
-
require_relative 'square/http/api_response
|
15
|
-
require_relative 'square/http/http_call_back
|
16
|
-
require_relative 'square/http/http_client
|
17
|
-
require_relative 'square/http/faraday_client
|
18
|
-
require_relative 'square/http/http_method_enum
|
19
|
-
require_relative 'square/http/http_request
|
20
|
-
require_relative 'square/http/http_response
|
21
|
-
require_relative 'square/http/auth/o_auth2
|
15
|
+
require_relative 'square/http/api_response'
|
16
|
+
require_relative 'square/http/http_call_back'
|
17
|
+
require_relative 'square/http/http_client'
|
18
|
+
require_relative 'square/http/faraday_client'
|
19
|
+
require_relative 'square/http/http_method_enum'
|
20
|
+
require_relative 'square/http/http_request'
|
21
|
+
require_relative 'square/http/http_response'
|
22
|
+
require_relative 'square/http/auth/o_auth2'
|
22
23
|
|
23
24
|
# Models
|
24
25
|
|
25
26
|
# Exceptions
|
26
|
-
require_relative 'square/exceptions/api_exception
|
27
|
+
require_relative 'square/exceptions/api_exception'
|
27
28
|
|
28
|
-
require_relative 'square/configuration
|
29
|
+
require_relative 'square/configuration'
|
29
30
|
|
30
31
|
# Controllers
|
31
|
-
require_relative 'square/api/base_api
|
32
|
-
require_relative 'square/api/mobile_authorization_api
|
33
|
-
require_relative 'square/api/o_auth_api
|
34
|
-
require_relative 'square/api/
|
35
|
-
require_relative 'square/api/
|
36
|
-
require_relative 'square/api/
|
37
|
-
require_relative 'square/api/
|
38
|
-
require_relative 'square/api/
|
39
|
-
require_relative 'square/api/
|
40
|
-
require_relative 'square/api/
|
41
|
-
require_relative 'square/api/
|
42
|
-
require_relative 'square/api/
|
43
|
-
require_relative 'square/api/
|
44
|
-
require_relative 'square/api/
|
45
|
-
require_relative 'square/api/
|
46
|
-
require_relative 'square/api/
|
47
|
-
require_relative 'square/api/
|
48
|
-
require_relative 'square/api/
|
49
|
-
require_relative 'square/api/
|
50
|
-
require_relative 'square/api/
|
51
|
-
require_relative 'square/api/
|
52
|
-
require_relative 'square/api/
|
53
|
-
require_relative 'square/api/
|
54
|
-
require_relative 'square/api/
|
55
|
-
require_relative 'square/api/
|
56
|
-
require_relative 'square/api/
|
57
|
-
require_relative 'square/api/
|
58
|
-
require_relative 'square/api/
|
59
|
-
require_relative 'square/api/
|
60
|
-
require_relative 'square/api/
|
61
|
-
require_relative 'square/api/
|
62
|
-
require_relative 'square/api/
|
63
|
-
require_relative 'square/api/
|
64
|
-
require_relative 'square/api/
|
65
|
-
require_relative 'square/api/terminal_api.rb'
|
32
|
+
require_relative 'square/api/base_api'
|
33
|
+
require_relative 'square/api/mobile_authorization_api'
|
34
|
+
require_relative 'square/api/o_auth_api'
|
35
|
+
require_relative 'square/api/v1_transactions_api'
|
36
|
+
require_relative 'square/api/apple_pay_api'
|
37
|
+
require_relative 'square/api/bank_accounts_api'
|
38
|
+
require_relative 'square/api/bookings_api'
|
39
|
+
require_relative 'square/api/cards_api'
|
40
|
+
require_relative 'square/api/cash_drawers_api'
|
41
|
+
require_relative 'square/api/catalog_api'
|
42
|
+
require_relative 'square/api/customers_api'
|
43
|
+
require_relative 'square/api/customer_groups_api'
|
44
|
+
require_relative 'square/api/customer_segments_api'
|
45
|
+
require_relative 'square/api/devices_api'
|
46
|
+
require_relative 'square/api/disputes_api'
|
47
|
+
require_relative 'square/api/employees_api'
|
48
|
+
require_relative 'square/api/gift_cards_api'
|
49
|
+
require_relative 'square/api/gift_card_activities_api'
|
50
|
+
require_relative 'square/api/inventory_api'
|
51
|
+
require_relative 'square/api/invoices_api'
|
52
|
+
require_relative 'square/api/labor_api'
|
53
|
+
require_relative 'square/api/locations_api'
|
54
|
+
require_relative 'square/api/checkout_api'
|
55
|
+
require_relative 'square/api/transactions_api'
|
56
|
+
require_relative 'square/api/loyalty_api'
|
57
|
+
require_relative 'square/api/merchants_api'
|
58
|
+
require_relative 'square/api/orders_api'
|
59
|
+
require_relative 'square/api/payments_api'
|
60
|
+
require_relative 'square/api/refunds_api'
|
61
|
+
require_relative 'square/api/sites_api'
|
62
|
+
require_relative 'square/api/snippets_api'
|
63
|
+
require_relative 'square/api/subscriptions_api'
|
64
|
+
require_relative 'square/api/team_api'
|
65
|
+
require_relative 'square/api/terminal_api'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: square.rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 14.1.0.20210915
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Square Developer Platform
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: logging
|
@@ -31,9 +31,9 @@ dependencies:
|
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.0'
|
34
|
-
- - "
|
34
|
+
- - ">="
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: 1.
|
36
|
+
version: 1.0.1
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -41,9 +41,9 @@ dependencies:
|
|
41
41
|
- - "~>"
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: '1.0'
|
44
|
-
- - "
|
44
|
+
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 1.
|
46
|
+
version: 1.0.1
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: faraday_middleware
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -169,7 +169,6 @@ files:
|
|
169
169
|
- lib/square/api/team_api.rb
|
170
170
|
- lib/square/api/terminal_api.rb
|
171
171
|
- lib/square/api/transactions_api.rb
|
172
|
-
- lib/square/api/v1_employees_api.rb
|
173
172
|
- lib/square/api/v1_transactions_api.rb
|
174
173
|
- lib/square/api_helper.rb
|
175
174
|
- lib/square/client.rb
|
@@ -183,6 +182,7 @@ files:
|
|
183
182
|
- lib/square/http/http_method_enum.rb
|
184
183
|
- lib/square/http/http_request.rb
|
185
184
|
- lib/square/http/http_response.rb
|
185
|
+
- lib/square/utilities/date_time_helper.rb
|
186
186
|
- lib/square/utilities/file_wrapper.rb
|
187
187
|
- spec/user_journey_spec.rb
|
188
188
|
- test/api/api_test_base.rb
|
@@ -208,14 +208,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
208
208
|
requirements:
|
209
209
|
- - ">="
|
210
210
|
- !ruby/object:Gem::Version
|
211
|
-
version: '2.
|
211
|
+
version: '2.5'
|
212
|
+
- - "<"
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: '3.0'
|
212
215
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
213
216
|
requirements:
|
214
217
|
- - ">="
|
215
218
|
- !ruby/object:Gem::Version
|
216
219
|
version: '0'
|
217
220
|
requirements: []
|
218
|
-
rubygems_version: 3.1.
|
221
|
+
rubygems_version: 3.1.6
|
219
222
|
signing_key:
|
220
223
|
specification_version: 4
|
221
224
|
summary: square
|
@@ -1,362 +0,0 @@
|
|
1
|
-
module Square
|
2
|
-
# V1EmployeesApi
|
3
|
-
class V1EmployeesApi < BaseApi
|
4
|
-
def initialize(config, http_call_back: nil)
|
5
|
-
super(config, http_call_back: http_call_back)
|
6
|
-
end
|
7
|
-
|
8
|
-
# Provides summary information for all of a business's employees.
|
9
|
-
# @param [SortOrder] order Optional parameter: The order in which employees
|
10
|
-
# are listed in the response, based on their created_at field. Default
|
11
|
-
# value: ASC
|
12
|
-
# @param [String] begin_updated_at Optional parameter: If filtering results
|
13
|
-
# by their updated_at field, the beginning of the requested reporting
|
14
|
-
# period, in ISO 8601 format
|
15
|
-
# @param [String] end_updated_at Optional parameter: If filtering results by
|
16
|
-
# there updated_at field, the end of the requested reporting period, in ISO
|
17
|
-
# 8601 format.
|
18
|
-
# @param [String] begin_created_at Optional parameter: If filtering results
|
19
|
-
# by their created_at field, the beginning of the requested reporting
|
20
|
-
# period, in ISO 8601 format.
|
21
|
-
# @param [String] end_created_at Optional parameter: If filtering results by
|
22
|
-
# their created_at field, the end of the requested reporting period, in ISO
|
23
|
-
# 8601 format.
|
24
|
-
# @param [V1ListEmployeesRequestStatus] status Optional parameter: If
|
25
|
-
# provided, the endpoint returns only employee entities with the specified
|
26
|
-
# status (ACTIVE or INACTIVE).
|
27
|
-
# @param [String] external_id Optional parameter: If provided, the endpoint
|
28
|
-
# returns only employee entities with the specified external_id.
|
29
|
-
# @param [Integer] limit Optional parameter: The maximum integer number of
|
30
|
-
# employee entities to return in a single response. Default 100, maximum
|
31
|
-
# 200.
|
32
|
-
# @param [String] batch_token Optional parameter: A pagination cursor to
|
33
|
-
# retrieve the next set of results for your original query to the
|
34
|
-
# endpoint.
|
35
|
-
# @return [List of V1Employee Hash] response from the API call
|
36
|
-
def list_employees(order: nil,
|
37
|
-
begin_updated_at: nil,
|
38
|
-
end_updated_at: nil,
|
39
|
-
begin_created_at: nil,
|
40
|
-
end_created_at: nil,
|
41
|
-
status: nil,
|
42
|
-
external_id: nil,
|
43
|
-
limit: nil,
|
44
|
-
batch_token: nil)
|
45
|
-
# Prepare query url.
|
46
|
-
_query_builder = config.get_base_uri
|
47
|
-
_query_builder << '/v1/me/employees'
|
48
|
-
_query_builder = APIHelper.append_url_with_query_parameters(
|
49
|
-
_query_builder,
|
50
|
-
'order' => order,
|
51
|
-
'begin_updated_at' => begin_updated_at,
|
52
|
-
'end_updated_at' => end_updated_at,
|
53
|
-
'begin_created_at' => begin_created_at,
|
54
|
-
'end_created_at' => end_created_at,
|
55
|
-
'status' => status,
|
56
|
-
'external_id' => external_id,
|
57
|
-
'limit' => limit,
|
58
|
-
'batch_token' => batch_token
|
59
|
-
)
|
60
|
-
_query_url = APIHelper.clean_url _query_builder
|
61
|
-
|
62
|
-
# Prepare headers.
|
63
|
-
_headers = {
|
64
|
-
'accept' => 'application/json'
|
65
|
-
}
|
66
|
-
|
67
|
-
# Prepare and execute HttpRequest.
|
68
|
-
_request = config.http_client.get(
|
69
|
-
_query_url,
|
70
|
-
headers: _headers
|
71
|
-
)
|
72
|
-
OAuth2.apply(config, _request)
|
73
|
-
_response = execute_request(_request)
|
74
|
-
|
75
|
-
# Return appropriate response type.
|
76
|
-
decoded = APIHelper.json_deserialize(_response.raw_body)
|
77
|
-
_errors = APIHelper.map_response(decoded, ['errors'])
|
78
|
-
ApiResponse.new(
|
79
|
-
_response, data: decoded, errors: _errors
|
80
|
-
)
|
81
|
-
end
|
82
|
-
|
83
|
-
# Use the CreateEmployee endpoint to add an employee to a Square
|
84
|
-
# account. Employees created with the Connect API have an initial status
|
85
|
-
# of `INACTIVE`. Inactive employees cannot sign in to Square Point of Sale
|
86
|
-
# until they are activated from the Square Dashboard. Employee status
|
87
|
-
# cannot be changed with the Connect API.
|
88
|
-
# Employee entities cannot be deleted. To disable employee profiles,
|
89
|
-
# set the employee's status to <code>INACTIVE</code>
|
90
|
-
# @param [V1Employee] body Required parameter: An object containing the
|
91
|
-
# fields to POST for the request. See the corresponding object definition
|
92
|
-
# for field details.
|
93
|
-
# @return [V1Employee Hash] response from the API call
|
94
|
-
def create_employee(body:)
|
95
|
-
# Prepare query url.
|
96
|
-
_query_builder = config.get_base_uri
|
97
|
-
_query_builder << '/v1/me/employees'
|
98
|
-
_query_url = APIHelper.clean_url _query_builder
|
99
|
-
|
100
|
-
# Prepare headers.
|
101
|
-
_headers = {
|
102
|
-
'accept' => 'application/json',
|
103
|
-
'content-type' => 'application/json; charset=utf-8'
|
104
|
-
}
|
105
|
-
|
106
|
-
# Prepare and execute HttpRequest.
|
107
|
-
_request = config.http_client.post(
|
108
|
-
_query_url,
|
109
|
-
headers: _headers,
|
110
|
-
parameters: body.to_json
|
111
|
-
)
|
112
|
-
OAuth2.apply(config, _request)
|
113
|
-
_response = execute_request(_request)
|
114
|
-
|
115
|
-
# Return appropriate response type.
|
116
|
-
decoded = APIHelper.json_deserialize(_response.raw_body)
|
117
|
-
_errors = APIHelper.map_response(decoded, ['errors'])
|
118
|
-
ApiResponse.new(
|
119
|
-
_response, data: decoded, errors: _errors
|
120
|
-
)
|
121
|
-
end
|
122
|
-
|
123
|
-
# Provides the details for a single employee.
|
124
|
-
# @param [String] employee_id Required parameter: The employee's ID.
|
125
|
-
# @return [V1Employee Hash] response from the API call
|
126
|
-
def retrieve_employee(employee_id:)
|
127
|
-
# Prepare query url.
|
128
|
-
_query_builder = config.get_base_uri
|
129
|
-
_query_builder << '/v1/me/employees/{employee_id}'
|
130
|
-
_query_builder = APIHelper.append_url_with_template_parameters(
|
131
|
-
_query_builder,
|
132
|
-
'employee_id' => { 'value' => employee_id, 'encode' => true }
|
133
|
-
)
|
134
|
-
_query_url = APIHelper.clean_url _query_builder
|
135
|
-
|
136
|
-
# Prepare headers.
|
137
|
-
_headers = {
|
138
|
-
'accept' => 'application/json'
|
139
|
-
}
|
140
|
-
|
141
|
-
# Prepare and execute HttpRequest.
|
142
|
-
_request = config.http_client.get(
|
143
|
-
_query_url,
|
144
|
-
headers: _headers
|
145
|
-
)
|
146
|
-
OAuth2.apply(config, _request)
|
147
|
-
_response = execute_request(_request)
|
148
|
-
|
149
|
-
# Return appropriate response type.
|
150
|
-
decoded = APIHelper.json_deserialize(_response.raw_body)
|
151
|
-
_errors = APIHelper.map_response(decoded, ['errors'])
|
152
|
-
ApiResponse.new(
|
153
|
-
_response, data: decoded, errors: _errors
|
154
|
-
)
|
155
|
-
end
|
156
|
-
|
157
|
-
# UpdateEmployee
|
158
|
-
# @param [String] employee_id Required parameter: The ID of the role to
|
159
|
-
# modify.
|
160
|
-
# @param [V1Employee] body Required parameter: An object containing the
|
161
|
-
# fields to POST for the request. See the corresponding object definition
|
162
|
-
# for field details.
|
163
|
-
# @return [V1Employee Hash] response from the API call
|
164
|
-
def update_employee(employee_id:,
|
165
|
-
body:)
|
166
|
-
# Prepare query url.
|
167
|
-
_query_builder = config.get_base_uri
|
168
|
-
_query_builder << '/v1/me/employees/{employee_id}'
|
169
|
-
_query_builder = APIHelper.append_url_with_template_parameters(
|
170
|
-
_query_builder,
|
171
|
-
'employee_id' => { 'value' => employee_id, 'encode' => true }
|
172
|
-
)
|
173
|
-
_query_url = APIHelper.clean_url _query_builder
|
174
|
-
|
175
|
-
# Prepare headers.
|
176
|
-
_headers = {
|
177
|
-
'accept' => 'application/json',
|
178
|
-
'content-type' => 'application/json; charset=utf-8'
|
179
|
-
}
|
180
|
-
|
181
|
-
# Prepare and execute HttpRequest.
|
182
|
-
_request = config.http_client.put(
|
183
|
-
_query_url,
|
184
|
-
headers: _headers,
|
185
|
-
parameters: body.to_json
|
186
|
-
)
|
187
|
-
OAuth2.apply(config, _request)
|
188
|
-
_response = execute_request(_request)
|
189
|
-
|
190
|
-
# Return appropriate response type.
|
191
|
-
decoded = APIHelper.json_deserialize(_response.raw_body)
|
192
|
-
_errors = APIHelper.map_response(decoded, ['errors'])
|
193
|
-
ApiResponse.new(
|
194
|
-
_response, data: decoded, errors: _errors
|
195
|
-
)
|
196
|
-
end
|
197
|
-
|
198
|
-
# Provides summary information for all of a business's employee roles.
|
199
|
-
# @param [SortOrder] order Optional parameter: The order in which employees
|
200
|
-
# are listed in the response, based on their created_at field.Default value:
|
201
|
-
# ASC
|
202
|
-
# @param [Integer] limit Optional parameter: The maximum integer number of
|
203
|
-
# employee entities to return in a single response. Default 100, maximum
|
204
|
-
# 200.
|
205
|
-
# @param [String] batch_token Optional parameter: A pagination cursor to
|
206
|
-
# retrieve the next set of results for your original query to the
|
207
|
-
# endpoint.
|
208
|
-
# @return [List of V1EmployeeRole Hash] response from the API call
|
209
|
-
def list_employee_roles(order: nil,
|
210
|
-
limit: nil,
|
211
|
-
batch_token: nil)
|
212
|
-
# Prepare query url.
|
213
|
-
_query_builder = config.get_base_uri
|
214
|
-
_query_builder << '/v1/me/roles'
|
215
|
-
_query_builder = APIHelper.append_url_with_query_parameters(
|
216
|
-
_query_builder,
|
217
|
-
'order' => order,
|
218
|
-
'limit' => limit,
|
219
|
-
'batch_token' => batch_token
|
220
|
-
)
|
221
|
-
_query_url = APIHelper.clean_url _query_builder
|
222
|
-
|
223
|
-
# Prepare headers.
|
224
|
-
_headers = {
|
225
|
-
'accept' => 'application/json'
|
226
|
-
}
|
227
|
-
|
228
|
-
# Prepare and execute HttpRequest.
|
229
|
-
_request = config.http_client.get(
|
230
|
-
_query_url,
|
231
|
-
headers: _headers
|
232
|
-
)
|
233
|
-
OAuth2.apply(config, _request)
|
234
|
-
_response = execute_request(_request)
|
235
|
-
|
236
|
-
# Return appropriate response type.
|
237
|
-
decoded = APIHelper.json_deserialize(_response.raw_body)
|
238
|
-
_errors = APIHelper.map_response(decoded, ['errors'])
|
239
|
-
ApiResponse.new(
|
240
|
-
_response, data: decoded, errors: _errors
|
241
|
-
)
|
242
|
-
end
|
243
|
-
|
244
|
-
# Creates an employee role you can then assign to employees.
|
245
|
-
# Square accounts can include any number of roles that can be assigned to
|
246
|
-
# employees. These roles define the actions and permissions granted to an
|
247
|
-
# employee with that role. For example, an employee with a "Shift Manager"
|
248
|
-
# role might be able to issue refunds in Square Point of Sale, whereas an
|
249
|
-
# employee with a "Clerk" role might not.
|
250
|
-
# Roles are assigned with the
|
251
|
-
# [V1UpdateEmployee]($e/V1Employees/UpdateEmployeeRole)
|
252
|
-
# endpoint. An employee can have only one role at a time.
|
253
|
-
# If an employee has no role, they have none of the permissions associated
|
254
|
-
# with roles. All employees can accept payments with Square Point of Sale.
|
255
|
-
# @param [V1EmployeeRole] body Required parameter: An EmployeeRole object
|
256
|
-
# with a name and permissions, and an optional owner flag.
|
257
|
-
# @return [V1EmployeeRole Hash] response from the API call
|
258
|
-
def create_employee_role(body:)
|
259
|
-
# Prepare query url.
|
260
|
-
_query_builder = config.get_base_uri
|
261
|
-
_query_builder << '/v1/me/roles'
|
262
|
-
_query_url = APIHelper.clean_url _query_builder
|
263
|
-
|
264
|
-
# Prepare headers.
|
265
|
-
_headers = {
|
266
|
-
'accept' => 'application/json',
|
267
|
-
'content-type' => 'application/json; charset=utf-8'
|
268
|
-
}
|
269
|
-
|
270
|
-
# Prepare and execute HttpRequest.
|
271
|
-
_request = config.http_client.post(
|
272
|
-
_query_url,
|
273
|
-
headers: _headers,
|
274
|
-
parameters: body.to_json
|
275
|
-
)
|
276
|
-
OAuth2.apply(config, _request)
|
277
|
-
_response = execute_request(_request)
|
278
|
-
|
279
|
-
# Return appropriate response type.
|
280
|
-
decoded = APIHelper.json_deserialize(_response.raw_body)
|
281
|
-
_errors = APIHelper.map_response(decoded, ['errors'])
|
282
|
-
ApiResponse.new(
|
283
|
-
_response, data: decoded, errors: _errors
|
284
|
-
)
|
285
|
-
end
|
286
|
-
|
287
|
-
# Provides the details for a single employee role.
|
288
|
-
# @param [String] role_id Required parameter: The role's ID.
|
289
|
-
# @return [V1EmployeeRole Hash] response from the API call
|
290
|
-
def retrieve_employee_role(role_id:)
|
291
|
-
# Prepare query url.
|
292
|
-
_query_builder = config.get_base_uri
|
293
|
-
_query_builder << '/v1/me/roles/{role_id}'
|
294
|
-
_query_builder = APIHelper.append_url_with_template_parameters(
|
295
|
-
_query_builder,
|
296
|
-
'role_id' => { 'value' => role_id, 'encode' => true }
|
297
|
-
)
|
298
|
-
_query_url = APIHelper.clean_url _query_builder
|
299
|
-
|
300
|
-
# Prepare headers.
|
301
|
-
_headers = {
|
302
|
-
'accept' => 'application/json'
|
303
|
-
}
|
304
|
-
|
305
|
-
# Prepare and execute HttpRequest.
|
306
|
-
_request = config.http_client.get(
|
307
|
-
_query_url,
|
308
|
-
headers: _headers
|
309
|
-
)
|
310
|
-
OAuth2.apply(config, _request)
|
311
|
-
_response = execute_request(_request)
|
312
|
-
|
313
|
-
# Return appropriate response type.
|
314
|
-
decoded = APIHelper.json_deserialize(_response.raw_body)
|
315
|
-
_errors = APIHelper.map_response(decoded, ['errors'])
|
316
|
-
ApiResponse.new(
|
317
|
-
_response, data: decoded, errors: _errors
|
318
|
-
)
|
319
|
-
end
|
320
|
-
|
321
|
-
# Modifies the details of an employee role.
|
322
|
-
# @param [String] role_id Required parameter: The ID of the role to
|
323
|
-
# modify.
|
324
|
-
# @param [V1EmployeeRole] body Required parameter: An object containing the
|
325
|
-
# fields to POST for the request. See the corresponding object definition
|
326
|
-
# for field details.
|
327
|
-
# @return [V1EmployeeRole Hash] response from the API call
|
328
|
-
def update_employee_role(role_id:,
|
329
|
-
body:)
|
330
|
-
# Prepare query url.
|
331
|
-
_query_builder = config.get_base_uri
|
332
|
-
_query_builder << '/v1/me/roles/{role_id}'
|
333
|
-
_query_builder = APIHelper.append_url_with_template_parameters(
|
334
|
-
_query_builder,
|
335
|
-
'role_id' => { 'value' => role_id, 'encode' => true }
|
336
|
-
)
|
337
|
-
_query_url = APIHelper.clean_url _query_builder
|
338
|
-
|
339
|
-
# Prepare headers.
|
340
|
-
_headers = {
|
341
|
-
'accept' => 'application/json',
|
342
|
-
'content-type' => 'application/json; charset=utf-8'
|
343
|
-
}
|
344
|
-
|
345
|
-
# Prepare and execute HttpRequest.
|
346
|
-
_request = config.http_client.put(
|
347
|
-
_query_url,
|
348
|
-
headers: _headers,
|
349
|
-
parameters: body.to_json
|
350
|
-
)
|
351
|
-
OAuth2.apply(config, _request)
|
352
|
-
_response = execute_request(_request)
|
353
|
-
|
354
|
-
# Return appropriate response type.
|
355
|
-
decoded = APIHelper.json_deserialize(_response.raw_body)
|
356
|
-
_errors = APIHelper.map_response(decoded, ['errors'])
|
357
|
-
ApiResponse.new(
|
358
|
-
_response, data: decoded, errors: _errors
|
359
|
-
)
|
360
|
-
end
|
361
|
-
end
|
362
|
-
end
|