paid_ruby 0.1.0
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 +7 -0
- data/lib/environment.rb +9 -0
- data/lib/extensions/batch.rb +41 -0
- data/lib/gemconfig.rb +13 -0
- data/lib/paid_ruby/agents/client.rb +543 -0
- data/lib/paid_ruby/contacts/client.rb +437 -0
- data/lib/paid_ruby/customers/client.rb +604 -0
- data/lib/paid_ruby/orders/client.rb +379 -0
- data/lib/paid_ruby/orders/lines/client.rb +99 -0
- data/lib/paid_ruby/types/address.rb +91 -0
- data/lib/paid_ruby/types/agent.rb +109 -0
- data/lib/paid_ruby/types/agent_attribute.rb +74 -0
- data/lib/paid_ruby/types/agent_price_point.rb +81 -0
- data/lib/paid_ruby/types/agent_price_point_tiers.rb +70 -0
- data/lib/paid_ruby/types/agent_update.rb +95 -0
- data/lib/paid_ruby/types/api_error.rb +54 -0
- data/lib/paid_ruby/types/billing_frequency.rb +11 -0
- data/lib/paid_ruby/types/charge_type.rb +12 -0
- data/lib/paid_ruby/types/contact.rb +155 -0
- data/lib/paid_ruby/types/creation_source.rb +12 -0
- data/lib/paid_ruby/types/creation_state.rb +10 -0
- data/lib/paid_ruby/types/customer.rb +142 -0
- data/lib/paid_ruby/types/customer_update.rb +120 -0
- data/lib/paid_ruby/types/error.rb +58 -0
- data/lib/paid_ruby/types/order.rb +172 -0
- data/lib/paid_ruby/types/order_line.rb +158 -0
- data/lib/paid_ruby/types/order_line_attribute.rb +83 -0
- data/lib/paid_ruby/types/order_line_attribute_pricing.rb +93 -0
- data/lib/paid_ruby/types/order_line_create.rb +77 -0
- data/lib/paid_ruby/types/price_point.rb +81 -0
- data/lib/paid_ruby/types/pricing.rb +97 -0
- data/lib/paid_ruby/types/pricing_model_type.rb +11 -0
- data/lib/paid_ruby/types/salutation.rb +14 -0
- data/lib/paid_ruby/types/signal.rb +77 -0
- data/lib/paid_ruby/types/tax_exempt_status.rb +11 -0
- data/lib/paid_ruby/types/tier.rb +70 -0
- data/lib/paid_ruby/usage/client.rb +97 -0
- data/lib/paid_ruby.rb +83 -0
- data/lib/requests.rb +166 -0
- data/lib/types_export.rb +28 -0
- metadata +163 -0
@@ -0,0 +1,604 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "../../requests"
|
3
|
+
require_relative "../types/customer"
|
4
|
+
require "json"
|
5
|
+
require_relative "../types/tax_exempt_status"
|
6
|
+
require_relative "../types/creation_source"
|
7
|
+
require_relative "../types/address"
|
8
|
+
require_relative "../types/customer_update"
|
9
|
+
require "async"
|
10
|
+
require "async"
|
11
|
+
require "async"
|
12
|
+
require "async"
|
13
|
+
require "async"
|
14
|
+
require "async"
|
15
|
+
require "async"
|
16
|
+
require "async"
|
17
|
+
require_relative "../../requests"
|
18
|
+
|
19
|
+
module Paid
|
20
|
+
class CustomersClient
|
21
|
+
# @return [Paid::RequestClient]
|
22
|
+
attr_reader :request_client
|
23
|
+
|
24
|
+
|
25
|
+
# @param request_client [Paid::RequestClient]
|
26
|
+
# @return [Paid::CustomersClient]
|
27
|
+
def initialize(request_client:)
|
28
|
+
@request_client = request_client
|
29
|
+
end
|
30
|
+
# @param request_options [Paid::RequestOptions]
|
31
|
+
# @return [Array<Paid::Customer>]
|
32
|
+
# @example
|
33
|
+
# api = Paid::Client.new(
|
34
|
+
# base_url: "https://api.example.com",
|
35
|
+
# environment: Paid::Environment::PRODUCTION,
|
36
|
+
# token: "YOUR_AUTH_TOKEN"
|
37
|
+
# )
|
38
|
+
# api.customers.list
|
39
|
+
def list(request_options: nil)
|
40
|
+
response = @request_client.conn.get do | req |
|
41
|
+
unless request_options&.timeout_in_seconds.nil?
|
42
|
+
req.options.timeout = request_options.timeout_in_seconds
|
43
|
+
end
|
44
|
+
unless request_options&.token.nil?
|
45
|
+
req.headers["Authorization"] = request_options.token
|
46
|
+
end
|
47
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
48
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
49
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
50
|
+
end
|
51
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
52
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
53
|
+
end
|
54
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/customers"
|
55
|
+
end
|
56
|
+
parsed_json = JSON.parse(response.body)
|
57
|
+
parsed_json&.map do | item |
|
58
|
+
item = item.to_json
|
59
|
+
Paid::Customer.from_json(json_object: item)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
# @param name [String]
|
63
|
+
# @param external_id [String]
|
64
|
+
# @param phone [String]
|
65
|
+
# @param employee_count [Float]
|
66
|
+
# @param annual_revenue [Float]
|
67
|
+
# @param tax_exempt_status [Paid::TaxExemptStatus]
|
68
|
+
# @param creation_source [Paid::CreationSource]
|
69
|
+
# @param website [String]
|
70
|
+
# @param billing_address [Hash] Request of type Paid::Address, as a Hash
|
71
|
+
# * :line_1 (String)
|
72
|
+
# * :line_2 (String)
|
73
|
+
# * :city (String)
|
74
|
+
# * :state (String)
|
75
|
+
# * :zip_code (String)
|
76
|
+
# * :country (String)
|
77
|
+
# @param request_options [Paid::RequestOptions]
|
78
|
+
# @return [Paid::Customer]
|
79
|
+
# @example
|
80
|
+
# api = Paid::Client.new(
|
81
|
+
# base_url: "https://api.example.com",
|
82
|
+
# environment: Paid::Environment::PRODUCTION,
|
83
|
+
# token: "YOUR_AUTH_TOKEN"
|
84
|
+
# )
|
85
|
+
# api.customers.create(name: "name")
|
86
|
+
def create(name:, external_id: nil, phone: nil, employee_count: nil, annual_revenue: nil, tax_exempt_status: nil, creation_source: nil, website: nil, billing_address: nil, request_options: nil)
|
87
|
+
response = @request_client.conn.post do | req |
|
88
|
+
unless request_options&.timeout_in_seconds.nil?
|
89
|
+
req.options.timeout = request_options.timeout_in_seconds
|
90
|
+
end
|
91
|
+
unless request_options&.token.nil?
|
92
|
+
req.headers["Authorization"] = request_options.token
|
93
|
+
end
|
94
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
95
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
96
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
97
|
+
end
|
98
|
+
req.body = { **(request_options&.additional_body_parameters || {}), name: name, externalId: external_id, phone: phone, employeeCount: employee_count, annualRevenue: annual_revenue, taxExemptStatus: tax_exempt_status, creationSource: creation_source, website: website, billingAddress: billing_address }.compact
|
99
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/customers"
|
100
|
+
end
|
101
|
+
Paid::Customer.from_json(json_object: response.body)
|
102
|
+
end
|
103
|
+
# @param customer_id [String]
|
104
|
+
# @param request_options [Paid::RequestOptions]
|
105
|
+
# @return [Paid::Customer]
|
106
|
+
# @example
|
107
|
+
# api = Paid::Client.new(
|
108
|
+
# base_url: "https://api.example.com",
|
109
|
+
# environment: Paid::Environment::PRODUCTION,
|
110
|
+
# token: "YOUR_AUTH_TOKEN"
|
111
|
+
# )
|
112
|
+
# api.customers.get(customer_id: "customerId")
|
113
|
+
def get(customer_id:, request_options: nil)
|
114
|
+
response = @request_client.conn.get do | req |
|
115
|
+
unless request_options&.timeout_in_seconds.nil?
|
116
|
+
req.options.timeout = request_options.timeout_in_seconds
|
117
|
+
end
|
118
|
+
unless request_options&.token.nil?
|
119
|
+
req.headers["Authorization"] = request_options.token
|
120
|
+
end
|
121
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
122
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
123
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
124
|
+
end
|
125
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
126
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
127
|
+
end
|
128
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/customers/#{customer_id}"
|
129
|
+
end
|
130
|
+
Paid::Customer.from_json(json_object: response.body)
|
131
|
+
end
|
132
|
+
# @param customer_id [String]
|
133
|
+
# @param request [Hash] Request of type Paid::CustomerUpdate, as a Hash
|
134
|
+
# * :name (String)
|
135
|
+
# * :external_id (String)
|
136
|
+
# * :phone (String)
|
137
|
+
# * :employee_count (Float)
|
138
|
+
# * :annual_revenue (Float)
|
139
|
+
# * :tax_exempt_status (Paid::TaxExemptStatus)
|
140
|
+
# * :creation_source (Paid::CreationSource)
|
141
|
+
# * :website (String)
|
142
|
+
# * :billing_address (Hash)
|
143
|
+
# * :line_1 (String)
|
144
|
+
# * :line_2 (String)
|
145
|
+
# * :city (String)
|
146
|
+
# * :state (String)
|
147
|
+
# * :zip_code (String)
|
148
|
+
# * :country (String)
|
149
|
+
# @param request_options [Paid::RequestOptions]
|
150
|
+
# @return [Paid::Customer]
|
151
|
+
# @example
|
152
|
+
# api = Paid::Client.new(
|
153
|
+
# base_url: "https://api.example.com",
|
154
|
+
# environment: Paid::Environment::PRODUCTION,
|
155
|
+
# token: "YOUR_AUTH_TOKEN"
|
156
|
+
# )
|
157
|
+
# api.customers.update(customer_id: "customerId", request: { })
|
158
|
+
def update(customer_id:, request:, request_options: nil)
|
159
|
+
response = @request_client.conn.put do | req |
|
160
|
+
unless request_options&.timeout_in_seconds.nil?
|
161
|
+
req.options.timeout = request_options.timeout_in_seconds
|
162
|
+
end
|
163
|
+
unless request_options&.token.nil?
|
164
|
+
req.headers["Authorization"] = request_options.token
|
165
|
+
end
|
166
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
167
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
168
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
169
|
+
end
|
170
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
171
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/customers/#{customer_id}"
|
172
|
+
end
|
173
|
+
Paid::Customer.from_json(json_object: response.body)
|
174
|
+
end
|
175
|
+
# @param customer_id [String]
|
176
|
+
# @param request_options [Paid::RequestOptions]
|
177
|
+
# @return [Void]
|
178
|
+
# @example
|
179
|
+
# api = Paid::Client.new(
|
180
|
+
# base_url: "https://api.example.com",
|
181
|
+
# environment: Paid::Environment::PRODUCTION,
|
182
|
+
# token: "YOUR_AUTH_TOKEN"
|
183
|
+
# )
|
184
|
+
# api.customers.delete(customer_id: "customerId")
|
185
|
+
def delete(customer_id:, request_options: nil)
|
186
|
+
response = @request_client.conn.delete do | req |
|
187
|
+
unless request_options&.timeout_in_seconds.nil?
|
188
|
+
req.options.timeout = request_options.timeout_in_seconds
|
189
|
+
end
|
190
|
+
unless request_options&.token.nil?
|
191
|
+
req.headers["Authorization"] = request_options.token
|
192
|
+
end
|
193
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
194
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
195
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
196
|
+
end
|
197
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
198
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
199
|
+
end
|
200
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/customers/#{customer_id}"
|
201
|
+
end
|
202
|
+
end
|
203
|
+
# @param external_id [String]
|
204
|
+
# @param request_options [Paid::RequestOptions]
|
205
|
+
# @return [Paid::Customer]
|
206
|
+
# @example
|
207
|
+
# api = Paid::Client.new(
|
208
|
+
# base_url: "https://api.example.com",
|
209
|
+
# environment: Paid::Environment::PRODUCTION,
|
210
|
+
# token: "YOUR_AUTH_TOKEN"
|
211
|
+
# )
|
212
|
+
# api.customers.get_by_external_id(external_id: "externalId")
|
213
|
+
def get_by_external_id(external_id:, request_options: nil)
|
214
|
+
response = @request_client.conn.get do | req |
|
215
|
+
unless request_options&.timeout_in_seconds.nil?
|
216
|
+
req.options.timeout = request_options.timeout_in_seconds
|
217
|
+
end
|
218
|
+
unless request_options&.token.nil?
|
219
|
+
req.headers["Authorization"] = request_options.token
|
220
|
+
end
|
221
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
222
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
223
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
224
|
+
end
|
225
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
226
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
227
|
+
end
|
228
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/customers/external/#{external_id}"
|
229
|
+
end
|
230
|
+
Paid::Customer.from_json(json_object: response.body)
|
231
|
+
end
|
232
|
+
# @param external_id [String]
|
233
|
+
# @param request [Hash] Request of type Paid::CustomerUpdate, as a Hash
|
234
|
+
# * :name (String)
|
235
|
+
# * :external_id (String)
|
236
|
+
# * :phone (String)
|
237
|
+
# * :employee_count (Float)
|
238
|
+
# * :annual_revenue (Float)
|
239
|
+
# * :tax_exempt_status (Paid::TaxExemptStatus)
|
240
|
+
# * :creation_source (Paid::CreationSource)
|
241
|
+
# * :website (String)
|
242
|
+
# * :billing_address (Hash)
|
243
|
+
# * :line_1 (String)
|
244
|
+
# * :line_2 (String)
|
245
|
+
# * :city (String)
|
246
|
+
# * :state (String)
|
247
|
+
# * :zip_code (String)
|
248
|
+
# * :country (String)
|
249
|
+
# @param request_options [Paid::RequestOptions]
|
250
|
+
# @return [Paid::Customer]
|
251
|
+
# @example
|
252
|
+
# api = Paid::Client.new(
|
253
|
+
# base_url: "https://api.example.com",
|
254
|
+
# environment: Paid::Environment::PRODUCTION,
|
255
|
+
# token: "YOUR_AUTH_TOKEN"
|
256
|
+
# )
|
257
|
+
# api.customers.update_by_external_id(external_id: "externalId", request: { })
|
258
|
+
def update_by_external_id(external_id:, request:, request_options: nil)
|
259
|
+
response = @request_client.conn.put do | req |
|
260
|
+
unless request_options&.timeout_in_seconds.nil?
|
261
|
+
req.options.timeout = request_options.timeout_in_seconds
|
262
|
+
end
|
263
|
+
unless request_options&.token.nil?
|
264
|
+
req.headers["Authorization"] = request_options.token
|
265
|
+
end
|
266
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
267
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
268
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
269
|
+
end
|
270
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
271
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/customers/external/#{external_id}"
|
272
|
+
end
|
273
|
+
Paid::Customer.from_json(json_object: response.body)
|
274
|
+
end
|
275
|
+
# @param external_id [String]
|
276
|
+
# @param request_options [Paid::RequestOptions]
|
277
|
+
# @return [Void]
|
278
|
+
# @example
|
279
|
+
# api = Paid::Client.new(
|
280
|
+
# base_url: "https://api.example.com",
|
281
|
+
# environment: Paid::Environment::PRODUCTION,
|
282
|
+
# token: "YOUR_AUTH_TOKEN"
|
283
|
+
# )
|
284
|
+
# api.customers.delete_by_external_id(external_id: "externalId")
|
285
|
+
def delete_by_external_id(external_id:, request_options: nil)
|
286
|
+
response = @request_client.conn.delete do | req |
|
287
|
+
unless request_options&.timeout_in_seconds.nil?
|
288
|
+
req.options.timeout = request_options.timeout_in_seconds
|
289
|
+
end
|
290
|
+
unless request_options&.token.nil?
|
291
|
+
req.headers["Authorization"] = request_options.token
|
292
|
+
end
|
293
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
294
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
295
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
296
|
+
end
|
297
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
298
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
299
|
+
end
|
300
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/customers/external/#{external_id}"
|
301
|
+
end
|
302
|
+
end
|
303
|
+
end
|
304
|
+
class AsyncCustomersClient
|
305
|
+
# @return [Paid::AsyncRequestClient]
|
306
|
+
attr_reader :request_client
|
307
|
+
|
308
|
+
|
309
|
+
# @param request_client [Paid::RequestClient]
|
310
|
+
# @return [Paid::AsyncCustomersClient]
|
311
|
+
def initialize(request_client:)
|
312
|
+
@request_client = request_client
|
313
|
+
end
|
314
|
+
# @param request_options [Paid::RequestOptions]
|
315
|
+
# @return [Array<Paid::Customer>]
|
316
|
+
# @example
|
317
|
+
# api = Paid::Client.new(
|
318
|
+
# base_url: "https://api.example.com",
|
319
|
+
# environment: Paid::Environment::PRODUCTION,
|
320
|
+
# token: "YOUR_AUTH_TOKEN"
|
321
|
+
# )
|
322
|
+
# api.customers.list
|
323
|
+
def list(request_options: nil)
|
324
|
+
Async do
|
325
|
+
response = @request_client.conn.get do | req |
|
326
|
+
unless request_options&.timeout_in_seconds.nil?
|
327
|
+
req.options.timeout = request_options.timeout_in_seconds
|
328
|
+
end
|
329
|
+
unless request_options&.token.nil?
|
330
|
+
req.headers["Authorization"] = request_options.token
|
331
|
+
end
|
332
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
333
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
334
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
335
|
+
end
|
336
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
337
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
338
|
+
end
|
339
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/customers"
|
340
|
+
end
|
341
|
+
parsed_json = JSON.parse(response.body)
|
342
|
+
parsed_json&.map do | item |
|
343
|
+
item = item.to_json
|
344
|
+
Paid::Customer.from_json(json_object: item)
|
345
|
+
end
|
346
|
+
end
|
347
|
+
end
|
348
|
+
# @param name [String]
|
349
|
+
# @param external_id [String]
|
350
|
+
# @param phone [String]
|
351
|
+
# @param employee_count [Float]
|
352
|
+
# @param annual_revenue [Float]
|
353
|
+
# @param tax_exempt_status [Paid::TaxExemptStatus]
|
354
|
+
# @param creation_source [Paid::CreationSource]
|
355
|
+
# @param website [String]
|
356
|
+
# @param billing_address [Hash] Request of type Paid::Address, as a Hash
|
357
|
+
# * :line_1 (String)
|
358
|
+
# * :line_2 (String)
|
359
|
+
# * :city (String)
|
360
|
+
# * :state (String)
|
361
|
+
# * :zip_code (String)
|
362
|
+
# * :country (String)
|
363
|
+
# @param request_options [Paid::RequestOptions]
|
364
|
+
# @return [Paid::Customer]
|
365
|
+
# @example
|
366
|
+
# api = Paid::Client.new(
|
367
|
+
# base_url: "https://api.example.com",
|
368
|
+
# environment: Paid::Environment::PRODUCTION,
|
369
|
+
# token: "YOUR_AUTH_TOKEN"
|
370
|
+
# )
|
371
|
+
# api.customers.create(name: "name")
|
372
|
+
def create(name:, external_id: nil, phone: nil, employee_count: nil, annual_revenue: nil, tax_exempt_status: nil, creation_source: nil, website: nil, billing_address: nil, request_options: nil)
|
373
|
+
Async do
|
374
|
+
response = @request_client.conn.post do | req |
|
375
|
+
unless request_options&.timeout_in_seconds.nil?
|
376
|
+
req.options.timeout = request_options.timeout_in_seconds
|
377
|
+
end
|
378
|
+
unless request_options&.token.nil?
|
379
|
+
req.headers["Authorization"] = request_options.token
|
380
|
+
end
|
381
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
382
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
383
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
384
|
+
end
|
385
|
+
req.body = { **(request_options&.additional_body_parameters || {}), name: name, externalId: external_id, phone: phone, employeeCount: employee_count, annualRevenue: annual_revenue, taxExemptStatus: tax_exempt_status, creationSource: creation_source, website: website, billingAddress: billing_address }.compact
|
386
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/customers"
|
387
|
+
end
|
388
|
+
Paid::Customer.from_json(json_object: response.body)
|
389
|
+
end
|
390
|
+
end
|
391
|
+
# @param customer_id [String]
|
392
|
+
# @param request_options [Paid::RequestOptions]
|
393
|
+
# @return [Paid::Customer]
|
394
|
+
# @example
|
395
|
+
# api = Paid::Client.new(
|
396
|
+
# base_url: "https://api.example.com",
|
397
|
+
# environment: Paid::Environment::PRODUCTION,
|
398
|
+
# token: "YOUR_AUTH_TOKEN"
|
399
|
+
# )
|
400
|
+
# api.customers.get(customer_id: "customerId")
|
401
|
+
def get(customer_id:, request_options: nil)
|
402
|
+
Async do
|
403
|
+
response = @request_client.conn.get do | req |
|
404
|
+
unless request_options&.timeout_in_seconds.nil?
|
405
|
+
req.options.timeout = request_options.timeout_in_seconds
|
406
|
+
end
|
407
|
+
unless request_options&.token.nil?
|
408
|
+
req.headers["Authorization"] = request_options.token
|
409
|
+
end
|
410
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
411
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
412
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
413
|
+
end
|
414
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
415
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
416
|
+
end
|
417
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/customers/#{customer_id}"
|
418
|
+
end
|
419
|
+
Paid::Customer.from_json(json_object: response.body)
|
420
|
+
end
|
421
|
+
end
|
422
|
+
# @param customer_id [String]
|
423
|
+
# @param request [Hash] Request of type Paid::CustomerUpdate, as a Hash
|
424
|
+
# * :name (String)
|
425
|
+
# * :external_id (String)
|
426
|
+
# * :phone (String)
|
427
|
+
# * :employee_count (Float)
|
428
|
+
# * :annual_revenue (Float)
|
429
|
+
# * :tax_exempt_status (Paid::TaxExemptStatus)
|
430
|
+
# * :creation_source (Paid::CreationSource)
|
431
|
+
# * :website (String)
|
432
|
+
# * :billing_address (Hash)
|
433
|
+
# * :line_1 (String)
|
434
|
+
# * :line_2 (String)
|
435
|
+
# * :city (String)
|
436
|
+
# * :state (String)
|
437
|
+
# * :zip_code (String)
|
438
|
+
# * :country (String)
|
439
|
+
# @param request_options [Paid::RequestOptions]
|
440
|
+
# @return [Paid::Customer]
|
441
|
+
# @example
|
442
|
+
# api = Paid::Client.new(
|
443
|
+
# base_url: "https://api.example.com",
|
444
|
+
# environment: Paid::Environment::PRODUCTION,
|
445
|
+
# token: "YOUR_AUTH_TOKEN"
|
446
|
+
# )
|
447
|
+
# api.customers.update(customer_id: "customerId", request: { })
|
448
|
+
def update(customer_id:, request:, request_options: nil)
|
449
|
+
Async do
|
450
|
+
response = @request_client.conn.put do | req |
|
451
|
+
unless request_options&.timeout_in_seconds.nil?
|
452
|
+
req.options.timeout = request_options.timeout_in_seconds
|
453
|
+
end
|
454
|
+
unless request_options&.token.nil?
|
455
|
+
req.headers["Authorization"] = request_options.token
|
456
|
+
end
|
457
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
458
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
459
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
460
|
+
end
|
461
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
462
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/customers/#{customer_id}"
|
463
|
+
end
|
464
|
+
Paid::Customer.from_json(json_object: response.body)
|
465
|
+
end
|
466
|
+
end
|
467
|
+
# @param customer_id [String]
|
468
|
+
# @param request_options [Paid::RequestOptions]
|
469
|
+
# @return [Void]
|
470
|
+
# @example
|
471
|
+
# api = Paid::Client.new(
|
472
|
+
# base_url: "https://api.example.com",
|
473
|
+
# environment: Paid::Environment::PRODUCTION,
|
474
|
+
# token: "YOUR_AUTH_TOKEN"
|
475
|
+
# )
|
476
|
+
# api.customers.delete(customer_id: "customerId")
|
477
|
+
def delete(customer_id:, request_options: nil)
|
478
|
+
Async do
|
479
|
+
response = @request_client.conn.delete do | req |
|
480
|
+
unless request_options&.timeout_in_seconds.nil?
|
481
|
+
req.options.timeout = request_options.timeout_in_seconds
|
482
|
+
end
|
483
|
+
unless request_options&.token.nil?
|
484
|
+
req.headers["Authorization"] = request_options.token
|
485
|
+
end
|
486
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
487
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
488
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
489
|
+
end
|
490
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
491
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
492
|
+
end
|
493
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/customers/#{customer_id}"
|
494
|
+
end
|
495
|
+
end
|
496
|
+
end
|
497
|
+
# @param external_id [String]
|
498
|
+
# @param request_options [Paid::RequestOptions]
|
499
|
+
# @return [Paid::Customer]
|
500
|
+
# @example
|
501
|
+
# api = Paid::Client.new(
|
502
|
+
# base_url: "https://api.example.com",
|
503
|
+
# environment: Paid::Environment::PRODUCTION,
|
504
|
+
# token: "YOUR_AUTH_TOKEN"
|
505
|
+
# )
|
506
|
+
# api.customers.get_by_external_id(external_id: "externalId")
|
507
|
+
def get_by_external_id(external_id:, request_options: nil)
|
508
|
+
Async do
|
509
|
+
response = @request_client.conn.get do | req |
|
510
|
+
unless request_options&.timeout_in_seconds.nil?
|
511
|
+
req.options.timeout = request_options.timeout_in_seconds
|
512
|
+
end
|
513
|
+
unless request_options&.token.nil?
|
514
|
+
req.headers["Authorization"] = request_options.token
|
515
|
+
end
|
516
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
517
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
518
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
519
|
+
end
|
520
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
521
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
522
|
+
end
|
523
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/customers/external/#{external_id}"
|
524
|
+
end
|
525
|
+
Paid::Customer.from_json(json_object: response.body)
|
526
|
+
end
|
527
|
+
end
|
528
|
+
# @param external_id [String]
|
529
|
+
# @param request [Hash] Request of type Paid::CustomerUpdate, as a Hash
|
530
|
+
# * :name (String)
|
531
|
+
# * :external_id (String)
|
532
|
+
# * :phone (String)
|
533
|
+
# * :employee_count (Float)
|
534
|
+
# * :annual_revenue (Float)
|
535
|
+
# * :tax_exempt_status (Paid::TaxExemptStatus)
|
536
|
+
# * :creation_source (Paid::CreationSource)
|
537
|
+
# * :website (String)
|
538
|
+
# * :billing_address (Hash)
|
539
|
+
# * :line_1 (String)
|
540
|
+
# * :line_2 (String)
|
541
|
+
# * :city (String)
|
542
|
+
# * :state (String)
|
543
|
+
# * :zip_code (String)
|
544
|
+
# * :country (String)
|
545
|
+
# @param request_options [Paid::RequestOptions]
|
546
|
+
# @return [Paid::Customer]
|
547
|
+
# @example
|
548
|
+
# api = Paid::Client.new(
|
549
|
+
# base_url: "https://api.example.com",
|
550
|
+
# environment: Paid::Environment::PRODUCTION,
|
551
|
+
# token: "YOUR_AUTH_TOKEN"
|
552
|
+
# )
|
553
|
+
# api.customers.update_by_external_id(external_id: "externalId", request: { })
|
554
|
+
def update_by_external_id(external_id:, request:, request_options: nil)
|
555
|
+
Async do
|
556
|
+
response = @request_client.conn.put do | req |
|
557
|
+
unless request_options&.timeout_in_seconds.nil?
|
558
|
+
req.options.timeout = request_options.timeout_in_seconds
|
559
|
+
end
|
560
|
+
unless request_options&.token.nil?
|
561
|
+
req.headers["Authorization"] = request_options.token
|
562
|
+
end
|
563
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
564
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
565
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
566
|
+
end
|
567
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
568
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/customers/external/#{external_id}"
|
569
|
+
end
|
570
|
+
Paid::Customer.from_json(json_object: response.body)
|
571
|
+
end
|
572
|
+
end
|
573
|
+
# @param external_id [String]
|
574
|
+
# @param request_options [Paid::RequestOptions]
|
575
|
+
# @return [Void]
|
576
|
+
# @example
|
577
|
+
# api = Paid::Client.new(
|
578
|
+
# base_url: "https://api.example.com",
|
579
|
+
# environment: Paid::Environment::PRODUCTION,
|
580
|
+
# token: "YOUR_AUTH_TOKEN"
|
581
|
+
# )
|
582
|
+
# api.customers.delete_by_external_id(external_id: "externalId")
|
583
|
+
def delete_by_external_id(external_id:, request_options: nil)
|
584
|
+
Async do
|
585
|
+
response = @request_client.conn.delete do | req |
|
586
|
+
unless request_options&.timeout_in_seconds.nil?
|
587
|
+
req.options.timeout = request_options.timeout_in_seconds
|
588
|
+
end
|
589
|
+
unless request_options&.token.nil?
|
590
|
+
req.headers["Authorization"] = request_options.token
|
591
|
+
end
|
592
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
593
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
594
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
595
|
+
end
|
596
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
597
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
598
|
+
end
|
599
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/customers/external/#{external_id}"
|
600
|
+
end
|
601
|
+
end
|
602
|
+
end
|
603
|
+
end
|
604
|
+
end
|