snaptrade 1.16.0 → 1.16.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -19,7 +19,7 @@ Delete SnapTrade user
19
19
  ```ruby
20
20
  require 'snaptrade'
21
21
 
22
- SnapTrade.client_id = "YOUR_CLIENT_ID"
22
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
23
23
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
24
24
 
25
25
  user_id = "John.doe@snaptrade.com"
@@ -74,7 +74,7 @@ Generate encrypted JWT token
74
74
  ```ruby
75
75
  require 'snaptrade'
76
76
 
77
- SnapTrade.client_id = "YOUR_CLIENT_ID"
77
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
78
78
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
79
79
 
80
80
  user_id = "John.doe@snaptrade.com"
@@ -134,7 +134,7 @@ List SnapTrade users
134
134
  ```ruby
135
135
  require 'snaptrade'
136
136
 
137
- SnapTrade.client_id = "YOUR_CLIENT_ID"
137
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
138
138
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
139
139
 
140
140
 
@@ -181,7 +181,7 @@ Login user & generate connection link
181
181
  ```ruby
182
182
  require 'snaptrade'
183
183
 
184
- SnapTrade.client_id = "YOUR_CLIENT_ID"
184
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
185
185
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
186
186
 
187
187
  user_id = "John.doe@snaptrade.com"
@@ -262,7 +262,7 @@ Create SnapTrade user
262
262
  ```ruby
263
263
  require 'snaptrade'
264
264
 
265
- SnapTrade.client_id = "YOUR_CLIENT_ID"
265
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
266
266
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
267
267
 
268
268
  user_id = "snaptrade-user-123"
@@ -18,7 +18,7 @@ Get brokerage authorization details
18
18
  ```ruby
19
19
  require 'snaptrade'
20
20
 
21
- SnapTrade.client_id = "YOUR_CLIENT_ID"
21
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
22
22
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
23
23
 
24
24
  authorization_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
@@ -83,7 +83,7 @@ List all brokerage authorizations for the user
83
83
  ```ruby
84
84
  require 'snaptrade'
85
85
 
86
- SnapTrade.client_id = "YOUR_CLIENT_ID"
86
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
87
87
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
88
88
 
89
89
  user_id = "John.doe@snaptrade.com"
@@ -143,7 +143,7 @@ Delete brokerage authorization
143
143
  ```ruby
144
144
  require 'snaptrade'
145
145
 
146
- SnapTrade.client_id = "YOUR_CLIENT_ID"
146
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
147
147
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
148
148
 
149
149
  authorization_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
@@ -207,7 +207,7 @@ List all session events for the partner
207
207
  ```ruby
208
208
  require 'snaptrade'
209
209
 
210
- SnapTrade.client_id = "YOUR_CLIENT_ID"
210
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
211
211
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
212
212
 
213
213
  partner_client_id = "SNAPTRADETEST"
data/docs/ErrorLogsApi.md CHANGED
@@ -15,7 +15,7 @@ Retrieve error logs on behalf of your SnapTrade users
15
15
  ```ruby
16
16
  require 'snaptrade'
17
17
 
18
- SnapTrade.client_id = "YOUR_CLIENT_ID"
18
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
19
19
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
20
20
 
21
21
  user_id = "John.doe@snaptrade.com"
