revox 0.1.0 → 0.3.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 (224) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +81 -0
  3. data/README.md +39 -14
  4. data/lib/revox/client.rb +23 -1
  5. data/lib/revox/internal/transport/base_client.rb +5 -0
  6. data/lib/revox/internal/type/base_model.rb +3 -3
  7. data/lib/revox/internal/util.rb +22 -7
  8. data/lib/revox/models/assistant_clone_params.rb +20 -0
  9. data/lib/revox/models/assistant_clone_response.rb +1594 -0
  10. data/lib/revox/models/assistant_create_params.rb +1038 -13
  11. data/lib/revox/models/assistant_create_response.rb +1071 -11
  12. data/lib/revox/models/assistant_list_response.rb +1070 -11
  13. data/lib/revox/models/assistant_retrieve_response.rb +1066 -11
  14. data/lib/revox/models/assistant_update_params.rb +1038 -13
  15. data/lib/revox/models/assistant_update_response.rb +1097 -12
  16. data/lib/revox/models/auth_status_retrieve_params.rb +14 -0
  17. data/lib/revox/models/auth_status_retrieve_response.rb +17 -0
  18. data/lib/revox/models/call_cancel_params.rb +20 -0
  19. data/lib/revox/models/call_cancel_response.rb +16 -0
  20. data/lib/revox/models/call_create_params.rb +1065 -13
  21. data/lib/revox/models/call_create_response.rb +1820 -98
  22. data/lib/revox/models/call_export_params.rb +205 -0
  23. data/lib/revox/models/call_export_response.rb +22 -0
  24. data/lib/revox/models/call_pause_params.rb +20 -0
  25. data/lib/revox/models/call_pause_response.rb +16 -0
  26. data/lib/revox/models/call_phone_history_params.rb +14 -0
  27. data/lib/revox/models/call_phone_history_response.rb +98 -0
  28. data/lib/revox/models/call_resume_params.rb +20 -0
  29. data/lib/revox/models/call_resume_response.rb +16 -0
  30. data/lib/revox/models/call_retrieve_response.rb +1822 -98
  31. data/lib/revox/models/call_search_params.rb +171 -0
  32. data/lib/revox/models/call_search_response.rb +3114 -0
  33. data/lib/revox/models/campaign_create_params.rb +67 -2
  34. data/lib/revox/models/campaign_create_response.rb +1314 -59
  35. data/lib/revox/models/campaign_get_rows_params.rb +1 -46
  36. data/lib/revox/models/campaign_get_rows_response.rb +1833 -115
  37. data/lib/revox/models/campaign_launch_params.rb +20 -0
  38. data/lib/revox/models/campaign_launch_response.rb +2030 -0
  39. data/lib/revox/models/campaign_list_response.rb +1312 -59
  40. data/lib/revox/models/campaign_pause_params.rb +20 -0
  41. data/lib/revox/models/campaign_pause_response.rb +16 -0
  42. data/lib/revox/models/campaign_resume_params.rb +20 -0
  43. data/lib/revox/models/campaign_resume_response.rb +16 -0
  44. data/lib/revox/models/campaign_retrieve_response.rb +1312 -56
  45. data/lib/revox/models/campaign_statistics_params.rb +20 -0
  46. data/lib/revox/models/campaign_statistics_response.rb +486 -0
  47. data/lib/revox/models/campaign_update_params.rb +234 -0
  48. data/lib/revox/models/campaign_update_response.rb +2030 -0
  49. data/lib/revox/models/phone_number_delete_params.rb +20 -0
  50. data/lib/revox/models/phone_number_delete_response.rb +16 -0
  51. data/lib/revox/models/phone_number_list_params.rb +14 -0
  52. data/lib/revox/models/phone_number_list_response.rb +1777 -0
  53. data/lib/revox/models/phone_number_update_params.rb +32 -0
  54. data/lib/revox/models/phone_number_update_response.rb +1777 -0
  55. data/lib/revox/models/user_retrieve_params.rb +14 -0
  56. data/lib/revox/models/user_retrieve_response.rb +99 -0
  57. data/lib/revox/models/voice_clone_params.rb +78 -0
  58. data/lib/revox/models/voice_clone_response.rb +40 -0
  59. data/lib/revox/models/voice_delete_params.rb +20 -0
  60. data/lib/revox/models/voice_delete_response.rb +16 -0
  61. data/lib/revox/models/voice_list_response.rb +55 -1
  62. data/lib/revox/models/voice_preview_params.rb +49 -1
  63. data/lib/revox/models.rb +36 -2
  64. data/lib/revox/resources/assistants.rb +137 -8
  65. data/lib/revox/resources/auth_status.rb +32 -0
  66. data/lib/revox/resources/call.rb +131 -15
  67. data/lib/revox/resources/campaigns.rb +143 -17
  68. data/lib/revox/resources/phone_numbers.rb +74 -0
  69. data/lib/revox/resources/users.rb +17 -3
  70. data/lib/revox/resources/voices.rb +66 -10
  71. data/lib/revox/version.rb +1 -1
  72. data/lib/revox.rb +40 -7
  73. data/rbi/revox/client.rbi +6 -0
  74. data/rbi/revox/internal/util.rbi +8 -0
  75. data/rbi/revox/models/assistant_clone_params.rbi +33 -0
  76. data/rbi/revox/models/assistant_clone_response.rbi +3341 -0
  77. data/rbi/revox/models/assistant_create_params.rbi +2138 -103
  78. data/rbi/revox/models/assistant_create_response.rbi +2454 -199
  79. data/rbi/revox/models/assistant_list_response.rbi +2448 -195
  80. data/rbi/revox/models/assistant_retrieve_response.rbi +2401 -210
  81. data/rbi/revox/models/assistant_update_params.rbi +2138 -103
  82. data/rbi/revox/models/assistant_update_response.rbi +2504 -198
  83. data/rbi/revox/models/auth_status_retrieve_params.rbi +27 -0
  84. data/rbi/revox/models/auth_status_retrieve_response.rbi +30 -0
  85. data/rbi/revox/models/call_cancel_params.rbi +33 -0
  86. data/rbi/revox/models/call_cancel_response.rbi +23 -0
  87. data/rbi/revox/models/call_create_params.rbi +2382 -225
  88. data/rbi/revox/models/call_create_response.rbi +4116 -384
  89. data/rbi/revox/models/call_export_params.rbi +456 -0
  90. data/rbi/revox/models/call_export_response.rbi +26 -0
  91. data/rbi/revox/models/call_pause_params.rbi +31 -0
  92. data/rbi/revox/models/call_pause_response.rbi +23 -0
  93. data/rbi/revox/models/call_phone_history_params.rbi +27 -0
  94. data/rbi/revox/models/call_phone_history_response.rbi +224 -0
  95. data/rbi/revox/models/call_resume_params.rbi +33 -0
  96. data/rbi/revox/models/call_resume_response.rbi +23 -0
  97. data/rbi/revox/models/call_retrieve_response.rbi +4133 -399
  98. data/rbi/revox/models/call_search_params.rbi +288 -0
  99. data/rbi/revox/models/call_search_response.rbi +6593 -0
  100. data/rbi/revox/models/campaign_create_params.rbi +136 -0
  101. data/rbi/revox/models/campaign_create_response.rbi +2911 -231
  102. data/rbi/revox/models/campaign_get_rows_params.rbi +2 -82
  103. data/rbi/revox/models/campaign_get_rows_response.rbi +4146 -409
  104. data/rbi/revox/models/campaign_launch_params.rbi +33 -0
  105. data/rbi/revox/models/campaign_launch_response.rbi +4170 -0
  106. data/rbi/revox/models/campaign_list_response.rbi +2904 -230
  107. data/rbi/revox/models/campaign_pause_params.rbi +33 -0
  108. data/rbi/revox/models/campaign_pause_response.rbi +23 -0
  109. data/rbi/revox/models/campaign_resume_params.rbi +33 -0
  110. data/rbi/revox/models/campaign_resume_response.rbi +23 -0
  111. data/rbi/revox/models/campaign_retrieve_response.rbi +2911 -231
  112. data/rbi/revox/models/campaign_statistics_params.rbi +33 -0
  113. data/rbi/revox/models/campaign_statistics_response.rbi +1011 -0
  114. data/rbi/revox/models/campaign_update_params.rbi +431 -0
  115. data/rbi/revox/models/campaign_update_response.rbi +4170 -0
  116. data/rbi/revox/models/phone_number_delete_params.rbi +33 -0
  117. data/rbi/revox/models/phone_number_delete_response.rbi +26 -0
  118. data/rbi/revox/models/phone_number_list_params.rbi +27 -0
  119. data/rbi/revox/models/phone_number_list_response.rbi +3680 -0
  120. data/rbi/revox/models/phone_number_update_params.rbi +53 -0
  121. data/rbi/revox/models/phone_number_update_response.rbi +3683 -0
  122. data/rbi/revox/models/user_retrieve_params.rbi +27 -0
  123. data/rbi/revox/models/user_retrieve_response.rbi +140 -0
  124. data/rbi/revox/models/voice_clone_params.rbi +141 -0
  125. data/rbi/revox/models/voice_clone_response.rbi +53 -0
  126. data/rbi/revox/models/voice_delete_params.rbi +33 -0
  127. data/rbi/revox/models/voice_delete_response.rbi +23 -0
  128. data/rbi/revox/models/voice_list_response.rbi +105 -3
  129. data/rbi/revox/models/voice_preview_params.rbi +69 -0
  130. data/rbi/revox/models.rbi +36 -2
  131. data/rbi/revox/resources/assistants.rbi +296 -8
  132. data/rbi/revox/resources/auth_status.rbi +21 -0
  133. data/rbi/revox/resources/call.rbi +92 -6
  134. data/rbi/revox/resources/campaigns.rbi +106 -19
  135. data/rbi/revox/resources/phone_numbers.rbi +43 -0
  136. data/rbi/revox/resources/users.rbi +8 -2
  137. data/rbi/revox/resources/voices.rbi +56 -9
  138. data/sig/revox/client.rbs +4 -0
  139. data/sig/revox/internal/util.rbs +4 -0
  140. data/sig/revox/models/assistant_clone_params.rbs +20 -0
  141. data/sig/revox/models/assistant_clone_response.rbs +1318 -0
  142. data/sig/revox/models/assistant_create_params.rbs +844 -11
  143. data/sig/revox/models/assistant_create_response.rbs +860 -3
  144. data/sig/revox/models/assistant_list_response.rbs +860 -3
  145. data/sig/revox/models/assistant_retrieve_response.rbs +859 -3
  146. data/sig/revox/models/assistant_update_params.rbs +844 -11
  147. data/sig/revox/models/assistant_update_response.rbs +886 -6
  148. data/sig/revox/models/auth_status_retrieve_params.rbs +15 -0
  149. data/sig/revox/models/auth_status_retrieve_response.rbs +13 -0
  150. data/sig/revox/models/call_cancel_params.rbs +20 -0
  151. data/sig/revox/models/call_cancel_response.rbs +13 -0
  152. data/sig/revox/models/call_create_params.rbs +847 -13
  153. data/sig/revox/models/call_create_response.rbs +1519 -34
  154. data/sig/revox/models/call_export_params.rbs +234 -0
  155. data/sig/revox/models/call_export_response.rbs +15 -0
  156. data/sig/revox/models/call_pause_params.rbs +20 -0
  157. data/sig/revox/models/call_pause_response.rbs +13 -0
  158. data/sig/revox/models/call_phone_history_params.rbs +15 -0
  159. data/sig/revox/models/call_phone_history_response.rbs +102 -0
  160. data/sig/revox/models/call_resume_params.rbs +20 -0
  161. data/sig/revox/models/call_resume_response.rbs +13 -0
  162. data/sig/revox/models/call_retrieve_response.rbs +1519 -34
  163. data/sig/revox/models/call_search_params.rbs +198 -0
  164. data/sig/revox/models/call_search_response.rbs +2654 -0
  165. data/sig/revox/models/campaign_create_params.rbs +54 -0
  166. data/sig/revox/models/campaign_create_response.rbs +1034 -6
  167. data/sig/revox/models/campaign_get_rows_params.rbs +2 -64
  168. data/sig/revox/models/campaign_get_rows_response.rbs +1527 -54
  169. data/sig/revox/models/campaign_launch_params.rbs +20 -0
  170. data/sig/revox/models/campaign_launch_response.rbs +1694 -0
  171. data/sig/revox/models/campaign_list_response.rbs +1034 -6
  172. data/sig/revox/models/campaign_pause_params.rbs +20 -0
  173. data/sig/revox/models/campaign_pause_response.rbs +13 -0
  174. data/sig/revox/models/campaign_resume_params.rbs +20 -0
  175. data/sig/revox/models/campaign_resume_response.rbs +13 -0
  176. data/sig/revox/models/campaign_retrieve_response.rbs +1034 -6
  177. data/sig/revox/models/campaign_statistics_params.rbs +20 -0
  178. data/sig/revox/models/campaign_statistics_response.rbs +458 -0
  179. data/sig/revox/models/campaign_update_params.rbs +203 -0
  180. data/sig/revox/models/campaign_update_response.rbs +1694 -0
  181. data/sig/revox/models/phone_number_delete_params.rbs +20 -0
  182. data/sig/revox/models/phone_number_delete_response.rbs +13 -0
  183. data/sig/revox/models/phone_number_list_params.rbs +15 -0
  184. data/sig/revox/models/phone_number_list_response.rbs +1462 -0
  185. data/sig/revox/models/phone_number_update_params.rbs +32 -0
  186. data/sig/revox/models/phone_number_update_response.rbs +1460 -0
  187. data/sig/revox/models/user_retrieve_params.rbs +14 -0
  188. data/sig/revox/models/user_retrieve_response.rbs +71 -0
  189. data/sig/revox/models/voice_clone_params.rbs +79 -0
  190. data/sig/revox/models/voice_clone_response.rbs +40 -0
  191. data/sig/revox/models/voice_delete_params.rbs +20 -0
  192. data/sig/revox/models/voice_delete_response.rbs +13 -0
  193. data/sig/revox/models/voice_list_response.rbs +45 -3
  194. data/sig/revox/models/voice_preview_params.rbs +42 -1
  195. data/sig/revox/models.rbs +36 -2
  196. data/sig/revox/resources/assistants.rbs +61 -2
  197. data/sig/revox/resources/auth_status.rbs +11 -0
  198. data/sig/revox/resources/call.rbs +41 -3
  199. data/sig/revox/resources/campaigns.rbs +35 -5
  200. data/sig/revox/resources/phone_numbers.rbs +23 -0
  201. data/sig/revox/resources/users.rbs +3 -1
  202. data/sig/revox/resources/voices.rbs +17 -0
  203. metadata +122 -23
  204. data/lib/revox/models/call_list_params.rb +0 -52
  205. data/lib/revox/models/call_list_response.rb +0 -259
  206. data/lib/revox/models/users/me_retrieve_params.rb +0 -16
  207. data/lib/revox/models/users/me_retrieve_response.rb +0 -89
  208. data/lib/revox/models/users/me_update_params.rb +0 -22
  209. data/lib/revox/models/users/me_update_response.rb +0 -89
  210. data/lib/revox/resources/users/me.rb +0 -55
  211. data/rbi/revox/models/call_list_params.rbi +0 -94
  212. data/rbi/revox/models/call_list_response.rbi +0 -563
  213. data/rbi/revox/models/users/me_retrieve_params.rbi +0 -29
  214. data/rbi/revox/models/users/me_retrieve_response.rbi +0 -139
  215. data/rbi/revox/models/users/me_update_params.rbi +0 -43
  216. data/rbi/revox/models/users/me_update_response.rbi +0 -139
  217. data/rbi/revox/resources/users/me.rbi +0 -33
  218. data/sig/revox/models/call_list_params.rbs +0 -63
  219. data/sig/revox/models/call_list_response.rbs +0 -226
  220. data/sig/revox/models/users/me_retrieve_params.rbs +0 -16
  221. data/sig/revox/models/users/me_retrieve_response.rbs +0 -70
  222. data/sig/revox/models/users/me_update_params.rbs +0 -28
  223. data/sig/revox/models/users/me_update_response.rbs +0 -70
  224. data/sig/revox/resources/users/me.rbs +0 -18
