square.rb 26.1.0.20230119 → 27.0.0.20230419

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -0
  3. data/lib/square/api/apple_pay_api.rb +14 -30
  4. data/lib/square/api/bank_accounts_api.rb +40 -90
  5. data/lib/square/api/base_api.rb +42 -42
  6. data/lib/square/api/booking_custom_attributes_api.rb +171 -336
  7. data/lib/square/api/bookings_api.rb +140 -263
  8. data/lib/square/api/cards_api.rb +58 -120
  9. data/lib/square/api/cash_drawers_api.rb +47 -103
  10. data/lib/square/api/catalog_api.rb +200 -426
  11. data/lib/square/api/checkout_api.rb +86 -176
  12. data/lib/square/api/customer_custom_attributes_api.rb +157 -310
  13. data/lib/square/api/customer_groups_api.rb +69 -145
  14. data/lib/square/api/customer_segments_api.rb +26 -61
  15. data/lib/square/api/customers_api.rb +147 -294
  16. data/lib/square/api/devices_api.rb +42 -89
  17. data/lib/square/api/disputes_api.rb +132 -290
  18. data/lib/square/api/employees_api.rb +28 -63
  19. data/lib/square/api/gift_card_activities_api.rb +34 -66
  20. data/lib/square/api/gift_cards_api.rb +109 -207
  21. data/lib/square/api/inventory_api.rb +204 -391
  22. data/lib/square/api/invoices_api.rb +121 -240
  23. data/lib/square/api/labor_api.rb +223 -459
  24. data/lib/square/api/location_custom_attributes_api.rb +173 -338
  25. data/lib/square/api/locations_api.rb +54 -112
  26. data/lib/square/api/loyalty_api.rb +283 -535
  27. data/lib/square/api/merchants_api.rb +25 -60
  28. data/lib/square/api/mobile_authorization_api.rb +14 -30
  29. data/lib/square/api/o_auth_api.rb +54 -109
  30. data/lib/square/api/order_custom_attributes_api.rb +174 -339
  31. data/lib/square/api/orders_api.rb +115 -222
  32. data/lib/square/api/payments_api.rb +118 -217
  33. data/lib/square/api/payouts_api.rb +54 -107
  34. data/lib/square/api/refunds_api.rb +59 -104
  35. data/lib/square/api/sites_api.rb +11 -28
  36. data/lib/square/api/snippets_api.rb +42 -90
  37. data/lib/square/api/subscriptions_api.rb +150 -299
  38. data/lib/square/api/team_api.rb +114 -224
  39. data/lib/square/api/terminal_api.rb +162 -328
  40. data/lib/square/api/transactions_api.rb +64 -128
  41. data/lib/square/api/v1_transactions_api.rb +155 -296
  42. data/lib/square/api/vendors_api.rb +100 -193
  43. data/lib/square/api/webhook_subscriptions_api.rb +124 -244
  44. data/lib/square/api_helper.rb +1 -437
  45. data/lib/square/client.rb +77 -47
  46. data/lib/square/configuration.rb +28 -53
  47. data/lib/square/exceptions/api_exception.rb +1 -11
  48. data/lib/square/http/api_response.rb +13 -19
  49. data/lib/square/http/auth/o_auth2.rb +14 -7
  50. data/lib/square/http/http_call_back.rb +1 -15
  51. data/lib/square/http/http_method_enum.rb +1 -4
  52. data/lib/square/http/http_request.rb +1 -45
  53. data/lib/square/http/http_response.rb +1 -20
  54. data/lib/square/utilities/date_time_helper.rb +1 -146
  55. data/lib/square/utilities/file_wrapper.rb +5 -5
  56. data/lib/square.rb +6 -6
  57. data/spec/user_journey_spec.rb +2 -2
  58. data/test/api/api_test_base.rb +13 -5
  59. data/test/api/test_catalog_api.rb +5 -4
  60. data/test/api/test_customers_api.rb +3 -2
  61. data/test/api/test_employees_api.rb +4 -3
  62. data/test/api/test_labor_api.rb +6 -5
  63. data/test/api/test_locations_api.rb +3 -2
  64. data/test/api/test_merchants_api.rb +4 -3
  65. data/test/api/test_payments_api.rb +4 -3
  66. data/test/api/test_refunds_api.rb +4 -3
  67. metadata +11 -111
  68. data/lib/square/exceptions/validation_exception.rb +0 -13
  69. data/lib/square/http/faraday_client.rb +0 -93
  70. data/lib/square/http/http_client.rb +0 -118
  71. data/test/test_helper.rb +0 -89
@@ -1,10 +1,6 @@
1
1
  module Square
2
2
  # TransactionsApi
3
3
  class TransactionsApi < BaseApi
4
- def initialize(config, http_call_back: nil)
5
- super(config, http_call_back: http_call_back)
6
- end
7
-
8
4
  # Lists transactions for a particular location.
