onesignal 5.6.0 → 5.7.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 +6 -0
- data/Gemfile.lock +2 -2
- data/README.md +3 -3
- data/docs/DefaultApi.md +496 -89
- data/lib/onesignal/api/default_api.rb +1 -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 +92 -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 +1 -1
- 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 +1 -1
- 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 +1 -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 +1 -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
|
@@ -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.7.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/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.7.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.7.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.7.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.7.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,92 @@
|
|
|
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
|
+
def self.header_value(headers, name)
|
|
58
|
+
return nil unless headers.respond_to?(:each_pair)
|
|
59
|
+
|
|
60
|
+
headers.each_pair do |key, value|
|
|
61
|
+
return value if key.to_s.downcase == name
|
|
62
|
+
end
|
|
63
|
+
nil
|
|
64
|
+
end
|
|
65
|
+
private_class_method :header_value
|
|
66
|
+
|
|
67
|
+
def self.replayed?(headers)
|
|
68
|
+
header_value(headers, 'idempotent-replayed').to_s.strip.downcase == 'true'
|
|
69
|
+
end
|
|
70
|
+
private_class_method :replayed?
|
|
71
|
+
|
|
72
|
+
def self.retry_delay(headers, attempt, base_delay)
|
|
73
|
+
retry_after = header_value(headers, 'retry-after')
|
|
74
|
+
if retry_after && retry_after.to_s.strip.match?(/\A\d+(\.\d+)?\z/)
|
|
75
|
+
return retry_after.to_f
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
base_delay * (2**attempt)
|
|
79
|
+
end
|
|
80
|
+
private_class_method :retry_delay
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# Surface the idempotent-retry helper as an instance method so the call
|
|
84
|
+
# mirrors +create_notification+. Delegates to Helpers (single source of
|
|
85
|
+
# truth); reopening is load-order independent since the body runs at call
|
|
86
|
+
# time. See Helpers.create_notification_with_retry for the full contract.
|
|
87
|
+
class DefaultApi
|
|
88
|
+
def create_notification_with_retry(notification, max_retries: 3, base_delay: 1.0)
|
|
89
|
+
Helpers.create_notification_with_retry(self, notification, max_retries: max_retries, base_delay: base_delay)
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.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.7.0
|
|
7
7
|
Contact: devrel@onesignal.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 6.0.0-SNAPSHOT
|