@@ -1,20 +1,20 @@
1
- # SnapTrade::MonthlyDividends
2
-
3
- ## Properties
4
-
5
- | Name | Type | Description | Notes |
6
- | ---- | ---- | ----------- | ----- |
7
- | **date** | **Date** | Date used to specify timeframe for a reporting call (in YYYY-MM-DD format) | [optional] |
8
- | **dividends** | [**Array<DividendAtDate>**](DividendAtDate.md) | | [optional] |
9
-
10
- ## Example
11
-
12
- ```ruby
13
- require 'snaptrade'
14
-
15
- instance = SnapTrade::MonthlyDividends.new(
16
- date: Sun Jan 23 16:00:00 PST 2022,
17
- dividends: null
18
- )
19
- ```
20
-
1
+ # SnapTrade::MonthlyDividends
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **date** | **Date** | Date used to specify timeframe for a reporting call (in YYYY-MM-DD format) | [optional] |
8
+ | **dividends** | [**Array<DividendAtDate>**](DividendAtDate.md) | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'snaptrade'
14
+
15
+ instance = SnapTrade::MonthlyDividends.new(
16
+ date: Mon Jan 24 00:00:00 UTC 2022,
17
+ dividends: null
18
+ )
19
+ ```
20
+
@@ -1,22 +1,22 @@
1
- # SnapTrade::NetContributions
2
-
3
- ## Properties
4
-
5
- | Name | Type | Description | Notes |
6
- | ---- | ---- | ----------- | ----- |
7
- | **date** | **Date** | Date used to specify timeframe for a reporting call (in YYYY-MM-DD format) | [optional] |
8
- | **contributions** | **Float** | | [optional] |
9
- | **currency** | **String** | | [optional] |
10
-
11
- ## Example
12
-
13
- ```ruby
14
- require 'snaptrade'
15
-
16
- instance = SnapTrade::NetContributions.new(
17
- date: Sun Jan 23 16:00:00 PST 2022,
18
- contributions: 524.74,
19
- currency: CAD
20
- )
21
- ```
22
-
1
+ # SnapTrade::NetContributions
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **date** | **Date** | Date used to specify timeframe for a reporting call (in YYYY-MM-DD format) | [optional] |
8
+ | **contributions** | **Float** | | [optional] |
9
+ | **currency** | **String** | | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'snaptrade'
15
+
16
+ instance = SnapTrade::NetContributions.new(
17
+ date: Mon Jan 24 00:00:00 UTC 2022,
18
+ contributions: 524.74,
19
+ currency: CAD
20
+ )
21
+ ```
22
+
data/docs/OptionsApi.md CHANGED
@@ -19,7 +19,7 @@ Creates an option strategy object that will be used to place an option strategy
19
19
  ```ruby
20
20
  require 'snaptrade'
21
21
 
22
- SnapTrade.client_id = "YOUR_CLIENT_ID"
22
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
23
23
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
24
24
 
25
25
  underlying_symbol_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
@@ -109,7 +109,7 @@ Get the options chain
109
109
  ```ruby
110
110
  require 'snaptrade'
111
111
 
112
- SnapTrade.client_id = "YOUR_CLIENT_ID"
112
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
113
113
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
114
114
 
115
115
  user_id = "John.doe@snaptrade.com"
@@ -179,7 +179,7 @@ Get latest market data of option strategy
179
179
  ```ruby
180
180
  require 'snaptrade'
181
181
 
182
- SnapTrade.client_id = "YOUR_CLIENT_ID"
182
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
183
183
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
184
184
 
185
185
  user_id = "John.doe@snaptrade.com"
@@ -249,7 +249,7 @@ Get the options holdings in the account
249
249
  ```ruby
250
250
  require 'snaptrade'
251
251
 
252
- SnapTrade.client_id = "YOUR_CLIENT_ID"
252
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
253
253
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
254
254
 
255
255
  user_id = "John.doe@snaptrade.com"
