svix 1.24.0 → 1.25.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 +4 -4
- data/Gemfile.lock +2 -2
- data/lib/svix/api/endpoint_api.rb +277 -2
- data/lib/svix/api/message_api.rb +218 -2
- data/lib/svix/api/streams_api.rb +185 -0
- data/lib/svix/api/transformation_template_api.rb +195 -24
- data/lib/svix/models/auth_token_out.rb +272 -0
- data/lib/svix/models/create_message_token_in.rb +250 -0
- data/lib/svix/models/create_stream_in.rb +225 -0
- data/lib/svix/models/endpoint_created_event_data.rb +1 -0
- data/lib/svix/models/endpoint_deleted_event_data.rb +1 -0
- data/lib/svix/models/endpoint_mtls_config_in.rb +15 -19
- data/lib/svix/models/endpoint_oauth_config_in.rb +13 -2
- data/lib/svix/models/endpoint_updated_event_data.rb +1 -0
- data/lib/svix/models/environment_settings_out.rb +15 -4
- data/lib/svix/models/event_in.rb +223 -0
- data/lib/svix/models/event_out.rb +223 -0
- data/lib/svix/models/event_type_from_open_api.rb +280 -0
- data/lib/svix/models/event_type_import_open_api_in.rb +13 -1
- data/lib/svix/models/event_type_import_open_api_out_data.rb +16 -4
- data/lib/svix/models/hubspot_oauth_config_in.rb +223 -0
- data/lib/svix/models/{oauth_payload_out.rb → incoming_webhook_payload_out.rb} +3 -3
- data/lib/svix/models/kafka_security_protocol_type.rb +38 -0
- data/lib/svix/models/list_response_event_out.rb +259 -0
- data/lib/svix/models/list_response_sink_out.rb +259 -0
- data/lib/svix/models/message_subscriber_auth_token_out.rb +237 -0
- data/lib/svix/models/{oauth_payload_in.rb → o_auth_payload_in.rb} +3 -3
- data/lib/svix/models/o_auth_payload_out.rb +239 -0
- data/lib/svix/models/{oauth2_grant_type.rb → oauth2_grant_type_in.rb} +4 -3
- data/lib/svix/models/settings_in.rb +15 -4
- data/lib/svix/models/settings_out.rb +15 -4
- data/lib/svix/models/sink_in.rb +107 -0
- data/lib/svix/models/sink_in_one_of.rb +285 -0
- data/lib/svix/models/sink_in_one_of1.rb +313 -0
- data/lib/svix/models/sink_in_one_of2.rb +321 -0
- data/lib/svix/models/sink_in_one_of3.rb +271 -0
- data/lib/svix/models/sink_out.rb +107 -0
- data/lib/svix/version.rb +1 -1
- metadata +24 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9af0966ec6826c9bc23ba8cacfb3463f3b2c62c3842deb31ccd58500bb74a979
|
4
|
+
data.tar.gz: d304f7591f15f88cd16264b087442d333bd1f4d373248a6d73efaa933cb0130b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 43f98aadaeba601b4528811e5a8953655eff727f7c0883c1172a19f9d305214fa3931e16b5f03f974e5c3e004c6ae37586918342ed910d90fadfd28da72a8e19
|
7
|
+
data.tar.gz: a3636186efdc429a63a86b08a15a60749c9508aec61cc7feb5fcd16c8d22d34e17fefe834d8dd6318070d3806220baa7f10e08c479417c5257d2ec5e408f2cf5
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
svix (1.
|
4
|
+
svix (1.25.0)
|
5
5
|
typhoeus (~> 1.0, >= 1.0.1)
|
6
6
|
|
7
7
|
GEM
|
@@ -10,7 +10,7 @@ GEM
|
|
10
10
|
diff-lcs (1.4.4)
|
11
11
|
ethon (0.16.0)
|
12
12
|
ffi (>= 1.15.0)
|
13
|
-
ffi (1.
|
13
|
+
ffi (1.17.0)
|
14
14
|
rake (13.0.6)
|
15
15
|
rspec (3.10.0)
|
16
16
|
rspec-core (~> 3.10.0)
|
@@ -1395,7 +1395,7 @@ module Svix
|
|
1395
1395
|
end
|
1396
1396
|
|
1397
1397
|
# Send Event Type Example Message
|
1398
|
-
# Send an example message for event
|
1398
|
+
# Send an example message for an event
|
1399
1399
|
# @param app_id [String] The app's ID or UID
|
1400
1400
|
# @param endpoint_id [String] The ep's ID or UID
|
1401
1401
|
# @param event_example_in [EventExampleIn]
|
@@ -1408,7 +1408,7 @@ module Svix
|
|
1408
1408
|
end
|
1409
1409
|
|
1410
1410
|
# Send Event Type Example Message
|
1411
|
-
# Send an example message for event
|
1411
|
+
# Send an example message for an event
|
1412
1412
|
# @param app_id [String] The app's ID or UID
|
1413
1413
|
# @param endpoint_id [String] The ep's ID or UID
|
1414
1414
|
# @param event_example_in [EventExampleIn]
|
@@ -2215,5 +2215,280 @@ module Svix
|
|
2215
2215
|
end
|
2216
2216
|
return data, status_code, headers
|
2217
2217
|
end
|
2218
|
+
|
2219
|
+
# Create Sink
|
2220
|
+
# Create a new sink for the application.
|
2221
|
+
# @param app_id [String] The app's ID or UID
|
2222
|
+
# @param sink_in [SinkIn]
|
2223
|
+
# @param [Hash] opts the optional parameters
|
2224
|
+
# @option opts [String] :idempotency_key The request's idempotency key
|
2225
|
+
# @return [SinkOut]
|
2226
|
+
def v1_sink_create(app_id, sink_in, opts = {})
|
2227
|
+
data, _status_code, _headers = v1_sink_create_with_http_info(app_id, sink_in, opts)
|
2228
|
+
data
|
2229
|
+
end
|
2230
|
+
|
2231
|
+
# Create Sink
|
2232
|
+
# Create a new sink for the application.
|
2233
|
+
# @param app_id [String] The app's ID or UID
|
2234
|
+
# @param sink_in [SinkIn]
|
2235
|
+
# @param [Hash] opts the optional parameters
|
2236
|
+
# @option opts [String] :idempotency_key The request's idempotency key
|
2237
|
+
# @return [Array<(SinkOut, Integer, Hash)>] SinkOut data, response status code and response headers
|
2238
|
+
def v1_sink_create_with_http_info(app_id, sink_in, opts = {})
|
2239
|
+
if @api_client.config.debugging
|
2240
|
+
@api_client.config.logger.debug 'Calling API: EndpointApi.v1_sink_create ...'
|
2241
|
+
end
|
2242
|
+
# verify the required parameter 'app_id' is set
|
2243
|
+
if @api_client.config.client_side_validation && app_id.nil?
|
2244
|
+
fail ArgumentError, "Missing the required parameter 'app_id' when calling EndpointApi.v1_sink_create"
|
2245
|
+
end
|
2246
|
+
if @api_client.config.client_side_validation && app_id.to_s.length > 256
|
2247
|
+
fail ArgumentError, 'invalid value for "app_id" when calling EndpointApi.v1_sink_create, the character length must be smaller than or equal to 256.'
|
2248
|
+
end
|
2249
|
+
|
2250
|
+
if @api_client.config.client_side_validation && app_id.to_s.length < 1
|
2251
|
+
fail ArgumentError, 'invalid value for "app_id" when calling EndpointApi.v1_sink_create, the character length must be great than or equal to 1.'
|
2252
|
+
end
|
2253
|
+
|
2254
|
+
pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
|
2255
|
+
if @api_client.config.client_side_validation && app_id !~ pattern
|
2256
|
+
fail ArgumentError, "invalid value for 'app_id' when calling EndpointApi.v1_sink_create, must conform to the pattern #{pattern}."
|
2257
|
+
end
|
2258
|
+
|
2259
|
+
# verify the required parameter 'sink_in' is set
|
2260
|
+
if @api_client.config.client_side_validation && sink_in.nil?
|
2261
|
+
fail ArgumentError, "Missing the required parameter 'sink_in' when calling EndpointApi.v1_sink_create"
|
2262
|
+
end
|
2263
|
+
# resource path
|
2264
|
+
local_var_path = '/api/v1/app/{app_id}/sink'.sub('{' + 'app_id' + '}', CGI.escape(app_id.to_s))
|
2265
|
+
|
2266
|
+
# query parameters
|
2267
|
+
query_params = opts[:query_params] || {}
|
2268
|
+
|
2269
|
+
# header parameters
|
2270
|
+
header_params = opts[:header_params] || {}
|
2271
|
+
# HTTP header 'Accept' (if needed)
|
2272
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
2273
|
+
# HTTP header 'Content-Type'
|
2274
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
2275
|
+
header_params[:'idempotency-key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
|
2276
|
+
|
2277
|
+
# form parameters
|
2278
|
+
form_params = opts[:form_params] || {}
|
2279
|
+
|
2280
|
+
# http body (model)
|
2281
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(sink_in)
|
2282
|
+
|
2283
|
+
# return_type
|
2284
|
+
return_type = opts[:debug_return_type] || 'SinkOut'
|
2285
|
+
|
2286
|
+
# auth_names
|
2287
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
2288
|
+
|
2289
|
+
new_options = opts.merge(
|
2290
|
+
:operation => :"EndpointApi.v1_sink_create",
|
2291
|
+
:header_params => header_params,
|
2292
|
+
:query_params => query_params,
|
2293
|
+
:form_params => form_params,
|
2294
|
+
:body => post_body,
|
2295
|
+
:auth_names => auth_names,
|
2296
|
+
:return_type => return_type
|
2297
|
+
)
|
2298
|
+
|
2299
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
2300
|
+
if @api_client.config.debugging
|
2301
|
+
@api_client.config.logger.debug "API called: EndpointApi#v1_sink_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
2302
|
+
end
|
2303
|
+
return data, status_code, headers
|
2304
|
+
end
|
2305
|
+
|
2306
|
+
# Get Sink
|
2307
|
+
# Get a sink.
|
2308
|
+
# @param app_id [String] The app's ID or UID
|
2309
|
+
# @param sink_id [String] The ep's ID or UID
|
2310
|
+
# @param [Hash] opts the optional parameters
|
2311
|
+
# @return [SinkOut]
|
2312
|
+
def v1_sink_get(app_id, sink_id, opts = {})
|
2313
|
+
data, _status_code, _headers = v1_sink_get_with_http_info(app_id, sink_id, opts)
|
2314
|
+
data
|
2315
|
+
end
|
2316
|
+
|
2317
|
+
# Get Sink
|
2318
|
+
# Get a sink.
|
2319
|
+
# @param app_id [String] The app's ID or UID
|
2320
|
+
# @param sink_id [String] The ep's ID or UID
|
2321
|
+
# @param [Hash] opts the optional parameters
|
2322
|
+
# @return [Array<(SinkOut, Integer, Hash)>] SinkOut data, response status code and response headers
|
2323
|
+
def v1_sink_get_with_http_info(app_id, sink_id, opts = {})
|
2324
|
+
if @api_client.config.debugging
|
2325
|
+
@api_client.config.logger.debug 'Calling API: EndpointApi.v1_sink_get ...'
|
2326
|
+
end
|
2327
|
+
# verify the required parameter 'app_id' is set
|
2328
|
+
if @api_client.config.client_side_validation && app_id.nil?
|
2329
|
+
fail ArgumentError, "Missing the required parameter 'app_id' when calling EndpointApi.v1_sink_get"
|
2330
|
+
end
|
2331
|
+
if @api_client.config.client_side_validation && app_id.to_s.length > 256
|
2332
|
+
fail ArgumentError, 'invalid value for "app_id" when calling EndpointApi.v1_sink_get, the character length must be smaller than or equal to 256.'
|
2333
|
+
end
|
2334
|
+
|
2335
|
+
if @api_client.config.client_side_validation && app_id.to_s.length < 1
|
2336
|
+
fail ArgumentError, 'invalid value for "app_id" when calling EndpointApi.v1_sink_get, the character length must be great than or equal to 1.'
|
2337
|
+
end
|
2338
|
+
|
2339
|
+
pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
|
2340
|
+
if @api_client.config.client_side_validation && app_id !~ pattern
|
2341
|
+
fail ArgumentError, "invalid value for 'app_id' when calling EndpointApi.v1_sink_get, must conform to the pattern #{pattern}."
|
2342
|
+
end
|
2343
|
+
|
2344
|
+
# verify the required parameter 'sink_id' is set
|
2345
|
+
if @api_client.config.client_side_validation && sink_id.nil?
|
2346
|
+
fail ArgumentError, "Missing the required parameter 'sink_id' when calling EndpointApi.v1_sink_get"
|
2347
|
+
end
|
2348
|
+
if @api_client.config.client_side_validation && sink_id.to_s.length > 256
|
2349
|
+
fail ArgumentError, 'invalid value for "sink_id" when calling EndpointApi.v1_sink_get, the character length must be smaller than or equal to 256.'
|
2350
|
+
end
|
2351
|
+
|
2352
|
+
if @api_client.config.client_side_validation && sink_id.to_s.length < 1
|
2353
|
+
fail ArgumentError, 'invalid value for "sink_id" when calling EndpointApi.v1_sink_get, the character length must be great than or equal to 1.'
|
2354
|
+
end
|
2355
|
+
|
2356
|
+
pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
|
2357
|
+
if @api_client.config.client_side_validation && sink_id !~ pattern
|
2358
|
+
fail ArgumentError, "invalid value for 'sink_id' when calling EndpointApi.v1_sink_get, must conform to the pattern #{pattern}."
|
2359
|
+
end
|
2360
|
+
|
2361
|
+
# resource path
|
2362
|
+
local_var_path = '/api/v1/app/{app_id}/sink/{sink_id}'.sub('{' + 'app_id' + '}', CGI.escape(app_id.to_s)).sub('{' + 'sink_id' + '}', CGI.escape(sink_id.to_s))
|
2363
|
+
|
2364
|
+
# query parameters
|
2365
|
+
query_params = opts[:query_params] || {}
|
2366
|
+
|
2367
|
+
# header parameters
|
2368
|
+
header_params = opts[:header_params] || {}
|
2369
|
+
# HTTP header 'Accept' (if needed)
|
2370
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
2371
|
+
|
2372
|
+
# form parameters
|
2373
|
+
form_params = opts[:form_params] || {}
|
2374
|
+
|
2375
|
+
# http body (model)
|
2376
|
+
post_body = opts[:debug_body]
|
2377
|
+
|
2378
|
+
# return_type
|
2379
|
+
return_type = opts[:debug_return_type] || 'SinkOut'
|
2380
|
+
|
2381
|
+
# auth_names
|
2382
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
2383
|
+
|
2384
|
+
new_options = opts.merge(
|
2385
|
+
:operation => :"EndpointApi.v1_sink_get",
|
2386
|
+
:header_params => header_params,
|
2387
|
+
:query_params => query_params,
|
2388
|
+
:form_params => form_params,
|
2389
|
+
:body => post_body,
|
2390
|
+
:auth_names => auth_names,
|
2391
|
+
:return_type => return_type
|
2392
|
+
)
|
2393
|
+
|
2394
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
2395
|
+
if @api_client.config.debugging
|
2396
|
+
@api_client.config.logger.debug "API called: EndpointApi#v1_sink_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
2397
|
+
end
|
2398
|
+
return data, status_code, headers
|
2399
|
+
end
|
2400
|
+
|
2401
|
+
# List Sinks
|
2402
|
+
# List the application's sinks.
|
2403
|
+
# @param app_id [String] The app's ID or UID
|
2404
|
+
# @param [Hash] opts the optional parameters
|
2405
|
+
# @option opts [Integer] :limit Limit the number of returned items
|
2406
|
+
# @option opts [String] :iterator The iterator returned from a prior invocation
|
2407
|
+
# @option opts [Ordering] :order The sorting order of the returned items
|
2408
|
+
# @return [ListResponseSinkOut]
|
2409
|
+
def v1_sink_list(app_id, opts = {})
|
2410
|
+
data, _status_code, _headers = v1_sink_list_with_http_info(app_id, opts)
|
2411
|
+
data
|
2412
|
+
end
|
2413
|
+
|
2414
|
+
# List Sinks
|
2415
|
+
# List the application's sinks.
|
2416
|
+
# @param app_id [String] The app's ID or UID
|
2417
|
+
# @param [Hash] opts the optional parameters
|
2418
|
+
# @option opts [Integer] :limit Limit the number of returned items
|
2419
|
+
# @option opts [String] :iterator The iterator returned from a prior invocation
|
2420
|
+
# @option opts [Ordering] :order The sorting order of the returned items
|
2421
|
+
# @return [Array<(ListResponseSinkOut, Integer, Hash)>] ListResponseSinkOut data, response status code and response headers
|
2422
|
+
def v1_sink_list_with_http_info(app_id, opts = {})
|
2423
|
+
if @api_client.config.debugging
|
2424
|
+
@api_client.config.logger.debug 'Calling API: EndpointApi.v1_sink_list ...'
|
2425
|
+
end
|
2426
|
+
# verify the required parameter 'app_id' is set
|
2427
|
+
if @api_client.config.client_side_validation && app_id.nil?
|
2428
|
+
fail ArgumentError, "Missing the required parameter 'app_id' when calling EndpointApi.v1_sink_list"
|
2429
|
+
end
|
2430
|
+
if @api_client.config.client_side_validation && app_id.to_s.length > 256
|
2431
|
+
fail ArgumentError, 'invalid value for "app_id" when calling EndpointApi.v1_sink_list, the character length must be smaller than or equal to 256.'
|
2432
|
+
end
|
2433
|
+
|
2434
|
+
if @api_client.config.client_side_validation && app_id.to_s.length < 1
|
2435
|
+
fail ArgumentError, 'invalid value for "app_id" when calling EndpointApi.v1_sink_list, the character length must be great than or equal to 1.'
|
2436
|
+
end
|
2437
|
+
|
2438
|
+
pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
|
2439
|
+
if @api_client.config.client_side_validation && app_id !~ pattern
|
2440
|
+
fail ArgumentError, "invalid value for 'app_id' when calling EndpointApi.v1_sink_list, must conform to the pattern #{pattern}."
|
2441
|
+
end
|
2442
|
+
|
2443
|
+
if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 250
|
2444
|
+
fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling EndpointApi.v1_sink_list, must be smaller than or equal to 250.'
|
2445
|
+
end
|
2446
|
+
|
2447
|
+
if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
|
2448
|
+
fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling EndpointApi.v1_sink_list, must be greater than or equal to 1.'
|
2449
|
+
end
|
2450
|
+
|
2451
|
+
# resource path
|
2452
|
+
local_var_path = '/api/v1/app/{app_id}/sink'.sub('{' + 'app_id' + '}', CGI.escape(app_id.to_s))
|
2453
|
+
|
2454
|
+
# query parameters
|
2455
|
+
query_params = opts[:query_params] || {}
|
2456
|
+
query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
|
2457
|
+
query_params[:'iterator'] = opts[:'iterator'] if !opts[:'iterator'].nil?
|
2458
|
+
query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
|
2459
|
+
|
2460
|
+
# header parameters
|
2461
|
+
header_params = opts[:header_params] || {}
|
2462
|
+
# HTTP header 'Accept' (if needed)
|
2463
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
2464
|
+
|
2465
|
+
# form parameters
|
2466
|
+
form_params = opts[:form_params] || {}
|
2467
|
+
|
2468
|
+
# http body (model)
|
2469
|
+
post_body = opts[:debug_body]
|
2470
|
+
|
2471
|
+
# return_type
|
2472
|
+
return_type = opts[:debug_return_type] || 'ListResponseSinkOut'
|
2473
|
+
|
2474
|
+
# auth_names
|
2475
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
2476
|
+
|
2477
|
+
new_options = opts.merge(
|
2478
|
+
:operation => :"EndpointApi.v1_sink_list",
|
2479
|
+
:header_params => header_params,
|
2480
|
+
:query_params => query_params,
|
2481
|
+
:form_params => form_params,
|
2482
|
+
:body => post_body,
|
2483
|
+
:auth_names => auth_names,
|
2484
|
+
:return_type => return_type
|
2485
|
+
)
|
2486
|
+
|
2487
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
2488
|
+
if @api_client.config.debugging
|
2489
|
+
@api_client.config.logger.debug "API called: EndpointApi#v1_sink_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
2490
|
+
end
|
2491
|
+
return data, status_code, headers
|
2492
|
+
end
|
2218
2493
|
end
|
2219
2494
|
end
|
data/lib/svix/api/message_api.rb
CHANGED
@@ -126,7 +126,7 @@ module Svix
|
|
126
126
|
end
|
127
127
|
|
128
128
|
# Create Message
|
129
|
-
# Creates a new message and dispatches it to all of the application's endpoints. The `eventId` is an optional custom unique ID. It's verified to be unique only up to a day, after that no verification will be made. If a message with the same `eventId` already exists for
|
129
|
+
# Creates a new message and dispatches it to all of the application's endpoints. The `eventId` is an optional custom unique ID. It's verified to be unique only up to a day, after that no verification will be made. If a message with the same `eventId` already exists for the application, a 409 conflict error will be returned. The `eventType` indicates the type and schema of the event. All messages of a certain `eventType` are expected to have the same schema. Endpoints can choose to only listen to specific event types. Messages can also have `channels`, which similar to event types let endpoints filter by them. Unlike event types, messages can have multiple channels, and channels don't imply a specific message content or schema. The `payload` property is the webhook's body (the actual webhook message). Svix supports payload sizes of up to ~350kb, though it's generally a good idea to keep webhook payloads small, probably no larger than 40kb.
|
130
130
|
# @param app_id [String] The app's ID or UID
|
131
131
|
# @param message_in [MessageIn]
|
132
132
|
# @param [Hash] opts the optional parameters
|
@@ -139,7 +139,7 @@ module Svix
|
|
139
139
|
end
|
140
140
|
|
141
141
|
# Create Message
|
142
|
-
# Creates a new message and dispatches it to all of the application's endpoints. The `eventId` is an optional custom unique ID. It's verified to be unique only up to a day, after that no verification will be made. If a message with the same `eventId` already exists for
|
142
|
+
# Creates a new message and dispatches it to all of the application's endpoints. The `eventId` is an optional custom unique ID. It's verified to be unique only up to a day, after that no verification will be made. If a message with the same `eventId` already exists for the application, a 409 conflict error will be returned. The `eventType` indicates the type and schema of the event. All messages of a certain `eventType` are expected to have the same schema. Endpoints can choose to only listen to specific event types. Messages can also have `channels`, which similar to event types let endpoints filter by them. Unlike event types, messages can have multiple channels, and channels don't imply a specific message content or schema. The `payload` property is the webhook's body (the actual webhook message). Svix supports payload sizes of up to ~350kb, though it's generally a good idea to keep webhook payloads small, probably no larger than 40kb.
|
143
143
|
# @param app_id [String] The app's ID or UID
|
144
144
|
# @param message_in [MessageIn]
|
145
145
|
# @param [Hash] opts the optional parameters
|
@@ -215,6 +215,222 @@ module Svix
|
|
215
215
|
return data, status_code, headers
|
216
216
|
end
|
217
217
|
|
218
|
+
# Stream Events Subscription
|
219
|
+
# Reads the stream of created messages for an application, but using server-managed iterator tracking.
|
220
|
+
# @param app_id [String] The app's ID or UID
|
221
|
+
# @param subscription_id [String] The esub's ID or UID
|
222
|
+
# @param [Hash] opts the optional parameters
|
223
|
+
# @option opts [Integer] :limit Limit the number of returned items
|
224
|
+
# @option opts [String] :iterator The iterator returned from a prior invocation
|
225
|
+
# @option opts [Array<String>] :event_types Filter response based on the event type
|
226
|
+
# @option opts [Array<String>] :channels Filter response based on the event type
|
227
|
+
# @option opts [Time] :after
|
228
|
+
# @return [MessageStreamOut]
|
229
|
+
def v1_message_events_subscription(app_id, subscription_id, opts = {})
|
230
|
+
data, _status_code, _headers = v1_message_events_subscription_with_http_info(app_id, subscription_id, opts)
|
231
|
+
data
|
232
|
+
end
|
233
|
+
|
234
|
+
# Stream Events Subscription
|
235
|
+
# Reads the stream of created messages for an application, but using server-managed iterator tracking.
|
236
|
+
# @param app_id [String] The app's ID or UID
|
237
|
+
# @param subscription_id [String] The esub's ID or UID
|
238
|
+
# @param [Hash] opts the optional parameters
|
239
|
+
# @option opts [Integer] :limit Limit the number of returned items
|
240
|
+
# @option opts [String] :iterator The iterator returned from a prior invocation
|
241
|
+
# @option opts [Array<String>] :event_types Filter response based on the event type
|
242
|
+
# @option opts [Array<String>] :channels Filter response based on the event type
|
243
|
+
# @option opts [Time] :after
|
244
|
+
# @return [Array<(MessageStreamOut, Integer, Hash)>] MessageStreamOut data, response status code and response headers
|
245
|
+
def v1_message_events_subscription_with_http_info(app_id, subscription_id, opts = {})
|
246
|
+
if @api_client.config.debugging
|
247
|
+
@api_client.config.logger.debug 'Calling API: MessageApi.v1_message_events_subscription ...'
|
248
|
+
end
|
249
|
+
# verify the required parameter 'app_id' is set
|
250
|
+
if @api_client.config.client_side_validation && app_id.nil?
|
251
|
+
fail ArgumentError, "Missing the required parameter 'app_id' when calling MessageApi.v1_message_events_subscription"
|
252
|
+
end
|
253
|
+
if @api_client.config.client_side_validation && app_id.to_s.length > 256
|
254
|
+
fail ArgumentError, 'invalid value for "app_id" when calling MessageApi.v1_message_events_subscription, the character length must be smaller than or equal to 256.'
|
255
|
+
end
|
256
|
+
|
257
|
+
if @api_client.config.client_side_validation && app_id.to_s.length < 1
|
258
|
+
fail ArgumentError, 'invalid value for "app_id" when calling MessageApi.v1_message_events_subscription, the character length must be great than or equal to 1.'
|
259
|
+
end
|
260
|
+
|
261
|
+
pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
|
262
|
+
if @api_client.config.client_side_validation && app_id !~ pattern
|
263
|
+
fail ArgumentError, "invalid value for 'app_id' when calling MessageApi.v1_message_events_subscription, must conform to the pattern #{pattern}."
|
264
|
+
end
|
265
|
+
|
266
|
+
# verify the required parameter 'subscription_id' is set
|
267
|
+
if @api_client.config.client_side_validation && subscription_id.nil?
|
268
|
+
fail ArgumentError, "Missing the required parameter 'subscription_id' when calling MessageApi.v1_message_events_subscription"
|
269
|
+
end
|
270
|
+
if @api_client.config.client_side_validation && subscription_id.to_s.length > 256
|
271
|
+
fail ArgumentError, 'invalid value for "subscription_id" when calling MessageApi.v1_message_events_subscription, the character length must be smaller than or equal to 256.'
|
272
|
+
end
|
273
|
+
|
274
|
+
if @api_client.config.client_side_validation && subscription_id.to_s.length < 1
|
275
|
+
fail ArgumentError, 'invalid value for "subscription_id" when calling MessageApi.v1_message_events_subscription, the character length must be great than or equal to 1.'
|
276
|
+
end
|
277
|
+
|
278
|
+
pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
|
279
|
+
if @api_client.config.client_side_validation && subscription_id !~ pattern
|
280
|
+
fail ArgumentError, "invalid value for 'subscription_id' when calling MessageApi.v1_message_events_subscription, must conform to the pattern #{pattern}."
|
281
|
+
end
|
282
|
+
|
283
|
+
if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 250
|
284
|
+
fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling MessageApi.v1_message_events_subscription, must be smaller than or equal to 250.'
|
285
|
+
end
|
286
|
+
|
287
|
+
if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
|
288
|
+
fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling MessageApi.v1_message_events_subscription, must be greater than or equal to 1.'
|
289
|
+
end
|
290
|
+
|
291
|
+
# resource path
|
292
|
+
local_var_path = '/api/v1/app/{app_id}/events/subscription/{subscription_id}'.sub('{' + 'app_id' + '}', CGI.escape(app_id.to_s)).sub('{' + 'subscription_id' + '}', CGI.escape(subscription_id.to_s))
|
293
|
+
|
294
|
+
# query parameters
|
295
|
+
query_params = opts[:query_params] || {}
|
296
|
+
query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
|
297
|
+
query_params[:'iterator'] = opts[:'iterator'] if !opts[:'iterator'].nil?
|
298
|
+
query_params[:'event_types'] = @api_client.build_collection_param(opts[:'event_types'], :multi) if !opts[:'event_types'].nil?
|
299
|
+
query_params[:'channels'] = @api_client.build_collection_param(opts[:'channels'], :multi) if !opts[:'channels'].nil?
|
300
|
+
query_params[:'after'] = opts[:'after'] if !opts[:'after'].nil?
|
301
|
+
|
302
|
+
# header parameters
|
303
|
+
header_params = opts[:header_params] || {}
|
304
|
+
# HTTP header 'Accept' (if needed)
|
305
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
306
|
+
|
307
|
+
# form parameters
|
308
|
+
form_params = opts[:form_params] || {}
|
309
|
+
|
310
|
+
# http body (model)
|
311
|
+
post_body = opts[:debug_body]
|
312
|
+
|
313
|
+
# return_type
|
314
|
+
return_type = opts[:debug_return_type] || 'MessageStreamOut'
|
315
|
+
|
316
|
+
# auth_names
|
317
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
318
|
+
|
319
|
+
new_options = opts.merge(
|
320
|
+
:operation => :"MessageApi.v1_message_events_subscription",
|
321
|
+
:header_params => header_params,
|
322
|
+
:query_params => query_params,
|
323
|
+
:form_params => form_params,
|
324
|
+
:body => post_body,
|
325
|
+
:auth_names => auth_names,
|
326
|
+
:return_type => return_type
|
327
|
+
)
|
328
|
+
|
329
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
330
|
+
if @api_client.config.debugging
|
331
|
+
@api_client.config.logger.debug "API called: MessageApi#v1_message_events_subscription\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
332
|
+
end
|
333
|
+
return data, status_code, headers
|
334
|
+
end
|
335
|
+
|
336
|
+
# Stream Events Create Token
|
337
|
+
# Creates an auth token that can be used with the `v1.message.events-subscription` endpoint
|
338
|
+
# @param app_id [String] The app's ID or UID
|
339
|
+
# @param subscription_id [String] The esub's ID or UID
|
340
|
+
# @param [Hash] opts the optional parameters
|
341
|
+
# @option opts [String] :idempotency_key The request's idempotency key
|
342
|
+
# @return [MessageSubscriberAuthTokenOut]
|
343
|
+
def v1_message_events_subscription_create_token(app_id, subscription_id, opts = {})
|
344
|
+
data, _status_code, _headers = v1_message_events_subscription_create_token_with_http_info(app_id, subscription_id, opts)
|
345
|
+
data
|
346
|
+
end
|
347
|
+
|
348
|
+
# Stream Events Create Token
|
349
|
+
# Creates an auth token that can be used with the `v1.message.events-subscription` endpoint
|
350
|
+
# @param app_id [String] The app's ID or UID
|
351
|
+
# @param subscription_id [String] The esub's ID or UID
|
352
|
+
# @param [Hash] opts the optional parameters
|
353
|
+
# @option opts [String] :idempotency_key The request's idempotency key
|
354
|
+
# @return [Array<(MessageSubscriberAuthTokenOut, Integer, Hash)>] MessageSubscriberAuthTokenOut data, response status code and response headers
|
355
|
+
def v1_message_events_subscription_create_token_with_http_info(app_id, subscription_id, opts = {})
|
356
|
+
if @api_client.config.debugging
|
357
|
+
@api_client.config.logger.debug 'Calling API: MessageApi.v1_message_events_subscription_create_token ...'
|
358
|
+
end
|
359
|
+
# verify the required parameter 'app_id' is set
|
360
|
+
if @api_client.config.client_side_validation && app_id.nil?
|
361
|
+
fail ArgumentError, "Missing the required parameter 'app_id' when calling MessageApi.v1_message_events_subscription_create_token"
|
362
|
+
end
|
363
|
+
if @api_client.config.client_side_validation && app_id.to_s.length > 256
|
364
|
+
fail ArgumentError, 'invalid value for "app_id" when calling MessageApi.v1_message_events_subscription_create_token, the character length must be smaller than or equal to 256.'
|
365
|
+
end
|
366
|
+
|
367
|
+
if @api_client.config.client_side_validation && app_id.to_s.length < 1
|
368
|
+
fail ArgumentError, 'invalid value for "app_id" when calling MessageApi.v1_message_events_subscription_create_token, the character length must be great than or equal to 1.'
|
369
|
+
end
|
370
|
+
|
371
|
+
pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
|
372
|
+
if @api_client.config.client_side_validation && app_id !~ pattern
|
373
|
+
fail ArgumentError, "invalid value for 'app_id' when calling MessageApi.v1_message_events_subscription_create_token, must conform to the pattern #{pattern}."
|
374
|
+
end
|
375
|
+
|
376
|
+
# verify the required parameter 'subscription_id' is set
|
377
|
+
if @api_client.config.client_side_validation && subscription_id.nil?
|
378
|
+
fail ArgumentError, "Missing the required parameter 'subscription_id' when calling MessageApi.v1_message_events_subscription_create_token"
|
379
|
+
end
|
380
|
+
if @api_client.config.client_side_validation && subscription_id.to_s.length > 256
|
381
|
+
fail ArgumentError, 'invalid value for "subscription_id" when calling MessageApi.v1_message_events_subscription_create_token, the character length must be smaller than or equal to 256.'
|
382
|
+
end
|
383
|
+
|
384
|
+
if @api_client.config.client_side_validation && subscription_id.to_s.length < 1
|
385
|
+
fail ArgumentError, 'invalid value for "subscription_id" when calling MessageApi.v1_message_events_subscription_create_token, the character length must be great than or equal to 1.'
|
386
|
+
end
|
387
|
+
|
388
|
+
pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
|
389
|
+
if @api_client.config.client_side_validation && subscription_id !~ pattern
|
390
|
+
fail ArgumentError, "invalid value for 'subscription_id' when calling MessageApi.v1_message_events_subscription_create_token, must conform to the pattern #{pattern}."
|
391
|
+
end
|
392
|
+
|
393
|
+
# resource path
|
394
|
+
local_var_path = '/api/v1/app/{app_id}/events/subscription/{subscription_id}/create_token'.sub('{' + 'app_id' + '}', CGI.escape(app_id.to_s)).sub('{' + 'subscription_id' + '}', CGI.escape(subscription_id.to_s))
|
395
|
+
|
396
|
+
# query parameters
|
397
|
+
query_params = opts[:query_params] || {}
|
398
|
+
|
399
|
+
# header parameters
|
400
|
+
header_params = opts[:header_params] || {}
|
401
|
+
# HTTP header 'Accept' (if needed)
|
402
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
403
|
+
header_params[:'idempotency-key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
|
404
|
+
|
405
|
+
# form parameters
|
406
|
+
form_params = opts[:form_params] || {}
|
407
|
+
|
408
|
+
# http body (model)
|
409
|
+
post_body = opts[:debug_body]
|
410
|
+
|
411
|
+
# return_type
|
412
|
+
return_type = opts[:debug_return_type] || 'MessageSubscriberAuthTokenOut'
|
413
|
+
|
414
|
+
# auth_names
|
415
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
416
|
+
|
417
|
+
new_options = opts.merge(
|
418
|
+
:operation => :"MessageApi.v1_message_events_subscription_create_token",
|
419
|
+
:header_params => header_params,
|
420
|
+
:query_params => query_params,
|
421
|
+
:form_params => form_params,
|
422
|
+
:body => post_body,
|
423
|
+
:auth_names => auth_names,
|
424
|
+
:return_type => return_type
|
425
|
+
)
|
426
|
+
|
427
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
428
|
+
if @api_client.config.debugging
|
429
|
+
@api_client.config.logger.debug "API called: MessageApi#v1_message_events_subscription_create_token\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
430
|
+
end
|
431
|
+
return data, status_code, headers
|
432
|
+
end
|
433
|
+
|
218
434
|
# Delete message payload
|
219
435
|
# Delete the given message's payload. Useful in cases when a message was accidentally sent with sensitive content. The message can't be replayed or resent once its payload has been deleted or expired.
|
220
436
|
# @param app_id [String] The app's ID or UID
|