onesignal 5.6.0 → 5.8.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 +13 -0
- data/Gemfile.lock +2 -2
- data/README.md +3 -3
- data/docs/CreateNotificationSuccessResponse.md +1 -1
- data/docs/DefaultApi.md +499 -90
- data/docs/NotificationSlice.md +4 -0
- data/lib/onesignal/api/default_api.rb +4 -1
- data/lib/onesignal/api_client.rb +2 -2
- data/lib/onesignal/api_error.rb +50 -1
- data/lib/onesignal/configuration.rb +1 -1
- data/lib/onesignal/errors.rb +23 -0
- data/lib/onesignal/helpers.rb +116 -0
- data/lib/onesignal/models/api_key_token.rb +1 -1
- data/lib/onesignal/models/api_key_tokens_list_response.rb +1 -1
- data/lib/onesignal/models/app.rb +1 -1
- data/lib/onesignal/models/basic_notification.rb +1 -1
- data/lib/onesignal/models/basic_notification_all_of.rb +1 -1
- data/lib/onesignal/models/basic_notification_all_of_android_background_layout.rb +1 -1
- data/lib/onesignal/models/button.rb +1 -1
- data/lib/onesignal/models/copy_template_request.rb +1 -1
- data/lib/onesignal/models/create_api_key_request.rb +1 -1
- data/lib/onesignal/models/create_api_key_response.rb +1 -1
- data/lib/onesignal/models/create_notification_success_response.rb +2 -2
- data/lib/onesignal/models/create_segment_conflict_response.rb +1 -1
- data/lib/onesignal/models/create_segment_success_response.rb +1 -1
- data/lib/onesignal/models/create_template_request.rb +1 -1
- data/lib/onesignal/models/create_user_conflict_response.rb +1 -1
- data/lib/onesignal/models/create_user_conflict_response_errors_inner.rb +1 -1
- data/lib/onesignal/models/create_user_conflict_response_errors_items_meta.rb +1 -1
- data/lib/onesignal/models/custom_event.rb +1 -1
- data/lib/onesignal/models/custom_events_request.rb +1 -1
- data/lib/onesignal/models/delivery_data.rb +1 -1
- data/lib/onesignal/models/export_events_success_response.rb +1 -1
- data/lib/onesignal/models/export_subscriptions_request_body.rb +1 -1
- data/lib/onesignal/models/export_subscriptions_success_response.rb +1 -1
- data/lib/onesignal/models/filter.rb +1 -1
- data/lib/onesignal/models/filter_expression.rb +1 -1
- data/lib/onesignal/models/generic_error.rb +1 -1
- data/lib/onesignal/models/generic_success_bool_response.rb +1 -1
- data/lib/onesignal/models/get_notification_history_request_body.rb +1 -1
- data/lib/onesignal/models/get_segments_success_response.rb +1 -1
- data/lib/onesignal/models/language_string_map.rb +1 -1
- data/lib/onesignal/models/notification.rb +1 -1
- data/lib/onesignal/models/notification_all_of.rb +1 -1
- data/lib/onesignal/models/notification_history_success_response.rb +1 -1
- data/lib/onesignal/models/notification_slice.rb +22 -2
- data/lib/onesignal/models/notification_target.rb +1 -1
- data/lib/onesignal/models/notification_with_meta.rb +1 -1
- data/lib/onesignal/models/notification_with_meta_all_of.rb +1 -1
- data/lib/onesignal/models/operator.rb +1 -1
- data/lib/onesignal/models/outcome_data.rb +1 -1
- data/lib/onesignal/models/outcomes_data.rb +1 -1
- data/lib/onesignal/models/platform_delivery_data.rb +1 -1
- data/lib/onesignal/models/platform_delivery_data_email_all_of.rb +1 -1
- data/lib/onesignal/models/platform_delivery_data_sms_all_of.rb +1 -1
- data/lib/onesignal/models/properties_body.rb +1 -1
- data/lib/onesignal/models/properties_deltas.rb +1 -1
- data/lib/onesignal/models/properties_object.rb +1 -1
- data/lib/onesignal/models/purchase.rb +1 -1
- data/lib/onesignal/models/rate_limit_error.rb +1 -1
- data/lib/onesignal/models/segment.rb +1 -1
- data/lib/onesignal/models/segment_data.rb +1 -1
- data/lib/onesignal/models/segment_notification_target.rb +1 -1
- data/lib/onesignal/models/start_live_activity_request.rb +1 -1
- data/lib/onesignal/models/start_live_activity_success_response.rb +1 -1
- data/lib/onesignal/models/subscription.rb +1 -1
- data/lib/onesignal/models/subscription_body.rb +1 -1
- data/lib/onesignal/models/subscription_notification_target.rb +1 -1
- data/lib/onesignal/models/template_resource.rb +1 -1
- data/lib/onesignal/models/templates_list_response.rb +1 -1
- data/lib/onesignal/models/transfer_subscription_request_body.rb +1 -1
- data/lib/onesignal/models/update_api_key_request.rb +1 -1
- data/lib/onesignal/models/update_live_activity_request.rb +1 -1
- data/lib/onesignal/models/update_live_activity_success_response.rb +1 -1
- data/lib/onesignal/models/update_template_request.rb +1 -1
- data/lib/onesignal/models/update_user_request.rb +1 -1
- data/lib/onesignal/models/user.rb +1 -1
- data/lib/onesignal/models/user_identity_body.rb +1 -1
- data/lib/onesignal/models/web_button.rb +1 -1
- data/lib/onesignal/version.rb +2 -2
- data/lib/onesignal.rb +3 -1
- data/onesignal.gemspec +1 -1
- data/spec/api/default_api_spec.rb +2 -1
- data/spec/api_client_spec.rb +1 -1
- data/spec/configuration_spec.rb +1 -1
- data/spec/models/api_key_token_spec.rb +1 -1
- data/spec/models/api_key_tokens_list_response_spec.rb +1 -1
- data/spec/models/app_spec.rb +1 -1
- data/spec/models/basic_notification_all_of_android_background_layout_spec.rb +1 -1
- data/spec/models/basic_notification_all_of_spec.rb +1 -1
- data/spec/models/basic_notification_spec.rb +1 -1
- data/spec/models/button_spec.rb +1 -1
- data/spec/models/copy_template_request_spec.rb +1 -1
- data/spec/models/create_api_key_request_spec.rb +1 -1
- data/spec/models/create_api_key_response_spec.rb +1 -1
- data/spec/models/create_notification_success_response_spec.rb +1 -1
- data/spec/models/create_segment_conflict_response_spec.rb +1 -1
- data/spec/models/create_segment_success_response_spec.rb +1 -1
- data/spec/models/create_template_request_spec.rb +1 -1
- data/spec/models/create_user_conflict_response_errors_inner_spec.rb +1 -1
- data/spec/models/create_user_conflict_response_errors_items_meta_spec.rb +1 -1
- data/spec/models/create_user_conflict_response_spec.rb +1 -1
- data/spec/models/custom_event_spec.rb +1 -1
- data/spec/models/custom_events_request_spec.rb +1 -1
- data/spec/models/delivery_data_spec.rb +1 -1
- data/spec/models/export_events_success_response_spec.rb +1 -1
- data/spec/models/export_subscriptions_request_body_spec.rb +1 -1
- data/spec/models/export_subscriptions_success_response_spec.rb +1 -1
- data/spec/models/filter_expression_spec.rb +1 -1
- data/spec/models/filter_spec.rb +1 -1
- data/spec/models/generic_error_spec.rb +1 -1
- data/spec/models/generic_success_bool_response_spec.rb +1 -1
- data/spec/models/get_notification_history_request_body_spec.rb +1 -1
- data/spec/models/get_segments_success_response_spec.rb +1 -1
- data/spec/models/language_string_map_spec.rb +1 -1
- data/spec/models/notification_all_of_spec.rb +1 -1
- data/spec/models/notification_history_success_response_spec.rb +1 -1
- data/spec/models/notification_slice_spec.rb +13 -1
- data/spec/models/notification_spec.rb +1 -1
- data/spec/models/notification_target_spec.rb +1 -1
- data/spec/models/notification_with_meta_all_of_spec.rb +1 -1
- data/spec/models/notification_with_meta_spec.rb +1 -1
- data/spec/models/operator_spec.rb +1 -1
- data/spec/models/outcome_data_spec.rb +1 -1
- data/spec/models/outcomes_data_spec.rb +1 -1
- data/spec/models/platform_delivery_data_email_all_of_spec.rb +1 -1
- data/spec/models/platform_delivery_data_sms_all_of_spec.rb +1 -1
- data/spec/models/platform_delivery_data_spec.rb +1 -1
- data/spec/models/properties_body_spec.rb +1 -1
- data/spec/models/properties_deltas_spec.rb +1 -1
- data/spec/models/properties_object_spec.rb +1 -1
- data/spec/models/purchase_spec.rb +1 -1
- data/spec/models/rate_limit_error_spec.rb +1 -1
- data/spec/models/segment_data_spec.rb +1 -1
- data/spec/models/segment_notification_target_spec.rb +1 -1
- data/spec/models/segment_spec.rb +1 -1
- data/spec/models/start_live_activity_request_spec.rb +1 -1
- data/spec/models/start_live_activity_success_response_spec.rb +1 -1
- data/spec/models/subscription_body_spec.rb +1 -1
- data/spec/models/subscription_notification_target_spec.rb +1 -1
- data/spec/models/subscription_spec.rb +1 -1
- data/spec/models/template_resource_spec.rb +1 -1
- data/spec/models/templates_list_response_spec.rb +1 -1
- data/spec/models/transfer_subscription_request_body_spec.rb +1 -1
- data/spec/models/update_api_key_request_spec.rb +1 -1
- data/spec/models/update_live_activity_request_spec.rb +1 -1
- data/spec/models/update_live_activity_success_response_spec.rb +1 -1
- data/spec/models/update_template_request_spec.rb +1 -1
- data/spec/models/update_user_request_spec.rb +1 -1
- data/spec/models/user_identity_body_spec.rb +1 -1
- data/spec/models/user_spec.rb +1 -1
- data/spec/models/web_button_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -1
- data/vendor/bundle/ruby/3.2.0/cache/psych-5.4.0.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.5.1/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.8.2/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.8.2/mkmf.log +3 -3
- 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.4.0/gem_make.out +28 -0
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{psych-5.3.1 → psych-5.4.0}/psych.so +0 -0
- 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/{psych-5.3.1 → psych-5.4.0}/README.md +2 -2
- data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_parser.c +14 -3
- data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/versions.rb +1 -1
- data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych.so +0 -0
- data/vendor/bundle/ruby/3.2.0/specifications/{psych-5.3.1.gemspec → psych-5.4.0.gemspec} +2 -2
- metadata +114 -112
- data/vendor/bundle/ruby/3.2.0/cache/psych-5.3.1.gem +0 -0
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-5.3.1/gem_make.out +0 -28
- /data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{psych-5.3.1 → psych-5.4.0}/gem.build_complete +0 -0
- /data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{psych-5.3.1 → psych-5.4.0}/mkmf.log +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/CONTRIBUTING.md +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/LICENSE +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/Makefile +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/depend +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/extconf.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych.c +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych.h +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_emitter.c +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_emitter.h +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_parser.h +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_to_ruby.c +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_to_ruby.h +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_yaml_tree.c +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_yaml_tree.h +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/class_loader.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/coder.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/core_ext.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/exception.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/handler.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/handlers/document_stream.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/handlers/recorder.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/json/ruby_events.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/json/stream.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/json/tree_builder.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/json/yaml_events.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/alias.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/document.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/mapping.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/node.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/scalar.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/sequence.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/stream.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/omap.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/parser.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/scalar_scanner.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/set.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/stream.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/streaming.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/syntax_error.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/tree_builder.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors/depth_first.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors/emitter.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors/json_tree.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors/to_ruby.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors/visitor.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors/yaml_tree.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/y.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych.rb +0 -0
data/docs/NotificationSlice.md
CHANGED
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
| **total_count** | **Integer** | | [optional] |
|
|
8
8
|
| **offset** | **Integer** | | [optional] |
|
|
9
9
|
| **limit** | **Integer** | | [optional] |
|
|
10
|
+
| **time_offset** | **String** | The time_offset cursor specified in the request, if any. | [optional] |
|
|
11
|
+
| **next_time_offset** | **String** | An opaque Base64 cursor token representing the next page of messages to fetch. Present when time_offset was provided in the request. Pass this value as time_offset on the next request to continue paginating. | [optional] |
|
|
10
12
|
| **notifications** | [**Array<NotificationWithMeta>**](NotificationWithMeta.md) | | [optional] |
|
|
11
13
|
|
|
12
14
|
## Example
|
|
@@ -18,6 +20,8 @@ instance = OneSignal::NotificationSlice.new(
|
|
|
18
20
|
total_count: null,
|
|
19
21
|
offset: null,
|
|
20
22
|
limit: null,
|
|
23
|
+
time_offset: null,
|
|
24
|
+
next_time_offset: null,
|
|
21
25
|
notifications: null
|
|
22
26
|
)
|
|
23
27
|
```
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -1888,6 +1888,7 @@ module OneSignal
|
|
|
1888
1888
|
# @option opts [Integer] :limit How many notifications to return. Max is 50. Default is 50.
|
|
1889
1889
|
# @option opts [Integer] :offset Page offset. Default is 0. Results are sorted by queued_at in descending order. queued_at is a representation of the time that the notification was queued at.
|
|
1890
1890
|
# @option opts [Integer] :kind Kind of notifications returned: * unset - All notification types (default) * `0` - Dashboard only * `1` - API only * `3` - Automated only
|
|
1891
|
+
# @option opts [String] :time_offset Time-offset pagination cursor for sequential pulls of all messages. Accepts either an ISO 8601 formatted timestamp (e.g. `2025-01-01T00:00:00.000Z`) or the opaque Base64 cursor token returned as `next_time_offset` in a prior response. When set, results are sorted ascending by send_after and the standard `offset` parameter cannot be used. Repeat the request with each `next_time_offset` until an empty notifications array is returned.
|
|
1891
1892
|
# @return [NotificationSlice]
|
|
1892
1893
|
def get_notifications(app_id, opts = {})
|
|
1893
1894
|
data, _status_code, _headers = get_notifications_with_http_info(app_id, opts)
|
|
@@ -1901,6 +1902,7 @@ module OneSignal
|
|
|
1901
1902
|
# @option opts [Integer] :limit How many notifications to return. Max is 50. Default is 50.
|
|
1902
1903
|
# @option opts [Integer] :offset Page offset. Default is 0. Results are sorted by queued_at in descending order. queued_at is a representation of the time that the notification was queued at.
|
|
1903
1904
|
# @option opts [Integer] :kind Kind of notifications returned: * unset - All notification types (default) * `0` - Dashboard only * `1` - API only * `3` - Automated only
|
|
1905
|
+
# @option opts [String] :time_offset Time-offset pagination cursor for sequential pulls of all messages. Accepts either an ISO 8601 formatted timestamp (e.g. `2025-01-01T00:00:00.000Z`) or the opaque Base64 cursor token returned as `next_time_offset` in a prior response. When set, results are sorted ascending by send_after and the standard `offset` parameter cannot be used. Repeat the request with each `next_time_offset` until an empty notifications array is returned.
|
|
1904
1906
|
# @return [Array<(NotificationSlice, Integer, Hash)>] NotificationSlice data, response status code and response headers
|
|
1905
1907
|
def get_notifications_with_http_info(app_id, opts = {})
|
|
1906
1908
|
if @api_client.config.debugging
|
|
@@ -1923,6 +1925,7 @@ module OneSignal
|
|
|
1923
1925
|
query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
|
|
1924
1926
|
query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
|
|
1925
1927
|
query_params[:'kind'] = opts[:'kind'] if !opts[:'kind'].nil?
|
|
1928
|
+
query_params[:'time_offset'] = opts[:'time_offset'] if !opts[:'time_offset'].nil?
|
|
1926
1929
|
|
|
1927
1930
|
# header parameters
|
|
1928
1931
|
header_params = opts[:header_params] || {}
|
data/lib/onesignal/api_client.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -90,7 +90,7 @@ module OneSignal
|
|
|
90
90
|
url = build_request_url(path, opts)
|
|
91
91
|
http_method = http_method.to_sym.downcase
|
|
92
92
|
|
|
93
|
-
opts[:header_params]['OS-Usage-Data'] = 'kind=sdk, sdk-name=onesignal-ruby, version=5.
|
|
93
|
+
opts[:header_params]['OS-Usage-Data'] = 'kind=sdk, sdk-name=onesignal-ruby, version=5.8.0'
|
|
94
94
|
header_params = @default_headers.merge(opts[:header_params] || {})
|
|
95
95
|
query_params = opts[:query_params] || {}
|
|
96
96
|
form_params = opts[:form_params] || {}
|
data/lib/onesignal/api_error.rb
CHANGED
|
@@ -3,13 +3,15 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
13
|
+
require 'json'
|
|
14
|
+
|
|
13
15
|
module OneSignal
|
|
14
16
|
class ApiError < StandardError
|
|
15
17
|
attr_reader :code, :response_headers, :response_body
|
|
@@ -53,5 +55,52 @@ module OneSignal
|
|
|
53
55
|
|
|
54
56
|
msg
|
|
55
57
|
end
|
|
58
|
+
|
|
59
|
+
# The error messages carried by the response body, normalized to a flat
|
|
60
|
+
# Array<String> regardless of which envelope shape the API returned
|
|
61
|
+
# (`{ errors: "..." }`, `{ errors: ["..."] }`, `{ errors: [{ code:, title: }] }`,
|
|
62
|
+
# or an object map such as `{ errors: { invalid_aliases: {...} } }`, surfaced
|
|
63
|
+
# as `"<key>: <value>"` entries). Returns an empty array when the body is not
|
|
64
|
+
# a recognizable error envelope. The raw body remains on +response_body+.
|
|
65
|
+
#
|
|
66
|
+
# @return [Array<String>]
|
|
67
|
+
def error_messages
|
|
68
|
+
parsed = if response_body.is_a?(String)
|
|
69
|
+
begin
|
|
70
|
+
JSON.parse(response_body)
|
|
71
|
+
rescue JSON::ParserError, TypeError
|
|
72
|
+
nil
|
|
73
|
+
end
|
|
74
|
+
else
|
|
75
|
+
response_body
|
|
76
|
+
end
|
|
77
|
+
return [] unless parsed.is_a?(Hash)
|
|
78
|
+
|
|
79
|
+
errors = parsed['errors'] || parsed[:errors]
|
|
80
|
+
case errors
|
|
81
|
+
when String
|
|
82
|
+
[errors]
|
|
83
|
+
when Array
|
|
84
|
+
errors.map do |e|
|
|
85
|
+
if e.is_a?(String)
|
|
86
|
+
e
|
|
87
|
+
elsif e.is_a?(Hash)
|
|
88
|
+
title = e['title'] || e[:title]
|
|
89
|
+
title = nil if title == ''
|
|
90
|
+
title || e['code'] || e[:code]
|
|
91
|
+
end
|
|
92
|
+
end.compact
|
|
93
|
+
when Hash
|
|
94
|
+
# Object-shaped envelopes (e.g. { invalid_aliases: {...} }) carry data
|
|
95
|
+
# under arbitrary keys; surface each so it isn't silently dropped. Key
|
|
96
|
+
# order is unspecified, so sort for deterministic output.
|
|
97
|
+
errors.map do |key, value|
|
|
98
|
+
rendered = value.is_a?(String) ? value : value.to_json
|
|
99
|
+
"#{key}: #{rendered}"
|
|
100
|
+
end.sort
|
|
101
|
+
else
|
|
102
|
+
[]
|
|
103
|
+
end
|
|
104
|
+
end
|
|
56
105
|
end
|
|
57
106
|
end
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Generated from inputs/api/error-catalog.json. Do not edit by hand.
|
|
2
|
+
|
|
3
|
+
module OneSignal
|
|
4
|
+
# Sentinel error message strings the OneSignal API can return. Each
|
|
5
|
+
# constant equals the literal message the server emits, so you can test
|
|
6
|
+
# membership against ApiError#error_messages (e.g. NO_TARGETING_SPECIFIED).
|
|
7
|
+
#
|
|
8
|
+
# Note: 200-status sentinels such as NO_SUBSCRIBERS arrive on a successful
|
|
9
|
+
# response, not via the exception accessor — read the response's errors
|
|
10
|
+
# field for those.
|
|
11
|
+
module Errors
|
|
12
|
+
# HTTP 403 | retryable: no | emitted by: any API-key-authenticated endpoint (REST or Organization key) | note: Generic auth-failure message the public api.onesignal.com edge returns for any invalid or mismatched key — REST or Organization — so a single sentinel covers both. Supersedes the Rails-monolith INVALID_REST_API_KEY / INVALID_USER_AUTH_KEY strings, which the public host no longer returns verbatim. Note the double space after 'denied.'
|
|
13
|
+
INVALID_API_KEY = 'Access denied. Please include an \'Authorization: ...\' header with a valid API key (https://documentation.onesignal.com/docs/en/keys-and-ids#api-keys).'.freeze
|
|
14
|
+
# HTTP 400, 404 | retryable: no | emitted by: POST /notifications/{id}/history, POST /notifications/{id}/messages, GET /notifications/{id} (export) | note: Verified live 2026-06-16: GET /notifications/{bogus-uuid} returns 404 with this exact message.
|
|
15
|
+
NOTIFICATION_NOT_FOUND = 'Notification not found'.freeze
|
|
16
|
+
# HTTP 200 | retryable: no | emitted by: POST /notifications | note: Returned with HTTP 200 OK (id is empty), not an error status. The flagship case for the errorMessages accessor — lets callers distinguish a sent notification from a no-op without parsing the polymorphic 200 body.
|
|
17
|
+
NO_SUBSCRIBERS = 'All included players are not subscribed'.freeze
|
|
18
|
+
# HTTP 400 | retryable: no | emitted by: POST /notifications | note: Verified live 2026-06-16: a no-targeting POST /notifications returns 400 with this exact message.
|
|
19
|
+
NO_TARGETING_SPECIFIED = 'You must include which players, segments, or tags you wish to send this notification to.'.freeze
|
|
20
|
+
# HTTP 503 | retryable: yes | emitted by: any endpoint (pgbouncer rejection) | note: Transient DB/pgbouncer failure — the canonical retryable sentinel.
|
|
21
|
+
SERVICE_UNAVAILABLE = 'Service temporarily unavailable'.freeze
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
require 'securerandom'
|
|
2
|
+
|
|
3
|
+
module OneSignal
|
|
4
|
+
# Helpers for common OneSignal API usage patterns.
|
|
5
|
+
module Helpers
|
|
6
|
+
CreateNotificationWithRetryResult = Struct.new(:response, :was_replayed)
|
|
7
|
+
|
|
8
|
+
RETRYABLE_CODES = [429, 503].freeze
|
|
9
|
+
MIN_BASE_DELAY = 1.0
|
|
10
|
+
MAX_BASE_DELAY = 60.0
|
|
11
|
+
|
|
12
|
+
# Create a notification with safe, idempotent retries.
|
|
13
|
+
#
|
|
14
|
+
# Ensures +notification.idempotency_key+ is set (generating a UUIDv4 when
|
|
15
|
+
# absent) so the server can deduplicate, then calls +create_notification+.
|
|
16
|
+
# Transient failures (HTTP 429, HTTP 503, or connection-level errors) are
|
|
17
|
+
# retried up to +max_retries+ times with the SAME idempotency key,
|
|
18
|
+
# honoring the +Retry-After+ response header when present and falling back
|
|
19
|
+
# to exponential backoff (+base_delay * 2**attempt+ seconds) otherwise.
|
|
20
|
+
# Other errors are raised immediately.
|
|
21
|
+
#
|
|
22
|
+
# @param api [DefaultApi] the API instance to call through
|
|
23
|
+
# @param notification [Notification] an existing idempotency_key is
|
|
24
|
+
# respected, never overwritten
|
|
25
|
+
# @param max_retries [Integer] retries after the initial attempt
|
|
26
|
+
# @param base_delay [Float] backoff base in seconds when Retry-After is
|
|
27
|
+
# absent; clamped to [1.0, 60.0]
|
|
28
|
+
# @return [CreateNotificationWithRetryResult] +response+ holds the
|
|
29
|
+
# CreateNotificationSuccessResponse; +was_replayed+ is true when the
|
|
30
|
+
# server answered from a previously completed request, as signaled by
|
|
31
|
+
# the +Idempotent-Replayed+ response header
|
|
32
|
+
def self.create_notification_with_retry(api, notification, max_retries: 3, base_delay: 1.0)
|
|
33
|
+
if notification.idempotency_key.nil? || notification.idempotency_key.to_s.empty?
|
|
34
|
+
notification.idempotency_key = SecureRandom.uuid
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Clamp the backoff base so a stray value can neither hammer the API
|
|
38
|
+
# (too small) nor stall the caller for an unbounded stretch (too large).
|
|
39
|
+
base_delay = [[base_delay, MIN_BASE_DELAY].max, MAX_BASE_DELAY].min
|
|
40
|
+
|
|
41
|
+
attempt = 0
|
|
42
|
+
begin
|
|
43
|
+
data, _status, headers = api.create_notification_with_http_info(notification)
|
|
44
|
+
CreateNotificationWithRetryResult.new(data, replayed?(headers))
|
|
45
|
+
rescue ApiError => e
|
|
46
|
+
# code nil/0 covers connection timeouts and libcurl-level failures.
|
|
47
|
+
retryable = e.code.nil? || e.code.zero? || RETRYABLE_CODES.include?(e.code)
|
|
48
|
+
raise if !retryable || attempt >= max_retries
|
|
49
|
+
|
|
50
|
+
delay = retry_delay(e.response_headers, attempt, base_delay)
|
|
51
|
+
sleep(delay) if delay > 0
|
|
52
|
+
attempt += 1
|
|
53
|
+
retry
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Whether a POST /notifications 200 response is the "message sent" branch.
|
|
58
|
+
#
|
|
59
|
+
# POST /notifications returns 200 in two cases that share the
|
|
60
|
+
# CreateNotificationSuccessResponse shape: a notification was created
|
|
61
|
+
# (non-empty +id+), or none was (empty +id+, with +errors+ carrying the
|
|
62
|
+
# reason). Prefer this guard over inspecting +id+ directly.
|
|
63
|
+
#
|
|
64
|
+
# @param response [CreateNotificationSuccessResponse]
|
|
65
|
+
# @return [Boolean] true when a notification was created
|
|
66
|
+
def self.message_sent?(response)
|
|
67
|
+
id = response.respond_to?(:id) ? response.id : nil
|
|
68
|
+
id.is_a?(String) && !id.empty?
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# Whether a POST /notifications 200 response is the "message not sent"
|
|
72
|
+
# branch -- no notification was created (+id+ absent or empty); inspect
|
|
73
|
+
# +errors+ for why.
|
|
74
|
+
#
|
|
75
|
+
# @param response [CreateNotificationSuccessResponse]
|
|
76
|
+
# @return [Boolean] true when no notification was created
|
|
77
|
+
def self.message_not_sent?(response)
|
|
78
|
+
!message_sent?(response)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def self.header_value(headers, name)
|
|
82
|
+
return nil unless headers.respond_to?(:each_pair)
|
|
83
|
+
|
|
84
|
+
headers.each_pair do |key, value|
|
|
85
|
+
return value if key.to_s.downcase == name
|
|
86
|
+
end
|
|
87
|
+
nil
|
|
88
|
+
end
|
|
89
|
+
private_class_method :header_value
|
|
90
|
+
|
|
91
|
+
def self.replayed?(headers)
|
|
92
|
+
header_value(headers, 'idempotent-replayed').to_s.strip.downcase == 'true'
|
|
93
|
+
end
|
|
94
|
+
private_class_method :replayed?
|
|
95
|
+
|
|
96
|
+
def self.retry_delay(headers, attempt, base_delay)
|
|
97
|
+
retry_after = header_value(headers, 'retry-after')
|
|
98
|
+
if retry_after && retry_after.to_s.strip.match?(/\A\d+(\.\d+)?\z/)
|
|
99
|
+
return retry_after.to_f
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
base_delay * (2**attempt)
|
|
103
|
+
end
|
|
104
|
+
private_class_method :retry_delay
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# Surface the idempotent-retry helper as an instance method so the call
|
|
108
|
+
# mirrors +create_notification+. Delegates to Helpers (single source of
|
|
109
|
+
# truth); reopening is load-order independent since the body runs at call
|
|
110
|
+
# time. See Helpers.create_notification_with_retry for the full contract.
|
|
111
|
+
class DefaultApi
|
|
112
|
+
def create_notification_with_retry(notification, max_retries: 3, base_delay: 1.0)
|
|
113
|
+
Helpers.create_notification_with_retry(self, notification, max_retries: max_retries, base_delay: base_delay)
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
end
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
data/lib/onesignal/models/app.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -15,7 +15,7 @@ require 'time'
|
|
|
15
15
|
|
|
16
16
|
module OneSignal
|
|
17
17
|
class CreateNotificationSuccessResponse
|
|
18
|
-
# Notification identifier when the request created a notification. An empty string means no notification was created; read `errors` for details (HTTP may still be 200).
|
|
18
|
+
# Notification identifier when the request created a notification. An empty string means no notification was created; read `errors` for details (HTTP may still be 200). All OneSignal server SDKs expose message-sent / message-not-sent narrowing helpers (named idiomatically per language — e.g. `isMessageSent`, `is_message_sent`, `message_sent?`); prefer them over comparing `id` directly.
|
|
19
19
|
attr_accessor :id
|
|
20
20
|
|
|
21
21
|
# Optional correlation / idempotency-related value from the API response. This is not the end-user External ID used for targeting recipients (that lives under `include_aliases.external_id`).
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.8.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|