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,437 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "../../requests"
|
3
|
+
require_relative "../types/contact"
|
4
|
+
require "json"
|
5
|
+
require_relative "../types/salutation"
|
6
|
+
require "async"
|
7
|
+
require "async"
|
8
|
+
require "async"
|
9
|
+
require "async"
|
10
|
+
require "async"
|
11
|
+
require "async"
|
12
|
+
require_relative "../../requests"
|
13
|
+
|
14
|
+
module Paid
|
15
|
+
class ContactsClient
|
16
|
+
# @return [Paid::RequestClient]
|
17
|
+
attr_reader :request_client
|
18
|
+
|
19
|
+
|
20
|
+
# @param request_client [Paid::RequestClient]
|
21
|
+
# @return [Paid::ContactsClient]
|
22
|
+
def initialize(request_client:)
|
23
|
+
@request_client = request_client
|
24
|
+
end
|
25
|
+
# @param request_options [Paid::RequestOptions]
|
26
|
+
# @return [Array<Paid::Contact>]
|
27
|
+
# @example
|
28
|
+
# api = Paid::Client.new(
|
29
|
+
# base_url: "https://api.example.com",
|
30
|
+
# environment: Paid::Environment::PRODUCTION,
|
31
|
+
# token: "YOUR_AUTH_TOKEN"
|
32
|
+
# )
|
33
|
+
# api.contacts.list
|
34
|
+
def list(request_options: nil)
|
35
|
+
response = @request_client.conn.get do | req |
|
36
|
+
unless request_options&.timeout_in_seconds.nil?
|
37
|
+
req.options.timeout = request_options.timeout_in_seconds
|
38
|
+
end
|
39
|
+
unless request_options&.token.nil?
|
40
|
+
req.headers["Authorization"] = request_options.token
|
41
|
+
end
|
42
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
43
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
44
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
45
|
+
end
|
46
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
47
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
48
|
+
end
|
49
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/contacts"
|
50
|
+
end
|
51
|
+
parsed_json = JSON.parse(response.body)
|
52
|
+
parsed_json&.map do | item |
|
53
|
+
item = item.to_json
|
54
|
+
Paid::Contact.from_json(json_object: item)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
# @param external_id [String]
|
58
|
+
# @param customer_id [String]
|
59
|
+
# @param customer_external_id [String]
|
60
|
+
# @param salutation [Paid::Salutation]
|
61
|
+
# @param first_name [String]
|
62
|
+
# @param last_name [String]
|
63
|
+
# @param email [String]
|
64
|
+
# @param phone [String]
|
65
|
+
# @param billing_street [String]
|
66
|
+
# @param billing_city [String]
|
67
|
+
# @param billing_state_province [String]
|
68
|
+
# @param billing_country [String]
|
69
|
+
# @param billing_postal_code [String]
|
70
|
+
# @param request_options [Paid::RequestOptions]
|
71
|
+
# @return [Paid::Contact]
|
72
|
+
# @example
|
73
|
+
# api = Paid::Client.new(
|
74
|
+
# base_url: "https://api.example.com",
|
75
|
+
# environment: Paid::Environment::PRODUCTION,
|
76
|
+
# token: "YOUR_AUTH_TOKEN"
|
77
|
+
# )
|
78
|
+
# api.contacts.create(
|
79
|
+
# salutation: MR,
|
80
|
+
# first_name: "firstName",
|
81
|
+
# last_name: "lastName",
|
82
|
+
# email: "email",
|
83
|
+
# billing_street: "billingStreet",
|
84
|
+
# billing_city: "billingCity",
|
85
|
+
# billing_country: "billingCountry",
|
86
|
+
# billing_postal_code: "billingPostalCode"
|
87
|
+
# )
|
88
|
+
def create(external_id: nil, customer_id: nil, customer_external_id: nil, salutation:, first_name:, last_name:, email:, phone: nil, billing_street:, billing_city:, billing_state_province: nil, billing_country:, billing_postal_code:, request_options: nil)
|
89
|
+
response = @request_client.conn.post do | req |
|
90
|
+
unless request_options&.timeout_in_seconds.nil?
|
91
|
+
req.options.timeout = request_options.timeout_in_seconds
|
92
|
+
end
|
93
|
+
unless request_options&.token.nil?
|
94
|
+
req.headers["Authorization"] = request_options.token
|
95
|
+
end
|
96
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
97
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
98
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
99
|
+
end
|
100
|
+
req.body = { **(request_options&.additional_body_parameters || {}), externalId: external_id, customerId: customer_id, customerExternalId: customer_external_id, salutation: salutation, firstName: first_name, lastName: last_name, email: email, phone: phone, billingStreet: billing_street, billingCity: billing_city, billingStateProvince: billing_state_province, billingCountry: billing_country, billingPostalCode: billing_postal_code }.compact
|
101
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/contacts"
|
102
|
+
end
|
103
|
+
Paid::Contact.from_json(json_object: response.body)
|
104
|
+
end
|
105
|
+
# @param contact_id [String]
|
106
|
+
# @param request_options [Paid::RequestOptions]
|
107
|
+
# @return [Paid::Contact]
|
108
|
+
# @example
|
109
|
+
# api = Paid::Client.new(
|
110
|
+
# base_url: "https://api.example.com",
|
111
|
+
# environment: Paid::Environment::PRODUCTION,
|
112
|
+
# token: "YOUR_AUTH_TOKEN"
|
113
|
+
# )
|
114
|
+
# api.contacts.get(contact_id: "contactId")
|
115
|
+
def get(contact_id:, request_options: nil)
|
116
|
+
response = @request_client.conn.get do | req |
|
117
|
+
unless request_options&.timeout_in_seconds.nil?
|
118
|
+
req.options.timeout = request_options.timeout_in_seconds
|
119
|
+
end
|
120
|
+
unless request_options&.token.nil?
|
121
|
+
req.headers["Authorization"] = request_options.token
|
122
|
+
end
|
123
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
124
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
125
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
126
|
+
end
|
127
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
128
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
129
|
+
end
|
130
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/contacts/#{contact_id}"
|
131
|
+
end
|
132
|
+
Paid::Contact.from_json(json_object: response.body)
|
133
|
+
end
|
134
|
+
# @param contact_id [String]
|
135
|
+
# @param request_options [Paid::RequestOptions]
|
136
|
+
# @return [Void]
|
137
|
+
# @example
|
138
|
+
# api = Paid::Client.new(
|
139
|
+
# base_url: "https://api.example.com",
|
140
|
+
# environment: Paid::Environment::PRODUCTION,
|
141
|
+
# token: "YOUR_AUTH_TOKEN"
|
142
|
+
# )
|
143
|
+
# api.contacts.delete(contact_id: "contactId")
|
144
|
+
def delete(contact_id:, request_options: nil)
|
145
|
+
response = @request_client.conn.delete do | req |
|
146
|
+
unless request_options&.timeout_in_seconds.nil?
|
147
|
+
req.options.timeout = request_options.timeout_in_seconds
|
148
|
+
end
|
149
|
+
unless request_options&.token.nil?
|
150
|
+
req.headers["Authorization"] = request_options.token
|
151
|
+
end
|
152
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
153
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
154
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
155
|
+
end
|
156
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
157
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
158
|
+
end
|
159
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/contacts/#{contact_id}"
|
160
|
+
end
|
161
|
+
end
|
162
|
+
# @param external_id [String]
|
163
|
+
# @param request_options [Paid::RequestOptions]
|
164
|
+
# @return [Paid::Contact]
|
165
|
+
# @example
|
166
|
+
# api = Paid::Client.new(
|
167
|
+
# base_url: "https://api.example.com",
|
168
|
+
# environment: Paid::Environment::PRODUCTION,
|
169
|
+
# token: "YOUR_AUTH_TOKEN"
|
170
|
+
# )
|
171
|
+
# api.contacts.get_by_external_id(external_id: "externalId")
|
172
|
+
def get_by_external_id(external_id:, request_options: nil)
|
173
|
+
response = @request_client.conn.get do | req |
|
174
|
+
unless request_options&.timeout_in_seconds.nil?
|
175
|
+
req.options.timeout = request_options.timeout_in_seconds
|
176
|
+
end
|
177
|
+
unless request_options&.token.nil?
|
178
|
+
req.headers["Authorization"] = request_options.token
|
179
|
+
end
|
180
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
181
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
182
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
183
|
+
end
|
184
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
185
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
186
|
+
end
|
187
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/contacts/external/#{external_id}"
|
188
|
+
end
|
189
|
+
Paid::Contact.from_json(json_object: response.body)
|
190
|
+
end
|
191
|
+
# @param external_id [String]
|
192
|
+
# @param request_options [Paid::RequestOptions]
|
193
|
+
# @return [Void]
|
194
|
+
# @example
|
195
|
+
# api = Paid::Client.new(
|
196
|
+
# base_url: "https://api.example.com",
|
197
|
+
# environment: Paid::Environment::PRODUCTION,
|
198
|
+
# token: "YOUR_AUTH_TOKEN"
|
199
|
+
# )
|
200
|
+
# api.contacts.delete_by_external_id(external_id: "externalId")
|
201
|
+
def delete_by_external_id(external_id:, request_options: nil)
|
202
|
+
response = @request_client.conn.delete do | req |
|
203
|
+
unless request_options&.timeout_in_seconds.nil?
|
204
|
+
req.options.timeout = request_options.timeout_in_seconds
|
205
|
+
end
|
206
|
+
unless request_options&.token.nil?
|
207
|
+
req.headers["Authorization"] = request_options.token
|
208
|
+
end
|
209
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
210
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
211
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
212
|
+
end
|
213
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
214
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
215
|
+
end
|
216
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/contacts/external/#{external_id}"
|
217
|
+
end
|
218
|
+
end
|
219
|
+
end
|
220
|
+
class AsyncContactsClient
|
221
|
+
# @return [Paid::AsyncRequestClient]
|
222
|
+
attr_reader :request_client
|
223
|
+
|
224
|
+
|
225
|
+
# @param request_client [Paid::RequestClient]
|
226
|
+
# @return [Paid::AsyncContactsClient]
|
227
|
+
def initialize(request_client:)
|
228
|
+
@request_client = request_client
|
229
|
+
end
|
230
|
+
# @param request_options [Paid::RequestOptions]
|
231
|
+
# @return [Array<Paid::Contact>]
|
232
|
+
# @example
|
233
|
+
# api = Paid::Client.new(
|
234
|
+
# base_url: "https://api.example.com",
|
235
|
+
# environment: Paid::Environment::PRODUCTION,
|
236
|
+
# token: "YOUR_AUTH_TOKEN"
|
237
|
+
# )
|
238
|
+
# api.contacts.list
|
239
|
+
def list(request_options: nil)
|
240
|
+
Async do
|
241
|
+
response = @request_client.conn.get do | req |
|
242
|
+
unless request_options&.timeout_in_seconds.nil?
|
243
|
+
req.options.timeout = request_options.timeout_in_seconds
|
244
|
+
end
|
245
|
+
unless request_options&.token.nil?
|
246
|
+
req.headers["Authorization"] = request_options.token
|
247
|
+
end
|
248
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
249
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
250
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
251
|
+
end
|
252
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
253
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
254
|
+
end
|
255
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/contacts"
|
256
|
+
end
|
257
|
+
parsed_json = JSON.parse(response.body)
|
258
|
+
parsed_json&.map do | item |
|
259
|
+
item = item.to_json
|
260
|
+
Paid::Contact.from_json(json_object: item)
|
261
|
+
end
|
262
|
+
end
|
263
|
+
end
|
264
|
+
# @param external_id [String]
|
265
|
+
# @param customer_id [String]
|
266
|
+
# @param customer_external_id [String]
|
267
|
+
# @param salutation [Paid::Salutation]
|
268
|
+
# @param first_name [String]
|
269
|
+
# @param last_name [String]
|
270
|
+
# @param email [String]
|
271
|
+
# @param phone [String]
|
272
|
+
# @param billing_street [String]
|
273
|
+
# @param billing_city [String]
|
274
|
+
# @param billing_state_province [String]
|
275
|
+
# @param billing_country [String]
|
276
|
+
# @param billing_postal_code [String]
|
277
|
+
# @param request_options [Paid::RequestOptions]
|
278
|
+
# @return [Paid::Contact]
|
279
|
+
# @example
|
280
|
+
# api = Paid::Client.new(
|
281
|
+
# base_url: "https://api.example.com",
|
282
|
+
# environment: Paid::Environment::PRODUCTION,
|
283
|
+
# token: "YOUR_AUTH_TOKEN"
|
284
|
+
# )
|
285
|
+
# api.contacts.create(
|
286
|
+
# salutation: MR,
|
287
|
+
# first_name: "firstName",
|
288
|
+
# last_name: "lastName",
|
289
|
+
# email: "email",
|
290
|
+
# billing_street: "billingStreet",
|
291
|
+
# billing_city: "billingCity",
|
292
|
+
# billing_country: "billingCountry",
|
293
|
+
# billing_postal_code: "billingPostalCode"
|
294
|
+
# )
|
295
|
+
def create(external_id: nil, customer_id: nil, customer_external_id: nil, salutation:, first_name:, last_name:, email:, phone: nil, billing_street:, billing_city:, billing_state_province: nil, billing_country:, billing_postal_code:, request_options: nil)
|
296
|
+
Async do
|
297
|
+
response = @request_client.conn.post do | req |
|
298
|
+
unless request_options&.timeout_in_seconds.nil?
|
299
|
+
req.options.timeout = request_options.timeout_in_seconds
|
300
|
+
end
|
301
|
+
unless request_options&.token.nil?
|
302
|
+
req.headers["Authorization"] = request_options.token
|
303
|
+
end
|
304
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
305
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
306
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
307
|
+
end
|
308
|
+
req.body = { **(request_options&.additional_body_parameters || {}), externalId: external_id, customerId: customer_id, customerExternalId: customer_external_id, salutation: salutation, firstName: first_name, lastName: last_name, email: email, phone: phone, billingStreet: billing_street, billingCity: billing_city, billingStateProvince: billing_state_province, billingCountry: billing_country, billingPostalCode: billing_postal_code }.compact
|
309
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/contacts"
|
310
|
+
end
|
311
|
+
Paid::Contact.from_json(json_object: response.body)
|
312
|
+
end
|
313
|
+
end
|
314
|
+
# @param contact_id [String]
|
315
|
+
# @param request_options [Paid::RequestOptions]
|
316
|
+
# @return [Paid::Contact]
|
317
|
+
# @example
|
318
|
+
# api = Paid::Client.new(
|
319
|
+
# base_url: "https://api.example.com",
|
320
|
+
# environment: Paid::Environment::PRODUCTION,
|
321
|
+
# token: "YOUR_AUTH_TOKEN"
|
322
|
+
# )
|
323
|
+
# api.contacts.get(contact_id: "contactId")
|
324
|
+
def get(contact_id:, request_options: nil)
|
325
|
+
Async do
|
326
|
+
response = @request_client.conn.get do | req |
|
327
|
+
unless request_options&.timeout_in_seconds.nil?
|
328
|
+
req.options.timeout = request_options.timeout_in_seconds
|
329
|
+
end
|
330
|
+
unless request_options&.token.nil?
|
331
|
+
req.headers["Authorization"] = request_options.token
|
332
|
+
end
|
333
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
334
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
335
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
336
|
+
end
|
337
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
338
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
339
|
+
end
|
340
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/contacts/#{contact_id}"
|
341
|
+
end
|
342
|
+
Paid::Contact.from_json(json_object: response.body)
|
343
|
+
end
|
344
|
+
end
|
345
|
+
# @param contact_id [String]
|
346
|
+
# @param request_options [Paid::RequestOptions]
|
347
|
+
# @return [Void]
|
348
|
+
# @example
|
349
|
+
# api = Paid::Client.new(
|
350
|
+
# base_url: "https://api.example.com",
|
351
|
+
# environment: Paid::Environment::PRODUCTION,
|
352
|
+
# token: "YOUR_AUTH_TOKEN"
|
353
|
+
# )
|
354
|
+
# api.contacts.delete(contact_id: "contactId")
|
355
|
+
def delete(contact_id:, request_options: nil)
|
356
|
+
Async do
|
357
|
+
response = @request_client.conn.delete do | req |
|
358
|
+
unless request_options&.timeout_in_seconds.nil?
|
359
|
+
req.options.timeout = request_options.timeout_in_seconds
|
360
|
+
end
|
361
|
+
unless request_options&.token.nil?
|
362
|
+
req.headers["Authorization"] = request_options.token
|
363
|
+
end
|
364
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
365
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
366
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
367
|
+
end
|
368
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
369
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
370
|
+
end
|
371
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/contacts/#{contact_id}"
|
372
|
+
end
|
373
|
+
end
|
374
|
+
end
|
375
|
+
# @param external_id [String]
|
376
|
+
# @param request_options [Paid::RequestOptions]
|
377
|
+
# @return [Paid::Contact]
|
378
|
+
# @example
|
379
|
+
# api = Paid::Client.new(
|
380
|
+
# base_url: "https://api.example.com",
|
381
|
+
# environment: Paid::Environment::PRODUCTION,
|
382
|
+
# token: "YOUR_AUTH_TOKEN"
|
383
|
+
# )
|
384
|
+
# api.contacts.get_by_external_id(external_id: "externalId")
|
385
|
+
def get_by_external_id(external_id:, request_options: nil)
|
386
|
+
Async do
|
387
|
+
response = @request_client.conn.get do | req |
|
388
|
+
unless request_options&.timeout_in_seconds.nil?
|
389
|
+
req.options.timeout = request_options.timeout_in_seconds
|
390
|
+
end
|
391
|
+
unless request_options&.token.nil?
|
392
|
+
req.headers["Authorization"] = request_options.token
|
393
|
+
end
|
394
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
395
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
396
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
397
|
+
end
|
398
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
399
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
400
|
+
end
|
401
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/contacts/external/#{external_id}"
|
402
|
+
end
|
403
|
+
Paid::Contact.from_json(json_object: response.body)
|
404
|
+
end
|
405
|
+
end
|
406
|
+
# @param external_id [String]
|
407
|
+
# @param request_options [Paid::RequestOptions]
|
408
|
+
# @return [Void]
|
409
|
+
# @example
|
410
|
+
# api = Paid::Client.new(
|
411
|
+
# base_url: "https://api.example.com",
|
412
|
+
# environment: Paid::Environment::PRODUCTION,
|
413
|
+
# token: "YOUR_AUTH_TOKEN"
|
414
|
+
# )
|
415
|
+
# api.contacts.delete_by_external_id(external_id: "externalId")
|
416
|
+
def delete_by_external_id(external_id:, request_options: nil)
|
417
|
+
Async do
|
418
|
+
response = @request_client.conn.delete do | req |
|
419
|
+
unless request_options&.timeout_in_seconds.nil?
|
420
|
+
req.options.timeout = request_options.timeout_in_seconds
|
421
|
+
end
|
422
|
+
unless request_options&.token.nil?
|
423
|
+
req.headers["Authorization"] = request_options.token
|
424
|
+
end
|
425
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
426
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
427
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
428
|
+
end
|
429
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
430
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
431
|
+
end
|
432
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/contacts/external/#{external_id}"
|
433
|
+
end
|
434
|
+
end
|
435
|
+
end
|
436
|
+
end
|
437
|
+
end
|