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
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 0c2cc435a3cbb67bf93ad28e23dec59285d96a02cf2670a8fed1f8d7249703fb
|
4
|
+
data.tar.gz: 80e63a017a128c9645e1bb939984253f886dc731f9c2795a42dc77ed20708419
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 18d335c77bc4eaf2055888ed8e2ffa72a8d1c357303f3edb9b4a3d24eb6aaf9394f6d068e083dac4819cf465250b6f636d6d04857c21cb1561e11883c61f91f5
|
7
|
+
data.tar.gz: 504f1bc8b2d4e90bcacf7deda7b17028d6bb5965b56bab6f2a300732d8f7ce9d2268d4dca144d9a4a016282ab26feb1a6fec093bd5def1c5b9fbb87f4fb302f7
|
data/lib/environment.rb
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Paid
|
5
|
+
class BatchUsageClient < Paid::UsageClient
|
6
|
+
def flush(request_options: nil)
|
7
|
+
record_bulk(signals: @signals, request_options: request_options)
|
8
|
+
@signals = []
|
9
|
+
end
|
10
|
+
|
11
|
+
def record_usage(signal: nil, request_options: nil)
|
12
|
+
@signals ||= []
|
13
|
+
@signals << signal
|
14
|
+
if @signals.length >= 100
|
15
|
+
record_bulk(signals: @signals, request_options: request_options)
|
16
|
+
@signals = []
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
class AsyncBatchUsageClient < Paid::AsyncUsageClient
|
23
|
+
def flush(request_options: nil)
|
24
|
+
Async do
|
25
|
+
record_bulk(signals: @signals, request_options: request_options)
|
26
|
+
@signals = []
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def record_usage(signal: nil, request_options: nil)
|
31
|
+
Async do
|
32
|
+
@signals ||= []
|
33
|
+
@signals << signal
|
34
|
+
if @signals.length >= 100
|
35
|
+
record_bulk(signals: @signals, request_options: request_options)
|
36
|
+
@signals = []
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
data/lib/gemconfig.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module Paid
|
3
|
+
module Gemconfig
|
4
|
+
VERSION = ""
|
5
|
+
AUTHORS = [""].freeze
|
6
|
+
EMAIL = ""
|
7
|
+
SUMMARY = ""
|
8
|
+
DESCRIPTION = ""
|
9
|
+
HOMEPAGE = "https://github.com/AgentPaid/paid-ruby"
|
10
|
+
SOURCE_CODE_URI = "https://github.com/AgentPaid/paid-ruby"
|
11
|
+
CHANGELOG_URI = "https://github.com/AgentPaid/paid-ruby/blob/master/CHANGELOG.md"
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,543 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "../../requests"
|
3
|
+
require_relative "../types/agent"
|
4
|
+
require "json"
|
5
|
+
require_relative "../types/agent_update"
|
6
|
+
require "async"
|
7
|
+
require "async"
|
8
|
+
require "async"
|
9
|
+
require "async"
|
10
|
+
require "async"
|
11
|
+
require "async"
|
12
|
+
require "async"
|
13
|
+
require "async"
|
14
|
+
require_relative "../../requests"
|
15
|
+
|
16
|
+
module Paid
|
17
|
+
class AgentsClient
|
18
|
+
# @return [Paid::RequestClient]
|
19
|
+
attr_reader :request_client
|
20
|
+
|
21
|
+
|
22
|
+
# @param request_client [Paid::RequestClient]
|
23
|
+
# @return [Paid::AgentsClient]
|
24
|
+
def initialize(request_client:)
|
25
|
+
@request_client = request_client
|
26
|
+
end
|
27
|
+
# @param request_options [Paid::RequestOptions]
|
28
|
+
# @return [Array<Paid::Agent>]
|
29
|
+
# @example
|
30
|
+
# api = Paid::Client.new(
|
31
|
+
# base_url: "https://api.example.com",
|
32
|
+
# environment: Paid::Environment::PRODUCTION,
|
33
|
+
# token: "YOUR_AUTH_TOKEN"
|
34
|
+
# )
|
35
|
+
# api.agents.list
|
36
|
+
def list(request_options: nil)
|
37
|
+
response = @request_client.conn.get do | req |
|
38
|
+
unless request_options&.timeout_in_seconds.nil?
|
39
|
+
req.options.timeout = request_options.timeout_in_seconds
|
40
|
+
end
|
41
|
+
unless request_options&.token.nil?
|
42
|
+
req.headers["Authorization"] = request_options.token
|
43
|
+
end
|
44
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
45
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
46
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
47
|
+
end
|
48
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
49
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
50
|
+
end
|
51
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/agents"
|
52
|
+
end
|
53
|
+
parsed_json = JSON.parse(response.body)
|
54
|
+
parsed_json&.map do | item |
|
55
|
+
item = item.to_json
|
56
|
+
Paid::Agent.from_json(json_object: item)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
# @param name [String]
|
60
|
+
# @param description [String]
|
61
|
+
# @param agent_code [String]
|
62
|
+
# @param external_id [String]
|
63
|
+
# @param request_options [Paid::RequestOptions]
|
64
|
+
# @return [Paid::Agent]
|
65
|
+
# @example
|
66
|
+
# api = Paid::Client.new(
|
67
|
+
# base_url: "https://api.example.com",
|
68
|
+
# environment: Paid::Environment::PRODUCTION,
|
69
|
+
# token: "YOUR_AUTH_TOKEN"
|
70
|
+
# )
|
71
|
+
# api.agents.create(name: "name", description: "description")
|
72
|
+
def create(name:, description:, agent_code: nil, external_id: nil, request_options: nil)
|
73
|
+
response = @request_client.conn.post do | req |
|
74
|
+
unless request_options&.timeout_in_seconds.nil?
|
75
|
+
req.options.timeout = request_options.timeout_in_seconds
|
76
|
+
end
|
77
|
+
unless request_options&.token.nil?
|
78
|
+
req.headers["Authorization"] = request_options.token
|
79
|
+
end
|
80
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
81
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
82
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
83
|
+
end
|
84
|
+
req.body = { **(request_options&.additional_body_parameters || {}), name: name, description: description, agentCode: agent_code, externalId: external_id }.compact
|
85
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/agents"
|
86
|
+
end
|
87
|
+
Paid::Agent.from_json(json_object: response.body)
|
88
|
+
end
|
89
|
+
# @param agent_id [String]
|
90
|
+
# @param request_options [Paid::RequestOptions]
|
91
|
+
# @return [Paid::Agent]
|
92
|
+
# @example
|
93
|
+
# api = Paid::Client.new(
|
94
|
+
# base_url: "https://api.example.com",
|
95
|
+
# environment: Paid::Environment::PRODUCTION,
|
96
|
+
# token: "YOUR_AUTH_TOKEN"
|
97
|
+
# )
|
98
|
+
# api.agents.get(agent_id: "agentId")
|
99
|
+
def get(agent_id:, request_options: nil)
|
100
|
+
response = @request_client.conn.get do | req |
|
101
|
+
unless request_options&.timeout_in_seconds.nil?
|
102
|
+
req.options.timeout = request_options.timeout_in_seconds
|
103
|
+
end
|
104
|
+
unless request_options&.token.nil?
|
105
|
+
req.headers["Authorization"] = request_options.token
|
106
|
+
end
|
107
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
108
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
109
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
110
|
+
end
|
111
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
112
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
113
|
+
end
|
114
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/agents/#{agent_id}"
|
115
|
+
end
|
116
|
+
Paid::Agent.from_json(json_object: response.body)
|
117
|
+
end
|
118
|
+
# @param agent_id [String]
|
119
|
+
# @param request [Hash] Request of type Paid::AgentUpdate, as a Hash
|
120
|
+
# * :name (String)
|
121
|
+
# * :description (String)
|
122
|
+
# * :external_id (String)
|
123
|
+
# * :active (Boolean)
|
124
|
+
# * :agent_code (String)
|
125
|
+
# * :agent_attributes (Array<Paid::AgentAttribute>)
|
126
|
+
# @param request_options [Paid::RequestOptions]
|
127
|
+
# @return [Paid::Agent]
|
128
|
+
# @example
|
129
|
+
# api = Paid::Client.new(
|
130
|
+
# base_url: "https://api.example.com",
|
131
|
+
# environment: Paid::Environment::PRODUCTION,
|
132
|
+
# token: "YOUR_AUTH_TOKEN"
|
133
|
+
# )
|
134
|
+
# api.agents.update(agent_id: "agentId", request: { })
|
135
|
+
def update(agent_id:, request:, request_options: nil)
|
136
|
+
response = @request_client.conn.put do | req |
|
137
|
+
unless request_options&.timeout_in_seconds.nil?
|
138
|
+
req.options.timeout = request_options.timeout_in_seconds
|
139
|
+
end
|
140
|
+
unless request_options&.token.nil?
|
141
|
+
req.headers["Authorization"] = request_options.token
|
142
|
+
end
|
143
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
144
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
145
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
146
|
+
end
|
147
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
148
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/agents/#{agent_id}"
|
149
|
+
end
|
150
|
+
Paid::Agent.from_json(json_object: response.body)
|
151
|
+
end
|
152
|
+
# @param agent_id [String]
|
153
|
+
# @param request_options [Paid::RequestOptions]
|
154
|
+
# @return [Void]
|
155
|
+
# @example
|
156
|
+
# api = Paid::Client.new(
|
157
|
+
# base_url: "https://api.example.com",
|
158
|
+
# environment: Paid::Environment::PRODUCTION,
|
159
|
+
# token: "YOUR_AUTH_TOKEN"
|
160
|
+
# )
|
161
|
+
# api.agents.delete(agent_id: "agentId")
|
162
|
+
def delete(agent_id:, request_options: nil)
|
163
|
+
response = @request_client.conn.delete do | req |
|
164
|
+
unless request_options&.timeout_in_seconds.nil?
|
165
|
+
req.options.timeout = request_options.timeout_in_seconds
|
166
|
+
end
|
167
|
+
unless request_options&.token.nil?
|
168
|
+
req.headers["Authorization"] = request_options.token
|
169
|
+
end
|
170
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
171
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
172
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
173
|
+
end
|
174
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
175
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
176
|
+
end
|
177
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/agents/#{agent_id}"
|
178
|
+
end
|
179
|
+
end
|
180
|
+
# @param external_id [String]
|
181
|
+
# @param request_options [Paid::RequestOptions]
|
182
|
+
# @return [Paid::Agent]
|
183
|
+
# @example
|
184
|
+
# api = Paid::Client.new(
|
185
|
+
# base_url: "https://api.example.com",
|
186
|
+
# environment: Paid::Environment::PRODUCTION,
|
187
|
+
# token: "YOUR_AUTH_TOKEN"
|
188
|
+
# )
|
189
|
+
# api.agents.get_by_external_id(external_id: "externalId")
|
190
|
+
def get_by_external_id(external_id:, request_options: nil)
|
191
|
+
response = @request_client.conn.get do | req |
|
192
|
+
unless request_options&.timeout_in_seconds.nil?
|
193
|
+
req.options.timeout = request_options.timeout_in_seconds
|
194
|
+
end
|
195
|
+
unless request_options&.token.nil?
|
196
|
+
req.headers["Authorization"] = request_options.token
|
197
|
+
end
|
198
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
199
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
200
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
201
|
+
end
|
202
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
203
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
204
|
+
end
|
205
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/agents/external/#{external_id}"
|
206
|
+
end
|
207
|
+
Paid::Agent.from_json(json_object: response.body)
|
208
|
+
end
|
209
|
+
# @param external_id [String]
|
210
|
+
# @param request [Hash] Request of type Paid::AgentUpdate, as a Hash
|
211
|
+
# * :name (String)
|
212
|
+
# * :description (String)
|
213
|
+
# * :external_id (String)
|
214
|
+
# * :active (Boolean)
|
215
|
+
# * :agent_code (String)
|
216
|
+
# * :agent_attributes (Array<Paid::AgentAttribute>)
|
217
|
+
# @param request_options [Paid::RequestOptions]
|
218
|
+
# @return [Paid::Agent]
|
219
|
+
# @example
|
220
|
+
# api = Paid::Client.new(
|
221
|
+
# base_url: "https://api.example.com",
|
222
|
+
# environment: Paid::Environment::PRODUCTION,
|
223
|
+
# token: "YOUR_AUTH_TOKEN"
|
224
|
+
# )
|
225
|
+
# api.agents.update_by_external_id(external_id: "externalId", request: { })
|
226
|
+
def update_by_external_id(external_id:, request:, request_options: nil)
|
227
|
+
response = @request_client.conn.put do | req |
|
228
|
+
unless request_options&.timeout_in_seconds.nil?
|
229
|
+
req.options.timeout = request_options.timeout_in_seconds
|
230
|
+
end
|
231
|
+
unless request_options&.token.nil?
|
232
|
+
req.headers["Authorization"] = request_options.token
|
233
|
+
end
|
234
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
235
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
236
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
237
|
+
end
|
238
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
239
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/agents/external/#{external_id}"
|
240
|
+
end
|
241
|
+
Paid::Agent.from_json(json_object: response.body)
|
242
|
+
end
|
243
|
+
# @param external_id [String]
|
244
|
+
# @param request_options [Paid::RequestOptions]
|
245
|
+
# @return [Void]
|
246
|
+
# @example
|
247
|
+
# api = Paid::Client.new(
|
248
|
+
# base_url: "https://api.example.com",
|
249
|
+
# environment: Paid::Environment::PRODUCTION,
|
250
|
+
# token: "YOUR_AUTH_TOKEN"
|
251
|
+
# )
|
252
|
+
# api.agents.delete_by_external_id(external_id: "externalId")
|
253
|
+
def delete_by_external_id(external_id:, request_options: nil)
|
254
|
+
response = @request_client.conn.delete do | req |
|
255
|
+
unless request_options&.timeout_in_seconds.nil?
|
256
|
+
req.options.timeout = request_options.timeout_in_seconds
|
257
|
+
end
|
258
|
+
unless request_options&.token.nil?
|
259
|
+
req.headers["Authorization"] = request_options.token
|
260
|
+
end
|
261
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
262
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
263
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
264
|
+
end
|
265
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
266
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
267
|
+
end
|
268
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/agents/external/#{external_id}"
|
269
|
+
end
|
270
|
+
end
|
271
|
+
end
|
272
|
+
class AsyncAgentsClient
|
273
|
+
# @return [Paid::AsyncRequestClient]
|
274
|
+
attr_reader :request_client
|
275
|
+
|
276
|
+
|
277
|
+
# @param request_client [Paid::RequestClient]
|
278
|
+
# @return [Paid::AsyncAgentsClient]
|
279
|
+
def initialize(request_client:)
|
280
|
+
@request_client = request_client
|
281
|
+
end
|
282
|
+
# @param request_options [Paid::RequestOptions]
|
283
|
+
# @return [Array<Paid::Agent>]
|
284
|
+
# @example
|
285
|
+
# api = Paid::Client.new(
|
286
|
+
# base_url: "https://api.example.com",
|
287
|
+
# environment: Paid::Environment::PRODUCTION,
|
288
|
+
# token: "YOUR_AUTH_TOKEN"
|
289
|
+
# )
|
290
|
+
# api.agents.list
|
291
|
+
def list(request_options: nil)
|
292
|
+
Async do
|
293
|
+
response = @request_client.conn.get do | req |
|
294
|
+
unless request_options&.timeout_in_seconds.nil?
|
295
|
+
req.options.timeout = request_options.timeout_in_seconds
|
296
|
+
end
|
297
|
+
unless request_options&.token.nil?
|
298
|
+
req.headers["Authorization"] = request_options.token
|
299
|
+
end
|
300
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
301
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
302
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
303
|
+
end
|
304
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
305
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
306
|
+
end
|
307
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/agents"
|
308
|
+
end
|
309
|
+
parsed_json = JSON.parse(response.body)
|
310
|
+
parsed_json&.map do | item |
|
311
|
+
item = item.to_json
|
312
|
+
Paid::Agent.from_json(json_object: item)
|
313
|
+
end
|
314
|
+
end
|
315
|
+
end
|
316
|
+
# @param name [String]
|
317
|
+
# @param description [String]
|
318
|
+
# @param agent_code [String]
|
319
|
+
# @param external_id [String]
|
320
|
+
# @param request_options [Paid::RequestOptions]
|
321
|
+
# @return [Paid::Agent]
|
322
|
+
# @example
|
323
|
+
# api = Paid::Client.new(
|
324
|
+
# base_url: "https://api.example.com",
|
325
|
+
# environment: Paid::Environment::PRODUCTION,
|
326
|
+
# token: "YOUR_AUTH_TOKEN"
|
327
|
+
# )
|
328
|
+
# api.agents.create(name: "name", description: "description")
|
329
|
+
def create(name:, description:, agent_code: nil, external_id: nil, request_options: nil)
|
330
|
+
Async do
|
331
|
+
response = @request_client.conn.post do | req |
|
332
|
+
unless request_options&.timeout_in_seconds.nil?
|
333
|
+
req.options.timeout = request_options.timeout_in_seconds
|
334
|
+
end
|
335
|
+
unless request_options&.token.nil?
|
336
|
+
req.headers["Authorization"] = request_options.token
|
337
|
+
end
|
338
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
339
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
340
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
341
|
+
end
|
342
|
+
req.body = { **(request_options&.additional_body_parameters || {}), name: name, description: description, agentCode: agent_code, externalId: external_id }.compact
|
343
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/agents"
|
344
|
+
end
|
345
|
+
Paid::Agent.from_json(json_object: response.body)
|
346
|
+
end
|
347
|
+
end
|
348
|
+
# @param agent_id [String]
|
349
|
+
# @param request_options [Paid::RequestOptions]
|
350
|
+
# @return [Paid::Agent]
|
351
|
+
# @example
|
352
|
+
# api = Paid::Client.new(
|
353
|
+
# base_url: "https://api.example.com",
|
354
|
+
# environment: Paid::Environment::PRODUCTION,
|
355
|
+
# token: "YOUR_AUTH_TOKEN"
|
356
|
+
# )
|
357
|
+
# api.agents.get(agent_id: "agentId")
|
358
|
+
def get(agent_id:, request_options: nil)
|
359
|
+
Async do
|
360
|
+
response = @request_client.conn.get do | req |
|
361
|
+
unless request_options&.timeout_in_seconds.nil?
|
362
|
+
req.options.timeout = request_options.timeout_in_seconds
|
363
|
+
end
|
364
|
+
unless request_options&.token.nil?
|
365
|
+
req.headers["Authorization"] = request_options.token
|
366
|
+
end
|
367
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
368
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
369
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
370
|
+
end
|
371
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
372
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
373
|
+
end
|
374
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/agents/#{agent_id}"
|
375
|
+
end
|
376
|
+
Paid::Agent.from_json(json_object: response.body)
|
377
|
+
end
|
378
|
+
end
|
379
|
+
# @param agent_id [String]
|
380
|
+
# @param request [Hash] Request of type Paid::AgentUpdate, as a Hash
|
381
|
+
# * :name (String)
|
382
|
+
# * :description (String)
|
383
|
+
# * :external_id (String)
|
384
|
+
# * :active (Boolean)
|
385
|
+
# * :agent_code (String)
|
386
|
+
# * :agent_attributes (Array<Paid::AgentAttribute>)
|
387
|
+
# @param request_options [Paid::RequestOptions]
|
388
|
+
# @return [Paid::Agent]
|
389
|
+
# @example
|
390
|
+
# api = Paid::Client.new(
|
391
|
+
# base_url: "https://api.example.com",
|
392
|
+
# environment: Paid::Environment::PRODUCTION,
|
393
|
+
# token: "YOUR_AUTH_TOKEN"
|
394
|
+
# )
|
395
|
+
# api.agents.update(agent_id: "agentId", request: { })
|
396
|
+
def update(agent_id:, request:, request_options: nil)
|
397
|
+
Async do
|
398
|
+
response = @request_client.conn.put do | req |
|
399
|
+
unless request_options&.timeout_in_seconds.nil?
|
400
|
+
req.options.timeout = request_options.timeout_in_seconds
|
401
|
+
end
|
402
|
+
unless request_options&.token.nil?
|
403
|
+
req.headers["Authorization"] = request_options.token
|
404
|
+
end
|
405
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
406
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
407
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
408
|
+
end
|
409
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
410
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/agents/#{agent_id}"
|
411
|
+
end
|
412
|
+
Paid::Agent.from_json(json_object: response.body)
|
413
|
+
end
|
414
|
+
end
|
415
|
+
# @param agent_id [String]
|
416
|
+
# @param request_options [Paid::RequestOptions]
|
417
|
+
# @return [Void]
|
418
|
+
# @example
|
419
|
+
# api = Paid::Client.new(
|
420
|
+
# base_url: "https://api.example.com",
|
421
|
+
# environment: Paid::Environment::PRODUCTION,
|
422
|
+
# token: "YOUR_AUTH_TOKEN"
|
423
|
+
# )
|
424
|
+
# api.agents.delete(agent_id: "agentId")
|
425
|
+
def delete(agent_id:, request_options: nil)
|
426
|
+
Async do
|
427
|
+
response = @request_client.conn.delete do | req |
|
428
|
+
unless request_options&.timeout_in_seconds.nil?
|
429
|
+
req.options.timeout = request_options.timeout_in_seconds
|
430
|
+
end
|
431
|
+
unless request_options&.token.nil?
|
432
|
+
req.headers["Authorization"] = request_options.token
|
433
|
+
end
|
434
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
435
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
436
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
437
|
+
end
|
438
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
439
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
440
|
+
end
|
441
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/agents/#{agent_id}"
|
442
|
+
end
|
443
|
+
end
|
444
|
+
end
|
445
|
+
# @param external_id [String]
|
446
|
+
# @param request_options [Paid::RequestOptions]
|
447
|
+
# @return [Paid::Agent]
|
448
|
+
# @example
|
449
|
+
# api = Paid::Client.new(
|
450
|
+
# base_url: "https://api.example.com",
|
451
|
+
# environment: Paid::Environment::PRODUCTION,
|
452
|
+
# token: "YOUR_AUTH_TOKEN"
|
453
|
+
# )
|
454
|
+
# api.agents.get_by_external_id(external_id: "externalId")
|
455
|
+
def get_by_external_id(external_id:, request_options: nil)
|
456
|
+
Async do
|
457
|
+
response = @request_client.conn.get do | req |
|
458
|
+
unless request_options&.timeout_in_seconds.nil?
|
459
|
+
req.options.timeout = request_options.timeout_in_seconds
|
460
|
+
end
|
461
|
+
unless request_options&.token.nil?
|
462
|
+
req.headers["Authorization"] = request_options.token
|
463
|
+
end
|
464
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
465
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
466
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
467
|
+
end
|
468
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
469
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
470
|
+
end
|
471
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/agents/external/#{external_id}"
|
472
|
+
end
|
473
|
+
Paid::Agent.from_json(json_object: response.body)
|
474
|
+
end
|
475
|
+
end
|
476
|
+
# @param external_id [String]
|
477
|
+
# @param request [Hash] Request of type Paid::AgentUpdate, as a Hash
|
478
|
+
# * :name (String)
|
479
|
+
# * :description (String)
|
480
|
+
# * :external_id (String)
|
481
|
+
# * :active (Boolean)
|
482
|
+
# * :agent_code (String)
|
483
|
+
# * :agent_attributes (Array<Paid::AgentAttribute>)
|
484
|
+
# @param request_options [Paid::RequestOptions]
|
485
|
+
# @return [Paid::Agent]
|
486
|
+
# @example
|
487
|
+
# api = Paid::Client.new(
|
488
|
+
# base_url: "https://api.example.com",
|
489
|
+
# environment: Paid::Environment::PRODUCTION,
|
490
|
+
# token: "YOUR_AUTH_TOKEN"
|
491
|
+
# )
|
492
|
+
# api.agents.update_by_external_id(external_id: "externalId", request: { })
|
493
|
+
def update_by_external_id(external_id:, request:, request_options: nil)
|
494
|
+
Async do
|
495
|
+
response = @request_client.conn.put do | req |
|
496
|
+
unless request_options&.timeout_in_seconds.nil?
|
497
|
+
req.options.timeout = request_options.timeout_in_seconds
|
498
|
+
end
|
499
|
+
unless request_options&.token.nil?
|
500
|
+
req.headers["Authorization"] = request_options.token
|
501
|
+
end
|
502
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
503
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
504
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
505
|
+
end
|
506
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
507
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/agents/external/#{external_id}"
|
508
|
+
end
|
509
|
+
Paid::Agent.from_json(json_object: response.body)
|
510
|
+
end
|
511
|
+
end
|
512
|
+
# @param external_id [String]
|
513
|
+
# @param request_options [Paid::RequestOptions]
|
514
|
+
# @return [Void]
|
515
|
+
# @example
|
516
|
+
# api = Paid::Client.new(
|
517
|
+
# base_url: "https://api.example.com",
|
518
|
+
# environment: Paid::Environment::PRODUCTION,
|
519
|
+
# token: "YOUR_AUTH_TOKEN"
|
520
|
+
# )
|
521
|
+
# api.agents.delete_by_external_id(external_id: "externalId")
|
522
|
+
def delete_by_external_id(external_id:, request_options: nil)
|
523
|
+
Async do
|
524
|
+
response = @request_client.conn.delete do | req |
|
525
|
+
unless request_options&.timeout_in_seconds.nil?
|
526
|
+
req.options.timeout = request_options.timeout_in_seconds
|
527
|
+
end
|
528
|
+
unless request_options&.token.nil?
|
529
|
+
req.headers["Authorization"] = request_options.token
|
530
|
+
end
|
531
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
532
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
533
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
534
|
+
end
|
535
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
536
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
537
|
+
end
|
538
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/agents/external/#{external_id}"
|
539
|
+
end
|
540
|
+
end
|
541
|
+
end
|
542
|
+
end
|
543
|
+
end
|