9
5
  # Transactions include payment information from sales and exchanges and
10
6
  # refund
@@ -39,41 +35,23 @@ module Square
39
35
  sort_order: nil,
40
36
  cursor: nil)
41
37
  warn 'Endpoint list_transactions in TransactionsApi is deprecated'
42
- # Prepare query url.
43
- _query_builder = config.get_base_uri
44
- _query_builder << '/v2/locations/{location_id}/transactions'
45
- _query_builder = APIHelper.append_url_with_template_parameters(
46
- _query_builder,
47
- 'location_id' => { 'value' => location_id, 'encode' => true }
48
- )
49
- _query_builder = APIHelper.append_url_with_query_parameters(
50
- _query_builder,
51
- 'begin_time' => begin_time,
52
- 'end_time' => end_time,
53
- 'sort_order' => sort_order,
54
- 'cursor' => cursor
55
- )
56
- _query_url = APIHelper.clean_url _query_builder
57
-
58
- # Prepare headers.
59
- _headers = {
60
- 'accept' => 'application/json'
61
- }
62
-
63
- # Prepare and execute HttpRequest.
64
- _request = config.http_client.get(
65
- _query_url,
66
- headers: _headers
67
- )
68
- OAuth2.apply(config, _request)
69
- _response = execute_request(_request)
70
-
71
- # Return appropriate response type.
72
- decoded = APIHelper.json_deserialize(_response.raw_body)
73
- _errors = APIHelper.map_response(decoded, ['errors'])
74
- ApiResponse.new(
75
- _response, data: decoded, errors: _errors
76
- )
38
+ new_api_call_builder
39
+ .request(new_request_builder(HttpMethodEnum::GET,
40
+ '/v2/locations/{location_id}/transactions',
41
+ 'default')
42
+ .template_param(new_parameter(location_id, key: 'location_id')
43
+ .should_encode(true))
44
+ .query_param(new_parameter(begin_time, key: 'begin_time'))
45
+ .query_param(new_parameter(end_time, key: 'end_time'))
46
+ .query_param(new_parameter(sort_order, key: 'sort_order'))
47
+ .query_param(new_parameter(cursor, key: 'cursor'))
48
+ .header_param(new_parameter('application/json', key: 'accept'))
49
+ .auth(Single.new('global')))
50
+ .response(new_response_handler
51
+ .deserializer(APIHelper.method(:json_deserialize))
52
+ .is_api_response(true)
53
+ .convertor(ApiResponse.method(:create)))
54
+ .execute
77
55
  end
78
56
 
79
57
  # Retrieves details for a single transaction.
@@ -85,39 +63,25 @@ module Square
85
63
  def retrieve_transaction(location_id:,
86
64
  transaction_id:)
87
65
  warn 'Endpoint retrieve_transaction in TransactionsApi is deprecated'
88
- # Prepare query url.
89
- _query_builder = config.get_base_uri
90
- _query_builder << '/v2/locations/{location_id}/transactions/{transaction_id}'
91
- _query_builder = APIHelper.append_url_with_template_parameters(
92
- _query_builder,
93
- 'location_id' => { 'value' => location_id, 'encode' => true },
94
- 'transaction_id' => { 'value' => transaction_id, 'encode' => true }
95
- )
96
- _query_url = APIHelper.clean_url _query_builder
97
-
98
- # Prepare headers.
99
- _headers = {
100
- 'accept' => 'application/json'
101
- }
102
-
103
- # Prepare and execute HttpRequest.
104
- _request = config.http_client.get(
105
- _query_url,
106
- headers: _headers
107
- )
108
- OAuth2.apply(config, _request)
109
- _response = execute_request(_request)
110
-
111
- # Return appropriate response type.
112
- decoded = APIHelper.json_deserialize(_response.raw_body)
113
- _errors = APIHelper.map_response(decoded, ['errors'])
114
- ApiResponse.new(
115
- _response, data: decoded, errors: _errors
116
- )
66
+ new_api_call_builder
67
+ .request(new_request_builder(HttpMethodEnum::GET,
68
+ '/v2/locations/{location_id}/transactions/{transaction_id}',
69
+ 'default')
70
+ .template_param(new_parameter(location_id, key: 'location_id')
71
+ .should_encode(true))
72
+ .template_param(new_parameter(transaction_id, key: 'transaction_id')
73
+ .should_encode(true))
74
+ .header_param(new_parameter('application/json', key: 'accept'))
75
+ .auth(Single.new('global')))
76
+ .response(new_response_handler
77
+ .deserializer(APIHelper.method(:json_deserialize))
78
+ .is_api_response(true)
79
+ .convertor(ApiResponse.method(:create)))
80
+ .execute
117
81
  end
118
82
 
119
83
  # Captures a transaction that was created with the