@@ -314,7 +314,7 @@ Place an option strategy order on the brokerage
314
314
  ```ruby
315
315
  require 'snaptrade'
316
316
 
317
- SnapTrade.client_id = "YOUR_CLIENT_ID"
317
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
318
318
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
319
319
 
320
320
  order_type = "Limit"
data/docs/PastValue.md CHANGED
@@ -1,22 +1,22 @@
1
- # SnapTrade::PastValue
2
-
3
- ## Properties
4
-
5
- | Name | Type | Description | Notes |
6
- | ---- | ---- | ----------- | ----- |
7
- | **date** | **Date** | Date used to specify timeframe for a reporting call (in YYYY-MM-DD format) | [optional] |
8
- | **value** | **Float** | | [optional] |
9
- | **currency** | **String** | | [optional] |
10
-
11
- ## Example
12
-
13
- ```ruby
14
- require 'snaptrade'
15
-
16
- instance = SnapTrade::PastValue.new(
17
- date: Sun Jan 23 16:00:00 PST 2022,
18
- value: 52.74,
19
- currency: CAD
20
- )
21
- ```
22
-
1
+ # SnapTrade::PastValue
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **date** | **Date** | Date used to specify timeframe for a reporting call (in YYYY-MM-DD format) | [optional] |
8
+ | **value** | **Float** | | [optional] |
9
+ | **currency** | **String** | | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'snaptrade'
15
+
16
+ instance = SnapTrade::PastValue.new(
17
+ date: Mon Jan 24 00:00:00 UTC 2022,
18
+ value: 52.74,
19
+ currency: CAD
20
+ )
21
+ ```
22
+
@@ -25,7 +25,7 @@ Return the exchange rate of a currency pair
25
25
  ```ruby
26
26
  require 'snaptrade'
27
27
 
28
- SnapTrade.client_id = "YOUR_CLIENT_ID"
28
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
29
29
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
30
30
 
31
31
  currency_pair = "currencyPair_example"
@@ -80,7 +80,7 @@ Get metadata related to Snaptrade partner
80
80
  ```ruby
81
81
  require 'snaptrade'
82
82
 
83
- SnapTrade.client_id = "YOUR_CLIENT_ID"
83
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
84
84
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
85
85
 
86
86
 
@@ -127,7 +127,7 @@ List of all security types.
127
127
  ```ruby
128
128
  require 'snaptrade'
129
129
 
130
- SnapTrade.client_id = "YOUR_CLIENT_ID"
130
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
131
131
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
132
132
 
133
133
 
@@ -174,7 +174,7 @@ List exchanges
174
174
  ```ruby
175
175
  require 'snaptrade'
176
176
 
177
- SnapTrade.client_id = "YOUR_CLIENT_ID"
177
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
178
178
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
179
179
 
180
180
 
@@ -221,7 +221,7 @@ Search for symbols
221
221
  ```ruby
222
222
  require 'snaptrade'
223
223
 
224
- SnapTrade.client_id = "YOUR_CLIENT_ID"
224
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
225
225
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
226
226
 
227
227
  substring = "apple"
@@ -276,7 +276,7 @@ Get details of a symbol by the ticker
276
276
  ```ruby
277
277
  require 'snaptrade'
278
278
 
279
- SnapTrade.client_id = "YOUR_CLIENT_ID"
279
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
280
280
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
281
281
 
282
282
  ticker = "ticker_example"
@@ -336,7 +336,7 @@ List of all brokerage authorization types
336
336
  ```ruby
337
337
  require 'snaptrade'
338
338
 
339
- SnapTrade.client_id = "YOUR_CLIENT_ID"
339
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
340
340
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
341
341
 
342
342
  brokerage = "QUESTRADE,ALPACA"
@@ -391,7 +391,7 @@ List brokerages
391
391
  ```ruby
392
392
  require 'snaptrade'
393
393
 
394
- SnapTrade.client_id = "YOUR_CLIENT_ID"
394
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
395
395
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
396
396
 
397
397
 
@@ -438,7 +438,7 @@ List currencies
438
438
  ```ruby
439
439
  require 'snaptrade'
440
440
 
441
- SnapTrade.client_id = "YOUR_CLIENT_ID"
441
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
442
442
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
443
443
 
444
444
 
@@ -485,7 +485,7 @@ List currency exchange rates
485
485
  ```ruby
486
486
  require 'snaptrade'
487
487
 
488
- SnapTrade.client_id = "YOUR_CLIENT_ID"
488
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
489
489
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
490
490
 
491
491
 
