onesignal 5.11.2 → 5.12.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.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +2 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.md +3 -3
  5. data/docs/CreateJourneyRequest.md +30 -0
  6. data/docs/DefaultApi.md +563 -0
  7. data/docs/Journey.md +48 -0
  8. data/docs/JourneyAudience.md +28 -0
  9. data/docs/JourneyBranch.md +24 -0
  10. data/docs/JourneyBranchStats.md +18 -0
  11. data/docs/JourneyCondition.md +34 -0
  12. data/docs/JourneyEarlyExit.md +20 -0
  13. data/docs/JourneyEarlyExitRules.md +24 -0
  14. data/docs/JourneyEarlyExitRulesOnEvent.md +18 -0
  15. data/docs/JourneyEarlyExitRulesOnSegment.md +18 -0
  16. data/docs/JourneyEventAttribute.md +22 -0
  17. data/docs/JourneyListAudience.md +18 -0
  18. data/docs/JourneyListItem.md +40 -0
  19. data/docs/JourneyListResponse.md +22 -0
  20. data/docs/JourneyMessageStats.md +18 -0
  21. data/docs/JourneyNode.md +50 -0
  22. data/docs/JourneyNodeStats.md +26 -0
  23. data/docs/JourneyReentryRules.md +18 -0
  24. data/docs/JourneySchedule.md +22 -0
  25. data/docs/JourneyStats.md +28 -0
  26. data/docs/JourneyTimePoint.md +20 -0
  27. data/docs/JourneyTimeWindow.md +22 -0
  28. data/docs/JourneyWaitUntilExpiration.md +20 -0
  29. data/docs/UpdateJourneyNodeRequest.md +48 -0
  30. data/docs/UpdateJourneyRequest.md +34 -0
  31. data/lib/onesignal/api/default_api.rb +524 -0
  32. data/lib/onesignal/api_client.rb +1 -1
  33. data/lib/onesignal/models/create_journey_request.rb +287 -0
  34. data/lib/onesignal/models/journey.rb +409 -0
  35. data/lib/onesignal/models/journey_audience.rb +316 -0
  36. data/lib/onesignal/models/journey_branch.rb +250 -0
  37. data/lib/onesignal/models/journey_branch_stats.rb +220 -0
  38. data/lib/onesignal/models/journey_condition.rb +360 -0
  39. data/lib/onesignal/models/journey_early_exit.rb +231 -0
  40. data/lib/onesignal/models/journey_early_exit_rules.rb +251 -0
  41. data/lib/onesignal/models/journey_early_exit_rules_on_event.rb +224 -0
  42. data/lib/onesignal/models/journey_early_exit_rules_on_segment.rb +221 -0
  43. data/lib/onesignal/models/journey_event_attribute.rb +283 -0
  44. data/lib/onesignal/models/journey_list_audience.rb +254 -0
  45. data/lib/onesignal/models/journey_list_item.rb +366 -0
  46. data/lib/onesignal/models/journey_list_response.rb +241 -0
  47. data/lib/onesignal/models/journey_message_stats.rb +222 -0
  48. data/lib/onesignal/models/journey_node.rb +480 -0
  49. data/lib/onesignal/models/journey_node_stats.rb +293 -0
  50. data/lib/onesignal/models/journey_reentry_rules.rb +236 -0
  51. data/lib/onesignal/models/journey_schedule.rb +243 -0
  52. data/lib/onesignal/models/journey_stats.rb +274 -0
  53. data/lib/onesignal/models/journey_time_point.rb +277 -0
  54. data/lib/onesignal/models/journey_time_window.rb +266 -0
  55. data/lib/onesignal/models/journey_wait_until_expiration.rb +256 -0
  56. data/lib/onesignal/models/update_journey_node_request.rb +454 -0
  57. data/lib/onesignal/models/update_journey_request.rb +337 -0
  58. data/lib/onesignal/version.rb +1 -1
  59. data/lib/onesignal.rb +25 -0
  60. data/spec/api/default_api_spec.rb +95 -0
  61. data/spec/models/create_journey_request_spec.rb +69 -0
  62. data/spec/models/journey_audience_spec.rb +67 -0
  63. data/spec/models/journey_branch_spec.rb +51 -0
  64. data/spec/models/journey_branch_stats_spec.rb +33 -0
  65. data/spec/models/journey_condition_spec.rb +89 -0
  66. data/spec/models/journey_early_exit_rules_on_event_spec.rb +33 -0
  67. data/spec/models/journey_early_exit_rules_on_segment_spec.rb +33 -0
  68. data/spec/models/journey_early_exit_rules_spec.rb +51 -0
  69. data/spec/models/journey_early_exit_spec.rb +39 -0
  70. data/spec/models/journey_event_attribute_spec.rb +49 -0
  71. data/spec/models/journey_list_audience_spec.rb +37 -0
  72. data/spec/models/journey_list_item_spec.rb +103 -0
  73. data/spec/models/journey_list_response_spec.rb +45 -0
  74. data/spec/models/journey_message_stats_spec.rb +33 -0
  75. data/spec/models/journey_node_spec.rb +137 -0
  76. data/spec/models/journey_node_stats_spec.rb +61 -0
  77. data/spec/models/journey_reentry_rules_spec.rb +33 -0
  78. data/spec/models/journey_schedule_spec.rb +45 -0
  79. data/spec/models/journey_spec.rb +127 -0
  80. data/spec/models/journey_stats_spec.rb +63 -0
  81. data/spec/models/journey_time_point_spec.rb +39 -0
  82. data/spec/models/journey_time_window_spec.rb +45 -0
  83. data/spec/models/journey_wait_until_expiration_spec.rb +39 -0
  84. data/spec/models/update_journey_node_request_spec.rb +127 -0
  85. data/spec/models/update_journey_request_spec.rb +85 -0
  86. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/byebug-13.0.0/gem_make.out +5 -5
  87. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.5.1/gem_make.out +5 -5
  88. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.9.2/gem_make.out +5 -5
  89. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.9.2/mkmf.log +3 -3
  90. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  91. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-5.4.0/gem_make.out +5 -5
  92. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/racc-1.8.1/gem_make.out +5 -5
  93. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.2.0/gem_make.out +5 -5
  94. metadata +102 -2