120
- # [Charge]($e/Transactions/Charge)
84
+ # [Charge](api-endpoint:Transactions-Charge)
121
85
  # endpoint with a `delay_capture` value of `true`.
122
86
  # See [Delayed capture
123
87
  # transactions](https://developer.squareup.com/docs/payments/transactions/ov
@@ -129,39 +93,25 @@ module Square
129
93
  def capture_transaction(location_id:,
130
94
  transaction_id:)
131
95
  warn 'Endpoint capture_transaction in TransactionsApi is deprecated'
132
- # Prepare query url.
133
- _query_builder = config.get_base_uri
134
- _query_builder << '/v2/locations/{location_id}/transactions/{transaction_id}/capture'
135
- _query_builder = APIHelper.append_url_with_template_parameters(
136
- _query_builder,
137
- 'location_id' => { 'value' => location_id, 'encode' => true },
138
- 'transaction_id' => { 'value' => transaction_id, 'encode' => true }
139
- )
140
- _query_url = APIHelper.clean_url _query_builder
141
-
142
- # Prepare headers.
143
- _headers = {
144
- 'accept' => 'application/json'
145
- }
146
-
147
- # Prepare and execute HttpRequest.
148
- _request = config.http_client.post(
149
- _query_url,
150
- headers: _headers
151
- )
152
- OAuth2.apply(config, _request)
153
- _response = execute_request(_request)
154
-
155
- # Return appropriate response type.
156
- decoded = APIHelper.json_deserialize(_response.raw_body)
157
- _errors = APIHelper.map_response(decoded, ['errors'])
158
- ApiResponse.new(
159
- _response, data: decoded, errors: _errors
160
- )
96
+ new_api_call_builder
97
+ .request(new_request_builder(HttpMethodEnum::POST,
98
+ '/v2/locations/{location_id}/transactions/{transaction_id}/capture',
99
+ 'default')
100
+ .template_param(new_parameter(location_id, key: 'location_id')
101
+ .should_encode(true))
102
+ .template_param(new_parameter(transaction_id, key: 'transaction_id')
103
+ .should_encode(true))
104
+ .header_param(new_parameter('application/json', key: 'accept'))
105
+ .auth(Single.new('global')))
106
+ .response(new_response_handler
107
+ .deserializer(APIHelper.method(:json_deserialize))
108
+ .is_api_response(true)
109
+ .convertor(ApiResponse.method(:create)))
110
+ .execute
161
111
  end
162
112
 
163
113
  # Cancels a transaction that was created with the
164
- # [Charge]($e/Transactions/Charge)
114
+ # [Charge](api-endpoint:Transactions-Charge)
165
115
  # endpoint with a `delay_capture` value of `true`.
166
116
  # See [Delayed capture
167
117
  # transactions](https://developer.squareup.com/docs/payments/transactions/ov
@@ -173,35 +123,21 @@ module Square
173
123
  def void_transaction(location_id:,
174
124
  transaction_id:)
175
125
  warn 'Endpoint void_transaction in TransactionsApi is deprecated'
176
- # Prepare query url.
177
- _query_builder = config.get_base_uri
178
- _query_builder << '/v2/locations/{location_id}/transactions/{transaction_id}/void'
179
- _query_builder = APIHelper.append_url_with_template_parameters(
180
- _query_builder,
181
- 'location_id' => { 'value' => location_id, 'encode' => true },
182
- 'transaction_id' => { 'value' => transaction_id, 'encode' => true }
183
- )
184
- _query_url = APIHelper.clean_url _query_builder
185
-
186
- # Prepare headers.
187
- _headers = {
188
- 'accept' => 'application/json'
189
- }
190
-
191
- # Prepare and execute HttpRequest.
192
- _request = config.http_client.post(
193
- _query_url,
194
- headers: _headers
195
- )
196
- OAuth2.apply(config, _request)
197
- _response = execute_request(_request)
198
-
199
- # Return appropriate response type.
200
- decoded = APIHelper.json_deserialize(_response.raw_body)
201
- _errors = APIHelper.map_response(decoded, ['errors'])
202
- ApiResponse.new(
203
- _response, data: decoded, errors: _errors
204
- )
126
+ new_api_call_builder
127
+ .request(new_request_builder(HttpMethodEnum::POST,
128
+ '/v2/locations/{location_id}/transactions/{transaction_id}/void',
129
+ 'default')
130
+ .template_param(new_parameter(location_id, key: 'location_id')
131
+ .should_encode(true))
132
+ .template_param(new_parameter(transaction_id, key: 'transaction_id')
133
+ .should_encode(true))
134
+ .header_param(new_parameter('application/json', key: 'accept'))
135
+ .auth(Single.new('global')))
136
+ .response(new_response_handler
137
+ .deserializer(APIHelper.method(:json_deserialize))
138
+ .is_api_response(true)
139
+ .convertor(ApiResponse.method(:create)))
140
+ .execute
205
141
  end
206
142
  end
207
143
  end