@@ -532,7 +532,7 @@ Search for symbols available in an account
532
532
  ```ruby
533
533
  require 'snaptrade'
534
534
 
535
- SnapTrade.client_id = "YOUR_CLIENT_ID"
535
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
536
536
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
537
537
 
538
538
  user_id = "John.doe@snaptrade.com"
@@ -1,22 +1,22 @@
1
- # SnapTrade::SubPeriodReturnRate
2
-
3
- ## Properties
4
-
5
- | Name | Type | Description | Notes |
6
- | ---- | ---- | ----------- | ----- |
7
- | **period_start** | **Date** | Date used to specify timeframe for a reporting call (in YYYY-MM-DD format) | [optional] |
8
- | **period_end** | **Date** | Date used to specify timeframe for a reporting call (in YYYY-MM-DD format) | [optional] |
9
- | **rate_of_return** | **Float** | The return rate for the given period | [optional] |
10
-
11
- ## Example
12
-
13
- ```ruby
14
- require 'snaptrade'
15
-
16
- instance = SnapTrade::SubPeriodReturnRate.new(
17
- period_start: Sun Jan 23 16:00:00 PST 2022,
18
- period_end: Sun Jan 23 16:00:00 PST 2022,
19
- rate_of_return: 0.012312367452
20
- )
21
- ```
22
-
1
+ # SnapTrade::SubPeriodReturnRate
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **period_start** | **Date** | Date used to specify timeframe for a reporting call (in YYYY-MM-DD format) | [optional] |
8
+ | **period_end** | **Date** | Date used to specify timeframe for a reporting call (in YYYY-MM-DD format) | [optional] |
9
+ | **rate_of_return** | **Float** | The return rate for the given period | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'snaptrade'
15
+
16
+ instance = SnapTrade::SubPeriodReturnRate.new(
17
+ period_start: Mon Jan 24 00:00:00 UTC 2022,
18
+ period_end: Mon Jan 24 00:00:00 UTC 2022,
19
+ rate_of_return: 0.012312367452
20
+ )
21
+ ```
22
+
data/docs/TradingApi.md CHANGED
@@ -20,7 +20,7 @@ Cancel open order in account
20
20
  ```ruby
21
21
  require 'snaptrade'
22
22
 
23
- SnapTrade.client_id = "YOUR_CLIENT_ID"
23
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
24
24
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
25
25
 
26
26
  user_id = "John.doe@snaptrade.com"
@@ -90,7 +90,7 @@ Check impact of trades on account.
90
90
  ```ruby
91
91
  require 'snaptrade'
92
92
 
93
- SnapTrade.client_id = "YOUR_CLIENT_ID"
93
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
94
94
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
95
95
 
96
96
  user_id = "John.doe@snaptrade.com"
@@ -183,7 +183,7 @@ Get symbol quotes
183
183
  ```ruby
184
184
  require 'snaptrade'
185
185
 
186
- SnapTrade.client_id = "YOUR_CLIENT_ID"
186
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
187
187
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
188
188
 
189
189
  user_id = "John.doe@snaptrade.com"
@@ -258,7 +258,7 @@ Place a trade with NO validation.
258
258
  ```ruby
259
259
  require 'snaptrade'
260
260
 
261
- SnapTrade.client_id = "YOUR_CLIENT_ID"
261
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
262
262
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
263
263
 
264
264
  user_id = "John.doe@snaptrade.com"
@@ -351,7 +351,7 @@ Place a OCO (One Cancels Other) order
351
351
  ```ruby
352
352
  require 'snaptrade'
353
353
 
354
- SnapTrade.client_id = "YOUR_CLIENT_ID"
354
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
355
355
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
356
356
 
357
357
  user_id = "John.doe@snaptrade.com"
@@ -420,7 +420,7 @@ Place order
420
420
  ```ruby
421
421
  require 'snaptrade'
422
422
 
423
- SnapTrade.client_id = "YOUR_CLIENT_ID"
423
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
424
424
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
425
425
 
426
426
  trade_id = "tradeId_example"
@@ -18,7 +18,7 @@ Returns activities (transactions) for a user. Specifing start and end date is hi
18
18
  ```ruby
19
19
  require 'snaptrade'
20
20
 
21
- SnapTrade.client_id = "YOUR_CLIENT_ID"
21
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
22
22
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
23
23
 
24
24
  user_id = "John.doe@snaptrade.com"
@@ -105,7 +105,7 @@ Returns performance information (contributions, dividends, rate of return, etc)
105
105
  ```ruby
