onesignal 5.16.0 → 5.18.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/CHANGELOG.md +14 -0
- data/Gemfile.lock +3 -3
- data/README.md +3 -3
- data/docs/DefaultApi.md +281 -26
- data/docs/DuplicateJourneyOverrides.md +30 -0
- data/docs/DuplicateJourneyRequest.md +18 -0
- data/docs/EmailMetrics.md +34 -0
- data/docs/EmailProviderMetrics.md +20 -0
- data/docs/EmailProviderMetricsEvent.md +20 -0
- data/docs/EmailProviderMetricsResponse.md +18 -0
- data/docs/EmailProviderMetricsTimeseriesResponse.md +18 -0
- data/docs/JourneyNode.md +2 -2
- data/docs/UpdateJourneyNodeRequest.md +2 -2
- data/lib/onesignal/api/default_api.rb +265 -6
- data/lib/onesignal/api_client.rb +24 -1
- data/lib/onesignal/configuration.rb +4 -2
- data/lib/onesignal/models/duplicate_journey_overrides.rb +282 -0
- data/lib/onesignal/models/duplicate_journey_request.rb +219 -0
- data/lib/onesignal/models/email_metrics.rb +300 -0
- data/lib/onesignal/models/email_provider_metrics.rb +229 -0
- data/lib/onesignal/models/email_provider_metrics_event.rb +229 -0
- data/lib/onesignal/models/email_provider_metrics_response.rb +222 -0
- data/lib/onesignal/models/email_provider_metrics_timeseries_response.rb +222 -0
- data/lib/onesignal/models/journey.rb +1 -1
- data/lib/onesignal/models/journey_node.rb +2 -2
- data/lib/onesignal/models/update_journey_node_request.rb +2 -2
- data/lib/onesignal/version.rb +1 -1
- data/lib/onesignal.rb +7 -0
- data/spec/api/default_api_spec.rb +49 -3
- data/spec/api_client_spec.rb +6 -6
- data/spec/models/duplicate_journey_overrides_spec.rb +69 -0
- data/spec/models/duplicate_journey_request_spec.rb +33 -0
- data/spec/models/email_metrics_spec.rb +81 -0
- data/spec/models/email_provider_metrics_event_spec.rb +39 -0
- data/spec/models/email_provider_metrics_response_spec.rb +33 -0
- data/spec/models/email_provider_metrics_spec.rb +39 -0
- data/spec/models/email_provider_metrics_timeseries_response_spec.rb +33 -0
- data/vendor/bundle/ruby/3.2.0/cache/date-3.6.0.gem +0 -0
- data/vendor/bundle/ruby/3.2.0/cache/io-console-0.9.4.gem +0 -0
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/byebug-13.0.0/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.6.0/date_core.so +0 -0
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.6.0/gem_make.out +26 -0
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{date-3.5.1 → date-3.6.0}/mkmf.log +55 -2
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{io-console-0.9.2 → io-console-0.9.4}/gem_make.out +12 -10
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.9.4/io/console.so +0 -0
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{io-console-0.9.2 → io-console-0.9.4}/mkmf.log +33 -6
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/jaro_winkler-1.5.6/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-5.5.0/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/racc-1.8.1/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.2.0/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/Makefile +1 -1
- data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/date_core.c +293 -77
- data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/date_parse.c +14 -4
- data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/date_strptime.c +13 -13
- data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/extconf.rb +6 -0
- data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/lib/date.rb +1 -1
- data/vendor/bundle/ruby/3.2.0/gems/date-3.6.0/lib/date_core.so +0 -0
- data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.2 → io-console-0.9.4}/ext/io/console/Makefile +3 -3
- data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.2 → io-console-0.9.4}/ext/io/console/console.c +101 -13
- data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.2 → io-console-0.9.4}/ext/io/console/extconf.rb +27 -2
- data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.2 → io-console-0.9.4}/lib/io/console/size.rb +4 -2
- data/vendor/bundle/ruby/3.2.0/gems/io-console-0.9.4/lib/io/console.so +0 -0
- data/vendor/bundle/ruby/3.2.0/specifications/{date-3.5.1.gemspec → date-3.6.0.gemspec} +3 -3
- data/vendor/bundle/ruby/3.2.0/specifications/{io-console-0.9.2.gemspec → io-console-0.9.4.gemspec} +3 -3
- metadata +158 -130
- data/vendor/bundle/ruby/3.2.0/cache/date-3.5.1.gem +0 -0
- data/vendor/bundle/ruby/3.2.0/cache/io-console-0.9.2.gem +0 -0
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.5.1/date_core.so +0 -0
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.5.1/gem_make.out +0 -24
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.9.2/io/console.so +0 -0
- data/vendor/bundle/ruby/3.2.0/gems/date-3.5.1/lib/date_core.so +0 -0
- data/vendor/bundle/ruby/3.2.0/gems/io-console-0.9.2/lib/io/console.so +0 -0
- /data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{date-3.5.1 → date-3.6.0}/gem.build_complete +0 -0
- /data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{io-console-0.9.2 → io-console-0.9.4}/gem.build_complete +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/BSDL +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/COPYING +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/README.md +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/date_strftime.c +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/date_tmx.h +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/prereq.mk +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/zonetab.h +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/zonetab.list +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.2 → io-console-0.9.4}/.document +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.2 → io-console-0.9.4}/BSDL +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.2 → io-console-0.9.4}/COPYING +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.2 → io-console-0.9.4}/README.md +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.2 → io-console-0.9.4}/ext/io/console/win32_vk.inc +0 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# OneSignal::EmailProviderMetricsResponse
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **providers** | [**Array<EmailProviderMetrics>**](EmailProviderMetrics.md) | One entry per inbox provider that received email from the domain during the reporting window. Empty when the domain is not found for the app or is not currently active for sending. | [optional] |
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
require 'onesignal'
|
|
13
|
+
|
|
14
|
+
instance = OneSignal::EmailProviderMetricsResponse.new(
|
|
15
|
+
providers: nil
|
|
16
|
+
)
|
|
17
|
+
```
|
|
18
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# OneSignal::EmailProviderMetricsTimeseriesResponse
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **events** | [**Array<EmailProviderMetricsEvent>**](EmailProviderMetricsEvent.md) | One entry for every time bucket in the reporting window, oldest first. Buckets with no email activity are included with all metrics set to `0`. Empty when the domain is not found for the app or is not currently active for sending. | [optional] |
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
require 'onesignal'
|
|
13
|
+
|
|
14
|
+
instance = OneSignal::EmailProviderMetricsTimeseriesResponse.new(
|
|
15
|
+
events: nil
|
|
16
|
+
)
|
|
17
|
+
```
|
|
18
|
+
|
data/docs/JourneyNode.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
| **id** | **String** | Server-assigned node UUID. Returned on reads. Required on update to keep an existing node. Rejected on create with a 400 validation error. | [optional] |
|
|
8
8
|
| **kind** | **String** | Node kind. Selects which other fields apply. | |
|
|
9
9
|
| **client_node_id** | **String** | Optional client-assigned identifier, unique within the journey. Use it to reference this node from elsewhere in the same request. Persisted and returned on reads. | [optional] |
|
|
10
|
-
| **annotation** | **String** | Optional free-text label, up to
|
|
10
|
+
| **annotation** | **String** | Optional free-text label, up to 1024 characters. Stored and returned as-is with no effect on journey behavior. | [optional] |
|
|
11
11
|
| **duration_seconds** | **Integer** | wait nodes: seconds to hold the user. Minimum 60, maximum 31556952 (1 year). | [optional] |
|
|
12
12
|
| **relative_to** | **String** | time_window nodes: schedule_in_timezone uses the configured windows; last_active_time holds relative to the user's last active time. | [optional] |
|
|
13
13
|
| **windows** | [**Array<JourneyTimeWindow>**](JourneyTimeWindow.md) | time_window nodes: one or more time windows. A window with no day_of_week applies to every day. Required when relative_to is schedule_in_timezone; omit when it is last_active_time. | [optional] |
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
| **webhook_id** | **String** | send_webhook nodes: UUID of the webhook to send. | [optional] |
|
|
20
20
|
| **assignments** | **Hash<String, String>** | tag nodes: tag key-value pairs to assign. An empty string value removes the tag. Keys are limited to 255 characters and values to 1024. | [optional] |
|
|
21
21
|
| **randomize_on_entry** | **Boolean** | split_range nodes: when true, assigns each user to a branch at random on entry. Defaults to false. | [optional] |
|
|
22
|
-
| **branches** | [**Array<JourneyBranch>**](JourneyBranch.md) | Branching nodes: nested branches. split_range requires 2-
|
|
22
|
+
| **branches** | [**Array<JourneyBranch>**](JourneyBranch.md) | Branching nodes: nested branches. split_range requires 2-25 weighted branches that sum to 100. yes_no requires exactly 2 branches. wait_until requires 1-25 condition branches. | [optional] |
|
|
23
23
|
| **expiration** | [**JourneyWaitUntilExpiration**](JourneyWaitUntilExpiration.md) | | [optional] |
|
|
24
24
|
|
|
25
25
|
## Example
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **client_node_id** | **String** | Optional client-assigned identifier, unique within the journey. Use it to reference this node from elsewhere in the same request. Persisted and returned on reads. | [optional] |
|
|
8
|
-
| **annotation** | **String** | Optional free-text label, up to
|
|
8
|
+
| **annotation** | **String** | Optional free-text label, up to 1024 characters. Stored and returned as-is with no effect on journey behavior. | [optional] |
|
|
9
9
|
| **duration_seconds** | **Integer** | wait nodes: seconds to hold the user. Minimum 60, maximum 31556952 (1 year). | [optional] |
|
|
10
10
|
| **relative_to** | **String** | time_window nodes: schedule_in_timezone uses the configured windows; last_active_time holds relative to the user's last active time. | [optional] |
|
|
11
11
|
| **windows** | [**Array<JourneyTimeWindow>**](JourneyTimeWindow.md) | time_window nodes: one or more time windows. A window with no day_of_week applies to every day. Required when relative_to is schedule_in_timezone; omit when it is last_active_time. | [optional] |
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
| **webhook_id** | **String** | send_webhook nodes: UUID of the webhook to send. | [optional] |
|
|
18
18
|
| **assignments** | **Hash<String, String>** | tag nodes: tag key-value pairs to assign. An empty string value removes the tag. Keys are limited to 255 characters and values to 1024. | [optional] |
|
|
19
19
|
| **randomize_on_entry** | **Boolean** | split_range nodes: when true, assigns each user to a branch at random on entry. Defaults to false. | [optional] |
|
|
20
|
-
| **branches** | [**Array<JourneyBranch>**](JourneyBranch.md) | Branching nodes: nested branches. split_range requires 2-
|
|
20
|
+
| **branches** | [**Array<JourneyBranch>**](JourneyBranch.md) | Branching nodes: nested branches. split_range requires 2-25 weighted branches that sum to 100. yes_no requires exactly 2 branches. wait_until requires 1-25 condition branches. | [optional] |
|
|
21
21
|
| **expiration** | [**JourneyWaitUntilExpiration**](JourneyWaitUntilExpiration.md) | | [optional] |
|
|
22
22
|
| **concurrency_key** | **String** | Optional optimistic-concurrency token. Pass the concurrency_key from a prior fetch to reject the update with 409 if the journey changed. Omit to skip the check. It is not merged onto the node. | [optional] |
|
|
23
23
|
|
|
@@ -1203,7 +1203,7 @@ module OneSignal
|
|
|
1203
1203
|
# Delete Segment
|
|
1204
1204
|
# Delete a segment (not user devices) - Required: OneSignal Paid Plan You can delete a segment under your app by calling this API. You must provide an API key in the Authorization header that has admin access on the app. The segment_id can be found in the URL of the segment when viewing it in the dashboard.
|
|
1205
1205
|
# @param app_id [String] The OneSignal App ID for your app. Available in Keys & IDs.
|
|
1206
|
-
# @param segment_id [String] The
|
|
1206
|
+
# @param segment_id [String] The segment's unique identifier. In the dashboard, go to Audience > Segments, open the segment's options menu, and select Copy segment ID. You can also get it from the View Segments API or the segment's URL in the dashboard.
|
|
1207
1207
|
# @param [Hash] opts the optional parameters
|
|
1208
1208
|
# @return [GenericSuccessBoolResponse]
|
|
1209
1209
|
def delete_segment(app_id, segment_id, opts = {})
|
|
@@ -1214,7 +1214,7 @@ module OneSignal
|
|
|
1214
1214
|
# Delete Segment
|
|
1215
1215
|
# Delete a segment (not user devices) - Required: OneSignal Paid Plan You can delete a segment under your app by calling this API. You must provide an API key in the Authorization header that has admin access on the app. The segment_id can be found in the URL of the segment when viewing it in the dashboard.
|
|
1216
1216
|
# @param app_id [String] The OneSignal App ID for your app. Available in Keys & IDs.
|
|
1217
|
-
# @param segment_id [String] The
|
|
1217
|
+
# @param segment_id [String] The segment's unique identifier. In the dashboard, go to Audience > Segments, open the segment's options menu, and select Copy segment ID. You can also get it from the View Segments API or the segment's URL in the dashboard.
|
|
1218
1218
|
# @param [Hash] opts the optional parameters
|
|
1219
1219
|
# @return [Array<(GenericSuccessBoolResponse, Integer, Hash)>] GenericSuccessBoolResponse data, response status code and response headers
|
|
1220
1220
|
def delete_segment_with_http_info(app_id, segment_id, opts = {})
|
|
@@ -1479,6 +1479,82 @@ module OneSignal
|
|
|
1479
1479
|
return data, status_code, headers
|
|
1480
1480
|
end
|
|
1481
1481
|
|
|
1482
|
+
# Duplicate journey
|
|
1483
|
+
# The Journeys API is in beta. Endpoints and response fields can still change. Copy an existing journey into a new draft. The source does not change. The copy is always a draft, and started_at and archived_at are null. If you omit the body, or omit overrides, the copy keeps the source description, audience, nodes, early_exit, and reentry_rules. The copy takes the source name plus \" (Copy)\". The copy does not keep schedule. Send schedule under overrides to set it. Server-controlled fields are rejected with 400. The authenticated App API key must have permission to create journeys.
|
|
1484
|
+
# @param app_id [String] Your OneSignal App ID in UUID v4 format.
|
|
1485
|
+
# @param journey_id [String] UUID of the journey to copy.
|
|
1486
|
+
# @param [Hash] opts the optional parameters
|
|
1487
|
+
# @option opts [DuplicateJourneyRequest] :duplicate_journey_request
|
|
1488
|
+
# @return [Journey]
|
|
1489
|
+
def duplicate_journey(app_id, journey_id, opts = {})
|
|
1490
|
+
data, _status_code, _headers = duplicate_journey_with_http_info(app_id, journey_id, opts)
|
|
1491
|
+
data
|
|
1492
|
+
end
|
|
1493
|
+
|
|
1494
|
+
# Duplicate journey
|
|
1495
|
+
# The Journeys API is in beta. Endpoints and response fields can still change. Copy an existing journey into a new draft. The source does not change. The copy is always a draft, and started_at and archived_at are null. If you omit the body, or omit overrides, the copy keeps the source description, audience, nodes, early_exit, and reentry_rules. The copy takes the source name plus \" (Copy)\". The copy does not keep schedule. Send schedule under overrides to set it. Server-controlled fields are rejected with 400. The authenticated App API key must have permission to create journeys.
|
|
1496
|
+
# @param app_id [String] Your OneSignal App ID in UUID v4 format.
|
|
1497
|
+
# @param journey_id [String] UUID of the journey to copy.
|
|
1498
|
+
# @param [Hash] opts the optional parameters
|
|
1499
|
+
# @option opts [DuplicateJourneyRequest] :duplicate_journey_request
|
|
1500
|
+
# @return [Array<(Journey, Integer, Hash)>] Journey data, response status code and response headers
|
|
1501
|
+
def duplicate_journey_with_http_info(app_id, journey_id, opts = {})
|
|
1502
|
+
if @api_client.config.debugging
|
|
1503
|
+
@api_client.config.logger.debug 'Calling API: DefaultApi.duplicate_journey ...'
|
|
1504
|
+
end
|
|
1505
|
+
# verify the required parameter 'app_id' is set
|
|
1506
|
+
if @api_client.config.client_side_validation && app_id.nil?
|
|
1507
|
+
fail ArgumentError, "Missing the required parameter 'app_id' when calling DefaultApi.duplicate_journey"
|
|
1508
|
+
end
|
|
1509
|
+
# verify the required parameter 'journey_id' is set
|
|
1510
|
+
if @api_client.config.client_side_validation && journey_id.nil?
|
|
1511
|
+
fail ArgumentError, "Missing the required parameter 'journey_id' when calling DefaultApi.duplicate_journey"
|
|
1512
|
+
end
|
|
1513
|
+
# resource path
|
|
1514
|
+
local_var_path = '/apps/{app_id}/journeys/{journey_id}/duplicate'.sub('{' + 'app_id' + '}', CGI.escape(app_id.to_s)).sub('{' + 'journey_id' + '}', CGI.escape(journey_id.to_s))
|
|
1515
|
+
|
|
1516
|
+
# query parameters
|
|
1517
|
+
query_params = opts[:query_params] || {}
|
|
1518
|
+
|
|
1519
|
+
# header parameters
|
|
1520
|
+
header_params = opts[:header_params] || {}
|
|
1521
|
+
# HTTP header 'Accept' (if needed)
|
|
1522
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
1523
|
+
# HTTP header 'Content-Type'
|
|
1524
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
1525
|
+
if !content_type.nil?
|
|
1526
|
+
header_params['Content-Type'] = content_type
|
|
1527
|
+
end
|
|
1528
|
+
|
|
1529
|
+
# form parameters
|
|
1530
|
+
form_params = opts[:form_params] || {}
|
|
1531
|
+
|
|
1532
|
+
# http body (model)
|
|
1533
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'duplicate_journey_request'])
|
|
1534
|
+
|
|
1535
|
+
# return_type
|
|
1536
|
+
return_type = opts[:debug_return_type] || 'Journey'
|
|
1537
|
+
|
|
1538
|
+
# auth_names
|
|
1539
|
+
auth_names = opts[:debug_auth_names] || ['rest_api_key']
|
|
1540
|
+
|
|
1541
|
+
new_options = opts.merge(
|
|
1542
|
+
:operation => :"DefaultApi.duplicate_journey",
|
|
1543
|
+
:header_params => header_params,
|
|
1544
|
+
:query_params => query_params,
|
|
1545
|
+
:form_params => form_params,
|
|
1546
|
+
:body => post_body,
|
|
1547
|
+
:auth_names => auth_names,
|
|
1548
|
+
:return_type => return_type
|
|
1549
|
+
)
|
|
1550
|
+
|
|
1551
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
1552
|
+
if @api_client.config.debugging
|
|
1553
|
+
@api_client.config.logger.debug "API called: DefaultApi#duplicate_journey\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
1554
|
+
end
|
|
1555
|
+
return data, status_code, headers
|
|
1556
|
+
end
|
|
1557
|
+
|
|
1482
1558
|
# Estimate notification recipients
|
|
1483
1559
|
# Returns the estimated number of recipients for a notification's targeting, without creating or sending anything. The returned `count` reflects the same audience-size estimate you would see under \"Choose your target audience\" when composing a message. It is based on the user targeting method you've set and the specific platforms the message is targeted to send to. This endpoint only supports a subset of targeting parameters: `included_segments` is required (its `\"All\"` shorthand targets every subscriber), and `excluded_segments`, `filters`, `include_aliases`, and `target_channel` narrow that audience further. Use `target_channel` to select platforms. `include_subscription_ids` and the other raw subscription id/token fields, and the individual `isIos` / `isAndroid` / etc. platform flags, are not supported. All other notification fields (content, delivery options, and so on) are accepted, but ignored.
|
|
1484
1560
|
# @param estimate_notification_recipients_request [EstimateNotificationRecipientsRequest]
|
|
@@ -1947,6 +2023,189 @@ module OneSignal
|
|
|
1947
2023
|
return data, status_code, headers
|
|
1948
2024
|
end
|
|
1949
2025
|
|
|
2026
|
+
# Get email inbox provider metrics
|
|
2027
|
+
# Email delivery, opens, clicks, bounces, failures, and spam complaints broken down by inbox provider (Gmail, Outlook, Yahoo, Apple, and more) to pinpoint where deliverability problems are coming from. Metrics are reported for a single sending domain over the requested time range. `start` must be before `end` and no more than 365 days ago. `providers` is empty when the domain is not found for the app or is not currently active for sending.
|
|
2028
|
+
# @param app_id [String] Your OneSignal App ID in UUID v4 format.
|
|
2029
|
+
# @param domain [String] The sending domain to report on. Must be an email domain configured for this app.
|
|
2030
|
+
# @param start [Time] Start of the reporting window, as an ISO 8601 timestamp (for example, `2026-08-01T00:00:00Z`).
|
|
2031
|
+
# @param _end [Time] End of the reporting window, as an ISO 8601 timestamp (for example, `2026-08-08T00:00:00Z`).
|
|
2032
|
+
# @param [Hash] opts the optional parameters
|
|
2033
|
+
# @return [EmailProviderMetricsResponse]
|
|
2034
|
+
def get_email_provider_metrics(app_id, domain, start, _end, opts = {})
|
|
2035
|
+
data, _status_code, _headers = get_email_provider_metrics_with_http_info(app_id, domain, start, _end, opts)
|
|
2036
|
+
data
|
|
2037
|
+
end
|
|
2038
|
+
|
|
2039
|
+
# Get email inbox provider metrics
|
|
2040
|
+
# Email delivery, opens, clicks, bounces, failures, and spam complaints broken down by inbox provider (Gmail, Outlook, Yahoo, Apple, and more) to pinpoint where deliverability problems are coming from. Metrics are reported for a single sending domain over the requested time range. `start` must be before `end` and no more than 365 days ago. `providers` is empty when the domain is not found for the app or is not currently active for sending.
|
|
2041
|
+
# @param app_id [String] Your OneSignal App ID in UUID v4 format.
|
|
2042
|
+
# @param domain [String] The sending domain to report on. Must be an email domain configured for this app.
|
|
2043
|
+
# @param start [Time] Start of the reporting window, as an ISO 8601 timestamp (for example, `2026-08-01T00:00:00Z`).
|
|
2044
|
+
# @param _end [Time] End of the reporting window, as an ISO 8601 timestamp (for example, `2026-08-08T00:00:00Z`).
|
|
2045
|
+
# @param [Hash] opts the optional parameters
|
|
2046
|
+
# @return [Array<(EmailProviderMetricsResponse, Integer, Hash)>] EmailProviderMetricsResponse data, response status code and response headers
|
|
2047
|
+
def get_email_provider_metrics_with_http_info(app_id, domain, start, _end, opts = {})
|
|
2048
|
+
if @api_client.config.debugging
|
|
2049
|
+
@api_client.config.logger.debug 'Calling API: DefaultApi.get_email_provider_metrics ...'
|
|
2050
|
+
end
|
|
2051
|
+
# verify the required parameter 'app_id' is set
|
|
2052
|
+
if @api_client.config.client_side_validation && app_id.nil?
|
|
2053
|
+
fail ArgumentError, "Missing the required parameter 'app_id' when calling DefaultApi.get_email_provider_metrics"
|
|
2054
|
+
end
|
|
2055
|
+
# verify the required parameter 'domain' is set
|
|
2056
|
+
if @api_client.config.client_side_validation && domain.nil?
|
|
2057
|
+
fail ArgumentError, "Missing the required parameter 'domain' when calling DefaultApi.get_email_provider_metrics"
|
|
2058
|
+
end
|
|
2059
|
+
# verify the required parameter 'start' is set
|
|
2060
|
+
if @api_client.config.client_side_validation && start.nil?
|
|
2061
|
+
fail ArgumentError, "Missing the required parameter 'start' when calling DefaultApi.get_email_provider_metrics"
|
|
2062
|
+
end
|
|
2063
|
+
# verify the required parameter '_end' is set
|
|
2064
|
+
if @api_client.config.client_side_validation && _end.nil?
|
|
2065
|
+
fail ArgumentError, "Missing the required parameter '_end' when calling DefaultApi.get_email_provider_metrics"
|
|
2066
|
+
end
|
|
2067
|
+
# resource path
|
|
2068
|
+
local_var_path = '/apps/{app_id}/email_analytics/provider_metrics'.sub('{' + 'app_id' + '}', CGI.escape(app_id.to_s))
|
|
2069
|
+
|
|
2070
|
+
# query parameters
|
|
2071
|
+
query_params = opts[:query_params] || {}
|
|
2072
|
+
query_params[:'domain'] = domain
|
|
2073
|
+
query_params[:'start'] = start
|
|
2074
|
+
query_params[:'end'] = _end
|
|
2075
|
+
|
|
2076
|
+
# header parameters
|
|
2077
|
+
header_params = opts[:header_params] || {}
|
|
2078
|
+
# HTTP header 'Accept' (if needed)
|
|
2079
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
2080
|
+
|
|
2081
|
+
# form parameters
|
|
2082
|
+
form_params = opts[:form_params] || {}
|
|
2083
|
+
|
|
2084
|
+
# http body (model)
|
|
2085
|
+
post_body = opts[:debug_body]
|
|
2086
|
+
|
|
2087
|
+
# return_type
|
|
2088
|
+
return_type = opts[:debug_return_type] || 'EmailProviderMetricsResponse'
|
|
2089
|
+
|
|
2090
|
+
# auth_names
|
|
2091
|
+
auth_names = opts[:debug_auth_names] || ['rest_api_key']
|
|
2092
|
+
|
|
2093
|
+
new_options = opts.merge(
|
|
2094
|
+
:operation => :"DefaultApi.get_email_provider_metrics",
|
|
2095
|
+
:header_params => header_params,
|
|
2096
|
+
:query_params => query_params,
|
|
2097
|
+
:form_params => form_params,
|
|
2098
|
+
:body => post_body,
|
|
2099
|
+
:auth_names => auth_names,
|
|
2100
|
+
:return_type => return_type
|
|
2101
|
+
)
|
|
2102
|
+
|
|
2103
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
2104
|
+
if @api_client.config.debugging
|
|
2105
|
+
@api_client.config.logger.debug "API called: DefaultApi#get_email_provider_metrics\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
2106
|
+
end
|
|
2107
|
+
return data, status_code, headers
|
|
2108
|
+
end
|
|
2109
|
+
|
|
2110
|
+
# Get email inbox provider metrics over time
|
|
2111
|
+
# Email delivery, opens, clicks, bounces, failures, and spam complaints for a sending domain over time, bucketed by hour, day, or month. Use `providers[]` to narrow the totals to specific inbox providers (Gmail, Outlook, Yahoo, Apple, and more) and track how deliverability to them changes. Each event's metrics are totaled across the requested providers, or across all providers when none are given. `start` must be before `end` and no more than 365 days ago, or 60 days ago for `hourly` granularity. `events` is empty when the domain is not found for the app or is not currently active for sending.
|
|
2112
|
+
# @param app_id [String] Your OneSignal App ID in UUID v4 format.
|
|
2113
|
+
# @param domain [String] The sending domain to report on. Must be an email domain configured for this app.
|
|
2114
|
+
# @param start [Time] Start of the reporting window, as an ISO 8601 timestamp (for example, `2026-08-01T00:00:00Z`).
|
|
2115
|
+
# @param _end [Time] End of the reporting window, as an ISO 8601 timestamp (for example, `2026-08-08T00:00:00Z`).
|
|
2116
|
+
# @param granularity [String] The size of each time bucket. Hourly data is only available for the last 60 days.
|
|
2117
|
+
# @param [Hash] opts the optional parameters
|
|
2118
|
+
# @option opts [Array<String>] :providers Inbox providers to include in the totals. Omit to include all providers. Accepted values: `apple`, `att`, `canadian`, `chinese`, `comcast`, `free_fr`, `french`, `german`, `gmail`, `google_workspace`, `googlers`, `inbox_lv`, `italian`, `japanese`, `outlook_365`, `outlook_eu`, `outlook_us`, `proton`, `rackspace`, `russian`, `uk`, `united_online`, `yahoo_eu`, `yahoo_us`, `other_eu`, `other_us`, and `other`. Example: providers[]=gmail&providers[]=yahoo_us
|
|
2119
|
+
# @return [EmailProviderMetricsTimeseriesResponse]
|
|
2120
|
+
def get_email_provider_metrics_timeseries(app_id, domain, start, _end, granularity, opts = {})
|
|
2121
|
+
data, _status_code, _headers = get_email_provider_metrics_timeseries_with_http_info(app_id, domain, start, _end, granularity, opts)
|
|
2122
|
+
data
|
|
2123
|
+
end
|
|
2124
|
+
|
|
2125
|
+
# Get email inbox provider metrics over time
|
|
2126
|
+
# Email delivery, opens, clicks, bounces, failures, and spam complaints for a sending domain over time, bucketed by hour, day, or month. Use `providers[]` to narrow the totals to specific inbox providers (Gmail, Outlook, Yahoo, Apple, and more) and track how deliverability to them changes. Each event's metrics are totaled across the requested providers, or across all providers when none are given. `start` must be before `end` and no more than 365 days ago, or 60 days ago for `hourly` granularity. `events` is empty when the domain is not found for the app or is not currently active for sending.
|
|
2127
|
+
# @param app_id [String] Your OneSignal App ID in UUID v4 format.
|
|
2128
|
+
# @param domain [String] The sending domain to report on. Must be an email domain configured for this app.
|
|
2129
|
+
# @param start [Time] Start of the reporting window, as an ISO 8601 timestamp (for example, `2026-08-01T00:00:00Z`).
|
|
2130
|
+
# @param _end [Time] End of the reporting window, as an ISO 8601 timestamp (for example, `2026-08-08T00:00:00Z`).
|
|
2131
|
+
# @param granularity [String] The size of each time bucket. Hourly data is only available for the last 60 days.
|
|
2132
|
+
# @param [Hash] opts the optional parameters
|
|
2133
|
+
# @option opts [Array<String>] :providers Inbox providers to include in the totals. Omit to include all providers. Accepted values: `apple`, `att`, `canadian`, `chinese`, `comcast`, `free_fr`, `french`, `german`, `gmail`, `google_workspace`, `googlers`, `inbox_lv`, `italian`, `japanese`, `outlook_365`, `outlook_eu`, `outlook_us`, `proton`, `rackspace`, `russian`, `uk`, `united_online`, `yahoo_eu`, `yahoo_us`, `other_eu`, `other_us`, and `other`. Example: providers[]=gmail&providers[]=yahoo_us
|
|
2134
|
+
# @return [Array<(EmailProviderMetricsTimeseriesResponse, Integer, Hash)>] EmailProviderMetricsTimeseriesResponse data, response status code and response headers
|
|
2135
|
+
def get_email_provider_metrics_timeseries_with_http_info(app_id, domain, start, _end, granularity, opts = {})
|
|
2136
|
+
if @api_client.config.debugging
|
|
2137
|
+
@api_client.config.logger.debug 'Calling API: DefaultApi.get_email_provider_metrics_timeseries ...'
|
|
2138
|
+
end
|
|
2139
|
+
# verify the required parameter 'app_id' is set
|
|
2140
|
+
if @api_client.config.client_side_validation && app_id.nil?
|
|
2141
|
+
fail ArgumentError, "Missing the required parameter 'app_id' when calling DefaultApi.get_email_provider_metrics_timeseries"
|
|
2142
|
+
end
|
|
2143
|
+
# verify the required parameter 'domain' is set
|
|
2144
|
+
if @api_client.config.client_side_validation && domain.nil?
|
|
2145
|
+
fail ArgumentError, "Missing the required parameter 'domain' when calling DefaultApi.get_email_provider_metrics_timeseries"
|
|
2146
|
+
end
|
|
2147
|
+
# verify the required parameter 'start' is set
|
|
2148
|
+
if @api_client.config.client_side_validation && start.nil?
|
|
2149
|
+
fail ArgumentError, "Missing the required parameter 'start' when calling DefaultApi.get_email_provider_metrics_timeseries"
|
|
2150
|
+
end
|
|
2151
|
+
# verify the required parameter '_end' is set
|
|
2152
|
+
if @api_client.config.client_side_validation && _end.nil?
|
|
2153
|
+
fail ArgumentError, "Missing the required parameter '_end' when calling DefaultApi.get_email_provider_metrics_timeseries"
|
|
2154
|
+
end
|
|
2155
|
+
# verify the required parameter 'granularity' is set
|
|
2156
|
+
if @api_client.config.client_side_validation && granularity.nil?
|
|
2157
|
+
fail ArgumentError, "Missing the required parameter 'granularity' when calling DefaultApi.get_email_provider_metrics_timeseries"
|
|
2158
|
+
end
|
|
2159
|
+
# verify enum value
|
|
2160
|
+
allowable_values = ["hourly", "daily", "monthly"]
|
|
2161
|
+
if @api_client.config.client_side_validation && !allowable_values.include?(granularity)
|
|
2162
|
+
fail ArgumentError, "invalid value for \"granularity\", must be one of #{allowable_values}"
|
|
2163
|
+
end
|
|
2164
|
+
# resource path
|
|
2165
|
+
local_var_path = '/apps/{app_id}/email_analytics/provider_metrics_timeseries'.sub('{' + 'app_id' + '}', CGI.escape(app_id.to_s))
|
|
2166
|
+
|
|
2167
|
+
# query parameters
|
|
2168
|
+
query_params = opts[:query_params] || {}
|
|
2169
|
+
query_params[:'domain'] = domain
|
|
2170
|
+
query_params[:'start'] = start
|
|
2171
|
+
query_params[:'end'] = _end
|
|
2172
|
+
query_params[:'granularity'] = granularity
|
|
2173
|
+
query_params[:'providers[]'] = @api_client.build_collection_param(opts[:'providers'], :multi) if !opts[:'providers'].nil?
|
|
2174
|
+
|
|
2175
|
+
# header parameters
|
|
2176
|
+
header_params = opts[:header_params] || {}
|
|
2177
|
+
# HTTP header 'Accept' (if needed)
|
|
2178
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
2179
|
+
|
|
2180
|
+
# form parameters
|
|
2181
|
+
form_params = opts[:form_params] || {}
|
|
2182
|
+
|
|
2183
|
+
# http body (model)
|
|
2184
|
+
post_body = opts[:debug_body]
|
|
2185
|
+
|
|
2186
|
+
# return_type
|
|
2187
|
+
return_type = opts[:debug_return_type] || 'EmailProviderMetricsTimeseriesResponse'
|
|
2188
|
+
|
|
2189
|
+
# auth_names
|
|
2190
|
+
auth_names = opts[:debug_auth_names] || ['rest_api_key']
|
|
2191
|
+
|
|
2192
|
+
new_options = opts.merge(
|
|
2193
|
+
:operation => :"DefaultApi.get_email_provider_metrics_timeseries",
|
|
2194
|
+
:header_params => header_params,
|
|
2195
|
+
:query_params => query_params,
|
|
2196
|
+
:form_params => form_params,
|
|
2197
|
+
:body => post_body,
|
|
2198
|
+
:auth_names => auth_names,
|
|
2199
|
+
:return_type => return_type
|
|
2200
|
+
)
|
|
2201
|
+
|
|
2202
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
2203
|
+
if @api_client.config.debugging
|
|
2204
|
+
@api_client.config.logger.debug "API called: DefaultApi#get_email_provider_metrics_timeseries\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
2205
|
+
end
|
|
2206
|
+
return data, status_code, headers
|
|
2207
|
+
end
|
|
2208
|
+
|
|
1950
2209
|
# Get email reputation statistics
|
|
1951
2210
|
# The email bounce and spam complaint rates received for the app over the last 24 hours, 7 days, and 30 days. Rates are expressed as fractions of successfully delivered emails (for example, `0.02` means 2%). A window reports `0` for both rates when the app has not successfully delivered any email in that period.
|
|
1952
2211
|
# @param app_id [String] Your OneSignal App ID in UUID v4 format.
|
|
@@ -2319,7 +2578,7 @@ module OneSignal
|
|
|
2319
2578
|
# View Segment
|
|
2320
2579
|
# Retrieve details for a single segment by its ID, including subscriber count and optionally segment metadata and filters.
|
|
2321
2580
|
# @param app_id [String] The OneSignal App ID for your app. Available in Keys & IDs.
|
|
2322
|
-
# @param segment_id [String] The segment's unique identifier.
|
|
2581
|
+
# @param segment_id [String] The segment's unique identifier. In the dashboard, go to Audience > Segments, open the segment's options menu, and select Copy segment ID. You can also get it from the View Segments API or the segment's URL in the dashboard.
|
|
2323
2582
|
# @param [Hash] opts the optional parameters
|
|
2324
2583
|
# @option opts [Boolean] :include_segment_detail Set to true to include segment metadata and filters in the response.
|
|
2325
2584
|
# @return [GetSegmentSuccessResponse]
|
|
@@ -2331,7 +2590,7 @@ module OneSignal
|
|
|
2331
2590
|
# View Segment
|
|
2332
2591
|
# Retrieve details for a single segment by its ID, including subscriber count and optionally segment metadata and filters.
|
|
2333
2592
|
# @param app_id [String] The OneSignal App ID for your app. Available in Keys & IDs.
|
|
2334
|
-
# @param segment_id [String] The segment's unique identifier.
|
|
2593
|
+
# @param segment_id [String] The segment's unique identifier. In the dashboard, go to Audience > Segments, open the segment's options menu, and select Copy segment ID. You can also get it from the View Segments API or the segment's URL in the dashboard.
|
|
2335
2594
|
# @param [Hash] opts the optional parameters
|
|
2336
2595
|
# @option opts [Boolean] :include_segment_detail Set to true to include segment metadata and filters in the response.
|
|
2337
2596
|
# @return [Array<(GetSegmentSuccessResponse, Integer, Hash)>] GetSegmentSuccessResponse data, response status code and response headers
|
|
@@ -3360,7 +3619,7 @@ module OneSignal
|
|
|
3360
3619
|
# Update Segment
|
|
3361
3620
|
# Update an existing segment's name and/or filters. The name parameter is always required. When filters are provided, all existing filters are replaced with the new ones.
|
|
3362
3621
|
# @param app_id [String] The OneSignal App ID for your app. Available in Keys & IDs.
|
|
3363
|
-
# @param segment_id [String] The segment's unique identifier.
|
|
3622
|
+
# @param segment_id [String] The segment's unique identifier. In the dashboard, go to Audience > Segments, open the segment's options menu, and select Copy segment ID. You can also get it from the View Segments API or the segment's URL in the dashboard.
|
|
3364
3623
|
# @param [Hash] opts the optional parameters
|
|
3365
3624
|
# @option opts [UpdateSegmentRequest] :update_segment_request
|
|
3366
3625
|
# @return [UpdateSegmentSuccessResponse]
|
|
@@ -3372,7 +3631,7 @@ module OneSignal
|
|
|
3372
3631
|
# Update Segment
|
|
3373
3632
|
# Update an existing segment's name and/or filters. The name parameter is always required. When filters are provided, all existing filters are replaced with the new ones.
|
|
3374
3633
|
# @param app_id [String] The OneSignal App ID for your app. Available in Keys & IDs.
|
|
3375
|
-
# @param segment_id [String] The segment's unique identifier.
|
|
3634
|
+
# @param segment_id [String] The segment's unique identifier. In the dashboard, go to Audience > Segments, open the segment's options menu, and select Copy segment ID. You can also get it from the View Segments API or the segment's URL in the dashboard.
|
|
3376
3635
|
# @param [Hash] opts the optional parameters
|
|
3377
3636
|
# @option opts [UpdateSegmentRequest] :update_segment_request
|
|
3378
3637
|
# @return [Array<(UpdateSegmentSuccessResponse, Integer, Hash)>] UpdateSegmentSuccessResponse data, response status code and response headers
|
data/lib/onesignal/api_client.rb
CHANGED
|
@@ -89,13 +89,14 @@ module OneSignal
|
|
|
89
89
|
url = build_request_url(path, opts)
|
|
90
90
|
http_method = http_method.to_sym.downcase
|
|
91
91
|
|
|
92
|
-
opts[:header_params]['OS-Usage-Data'] = 'kind=sdk, sdk-name=onesignal-ruby, version=5.
|
|
92
|
+
opts[:header_params]['OS-Usage-Data'] = 'kind=sdk, sdk-name=onesignal-ruby, version=5.18.0'
|
|
93
93
|
header_params = @default_headers.merge(opts[:header_params] || {})
|
|
94
94
|
query_params = opts[:query_params] || {}
|
|
95
95
|
form_params = opts[:form_params] || {}
|
|
96
96
|
follow_location = opts[:follow_location] || true
|
|
97
97
|
|
|
98
98
|
update_params_for_auth! header_params, query_params, opts[:auth_names]
|
|
99
|
+
query_params = serialize_query_params(query_params)
|
|
99
100
|
|
|
100
101
|
# set ssl_verifyhosts option based on @config.verify_ssl_host (true/false)
|
|
101
102
|
_verify_ssl_host = @config.verify_ssl_host ? 2 : 0
|
|
@@ -388,5 +389,27 @@ module OneSignal
|
|
|
388
389
|
fail "unknown collection format: #{collection_format.inspect}"
|
|
389
390
|
end
|
|
390
391
|
end
|
|
392
|
+
|
|
393
|
+
# Serialize query parameter values for the wire.
|
|
394
|
+
# Time, DateTime and Date values are sent as ISO 8601 (Time#to_s is not),
|
|
395
|
+
# including inside arrays; other values are passed through unchanged.
|
|
396
|
+
# @param [Hash] query_params Query parameters
|
|
397
|
+
# @return [Hash] Query parameters with serialized values
|
|
398
|
+
def serialize_query_params(query_params)
|
|
399
|
+
query_params.transform_values { |value| serialize_query_value(value) }
|
|
400
|
+
end
|
|
401
|
+
|
|
402
|
+
# @param [Object] value Query parameter value
|
|
403
|
+
# @return [Object] ISO 8601 string for Time/Date values, the value otherwise
|
|
404
|
+
def serialize_query_value(value)
|
|
405
|
+
case value
|
|
406
|
+
when Array
|
|
407
|
+
value.map { |item| serialize_query_value(item) }
|
|
408
|
+
when Time, Date
|
|
409
|
+
value.iso8601
|
|
410
|
+
else
|
|
411
|
+
value
|
|
412
|
+
end
|
|
413
|
+
end
|
|
391
414
|
end
|
|
392
415
|
end
|
|
@@ -102,7 +102,9 @@ module OneSignal
|
|
|
102
102
|
attr_accessor :key_file
|
|
103
103
|
|
|
104
104
|
# Set this to customize parameters encoding of array parameter with multi collectionFormat.
|
|
105
|
-
#
|
|
105
|
+
# Defaults to :multi, which sends arrays as repeated keys (ids=a&ids=b), matching
|
|
106
|
+
# OpenAPI `style: form, explode: true`. nil falls back to Ethon's default
|
|
107
|
+
# (ids[0]=a&ids[1]=b).
|
|
106
108
|
#
|
|
107
109
|
# @see The params_encoding option of Ethon. Related source code:
|
|
108
110
|
# https://github.com/typhoeus/ethon/blob/master/lib/ethon/easy/queryable.rb#L96
|
|
@@ -128,7 +130,7 @@ module OneSignal
|
|
|
128
130
|
@cert_file = nil
|
|
129
131
|
@key_file = nil
|
|
130
132
|
@timeout = 0
|
|
131
|
-
@params_encoding =
|
|
133
|
+
@params_encoding = :multi
|
|
132
134
|
@debugging = false
|
|
133
135
|
@inject_format = false
|
|
134
136
|
@force_ending_format = false
|