spartera_api_sdk 1.0.81 → 1.0.83
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/README.md +7 -4
- data/docs/Assets.md +7 -3
- data/docs/AssetsApi.md +12 -12
- data/docs/AssetsInput.md +7 -3
- data/docs/AssetsUpdate.md +7 -3
- data/docs/Connections.md +1 -1
- data/docs/ConnectionsApi.md +72 -0
- data/docs/ConnectionsInput.md +1 -1
- data/docs/ConnectionsUpdate.md +1 -1
- data/docs/Endpoints.md +23 -7
- data/docs/EndpointsApi.md +146 -0
- data/docs/EndpointsInput.md +23 -7
- data/docs/EndpointsUpdate.md +23 -7
- data/lib/spartera_api_sdk/api/assets_api.rb +20 -20
- data/lib/spartera_api_sdk/api/connections_api.rb +93 -0
- data/lib/spartera_api_sdk/api/endpoints_api.rb +197 -0
- data/lib/spartera_api_sdk/models/assets.rb +33 -13
- data/lib/spartera_api_sdk/models/assets_input.rb +33 -13
- data/lib/spartera_api_sdk/models/assets_update.rb +33 -13
- data/lib/spartera_api_sdk/models/connections.rb +3 -3
- data/lib/spartera_api_sdk/models/connections_input.rb +3 -3
- data/lib/spartera_api_sdk/models/connections_update.rb +3 -3
- data/lib/spartera_api_sdk/models/endpoints.rb +149 -45
- data/lib/spartera_api_sdk/models/endpoints_input.rb +132 -28
- data/lib/spartera_api_sdk/models/endpoints_update.rb +132 -28
- data/lib/spartera_api_sdk/version.rb +1 -1
- data/spec/api/assets_api_spec.rb +2 -2
- data/spec/api/connections_api_spec.rb +12 -0
- data/spec/api/endpoints_api_spec.rb +25 -0
- data/spec/models/assets_input_spec.rb +19 -7
- data/spec/models/assets_spec.rb +19 -7
- data/spec/models/assets_update_spec.rb +19 -7
- data/spec/models/connections_input_spec.rb +1 -1
- data/spec/models/connections_spec.rb +1 -1
- data/spec/models/connections_update_spec.rb +1 -1
- data/spec/models/endpoints_input_spec.rb +65 -9
- data/spec/models/endpoints_spec.rb +65 -9
- data/spec/models/endpoints_update_spec.rb +65 -9
- metadata +140 -140
|
@@ -49,9 +49,6 @@ module SparteraApiSdk
|
|
|
49
49
|
# Whether this endpoint appears in the public marketplace
|
|
50
50
|
attr_accessor :sell_in_marketplace
|
|
51
51
|
|
|
52
|
-
# Credits deducted from the buyer's pool per successful (200 OK) request. Same credit pool as assets. price_usd kept for billing records / dashboards.
|
|
53
|
-
attr_accessor :price_credits
|
|
54
|
-
|
|
55
52
|
# Human-readable name for the endpoint
|
|
56
53
|
attr_accessor :name
|
|
57
54
|
|
|
@@ -61,23 +58,26 @@ module SparteraApiSdk
|
|
|
61
58
|
# Description of what this endpoint provides
|
|
62
59
|
attr_accessor :description
|
|
63
60
|
|
|
61
|
+
# Long-form HTML description for product pages and SEO
|
|
62
|
+
attr_accessor :detailed_description
|
|
63
|
+
|
|
64
|
+
# Top 3 questions this endpoint can help answer, in English. Stored as JSON array of strings (1-3 items, 15-200 chars each). Strongly encouraged for marketplace endpoints but not required — nudge via UI completeness score, not hard validation.
|
|
65
|
+
attr_accessor :top_questions
|
|
66
|
+
|
|
64
67
|
# Schema/database name where the table resides
|
|
65
68
|
attr_accessor :source_schema_name
|
|
66
69
|
|
|
67
70
|
# Table name to query from
|
|
68
71
|
attr_accessor :source_table_name
|
|
69
72
|
|
|
70
|
-
# Named customer for B2B deals (
|
|
73
|
+
# Named customer for B2B deals (pricing handled via asset_price_history)
|
|
71
74
|
attr_accessor :customer_name
|
|
72
75
|
|
|
73
|
-
# USD reference price for billing records and seller dashboards
|
|
74
|
-
attr_accessor :price_usd
|
|
75
|
-
|
|
76
76
|
# Column configurations including aggregations, filters, and visibility. Format: {columns: [{name, type, aggregation, filter, is_hidden, alias, ...}]}. This is the source of truth — SQL is generated at runtime from this configuration.
|
|
77
77
|
attr_accessor :endpoint_schema
|
|
78
78
|
|
|
79
79
|
# Number of requests allowed per rate_limit_period
|
|
80
|
-
attr_accessor :
|
|
80
|
+
attr_accessor :rate_limit_number
|
|
81
81
|
|
|
82
82
|
# Time period for rate limiting (HOUR, DAY, MONTH)
|
|
83
83
|
attr_accessor :rate_limit_period
|
|
@@ -94,6 +94,24 @@ module SparteraApiSdk
|
|
|
94
94
|
# Current status of the endpoint (ACTIVE, INACTIVE, DEPRECATED)
|
|
95
95
|
attr_accessor :status
|
|
96
96
|
|
|
97
|
+
# Start date of the data time period covered
|
|
98
|
+
attr_accessor :data_time_period_start
|
|
99
|
+
|
|
100
|
+
# End date of the data time period covered
|
|
101
|
+
attr_accessor :data_time_period_end
|
|
102
|
+
|
|
103
|
+
# When the seller began actively collecting this data. Distinct from data_time_period_start, which describes when the records themselves begin. Backfilled historical data will have date_collection_start > data_time_period_start.
|
|
104
|
+
attr_accessor :date_collection_start
|
|
105
|
+
|
|
106
|
+
# Type of geographic coverage
|
|
107
|
+
attr_accessor :geographic_coverage_type
|
|
108
|
+
|
|
109
|
+
# Specific regions/countries covered (e.g., 'United States, Canada, Mexico')
|
|
110
|
+
attr_accessor :geographic_coverage_details
|
|
111
|
+
|
|
112
|
+
# How often the source data is refreshed
|
|
113
|
+
attr_accessor :data_source_refresh_frequency
|
|
114
|
+
|
|
97
115
|
# Comma-separated tags for organizing endpoints
|
|
98
116
|
attr_accessor :tags
|
|
99
117
|
|
|
@@ -103,6 +121,12 @@ module SparteraApiSdk
|
|
|
103
121
|
# Seller-enforced row cap per request. Buyers cannot exceed this. Default 1000.
|
|
104
122
|
attr_accessor :max_records_per_request
|
|
105
123
|
|
|
124
|
+
# Whether this endpoint supports bulk export to GCS. When True, buyers can request delivery=gcs with format=csv|parquet. Independent of max_records_per_request, which only governs inline JSON.
|
|
125
|
+
attr_accessor :export_enabled
|
|
126
|
+
|
|
127
|
+
# Hard ceiling on rows returned per GCS export. Separate from max_records_per_request so sellers can offer larger downloads via file delivery without expanding inline JSON responses.
|
|
128
|
+
attr_accessor :max_records_per_export
|
|
129
|
+
|
|
106
130
|
# Last successful {spartera, request, response} envelope. Saved on each successful marketplace run. Displayed as preview on product page load.
|
|
107
131
|
attr_accessor :sample_response
|
|
108
132
|
|
|
@@ -145,24 +169,32 @@ module SparteraApiSdk
|
|
|
145
169
|
:'approved_by_user_id' => :'approved_by_user_id',
|
|
146
170
|
:'approved_at' => :'approved_at',
|
|
147
171
|
:'sell_in_marketplace' => :'sell_in_marketplace',
|
|
148
|
-
:'price_credits' => :'price_credits',
|
|
149
172
|
:'name' => :'name',
|
|
150
173
|
:'slug' => :'slug',
|
|
151
174
|
:'description' => :'description',
|
|
175
|
+
:'detailed_description' => :'detailed_description',
|
|
176
|
+
:'top_questions' => :'top_questions',
|
|
152
177
|
:'source_schema_name' => :'source_schema_name',
|
|
153
178
|
:'source_table_name' => :'source_table_name',
|
|
154
179
|
:'customer_name' => :'customer_name',
|
|
155
|
-
:'price_usd' => :'price_usd',
|
|
156
180
|
:'endpoint_schema' => :'endpoint_schema',
|
|
157
|
-
:'
|
|
181
|
+
:'rate_limit_number' => :'rate_limit_number',
|
|
158
182
|
:'rate_limit_period' => :'rate_limit_period',
|
|
159
183
|
:'rate_limit_granularity' => :'rate_limit_granularity',
|
|
160
184
|
:'access_method' => :'access_method',
|
|
161
185
|
:'access_whitelist' => :'access_whitelist',
|
|
162
186
|
:'status' => :'status',
|
|
187
|
+
:'data_time_period_start' => :'data_time_period_start',
|
|
188
|
+
:'data_time_period_end' => :'data_time_period_end',
|
|
189
|
+
:'date_collection_start' => :'date_collection_start',
|
|
190
|
+
:'geographic_coverage_type' => :'geographic_coverage_type',
|
|
191
|
+
:'geographic_coverage_details' => :'geographic_coverage_details',
|
|
192
|
+
:'data_source_refresh_frequency' => :'data_source_refresh_frequency',
|
|
163
193
|
:'tags' => :'tags',
|
|
164
194
|
:'last_accessed' => :'last_accessed',
|
|
165
195
|
:'max_records_per_request' => :'max_records_per_request',
|
|
196
|
+
:'export_enabled' => :'export_enabled',
|
|
197
|
+
:'max_records_per_export' => :'max_records_per_export',
|
|
166
198
|
:'sample_response' => :'sample_response',
|
|
167
199
|
:'active' => :'active'
|
|
168
200
|
}
|
|
@@ -192,24 +224,32 @@ module SparteraApiSdk
|
|
|
192
224
|
:'approved_by_user_id' => :'String',
|
|
193
225
|
:'approved_at' => :'Time',
|
|
194
226
|
:'sell_in_marketplace' => :'Boolean',
|
|
195
|
-
:'price_credits' => :'Integer',
|
|
196
227
|
:'name' => :'String',
|
|
197
228
|
:'slug' => :'String',
|
|
198
229
|
:'description' => :'String',
|
|
230
|
+
:'detailed_description' => :'String',
|
|
231
|
+
:'top_questions' => :'String',
|
|
199
232
|
:'source_schema_name' => :'String',
|
|
200
233
|
:'source_table_name' => :'String',
|
|
201
234
|
:'customer_name' => :'String',
|
|
202
|
-
:'price_usd' => :'Float',
|
|
203
235
|
:'endpoint_schema' => :'Object',
|
|
204
|
-
:'
|
|
236
|
+
:'rate_limit_number' => :'Integer',
|
|
205
237
|
:'rate_limit_period' => :'String',
|
|
206
238
|
:'rate_limit_granularity' => :'String',
|
|
207
239
|
:'access_method' => :'String',
|
|
208
240
|
:'access_whitelist' => :'Object',
|
|
209
241
|
:'status' => :'String',
|
|
242
|
+
:'data_time_period_start' => :'Time',
|
|
243
|
+
:'data_time_period_end' => :'Time',
|
|
244
|
+
:'date_collection_start' => :'Time',
|
|
245
|
+
:'geographic_coverage_type' => :'String',
|
|
246
|
+
:'geographic_coverage_details' => :'String',
|
|
247
|
+
:'data_source_refresh_frequency' => :'String',
|
|
210
248
|
:'tags' => :'String',
|
|
211
249
|
:'last_accessed' => :'Time',
|
|
212
250
|
:'max_records_per_request' => :'Integer',
|
|
251
|
+
:'export_enabled' => :'Boolean',
|
|
252
|
+
:'max_records_per_export' => :'Integer',
|
|
213
253
|
:'sample_response' => :'Object',
|
|
214
254
|
:'active' => :'Boolean'
|
|
215
255
|
}
|
|
@@ -285,10 +325,6 @@ module SparteraApiSdk
|
|
|
285
325
|
self.sell_in_marketplace = attributes[:'sell_in_marketplace']
|
|
286
326
|
end
|
|
287
327
|
|
|
288
|
-
if attributes.key?(:'price_credits')
|
|
289
|
-
self.price_credits = attributes[:'price_credits']
|
|
290
|
-
end
|
|
291
|
-
|
|
292
328
|
if attributes.key?(:'name')
|
|
293
329
|
self.name = attributes[:'name']
|
|
294
330
|
else
|
|
@@ -303,6 +339,14 @@ module SparteraApiSdk
|
|
|
303
339
|
self.description = attributes[:'description']
|
|
304
340
|
end
|
|
305
341
|
|
|
342
|
+
if attributes.key?(:'detailed_description')
|
|
343
|
+
self.detailed_description = attributes[:'detailed_description']
|
|
344
|
+
end
|
|
345
|
+
|
|
346
|
+
if attributes.key?(:'top_questions')
|
|
347
|
+
self.top_questions = attributes[:'top_questions']
|
|
348
|
+
end
|
|
349
|
+
|
|
306
350
|
if attributes.key?(:'source_schema_name')
|
|
307
351
|
self.source_schema_name = attributes[:'source_schema_name']
|
|
308
352
|
end
|
|
@@ -315,16 +359,12 @@ module SparteraApiSdk
|
|
|
315
359
|
self.customer_name = attributes[:'customer_name']
|
|
316
360
|
end
|
|
317
361
|
|
|
318
|
-
if attributes.key?(:'price_usd')
|
|
319
|
-
self.price_usd = attributes[:'price_usd']
|
|
320
|
-
end
|
|
321
|
-
|
|
322
362
|
if attributes.key?(:'endpoint_schema')
|
|
323
363
|
self.endpoint_schema = attributes[:'endpoint_schema']
|
|
324
364
|
end
|
|
325
365
|
|
|
326
|
-
if attributes.key?(:'
|
|
327
|
-
self.
|
|
366
|
+
if attributes.key?(:'rate_limit_number')
|
|
367
|
+
self.rate_limit_number = attributes[:'rate_limit_number']
|
|
328
368
|
end
|
|
329
369
|
|
|
330
370
|
if attributes.key?(:'rate_limit_period')
|
|
@@ -347,6 +387,30 @@ module SparteraApiSdk
|
|
|
347
387
|
self.status = attributes[:'status']
|
|
348
388
|
end
|
|
349
389
|
|
|
390
|
+
if attributes.key?(:'data_time_period_start')
|
|
391
|
+
self.data_time_period_start = attributes[:'data_time_period_start']
|
|
392
|
+
end
|
|
393
|
+
|
|
394
|
+
if attributes.key?(:'data_time_period_end')
|
|
395
|
+
self.data_time_period_end = attributes[:'data_time_period_end']
|
|
396
|
+
end
|
|
397
|
+
|
|
398
|
+
if attributes.key?(:'date_collection_start')
|
|
399
|
+
self.date_collection_start = attributes[:'date_collection_start']
|
|
400
|
+
end
|
|
401
|
+
|
|
402
|
+
if attributes.key?(:'geographic_coverage_type')
|
|
403
|
+
self.geographic_coverage_type = attributes[:'geographic_coverage_type']
|
|
404
|
+
end
|
|
405
|
+
|
|
406
|
+
if attributes.key?(:'geographic_coverage_details')
|
|
407
|
+
self.geographic_coverage_details = attributes[:'geographic_coverage_details']
|
|
408
|
+
end
|
|
409
|
+
|
|
410
|
+
if attributes.key?(:'data_source_refresh_frequency')
|
|
411
|
+
self.data_source_refresh_frequency = attributes[:'data_source_refresh_frequency']
|
|
412
|
+
end
|
|
413
|
+
|
|
350
414
|
if attributes.key?(:'tags')
|
|
351
415
|
self.tags = attributes[:'tags']
|
|
352
416
|
end
|
|
@@ -359,6 +423,14 @@ module SparteraApiSdk
|
|
|
359
423
|
self.max_records_per_request = attributes[:'max_records_per_request']
|
|
360
424
|
end
|
|
361
425
|
|
|
426
|
+
if attributes.key?(:'export_enabled')
|
|
427
|
+
self.export_enabled = attributes[:'export_enabled']
|
|
428
|
+
end
|
|
429
|
+
|
|
430
|
+
if attributes.key?(:'max_records_per_export')
|
|
431
|
+
self.max_records_per_export = attributes[:'max_records_per_export']
|
|
432
|
+
end
|
|
433
|
+
|
|
362
434
|
if attributes.key?(:'sample_response')
|
|
363
435
|
self.sample_response = attributes[:'sample_response']
|
|
364
436
|
end
|
|
@@ -405,6 +477,10 @@ module SparteraApiSdk
|
|
|
405
477
|
return false unless access_method_validator.valid?(@access_method)
|
|
406
478
|
status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "INACTIVE", "DEPRECATED"])
|
|
407
479
|
return false unless status_validator.valid?(@status)
|
|
480
|
+
geographic_coverage_type_validator = EnumAttributeValidator.new('String', ["GLOBAL", "CONTINENTAL", "REGIONAL", "NATIONAL", "STATE", "LOCAL", "CUSTOM", "UNKNOWN"])
|
|
481
|
+
return false unless geographic_coverage_type_validator.valid?(@geographic_coverage_type)
|
|
482
|
+
data_source_refresh_frequency_validator = EnumAttributeValidator.new('String', ["EVERY_SECOND", "EVERY_MINUTE", "EVERY_HOUR", "EVERY_DAY", "EVERY_WEEK", "EVERY_MONTH", "EVERY_QUARTER", "EVERY_YEAR", "NEVER", "UNKNOWN"])
|
|
483
|
+
return false unless data_source_refresh_frequency_validator.valid?(@data_source_refresh_frequency)
|
|
408
484
|
true
|
|
409
485
|
end
|
|
410
486
|
|
|
@@ -488,6 +564,26 @@ module SparteraApiSdk
|
|
|
488
564
|
@status = status
|
|
489
565
|
end
|
|
490
566
|
|
|
567
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
568
|
+
# @param [Object] geographic_coverage_type Object to be assigned
|
|
569
|
+
def geographic_coverage_type=(geographic_coverage_type)
|
|
570
|
+
validator = EnumAttributeValidator.new('String', ["GLOBAL", "CONTINENTAL", "REGIONAL", "NATIONAL", "STATE", "LOCAL", "CUSTOM", "UNKNOWN"])
|
|
571
|
+
unless validator.valid?(geographic_coverage_type)
|
|
572
|
+
fail ArgumentError, "invalid value for \"geographic_coverage_type\", must be one of #{validator.allowable_values}."
|
|
573
|
+
end
|
|
574
|
+
@geographic_coverage_type = geographic_coverage_type
|
|
575
|
+
end
|
|
576
|
+
|
|
577
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
578
|
+
# @param [Object] data_source_refresh_frequency Object to be assigned
|
|
579
|
+
def data_source_refresh_frequency=(data_source_refresh_frequency)
|
|
580
|
+
validator = EnumAttributeValidator.new('String', ["EVERY_SECOND", "EVERY_MINUTE", "EVERY_HOUR", "EVERY_DAY", "EVERY_WEEK", "EVERY_MONTH", "EVERY_QUARTER", "EVERY_YEAR", "NEVER", "UNKNOWN"])
|
|
581
|
+
unless validator.valid?(data_source_refresh_frequency)
|
|
582
|
+
fail ArgumentError, "invalid value for \"data_source_refresh_frequency\", must be one of #{validator.allowable_values}."
|
|
583
|
+
end
|
|
584
|
+
@data_source_refresh_frequency = data_source_refresh_frequency
|
|
585
|
+
end
|
|
586
|
+
|
|
491
587
|
# Checks equality by comparing each attribute.
|
|
492
588
|
# @param [Object] Object to be compared
|
|
493
589
|
def ==(o)
|
|
@@ -504,24 +600,32 @@ module SparteraApiSdk
|
|
|
504
600
|
approved_by_user_id == o.approved_by_user_id &&
|
|
505
601
|
approved_at == o.approved_at &&
|
|
506
602
|
sell_in_marketplace == o.sell_in_marketplace &&
|
|
507
|
-
price_credits == o.price_credits &&
|
|
508
603
|
name == o.name &&
|
|
509
604
|
slug == o.slug &&
|
|
510
605
|
description == o.description &&
|
|
606
|
+
detailed_description == o.detailed_description &&
|
|
607
|
+
top_questions == o.top_questions &&
|
|
511
608
|
source_schema_name == o.source_schema_name &&
|
|
512
609
|
source_table_name == o.source_table_name &&
|
|
513
610
|
customer_name == o.customer_name &&
|
|
514
|
-
price_usd == o.price_usd &&
|
|
515
611
|
endpoint_schema == o.endpoint_schema &&
|
|
516
|
-
|
|
612
|
+
rate_limit_number == o.rate_limit_number &&
|
|
517
613
|
rate_limit_period == o.rate_limit_period &&
|
|
518
614
|
rate_limit_granularity == o.rate_limit_granularity &&
|
|
519
615
|
access_method == o.access_method &&
|
|
520
616
|
access_whitelist == o.access_whitelist &&
|
|
521
617
|
status == o.status &&
|
|
618
|
+
data_time_period_start == o.data_time_period_start &&
|
|
619
|
+
data_time_period_end == o.data_time_period_end &&
|
|
620
|
+
date_collection_start == o.date_collection_start &&
|
|
621
|
+
geographic_coverage_type == o.geographic_coverage_type &&
|
|
622
|
+
geographic_coverage_details == o.geographic_coverage_details &&
|
|
623
|
+
data_source_refresh_frequency == o.data_source_refresh_frequency &&
|
|
522
624
|
tags == o.tags &&
|
|
523
625
|
last_accessed == o.last_accessed &&
|
|
524
626
|
max_records_per_request == o.max_records_per_request &&
|
|
627
|
+
export_enabled == o.export_enabled &&
|
|
628
|
+
max_records_per_export == o.max_records_per_export &&
|
|
525
629
|
sample_response == o.sample_response &&
|
|
526
630
|
active == o.active
|
|
527
631
|
end
|
|
@@ -535,7 +639,7 @@ module SparteraApiSdk
|
|
|
535
639
|
# Calculates hash code according to all attributes.
|
|
536
640
|
# @return [Integer] Hash code
|
|
537
641
|
def hash
|
|
538
|
-
[date_created, last_updated, user_id, company_id, connection_id, industry_id, auc_id, approval_status, approved_by_user_id, approved_at, sell_in_marketplace,
|
|
642
|
+
[date_created, last_updated, user_id, company_id, connection_id, industry_id, auc_id, approval_status, approved_by_user_id, approved_at, sell_in_marketplace, name, slug, description, detailed_description, top_questions, source_schema_name, source_table_name, customer_name, endpoint_schema, rate_limit_number, rate_limit_period, rate_limit_granularity, access_method, access_whitelist, status, data_time_period_start, data_time_period_end, date_collection_start, geographic_coverage_type, geographic_coverage_details, data_source_refresh_frequency, tags, last_accessed, max_records_per_request, export_enabled, max_records_per_export, sample_response, active].hash
|
|
539
643
|
end
|
|
540
644
|
|
|
541
645
|
# Builds the object from hash
|
|
@@ -49,9 +49,6 @@ module SparteraApiSdk
|
|
|
49
49
|
# Whether this endpoint appears in the public marketplace
|
|
50
50
|
attr_accessor :sell_in_marketplace
|
|
51
51
|
|
|
52
|
-
# Credits deducted from the buyer's pool per successful (200 OK) request. Same credit pool as assets. price_usd kept for billing records / dashboards.
|
|
53
|
-
attr_accessor :price_credits
|
|
54
|
-
|
|
55
52
|
# Human-readable name for the endpoint
|
|
56
53
|
attr_accessor :name
|
|
57
54
|
|
|
@@ -61,23 +58,26 @@ module SparteraApiSdk
|
|
|
61
58
|
# Description of what this endpoint provides
|
|
62
59
|
attr_accessor :description
|
|
63
60
|
|
|
61
|
+
# Long-form HTML description for product pages and SEO
|
|
62
|
+
attr_accessor :detailed_description
|
|
63
|
+
|
|
64
|
+
# Top 3 questions this endpoint can help answer, in English. Stored as JSON array of strings (1-3 items, 15-200 chars each). Strongly encouraged for marketplace endpoints but not required — nudge via UI completeness score, not hard validation.
|
|
65
|
+
attr_accessor :top_questions
|
|
66
|
+
|
|
64
67
|
# Schema/database name where the table resides
|
|
65
68
|
attr_accessor :source_schema_name
|
|
66
69
|
|
|
67
70
|
# Table name to query from
|
|
68
71
|
attr_accessor :source_table_name
|
|
69
72
|
|
|
70
|
-
# Named customer for B2B deals (
|
|
73
|
+
# Named customer for B2B deals (pricing handled via asset_price_history)
|
|
71
74
|
attr_accessor :customer_name
|
|
72
75
|
|
|
73
|
-
# USD reference price for billing records and seller dashboards
|
|
74
|
-
attr_accessor :price_usd
|
|
75
|
-
|
|
76
76
|
# Column configurations including aggregations, filters, and visibility. Format: {columns: [{name, type, aggregation, filter, is_hidden, alias, ...}]}. This is the source of truth — SQL is generated at runtime from this configuration.
|
|
77
77
|
attr_accessor :endpoint_schema
|
|
78
78
|
|
|
79
79
|
# Number of requests allowed per rate_limit_period
|
|
80
|
-
attr_accessor :
|
|
80
|
+
attr_accessor :rate_limit_number
|
|
81
81
|
|
|
82
82
|
# Time period for rate limiting (HOUR, DAY, MONTH)
|
|
83
83
|
attr_accessor :rate_limit_period
|
|
@@ -94,6 +94,24 @@ module SparteraApiSdk
|
|
|
94
94
|
# Current status of the endpoint (ACTIVE, INACTIVE, DEPRECATED)
|
|
95
95
|
attr_accessor :status
|
|
96
96
|
|
|
97
|
+
# Start date of the data time period covered
|
|
98
|
+
attr_accessor :data_time_period_start
|
|
99
|
+
|
|
100
|
+
# End date of the data time period covered
|
|
101
|
+
attr_accessor :data_time_period_end
|
|
102
|
+
|
|
103
|
+
# When the seller began actively collecting this data. Distinct from data_time_period_start, which describes when the records themselves begin. Backfilled historical data will have date_collection_start > data_time_period_start.
|
|
104
|
+
attr_accessor :date_collection_start
|
|
105
|
+
|
|
106
|
+
# Type of geographic coverage
|
|
107
|
+
attr_accessor :geographic_coverage_type
|
|
108
|
+
|
|
109
|
+
# Specific regions/countries covered (e.g., 'United States, Canada, Mexico')
|
|
110
|
+
attr_accessor :geographic_coverage_details
|
|
111
|
+
|
|
112
|
+
# How often the source data is refreshed
|
|
113
|
+
attr_accessor :data_source_refresh_frequency
|
|
114
|
+
|
|
97
115
|
# Comma-separated tags for organizing endpoints
|
|
98
116
|
attr_accessor :tags
|
|
99
117
|
|
|
@@ -103,6 +121,12 @@ module SparteraApiSdk
|
|
|
103
121
|
# Seller-enforced row cap per request. Buyers cannot exceed this. Default 1000.
|
|
104
122
|
attr_accessor :max_records_per_request
|
|
105
123
|
|
|
124
|
+
# Whether this endpoint supports bulk export to GCS. When True, buyers can request delivery=gcs with format=csv|parquet. Independent of max_records_per_request, which only governs inline JSON.
|
|
125
|
+
attr_accessor :export_enabled
|
|
126
|
+
|
|
127
|
+
# Hard ceiling on rows returned per GCS export. Separate from max_records_per_request so sellers can offer larger downloads via file delivery without expanding inline JSON responses.
|
|
128
|
+
attr_accessor :max_records_per_export
|
|
129
|
+
|
|
106
130
|
# Last successful {spartera, request, response} envelope. Saved on each successful marketplace run. Displayed as preview on product page load.
|
|
107
131
|
attr_accessor :sample_response
|
|
108
132
|
|
|
@@ -145,24 +169,32 @@ module SparteraApiSdk
|
|
|
145
169
|
:'approved_by_user_id' => :'approved_by_user_id',
|
|
146
170
|
:'approved_at' => :'approved_at',
|
|
147
171
|
:'sell_in_marketplace' => :'sell_in_marketplace',
|
|
148
|
-
:'price_credits' => :'price_credits',
|
|
149
172
|
:'name' => :'name',
|
|
150
173
|
:'slug' => :'slug',
|
|
151
174
|
:'description' => :'description',
|
|
175
|
+
:'detailed_description' => :'detailed_description',
|
|
176
|
+
:'top_questions' => :'top_questions',
|
|
152
177
|
:'source_schema_name' => :'source_schema_name',
|
|
153
178
|
:'source_table_name' => :'source_table_name',
|
|
154
179
|
:'customer_name' => :'customer_name',
|
|
155
|
-
:'price_usd' => :'price_usd',
|
|
156
180
|
:'endpoint_schema' => :'endpoint_schema',
|
|
157
|
-
:'
|
|
181
|
+
:'rate_limit_number' => :'rate_limit_number',
|
|
158
182
|
:'rate_limit_period' => :'rate_limit_period',
|
|
159
183
|
:'rate_limit_granularity' => :'rate_limit_granularity',
|
|
160
184
|
:'access_method' => :'access_method',
|
|
161
185
|
:'access_whitelist' => :'access_whitelist',
|
|
162
186
|
:'status' => :'status',
|
|
187
|
+
:'data_time_period_start' => :'data_time_period_start',
|
|
188
|
+
:'data_time_period_end' => :'data_time_period_end',
|
|
189
|
+
:'date_collection_start' => :'date_collection_start',
|
|
190
|
+
:'geographic_coverage_type' => :'geographic_coverage_type',
|
|
191
|
+
:'geographic_coverage_details' => :'geographic_coverage_details',
|
|
192
|
+
:'data_source_refresh_frequency' => :'data_source_refresh_frequency',
|
|
163
193
|
:'tags' => :'tags',
|
|
164
194
|
:'last_accessed' => :'last_accessed',
|
|
165
195
|
:'max_records_per_request' => :'max_records_per_request',
|
|
196
|
+
:'export_enabled' => :'export_enabled',
|
|
197
|
+
:'max_records_per_export' => :'max_records_per_export',
|
|
166
198
|
:'sample_response' => :'sample_response',
|
|
167
199
|
:'active' => :'active'
|
|
168
200
|
}
|
|
@@ -192,24 +224,32 @@ module SparteraApiSdk
|
|
|
192
224
|
:'approved_by_user_id' => :'String',
|
|
193
225
|
:'approved_at' => :'Time',
|
|
194
226
|
:'sell_in_marketplace' => :'Boolean',
|
|
195
|
-
:'price_credits' => :'Integer',
|
|
196
227
|
:'name' => :'String',
|
|
197
228
|
:'slug' => :'String',
|
|
198
229
|
:'description' => :'String',
|
|
230
|
+
:'detailed_description' => :'String',
|
|
231
|
+
:'top_questions' => :'String',
|
|
199
232
|
:'source_schema_name' => :'String',
|
|
200
233
|
:'source_table_name' => :'String',
|
|
201
234
|
:'customer_name' => :'String',
|
|
202
|
-
:'price_usd' => :'Float',
|
|
203
235
|
:'endpoint_schema' => :'Object',
|
|
204
|
-
:'
|
|
236
|
+
:'rate_limit_number' => :'Integer',
|
|
205
237
|
:'rate_limit_period' => :'String',
|
|
206
238
|
:'rate_limit_granularity' => :'String',
|
|
207
239
|
:'access_method' => :'String',
|
|
208
240
|
:'access_whitelist' => :'Object',
|
|
209
241
|
:'status' => :'String',
|
|
242
|
+
:'data_time_period_start' => :'Time',
|
|
243
|
+
:'data_time_period_end' => :'Time',
|
|
244
|
+
:'date_collection_start' => :'Time',
|
|
245
|
+
:'geographic_coverage_type' => :'String',
|
|
246
|
+
:'geographic_coverage_details' => :'String',
|
|
247
|
+
:'data_source_refresh_frequency' => :'String',
|
|
210
248
|
:'tags' => :'String',
|
|
211
249
|
:'last_accessed' => :'Time',
|
|
212
250
|
:'max_records_per_request' => :'Integer',
|
|
251
|
+
:'export_enabled' => :'Boolean',
|
|
252
|
+
:'max_records_per_export' => :'Integer',
|
|
213
253
|
:'sample_response' => :'Object',
|
|
214
254
|
:'active' => :'Boolean'
|
|
215
255
|
}
|
|
@@ -281,10 +321,6 @@ module SparteraApiSdk
|
|
|
281
321
|
self.sell_in_marketplace = attributes[:'sell_in_marketplace']
|
|
282
322
|
end
|
|
283
323
|
|
|
284
|
-
if attributes.key?(:'price_credits')
|
|
285
|
-
self.price_credits = attributes[:'price_credits']
|
|
286
|
-
end
|
|
287
|
-
|
|
288
324
|
if attributes.key?(:'name')
|
|
289
325
|
self.name = attributes[:'name']
|
|
290
326
|
end
|
|
@@ -297,6 +333,14 @@ module SparteraApiSdk
|
|
|
297
333
|
self.description = attributes[:'description']
|
|
298
334
|
end
|
|
299
335
|
|
|
336
|
+
if attributes.key?(:'detailed_description')
|
|
337
|
+
self.detailed_description = attributes[:'detailed_description']
|
|
338
|
+
end
|
|
339
|
+
|
|
340
|
+
if attributes.key?(:'top_questions')
|
|
341
|
+
self.top_questions = attributes[:'top_questions']
|
|
342
|
+
end
|
|
343
|
+
|
|
300
344
|
if attributes.key?(:'source_schema_name')
|
|
301
345
|
self.source_schema_name = attributes[:'source_schema_name']
|
|
302
346
|
end
|
|
@@ -309,16 +353,12 @@ module SparteraApiSdk
|
|
|
309
353
|
self.customer_name = attributes[:'customer_name']
|
|
310
354
|
end
|
|
311
355
|
|
|
312
|
-
if attributes.key?(:'price_usd')
|
|
313
|
-
self.price_usd = attributes[:'price_usd']
|
|
314
|
-
end
|
|
315
|
-
|
|
316
356
|
if attributes.key?(:'endpoint_schema')
|
|
317
357
|
self.endpoint_schema = attributes[:'endpoint_schema']
|
|
318
358
|
end
|
|
319
359
|
|
|
320
|
-
if attributes.key?(:'
|
|
321
|
-
self.
|
|
360
|
+
if attributes.key?(:'rate_limit_number')
|
|
361
|
+
self.rate_limit_number = attributes[:'rate_limit_number']
|
|
322
362
|
end
|
|
323
363
|
|
|
324
364
|
if attributes.key?(:'rate_limit_period')
|
|
@@ -341,6 +381,30 @@ module SparteraApiSdk
|
|
|
341
381
|
self.status = attributes[:'status']
|
|
342
382
|
end
|
|
343
383
|
|
|
384
|
+
if attributes.key?(:'data_time_period_start')
|
|
385
|
+
self.data_time_period_start = attributes[:'data_time_period_start']
|
|
386
|
+
end
|
|
387
|
+
|
|
388
|
+
if attributes.key?(:'data_time_period_end')
|
|
389
|
+
self.data_time_period_end = attributes[:'data_time_period_end']
|
|
390
|
+
end
|
|
391
|
+
|
|
392
|
+
if attributes.key?(:'date_collection_start')
|
|
393
|
+
self.date_collection_start = attributes[:'date_collection_start']
|
|
394
|
+
end
|
|
395
|
+
|
|
396
|
+
if attributes.key?(:'geographic_coverage_type')
|
|
397
|
+
self.geographic_coverage_type = attributes[:'geographic_coverage_type']
|
|
398
|
+
end
|
|
399
|
+
|
|
400
|
+
if attributes.key?(:'geographic_coverage_details')
|
|
401
|
+
self.geographic_coverage_details = attributes[:'geographic_coverage_details']
|
|
402
|
+
end
|
|
403
|
+
|
|
404
|
+
if attributes.key?(:'data_source_refresh_frequency')
|
|
405
|
+
self.data_source_refresh_frequency = attributes[:'data_source_refresh_frequency']
|
|
406
|
+
end
|
|
407
|
+
|
|
344
408
|
if attributes.key?(:'tags')
|
|
345
409
|
self.tags = attributes[:'tags']
|
|
346
410
|
end
|
|
@@ -353,6 +417,14 @@ module SparteraApiSdk
|
|
|
353
417
|
self.max_records_per_request = attributes[:'max_records_per_request']
|
|
354
418
|
end
|
|
355
419
|
|
|
420
|
+
if attributes.key?(:'export_enabled')
|
|
421
|
+
self.export_enabled = attributes[:'export_enabled']
|
|
422
|
+
end
|
|
423
|
+
|
|
424
|
+
if attributes.key?(:'max_records_per_export')
|
|
425
|
+
self.max_records_per_export = attributes[:'max_records_per_export']
|
|
426
|
+
end
|
|
427
|
+
|
|
356
428
|
if attributes.key?(:'sample_response')
|
|
357
429
|
self.sample_response = attributes[:'sample_response']
|
|
358
430
|
end
|
|
@@ -384,6 +456,10 @@ module SparteraApiSdk
|
|
|
384
456
|
return false unless access_method_validator.valid?(@access_method)
|
|
385
457
|
status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "INACTIVE", "DEPRECATED"])
|
|
386
458
|
return false unless status_validator.valid?(@status)
|
|
459
|
+
geographic_coverage_type_validator = EnumAttributeValidator.new('String', ["GLOBAL", "CONTINENTAL", "REGIONAL", "NATIONAL", "STATE", "LOCAL", "CUSTOM", "UNKNOWN"])
|
|
460
|
+
return false unless geographic_coverage_type_validator.valid?(@geographic_coverage_type)
|
|
461
|
+
data_source_refresh_frequency_validator = EnumAttributeValidator.new('String', ["EVERY_SECOND", "EVERY_MINUTE", "EVERY_HOUR", "EVERY_DAY", "EVERY_WEEK", "EVERY_MONTH", "EVERY_QUARTER", "EVERY_YEAR", "NEVER", "UNKNOWN"])
|
|
462
|
+
return false unless data_source_refresh_frequency_validator.valid?(@data_source_refresh_frequency)
|
|
387
463
|
true
|
|
388
464
|
end
|
|
389
465
|
|
|
@@ -437,6 +513,26 @@ module SparteraApiSdk
|
|
|
437
513
|
@status = status
|
|
438
514
|
end
|
|
439
515
|
|
|
516
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
517
|
+
# @param [Object] geographic_coverage_type Object to be assigned
|
|
518
|
+
def geographic_coverage_type=(geographic_coverage_type)
|
|
519
|
+
validator = EnumAttributeValidator.new('String', ["GLOBAL", "CONTINENTAL", "REGIONAL", "NATIONAL", "STATE", "LOCAL", "CUSTOM", "UNKNOWN"])
|
|
520
|
+
unless validator.valid?(geographic_coverage_type)
|
|
521
|
+
fail ArgumentError, "invalid value for \"geographic_coverage_type\", must be one of #{validator.allowable_values}."
|
|
522
|
+
end
|
|
523
|
+
@geographic_coverage_type = geographic_coverage_type
|
|
524
|
+
end
|
|
525
|
+
|
|
526
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
527
|
+
# @param [Object] data_source_refresh_frequency Object to be assigned
|
|
528
|
+
def data_source_refresh_frequency=(data_source_refresh_frequency)
|
|
529
|
+
validator = EnumAttributeValidator.new('String', ["EVERY_SECOND", "EVERY_MINUTE", "EVERY_HOUR", "EVERY_DAY", "EVERY_WEEK", "EVERY_MONTH", "EVERY_QUARTER", "EVERY_YEAR", "NEVER", "UNKNOWN"])
|
|
530
|
+
unless validator.valid?(data_source_refresh_frequency)
|
|
531
|
+
fail ArgumentError, "invalid value for \"data_source_refresh_frequency\", must be one of #{validator.allowable_values}."
|
|
532
|
+
end
|
|
533
|
+
@data_source_refresh_frequency = data_source_refresh_frequency
|
|
534
|
+
end
|
|
535
|
+
|
|
440
536
|
# Checks equality by comparing each attribute.
|
|
441
537
|
# @param [Object] Object to be compared
|
|
442
538
|
def ==(o)
|
|
@@ -453,24 +549,32 @@ module SparteraApiSdk
|
|
|
453
549
|
approved_by_user_id == o.approved_by_user_id &&
|
|
454
550
|
approved_at == o.approved_at &&
|
|
455
551
|
sell_in_marketplace == o.sell_in_marketplace &&
|
|
456
|
-
price_credits == o.price_credits &&
|
|
457
552
|
name == o.name &&
|
|
458
553
|
slug == o.slug &&
|
|
459
554
|
description == o.description &&
|
|
555
|
+
detailed_description == o.detailed_description &&
|
|
556
|
+
top_questions == o.top_questions &&
|
|
460
557
|
source_schema_name == o.source_schema_name &&
|
|
461
558
|
source_table_name == o.source_table_name &&
|
|
462
559
|
customer_name == o.customer_name &&
|
|
463
|
-
price_usd == o.price_usd &&
|
|
464
560
|
endpoint_schema == o.endpoint_schema &&
|
|
465
|
-
|
|
561
|
+
rate_limit_number == o.rate_limit_number &&
|
|
466
562
|
rate_limit_period == o.rate_limit_period &&
|
|
467
563
|
rate_limit_granularity == o.rate_limit_granularity &&
|
|
468
564
|
access_method == o.access_method &&
|
|
469
565
|
access_whitelist == o.access_whitelist &&
|
|
470
566
|
status == o.status &&
|
|
567
|
+
data_time_period_start == o.data_time_period_start &&
|
|
568
|
+
data_time_period_end == o.data_time_period_end &&
|
|
569
|
+
date_collection_start == o.date_collection_start &&
|
|
570
|
+
geographic_coverage_type == o.geographic_coverage_type &&
|
|
571
|
+
geographic_coverage_details == o.geographic_coverage_details &&
|
|
572
|
+
data_source_refresh_frequency == o.data_source_refresh_frequency &&
|
|
471
573
|
tags == o.tags &&
|
|
472
574
|
last_accessed == o.last_accessed &&
|
|
473
575
|
max_records_per_request == o.max_records_per_request &&
|
|
576
|
+
export_enabled == o.export_enabled &&
|
|
577
|
+
max_records_per_export == o.max_records_per_export &&
|
|
474
578
|
sample_response == o.sample_response &&
|
|
475
579
|
active == o.active
|
|
476
580
|
end
|
|
@@ -484,7 +588,7 @@ module SparteraApiSdk
|
|
|
484
588
|
# Calculates hash code according to all attributes.
|
|
485
589
|
# @return [Integer] Hash code
|
|
486
590
|
def hash
|
|
487
|
-
[date_created, last_updated, user_id, company_id, connection_id, industry_id, auc_id, approval_status, approved_by_user_id, approved_at, sell_in_marketplace,
|
|
591
|
+
[date_created, last_updated, user_id, company_id, connection_id, industry_id, auc_id, approval_status, approved_by_user_id, approved_at, sell_in_marketplace, name, slug, description, detailed_description, top_questions, source_schema_name, source_table_name, customer_name, endpoint_schema, rate_limit_number, rate_limit_period, rate_limit_granularity, access_method, access_whitelist, status, data_time_period_start, data_time_period_end, date_collection_start, geographic_coverage_type, geographic_coverage_details, data_source_refresh_frequency, tags, last_accessed, max_records_per_request, export_enabled, max_records_per_export, sample_response, active].hash
|
|
488
592
|
end
|
|
489
593
|
|
|
490
594
|
# Builds the object from hash
|