data/docs/Journey.md ADDED
@@ -0,0 +1,48 @@
1
+ # OneSignal::Journey
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | Journey UUID. Read-only. | [optional] |
8
+ | **app_id** | **String** | UUID of the app the journey belongs to. Read-only. | [optional] |
9
+ | **name** | **String** | Journey name, up to 300 characters. | [optional] |
10
+ | **description** | **String** | Journey description, up to 1024 characters. Defaults to an empty string. | [optional] |
11
+ | **state** | **String** | Journey state. New journeys are created as draft. processing is transient while activation is in progress. archived is a journey that has been stopped. Change it through the state field on Update journey. | [optional] |
12
+ | **created_at** | **String** | ISO 8601 creation time. Read-only. | [optional] |
13
+ | **updated_at** | **String** | ISO 8601 last-update time. Read-only. | [optional] |
14
+ | **started_at** | **String** | ISO 8601 time the journey was activated, or null. Read-only. May stay null briefly after you set state to active: activation is enqueued, and started_at populates once the journey finishes processing. | [optional] |
15
+ | **archived_at** | **String** | ISO 8601 time the journey was archived, or null. Read-only. | [optional] |
16
+ | **created_source** | **String** | Origin of the journey, for example public_api or dashboard. Read-only. | [optional] |
17
+ | **audience** | [**JourneyAudience**](JourneyAudience.md) | | [optional] |
18
+ | **early_exit** | [**JourneyEarlyExit**](JourneyEarlyExit.md) | | [optional] |
19
+ | **reentry_rules** | [**JourneyReentryRules**](JourneyReentryRules.md) | | [optional] |
20
+ | **schedule** | [**JourneySchedule**](JourneySchedule.md) | | [optional] |
21
+ | **nodes** | [**Array<JourneyNode>**](JourneyNode.md) | Ordered list of journey nodes. | [optional] |
22
+ | **concurrency_key** | **String** | Opaque optimistic-concurrency token. Read-only. Pass it back on update to guard against overwriting a concurrent change (409). Send it back exactly as read; do not construct or parse it. | [optional] |
23
+
24
+ ## Example
25
+
26
+ ```ruby
27
+ require 'onesignal'
28
+
29
+ instance = OneSignal::Journey.new(
30
+ id: nil,
31
+ app_id: nil,
32
+ name: nil,
33
+ description: nil,
34
+ state: nil,
35
+ created_at: nil,
36
+ updated_at: nil,
37
+ started_at: nil,
38
+ archived_at: nil,
39
+ created_source: nil,
40
+ audience: nil,
41
+ early_exit: nil,
42
+ reentry_rules: nil,
43
+ schedule: nil,
44
+ nodes: nil,
45
+ concurrency_key: nil
46
+ )
47
+ ```
48
+
@@ -0,0 +1,28 @@
1
+ # OneSignal::JourneyAudience
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **kind** | **String** | Audience kind. Selects which other fields apply. | |
8
+ | **included_segment_ids** | **Array<String>** | segment audiences: Segment UUIDs whose users enter the journey. | [optional] |
9
+ | **excluded_segment_ids** | **Array<String>** | segment audiences: Segment UUIDs whose users are excluded. | [optional] |
10
+ | **future_additions_only** | **Boolean** | segment audiences: when true, only users who newly match the segment after activation enter the journey. Defaults to false. | [optional] |
11
+ | **name** | **String** | event_trigger audiences: event name that triggers entry, up to 255 characters. | [optional] |
12
+ | **attributes** | **Array<Array<JourneyEventAttribute>>** | Event attribute matchers, as a list of condition groups. Send a single group whose conditions are AND'd together. More than one group is rejected. | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'onesignal'
18
+
19
+ instance = OneSignal::JourneyAudience.new(
20
+ kind: nil,
21
+ included_segment_ids: nil,
22
+ excluded_segment_ids: nil,
23
+ future_additions_only: nil,
24
+ name: nil,
25
+ attributes: nil
26
+ )
27
+ ```
28
+
@@ -0,0 +1,24 @@
1
+ # OneSignal::JourneyBranch
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | Server-assigned branch identifier. Read-only on create; echo it on update to keep the branch. | [optional] |
8
+ | **condition** | [**JourneyCondition**](JourneyCondition.md) | | [optional] |
9
+ | **weight** | **Float** | Branch weight for split_range nodes. Weights across a node's branches must sum to 100. | [optional] |
10
+ | **nodes** | [**Array<JourneyNode>**](JourneyNode.md) | Nodes run when this branch is taken, before flow converges to the next sibling node. | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'onesignal'
16
+
17
+ instance = OneSignal::JourneyBranch.new(
18
+ id: nil,
19
+ condition: nil,
20
+ weight: nil,
21
+ nodes: nil
22
+ )
23
+ ```
24
+
@@ -0,0 +1,18 @@
1
+ # OneSignal::JourneyBranchStats
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **completed** | **Integer** | Users who took this branch. | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'onesignal'
13
+
14
+ instance = OneSignal::JourneyBranchStats.new(
15
+ completed: nil
16
+ )
17
+ ```
18
+
@@ -0,0 +1,34 @@
1
+ # OneSignal::JourneyCondition
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **kind** | **String** | Condition kind. Selects which other fields apply. | |
8
+ | **included_segment_ids** | **Array<String>** | segment_membership conditions: Segment UUIDs the user must belong to. | [optional] |
9
+ | **excluded_segment_ids** | **Array<String>** | segment_membership conditions: Segment UUIDs the user must not belong to. | [optional] |
10
+ | **action** | **String** | on_notification_action conditions: the notification action to branch on. Which actions apply depends on the sending node's channel. | [optional] |
11
+ | **sending_node_id** | **String** | on_notification_action conditions: id of the sending node this action refers to. Returned on reads; accepted on write. | [optional] |
12
+ | **client_node_id** | **String** | on_notification_action conditions: write-only alternative to sending_node_id. References the sending node by its client_node_id. | [optional] |
13
+ | **name** | **String** | event_trigger conditions: event name, up to 255 characters. | [optional] |
14
+ | **attributes** | **Array<Array<JourneyEventAttribute>>** | Event attribute matchers, as a list of condition groups. Send a single group whose conditions are AND'd together. More than one group is rejected. | [optional] |
15
+ | **entry_event_match_attributes** | **Array<Object>** | event_trigger conditions: match incoming event properties against the journey's entry event. Only valid on event-triggered journeys. | [optional] |
16
+
17
+ ## Example
18
+
19
+ ```ruby
20
+ require 'onesignal'
21
+
22
+ instance = OneSignal::JourneyCondition.new(
23
+ kind: nil,
24
+ included_segment_ids: nil,
25
+ excluded_segment_ids: nil,
26
+ action: nil,
27
+ sending_node_id: nil,
28
+ client_node_id: nil,
29
+ name: nil,
30
+ attributes: nil,
31
+ entry_event_match_attributes: nil
32
+ )
33
+ ```
34
+
@@ -0,0 +1,20 @@
1
+ # OneSignal::JourneyEarlyExit
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **rules** | [**JourneyEarlyExitRules**](JourneyEarlyExitRules.md) | | [optional] |
8
+ | **tag_on_early_exit** | **Hash<String, String>** | Tag key-value pairs applied when a user exits early. | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'onesignal'
14
+
15
+ instance = OneSignal::JourneyEarlyExit.new(
16
+ rules: nil,
17
+ tag_on_early_exit: nil
18
+ )
19
+ ```
20
+
@@ -0,0 +1,24 @@
1
+ # OneSignal::JourneyEarlyExitRules
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **on_segment** | [**JourneyEarlyExitRulesOnSegment**](JourneyEarlyExitRulesOnSegment.md) | | [optional] |
8
+ | **when_not_in_audience** | **Boolean** | Exit when the user no longer matches the journey audience. Defaults to false. | [optional] |
9
+ | **on_session** | **Boolean** | Exit on a new session start. Defaults to false. | [optional] |
10
+ | **on_event** | [**JourneyEarlyExitRulesOnEvent**](JourneyEarlyExitRulesOnEvent.md) | | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'onesignal'
16
+
17
+ instance = OneSignal::JourneyEarlyExitRules.new(
18
+ on_segment: nil,
19
+ when_not_in_audience: nil,
20
+ on_session: nil,
21
+ on_event: nil
22
+ )
23
+ ```
24
+
@@ -0,0 +1,18 @@
1
+ # OneSignal::JourneyEarlyExitRulesOnEvent
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **name** | **String** | Exit when this event occurs. Up to 255 characters. | |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'onesignal'
13
+
14
+ instance = OneSignal::JourneyEarlyExitRulesOnEvent.new(
15
+ name: nil
16
+ )
17
+ ```
18
+
@@ -0,0 +1,18 @@
1
+ # OneSignal::JourneyEarlyExitRulesOnSegment
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **included_segment_ids** | **Array<String>** | Exit when the user enters any of these segments. | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'onesignal'
13
+
14
+ instance = OneSignal::JourneyEarlyExitRulesOnSegment.new(
15
+ included_segment_ids: nil
16
+ )
17
+ ```
18
+
@@ -0,0 +1,22 @@
1
+ # OneSignal::JourneyEventAttribute
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **key** | **String** | Event attribute key. | |
8
+ | **operator** | **String** | Comparison operator. | |
9
+ | **value** | **String** | Value to compare against. Not required for exists and not_exists. | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'onesignal'
15
+
16
+ instance = OneSignal::JourneyEventAttribute.new(
17
+ key: nil,
18
+ operator: nil,
19
+ value: nil
20
+ )
21
+ ```
22
+
@@ -0,0 +1,18 @@
1
+ # OneSignal::JourneyListAudience
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **kind** | **String** | Audience kind. | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'onesignal'
13
+
14
+ instance = OneSignal::JourneyListAudience.new(
15
+ kind: nil
16
+ )
17
+ ```
18
+
@@ -0,0 +1,40 @@
1
+ # OneSignal::JourneyListItem
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | Journey UUID. Read-only. | [optional] |
8
+ | **app_id** | **String** | UUID of the app the journey belongs to. Read-only. | [optional] |
9
+ | **name** | **String** | Journey name, up to 300 characters. | [optional] |
10
+ | **state** | **String** | Journey state. New journeys are created as draft. processing is transient while activation is in progress. archived is a journey that has been stopped. Change it through the state field on Update journey. | [optional] |
11
+ | **created_at** | **String** | ISO 8601 creation time. Read-only. | [optional] |
12
+ | **updated_at** | **String** | ISO 8601 last-update time. Read-only. | [optional] |
13
+ | **started_at** | **String** | ISO 8601 time the journey was activated, or null. Read-only. | [optional] |
14
+ | **archived_at** | **String** | ISO 8601 time the journey was archived, or null. Read-only. | [optional] |
15
+ | **created_source** | **String** | Origin of the journey, for example public_api or dashboard. Read-only. | [optional] |
16
+ | **schedule** | [**JourneySchedule**](JourneySchedule.md) | | [optional] |
17
+ | **audience** | [**JourneyListAudience**](JourneyListAudience.md) | | [optional] |
18
+ | **reentry_rules** | [**JourneyReentryRules**](JourneyReentryRules.md) | | [optional] |
19
+
20
+ ## Example
21
+
22
+ ```ruby
23
+ require 'onesignal'
24
+
25
+ instance = OneSignal::JourneyListItem.new(
26
+ id: nil,
27
+ app_id: nil,
28
+ name: nil,
29
+ state: nil,
30
+ created_at: nil,
31
+ updated_at: nil,
32
+ started_at: nil,
33
+ archived_at: nil,
34
+ created_source: nil,
35
+ schedule: nil,
36
+ audience: nil,
37
+ reentry_rules: nil
38
+ )
39
+ ```
40
+
@@ -0,0 +1,22 @@
1
+ # OneSignal::JourneyListResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **journeys** | [**Array<JourneyListItem>**](JourneyListItem.md) | Journeys ordered by creation time, newest first. | [optional] |
8
+ | **has_more** | **Boolean** | true if more journeys exist beyond this page. | [optional] |
9
+ | **next_cursor** | **String** | Cursor for the next page. Present only when has_more is true. | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'onesignal'
15
+
16
+ instance = OneSignal::JourneyListResponse.new(
17
+ journeys: nil,
18
+ has_more: nil,
19
+ next_cursor: nil
20
+ )
21
+ ```
22
+
@@ -0,0 +1,18 @@
1
+ # OneSignal::JourneyMessageStats
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **totals** | **Hash<String, Float>** | All-time totals for this node, keyed by channel-specific stat name. | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'onesignal'
13
+
14
+ instance = OneSignal::JourneyMessageStats.new(
15
+ totals: nil
16
+ )
17
+ ```
18
+
@@ -0,0 +1,50 @@
1
+ # OneSignal::JourneyNode
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
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
+ | **kind** | **String** | Node kind. Selects which other fields apply. | |
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 255 characters. Stored and returned as-is with no effect on journey behavior. | [optional] |
11
+ | **duration_seconds** | **Integer** | wait nodes: seconds to hold the user. Minimum 60, maximum 31556952 (1 year). | [optional] |
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
+ | **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] |
14
+ | **time_zone** | **String** | time_window nodes: IANA timezone identifier used when the user's timezone is unavailable. | [optional] |
15
+ | **use_user_time_zone** | **Boolean** | time_window nodes: when true, uses the user's timezone if available. | [optional] |
16
+ | **template_id** | **String** | send_push, send_email, and send_sms nodes: UUID of the template to send. | [optional] |
17
+ | **iam_id** | **String** | send_iam nodes: UUID of the in-app message to send. | [optional] |
18
+ | **user_ttl_seconds** | **Integer** | send_iam nodes: optional time-to-live for the in-app message, in seconds. | [optional] |
19
+ | **webhook_id** | **String** | send_webhook nodes: UUID of the webhook to send. | [optional] |
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
+ | **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-20 weighted branches that sum to 100. yes_no requires exactly 2 branches. wait_until requires 1-10 condition branches. | [optional] |
23
+ | **expiration** | [**JourneyWaitUntilExpiration**](JourneyWaitUntilExpiration.md) | | [optional] |
24
+
25
+ ## Example
26
+
27
+ ```ruby
28
+ require 'onesignal'
29
+
30
+ instance = OneSignal::JourneyNode.new(
31
+ id: nil,
32
+ kind: nil,
33
+ client_node_id: nil,
34
+ annotation: nil,
35
+ duration_seconds: nil,
36
+ relative_to: nil,
37
+ windows: nil,
38
+ time_zone: nil,
39
+ use_user_time_zone: nil,
40
+ template_id: nil,
41
+ iam_id: nil,
42
+ user_ttl_seconds: nil,
43
+ webhook_id: nil,
44
+ assignments: nil,
45
+ randomize_on_entry: nil,
46
+ branches: nil,
47
+ expiration: nil
48
+ )
49
+ ```
50
+
@@ -0,0 +1,26 @@
1
+ # OneSignal::JourneyNodeStats
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **kind** | **String** | Node kind, repeated here so stats can be read without joining against the journey definition. | [optional] |
8
+ | **waiting** | **Integer** | Users currently held at this node. | [optional] |
9
+ | **completed** | **Integer** | Users who advanced past this node normally. | [optional] |
10
+ | **exited_early** | **Integer** | Users who left the journey from this node through an early exit rule. | [optional] |
11
+ | **message_stats** | [**JourneyMessageStats**](JourneyMessageStats.md) | | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'onesignal'
17
+
18
+ instance = OneSignal::JourneyNodeStats.new(
19
+ kind: nil,
20
+ waiting: nil,
21
+ completed: nil,
22
+ exited_early: nil,
23
+ message_stats: nil
24
+ )
25
+ ```
26
+
@@ -0,0 +1,18 @@
1
+ # OneSignal::JourneyReentryRules
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **duration_seconds** | **Integer** | Minimum seconds before a user can re-enter. Must be at least 600 (10 minutes). | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'onesignal'
13
+
14
+ instance = OneSignal::JourneyReentryRules.new(
15
+ duration_seconds: nil
16
+ )
17
+ ```
18
+
@@ -0,0 +1,22 @@
1
+ # OneSignal::JourneySchedule
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **start_at** | **String** | ISO 8601 start time. Use UTC (Z or +00:00). Must be at least 5 minutes in the future. | [optional] |
8
+ | **stop_at** | **String** | ISO 8601 stop time. Use UTC (Z or +00:00). Must be in the future and later than start_at. | [optional] |
9
+ | **error** | **String** | Read-only. Present when a scheduling error occurred. | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'onesignal'
15
+
16
+ instance = OneSignal::JourneySchedule.new(
17
+ start_at: nil,
18
+ stop_at: nil,
19
+ error: nil
20
+ )
21
+ ```
22
+
@@ -0,0 +1,28 @@
1
+ # OneSignal::JourneyStats
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | UUID of the journey these stats belong to. | [optional] |
8
+ | **started** | **Integer** | Users who entered the journey. | [optional] |
9
+ | **completed** | **Integer** | Users who reached the end of the journey normally. | [optional] |
10
+ | **exited_early** | **Integer** | Users who left the journey through an early exit rule. | [optional] |
11
+ | **nodes** | [**Hash<String, JourneyNodeStats>**](JourneyNodeStats.md) | Node stats keyed by node id. Includes every node in the graph, at any nesting depth. | [optional] |
12
+ | **branches** | [**Hash<String, JourneyBranchStats>**](JourneyBranchStats.md) | Branch stats keyed by branch id. Empty for a journey with no branching nodes. | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'onesignal'
18
+
19
+ instance = OneSignal::JourneyStats.new(
20
+ id: nil,
21
+ started: nil,
22
+ completed: nil,
23
+ exited_early: nil,
24
+ nodes: nil,
25
+ branches: nil
26
+ )
27
+ ```
28
+
@@ -0,0 +1,20 @@
1
+ # OneSignal::JourneyTimePoint
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **hour** | **Integer** | Hour of day, 0-23. | [optional] |
8
+ | **minute** | **Integer** | Minute of hour, 0-59. Defaults to 0. | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'onesignal'
14
+
15
+ instance = OneSignal::JourneyTimePoint.new(
16
+ hour: nil,
17
+ minute: nil
18
+ )
19
+ ```
20
+
@@ -0,0 +1,22 @@
1
+ # OneSignal::JourneyTimeWindow
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **start** | [**JourneyTimePoint**](JourneyTimePoint.md) | When the window opens. | [optional] |
8
+ | **_end** | [**JourneyTimePoint**](JourneyTimePoint.md) | When the window closes. | [optional] |
9
+ | **day_of_week** | **Integer** | Day of week, 1 = Monday. Omit to apply the window to every day. | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'onesignal'
15
+
16
+ instance = OneSignal::JourneyTimeWindow.new(
17
+ start: nil,
18
+ _end: nil,
19
+ day_of_week: nil
20
+ )
21
+ ```
22
+
@@ -0,0 +1,20 @@
1
+ # OneSignal::JourneyWaitUntilExpiration
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **duration_seconds** | **Integer** | Seconds to wait before the timer fires. Minimum 60, maximum 31556952 (1 year). | [optional] |
8
+ | **exits** | **Boolean** | When true, the user exits the journey when the timer fires; when false, the user continues to convergence. | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'onesignal'
14
+
15
+ instance = OneSignal::JourneyWaitUntilExpiration.new(
16
+ duration_seconds: nil,
17
+ exits: nil
18
+ )
19
+ ```
20
+
@@ -0,0 +1,48 @@
1
+ # OneSignal::UpdateJourneyNodeRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
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 255 characters. Stored and returned as-is with no effect on journey behavior. | [optional] |
9
+ | **duration_seconds** | **Integer** | wait nodes: seconds to hold the user. Minimum 60, maximum 31556952 (1 year). | [optional] |
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
+ | **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] |
12
+ | **time_zone** | **String** | time_window nodes: IANA timezone identifier used when the user's timezone is unavailable. | [optional] |
13
+ | **use_user_time_zone** | **Boolean** | time_window nodes: when true, uses the user's timezone if available. | [optional] |
14
+ | **template_id** | **String** | send_push, send_email, and send_sms nodes: UUID of the template to send. | [optional] |
15
+ | **iam_id** | **String** | send_iam nodes: UUID of the in-app message to send. | [optional] |
16
+ | **user_ttl_seconds** | **Integer** | send_iam nodes: optional time-to-live for the in-app message, in seconds. | [optional] |
17
+ | **webhook_id** | **String** | send_webhook nodes: UUID of the webhook to send. | [optional] |
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
+ | **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 weighted branches that sum to 100. yes_no requires exactly 2 branches. wait_until requires 1-10 condition branches. | [optional] |
21
+ | **expiration** | [**JourneyWaitUntilExpiration**](JourneyWaitUntilExpiration.md) | | [optional] |
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
+
24
+ ## Example
25
+
26
+ ```ruby
27
+ require 'onesignal'
28
+
29
+ instance = OneSignal::UpdateJourneyNodeRequest.new(
30
+ client_node_id: nil,
31
+ annotation: nil,
32
+ duration_seconds: nil,
33
+ relative_to: nil,
34
+ windows: nil,
35
+ time_zone: nil,
36
+ use_user_time_zone: nil,
37
+ template_id: nil,
38
+ iam_id: nil,
39
+ user_ttl_seconds: nil,
40
+ webhook_id: nil,
41
+ assignments: nil,
42
+ randomize_on_entry: nil,
43
+ branches: nil,
44
+ expiration: nil,
45
+ concurrency_key: nil
46
+ )
47
+ ```
48
+
@@ -0,0 +1,34 @@
1
+ # OneSignal::UpdateJourneyRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **name** | **String** | Journey name. | [optional] |
8
+ | **description** | **String** | Journey description. Send null to clear it. | [optional] |
9
+ | **audience** | [**JourneyAudience**](JourneyAudience.md) | | [optional] |
10
+ | **early_exit** | [**JourneyEarlyExit**](JourneyEarlyExit.md) | | [optional] |
11
+ | **reentry_rules** | [**JourneyReentryRules**](JourneyReentryRules.md) | | [optional] |
12
+ | **schedule** | [**JourneySchedule**](JourneySchedule.md) | | [optional] |
13
+ | **nodes** | [**Array<JourneyNode>**](JourneyNode.md) | Full ordered list of nodes, which replaces the existing graph wholesale. Preserve each node's server-assigned id from a prior fetch to keep in-flight users on that node; omit id to add a new node. | [optional] |
14
+ | **state** | **String** | Target state. Set active to activate a draft journey, or scheduled together with a future schedule.start_at to activate it later. Set archived to stop a running journey; archiving is permanent. Only scheduled and processing journeys can return to draft. | [optional] |
15
+ | **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. | [optional] |
16
+
17
+ ## Example
18
+
19
+ ```ruby
20
+ require 'onesignal'
21
+
22
+ instance = OneSignal::UpdateJourneyRequest.new(
23
+ name: nil,
24
+ description: nil,
25
+ audience: nil,
26
+ early_exit: nil,
27
+ reentry_rules: nil,
28
+ schedule: nil,
29
+ nodes: nil,
30
+ state: nil,
31
+ concurrency_key: nil
32
+ )
33
+ ```
34
+