@@ -0,0 +1,234 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Campaigns#update
6
+ class CampaignUpdateParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!attribute assistant_id
16
+ # The ID of the assistant to use (draft only)
17
+ #
18
+ # @return [String, nil]
19
+ optional :assistant_id, String
20
+
21
+ # @!attribute call_retry_config
22
+ # Configuration for call retry behavior including time windows, delays, and max
23
+ # iterations. If not provided, defaults will be used.
24
+ #
25
+ # @return [Revox::Models::CampaignUpdateParams::CallRetryConfig, nil]
26
+ optional :call_retry_config, -> { Revox::CampaignUpdateParams::CallRetryConfig }, nil?: true
27
+
28
+ # @!attribute contacts
29
+ # Replace contact list (draft only)
30
+ #
31
+ # @return [Array<Revox::Models::CampaignUpdateParams::Contact>, nil]
32
+ optional :contacts, -> { Revox::Internal::Type::ArrayOf[Revox::CampaignUpdateParams::Contact] }
33
+
34
+ # @!attribute from_phone_number
35
+ # The phone number to use for outbound calls (draft only)
36
+ #
37
+ # @return [String, nil]
38
+ optional :from_phone_number, String, nil?: true
39
+
40
+ # @!attribute max_concurrent_calls
41
+ # Maximum concurrent calls (draft only)
42
+ #
43
+ # @return [Float, nil]
44
+ optional :max_concurrent_calls, Float, nil?: true
45
+
46
+ # @!attribute name
47
+ # Campaign display name
48
+ #
49
+ # @return [String, nil]
50
+ optional :name, String
51
+
52
+ # @!attribute scheduled_at
53
+ # Scheduled start time (draft only)
54
+ #
55
+ # @return [Time, Object, nil]
56
+ optional :scheduled_at, union: -> { Revox::CampaignUpdateParams::ScheduledAt }, nil?: true
57
+
58
+ # @!attribute type
59
+ # Campaign type (draft only)
60
+ #
61
+ # @return [Symbol, Revox::Models::CampaignUpdateParams::Type, nil]
62
+ optional :type, enum: -> { Revox::CampaignUpdateParams::Type }
63
+
64
+ # @!method initialize(id:, assistant_id: nil, call_retry_config: nil, contacts: nil, from_phone_number: nil, max_concurrent_calls: nil, name: nil, scheduled_at: nil, type: nil, request_options: {})
65
+ # Some parameter documentations has been truncated, see
66
+ # {Revox::Models::CampaignUpdateParams} for more details.
67
+ #
68
+ # @param id [String]
69
+ #
70
+ # @param assistant_id [String] The ID of the assistant to use (draft only)
71
+ #
72
+ # @param call_retry_config [Revox::Models::CampaignUpdateParams::CallRetryConfig, nil] Configuration for call retry behavior including time windows, delays, and max it
73
+ #
74
+ # @param contacts [Array<Revox::Models::CampaignUpdateParams::Contact>] Replace contact list (draft only)
75
+ #
76
+ # @param from_phone_number [String, nil] The phone number to use for outbound calls (draft only)
77
+ #
78
+ # @param max_concurrent_calls [Float, nil] Maximum concurrent calls (draft only)
79
+ #
80
+ # @param name [String] Campaign display name
81
+ #
82
+ # @param scheduled_at [Time, Object, nil] Scheduled start time (draft only)
83
+ #
84
+ # @param type [Symbol, Revox::Models::CampaignUpdateParams::Type] Campaign type (draft only)
85
+ #
86
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
87
+
88
+ class CallRetryConfig < Revox::Internal::Type::BaseModel
89
+ # @!attribute allowed_days
90
+ # Days of the week when calls are allowed, in the recipient's timezone. Default:
91
+ # Monday through Friday.
92
+ #
93
+ # @return [Array<Symbol, Revox::Models::CampaignUpdateParams::CallRetryConfig::AllowedDay>]
94
+ required :allowed_days,
95
+ -> { Revox::Internal::Type::ArrayOf[enum: Revox::CampaignUpdateParams::CallRetryConfig::AllowedDay] }
96
+
97
+ # @!attribute call_twice_in_a_row
98
+ # If true and max_retry_attempts >= 2, attempt #2 fires immediately (skipping
99
+ # retry_delay_seconds) when attempt #1 didn't reach a human.
100
+ # Calling-window/allowed-days checks still apply. Only affects the 1→2 transition.
101
+ # Default: false.
102
+ #
103
+ # @return [Boolean]
104
+ required :call_twice_in_a_row, Revox::Internal::Type::Boolean
105
+
106
+ # @!attribute calling_windows
107
+ #
108
+ # @return [Array<Revox::Models::CampaignUpdateParams::CallRetryConfig::CallingWindow>]
109
+ required :calling_windows,
110
+ -> { Revox::Internal::Type::ArrayOf[Revox::CampaignUpdateParams::CallRetryConfig::CallingWindow] }
111
+
112
+ # @!attribute max_retry_attempts
113
+ # Maximum number of call retry attempts. Default: 3.
114
+ #
115
+ # @return [Integer]
116
+ required :max_retry_attempts, Integer
117
+
118
+ # @!attribute timezone
119
+ # Optional IANA timezone identifier to override the automatic timezone detection
120
+ # from phone number. If not provided, timezone is determined from the recipient's
121
+ # phone number country code. Examples: 'America/New_York', 'Europe/Paris'.
122
+ #
123
+ # @return [String, nil]
124
+ optional :timezone, String, nil?: true
125
+
126
+ # @!method initialize(allowed_days:, call_twice_in_a_row:, calling_windows:, max_retry_attempts:, timezone: nil)
127
+ # Some parameter documentations has been truncated, see
128
+ # {Revox::Models::CampaignUpdateParams::CallRetryConfig} for more details.
129
+ #
130
+ # Configuration for call retry behavior including time windows, delays, and max
131
+ # iterations. If not provided, defaults will be used.
132
+ #
133
+ # @param allowed_days [Array<Symbol, Revox::Models::CampaignUpdateParams::CallRetryConfig::AllowedDay>] Days of the week when calls are allowed, in the recipient's timezone. Default: M
134
+ #
135
+ # @param call_twice_in_a_row [Boolean] If true and max_retry_attempts >= 2, attempt #2 fires immediately (skipping retr
136
+ #
137
+ # @param calling_windows [Array<Revox::Models::CampaignUpdateParams::CallRetryConfig::CallingWindow>]
138
+ #
139
+ # @param max_retry_attempts [Integer] Maximum number of call retry attempts. Default: 3.
140
+ #
141
+ # @param timezone [String, nil] Optional IANA timezone identifier to override the automatic timezone detection f
142
+
143
+ module AllowedDay
144
+ extend Revox::Internal::Type::Enum
145
+
146
+ MONDAY = :monday
147
+ TUESDAY = :tuesday
148
+ WEDNESDAY = :wednesday
149
+ THURSDAY = :thursday
150
+ FRIDAY = :friday
151
+ SATURDAY = :saturday
152
+ SUNDAY = :sunday
153
+
154
+ # @!method self.values
155
+ # @return [Array<Symbol>]
156
+ end
157
+
158
+ class CallingWindow < Revox::Internal::Type::BaseModel
159
+ # @!attribute calling_window_end_time
160
+ # End time for the calling window in the recipient's timezone (or
161
+ # timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
162
+ # Examples: '17:00', '6pm'. Default: '18:00'.
163
+ #
164
+ # @return [String]
165
+ required :calling_window_end_time, String
166
+
167
+ # @!attribute calling_window_start_time
168
+ # Start time for the calling window in the recipient's timezone (or
169
+ # timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
170
+ # Examples: '09:00', '10am'. Default: '10:00'.
171
+ #
172
+ # @return [String]
173
+ required :calling_window_start_time, String
174
+
175
+ # @!attribute retry_delay_seconds
176
+ # Delay between retry attempts in seconds. Default: 7200 (2 hours).
177
+ #
178
+ # @return [Integer]
179
+ required :retry_delay_seconds, Integer
180
+
181
+ # @!method initialize(calling_window_end_time:, calling_window_start_time:, retry_delay_seconds:)
182
+ # Some parameter documentations has been truncated, see
183
+ # {Revox::Models::CampaignUpdateParams::CallRetryConfig::CallingWindow} for more
184
+ # details.
185
+ #
186
+ # @param calling_window_end_time [String] End time for the calling window in the recipient's timezone (or timezone_overrid
187
+ #
188
+ # @param calling_window_start_time [String] Start time for the calling window in the recipient's timezone (or timezone_overr
189
+ #
190
+ # @param retry_delay_seconds [Integer] Delay between retry attempts in seconds. Default: 7200 (2 hours).
191
+ end
192
+ end
193
+
194
+ class Contact < Revox::Internal::Type::BaseModel
195
+ # @!attribute prompt_variables
196
+ #
197
+ # @return [Hash{Symbol=>String}]
198
+ required :prompt_variables, Revox::Internal::Type::HashOf[String]
199
+
200
+ # @!attribute to_phone_number
201
+ #
202
+ # @return [String]
203
+ required :to_phone_number, String
204
+
205
+ # @!method initialize(prompt_variables:, to_phone_number:)
206
+ # @param prompt_variables [Hash{Symbol=>String}]
207
+ # @param to_phone_number [String]
208
+ end
209
+
210
+ # Scheduled start time (draft only)
211
+ module ScheduledAt
212
+ extend Revox::Internal::Type::Union
213
+
214
+ variant Time
215
+
216
+ variant Revox::Internal::Type::Unknown
217
+
218
+ # @!method self.variants
219
+ # @return [Array(Time, Object)]
220
+ end
221
+
222
+ # Campaign type (draft only)
223
+ module Type
224
+ extend Revox::Internal::Type::Enum
225
+
226
+ REGULAR = :regular
227
+ JUMP_IN = :jump_in
228
+
229
+ # @!method self.values
230
+ # @return [Array<Symbol>]
231
+ end
232
+ end
233
+ end
234
+ end