106
106
  require 'snaptrade'
107
107
 
108
- SnapTrade.client_id = "YOUR_CLIENT_ID"
108
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
109
109
  SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
110
110
 
111
111
  start_date = "2022-01-24"
@@ -1,20 +1,20 @@
1
- # SnapTrade::TransactionsStatus
2
-
3
- ## Properties
4
-
5
- | Name | Type | Description | Notes |
6
- | ---- | ---- | ----------- | ----- |
7
- | **initial_sync_completed** | **Boolean** | | [optional] |
8
- | **last_successful_sync** | **Date** | Date in YYYY-MM-DD format or null | [optional] |
9
-
10
- ## Example
11
-
12
- ```ruby
13
- require 'snaptrade'
14
-
15
- instance = SnapTrade::TransactionsStatus.new(
16
- initial_sync_completed: null,
17
- last_successful_sync: Sun Jan 23 16:00:00 PST 2022
18
- )
19
- ```
20
-
1
+ # SnapTrade::TransactionsStatus
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **initial_sync_completed** | **Boolean** | | [optional] |
8
+ | **last_successful_sync** | **Date** | Date in YYYY-MM-DD format or null | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'snaptrade'
14
+
15
+ instance = SnapTrade::TransactionsStatus.new(
16
+ initial_sync_completed: null,
17
+ last_successful_sync: Mon Jan 24 00:00:00 UTC 2022
18
+ )
19
+ ```
20
+
@@ -1,32 +1,32 @@
1
-
2
- =begin
3
- #SnapTrade
4
-
5
- #Connect brokerage accounts to your app for live positions and trading
6
-
7
- The version of the OpenAPI document: 1.0.0
8
- Contact: api@snaptrade.com
9
-
10
- =end
11
-
12
- require 'base64'
13
- require 'openssl'
14
-
15
- module SnapTrade
16
- class ApiClientCustom
17
- def self.request_hook(request, configuration)
18
- request.params[:timestamp] = Time.now.to_i
19
- path = request.path[request.path.index('/api/v1/')..-1]
20
- query = Faraday::Utils.build_query(request.params)
21
- sig_object = {
22
- "content" => request.body.nil? || request.body.empty? ? nil : JSON.parse(request.body),
23
- "path" => path,
24
- "query" => query
25
- }
26
- sig_content = JSON.generate(sig_object, sort_by: :to_s)
27
- sig_digest = OpenSSL::HMAC.digest(OpenSSL::Digest::SHA256.new, configuration.consumer_key, sig_content)
28
- signature = Base64.encode64(sig_digest).strip()
29
- request.headers[:Signature] = signature
30
- end
31
- end
32
- end
1
+
2
+ =begin
3
+ #SnapTrade
4
+
5
+ #Connect brokerage accounts to your app for live positions and trading
6
+
7
+ The version of the OpenAPI document: 1.0.0
8
+ Contact: api@snaptrade.com
9
+
10
+ =end
11
+
12
+ require 'base64'
13
+ require 'openssl'
14
+
15
+ module SnapTrade
16
+ class ApiClientCustom
17
+ def self.request_hook(request, configuration)
18
+ request.params[:timestamp] = Time.now.to_i
19
+ path = request.path[request.path.index('/api/v1/')..-1]
20
+ query = Faraday::Utils.build_query(request.params)
21
+ sig_object = {
22
+ "content" => request.body.nil? || request.body.empty? ? nil : JSON.parse(request.body),
23
+ "path" => path,
24
+ "query" => query
25
+ }
26
+ sig_content = JSON.generate(sig_object, sort_by: :to_s)
27
+ sig_digest = OpenSSL::HMAC.digest(OpenSSL::Digest::SHA256.new, configuration.consumer_key, sig_content)
28
+ signature = Base64.encode64(sig_digest).strip()
29
+ request.headers[:Signature] = signature
30
+ end
31
+ end
32
+ end