sentdm 0.33.0 → 0.35.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 (203) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/README.md +11 -9
  4. data/lib/sentdm/client.rb +25 -0
  5. data/lib/sentdm/internal/calls_page.rb +115 -0
  6. data/lib/sentdm/models/api_response_of_call.rb +43 -0
  7. data/lib/sentdm/models/api_response_of_call_recordings.rb +43 -0
  8. data/lib/sentdm/models/api_response_of_calls_list.rb +42 -0
  9. data/lib/sentdm/models/call.rb +133 -0
  10. data/lib/sentdm/models/call_event.rb +72 -0
  11. data/lib/sentdm/models/call_event_payload.rb +102 -0
  12. data/lib/sentdm/models/call_hangup_params.rb +32 -0
  13. data/lib/sentdm/models/call_list_params.rb +83 -0
  14. data/lib/sentdm/models/call_list_recordings_params.rb +26 -0
  15. data/lib/sentdm/models/call_party.rb +31 -0
  16. data/lib/sentdm/models/call_record_params.rb +55 -0
  17. data/lib/sentdm/models/call_recording.rb +38 -0
  18. data/lib/sentdm/models/call_recordings.rb +24 -0
  19. data/lib/sentdm/models/call_retrieve_params.rb +26 -0
  20. data/lib/sentdm/models/call_timeline_entry.rb +26 -0
  21. data/lib/sentdm/models/calls/api_response_of_list_of_call_participant.rb +45 -0
  22. data/lib/sentdm/models/calls/call_participant.rb +60 -0
  23. data/lib/sentdm/models/calls/call_participant_target.rb +30 -0
  24. data/lib/sentdm/models/calls/participant_add_params.rb +66 -0
  25. data/lib/sentdm/models/calls/participant_list_params.rb +28 -0
  26. data/lib/sentdm/models/calls/participant_remove_all_params.rb +28 -0
  27. data/lib/sentdm/models/calls/participant_remove_params.rb +34 -0
  28. data/lib/sentdm/models/calls/participant_update_params.rb +64 -0
  29. data/lib/sentdm/models/calls_list.rb +26 -0
  30. data/lib/sentdm/models/channel_event_payload.rb +16 -6
  31. data/lib/sentdm/models/channels/api_response_of_list_of_voice_number.rb +45 -0
  32. data/lib/sentdm/models/channels/api_response_of_voice_callback_test.rb +45 -0
  33. data/lib/sentdm/models/channels/api_response_of_voice_number.rb +45 -0
  34. data/lib/sentdm/models/channels/api_response_of_voice_number_created.rb +45 -0
  35. data/lib/sentdm/models/channels/api_response_of_voice_secret.rb +45 -0
  36. data/lib/sentdm/models/channels/api_response_of_voice_token.rb +45 -0
  37. data/lib/sentdm/models/channels/voice_callback_test.rb +65 -0
  38. data/lib/sentdm/models/channels/voice_callback_test_error_info.rb +41 -0
  39. data/lib/sentdm/models/channels/voice_callback_test_request_info.rb +40 -0
  40. data/lib/sentdm/models/channels/voice_callback_test_response_info.rb +28 -0
  41. data/lib/sentdm/models/channels/voice_create_params.rb +86 -0
  42. data/lib/sentdm/models/channels/voice_create_token_params.rb +69 -0
  43. data/lib/sentdm/models/channels/voice_list_params.rb +22 -0
  44. data/lib/sentdm/models/channels/voice_number.rb +68 -0
  45. data/lib/sentdm/models/channels/voice_number_created.rb +26 -0
  46. data/lib/sentdm/models/channels/voice_retrieve_params.rb +28 -0
  47. data/lib/sentdm/models/channels/voice_rotate_secret_params.rb +34 -0
  48. data/lib/sentdm/models/channels/voice_secret.rb +25 -0
  49. data/lib/sentdm/models/channels/voice_test_params.rb +34 -0
  50. data/lib/sentdm/models/channels/voice_token.rb +44 -0
  51. data/lib/sentdm/models/channels/voice_update_params.rb +95 -0
  52. data/lib/sentdm/models/conversation_messages_list.rb +100 -13
  53. data/lib/sentdm/models/inbound_message_event_payload.rb +70 -3
  54. data/lib/sentdm/models/me_retrieve_response.rb +21 -1
  55. data/lib/sentdm/models/message_event_payload.rb +23 -1
  56. data/lib/sentdm/models/message_retrieve_activities_response.rb +23 -1
  57. data/lib/sentdm/models/message_retrieve_status_response.rb +100 -13
  58. data/lib/sentdm/models/template_create_params.rb +11 -1
  59. data/lib/sentdm/models/webhook_create_params.rb +31 -1
  60. data/lib/sentdm/models/webhook_list_events_response.rb +7 -3
  61. data/lib/sentdm/models/webhook_update_params.rb +31 -1
  62. data/lib/sentdm/models.rb +36 -0
  63. data/lib/sentdm/resources/calls/participants.rb +231 -0
  64. data/lib/sentdm/resources/calls.rb +235 -0
  65. data/lib/sentdm/resources/channels/voice.rb +381 -0
  66. data/lib/sentdm/resources/channels.rb +45 -0
  67. data/lib/sentdm/resources/me.rb +5 -0
  68. data/lib/sentdm/resources/templates.rb +3 -1
  69. data/lib/sentdm/resources/webhooks.rb +9 -3
  70. data/lib/sentdm/version.rb +1 -1
  71. data/lib/sentdm.rb +50 -0
  72. data/rbi/sentdm/client.rbi +23 -0
  73. data/rbi/sentdm/internal/calls_page.rbi +71 -0
  74. data/rbi/sentdm/models/api_response_of_call.rbi +74 -0
  75. data/rbi/sentdm/models/api_response_of_call_recordings.rbi +74 -0
  76. data/rbi/sentdm/models/api_response_of_calls_list.rbi +74 -0
  77. data/rbi/sentdm/models/call.rbi +177 -0
  78. data/rbi/sentdm/models/call_event.rbi +114 -0
  79. data/rbi/sentdm/models/call_event_payload.rbi +135 -0
  80. data/rbi/sentdm/models/call_hangup_params.rbi +59 -0
  81. data/rbi/sentdm/models/call_list_params.rbi +112 -0
  82. data/rbi/sentdm/models/call_list_recordings_params.rbi +46 -0
  83. data/rbi/sentdm/models/call_party.rbi +41 -0
  84. data/rbi/sentdm/models/call_record_params.rbi +83 -0
  85. data/rbi/sentdm/models/call_recording.rbi +59 -0
  86. data/rbi/sentdm/models/call_recordings.rbi +39 -0
  87. data/rbi/sentdm/models/call_retrieve_params.rbi +46 -0
  88. data/rbi/sentdm/models/call_timeline_entry.rbi +40 -0
  89. data/rbi/sentdm/models/calls/api_response_of_list_of_call_participant.rbi +76 -0
  90. data/rbi/sentdm/models/calls/call_participant.rbi +92 -0
  91. data/rbi/sentdm/models/calls/call_participant_target.rbi +47 -0
  92. data/rbi/sentdm/models/calls/participant_add_params.rbi +98 -0
  93. data/rbi/sentdm/models/calls/participant_list_params.rbi +51 -0
  94. data/rbi/sentdm/models/calls/participant_remove_all_params.rbi +51 -0
  95. data/rbi/sentdm/models/calls/participant_remove_params.rbi +61 -0
  96. data/rbi/sentdm/models/calls/participant_update_params.rbi +94 -0
  97. data/rbi/sentdm/models/calls_list.rbi +47 -0
  98. data/rbi/sentdm/models/channel_event_payload.rbi +20 -8
  99. data/rbi/sentdm/models/channels/api_response_of_list_of_voice_number.rbi +76 -0
  100. data/rbi/sentdm/models/channels/api_response_of_voice_callback_test.rbi +83 -0
  101. data/rbi/sentdm/models/channels/api_response_of_voice_number.rbi +81 -0
  102. data/rbi/sentdm/models/channels/api_response_of_voice_number_created.rbi +83 -0
  103. data/rbi/sentdm/models/channels/api_response_of_voice_secret.rbi +81 -0
  104. data/rbi/sentdm/models/channels/api_response_of_voice_token.rbi +81 -0
  105. data/rbi/sentdm/models/channels/voice_callback_test.rbi +126 -0
  106. data/rbi/sentdm/models/channels/voice_callback_test_error_info.rbi +65 -0
  107. data/rbi/sentdm/models/channels/voice_callback_test_request_info.rbi +66 -0
  108. data/rbi/sentdm/models/channels/voice_callback_test_response_info.rbi +48 -0
  109. data/rbi/sentdm/models/channels/voice_create_params.rbi +127 -0
  110. data/rbi/sentdm/models/channels/voice_create_token_params.rbi +104 -0
  111. data/rbi/sentdm/models/channels/voice_list_params.rbi +40 -0
  112. data/rbi/sentdm/models/channels/voice_number.rbi +105 -0
  113. data/rbi/sentdm/models/channels/voice_number_created.rbi +42 -0
  114. data/rbi/sentdm/models/channels/voice_retrieve_params.rbi +51 -0
  115. data/rbi/sentdm/models/channels/voice_rotate_secret_params.rbi +64 -0
  116. data/rbi/sentdm/models/channels/voice_secret.rbi +35 -0
  117. data/rbi/sentdm/models/channels/voice_test_params.rbi +61 -0
  118. data/rbi/sentdm/models/channels/voice_token.rbi +76 -0
  119. data/rbi/sentdm/models/channels/voice_update_params.rbi +158 -0
  120. data/rbi/sentdm/models/conversation_messages_list.rbi +122 -19
  121. data/rbi/sentdm/models/inbound_message_event_payload.rbi +110 -2
  122. data/rbi/sentdm/models/me_retrieve_response.rbi +35 -0
  123. data/rbi/sentdm/models/message_event_payload.rbi +28 -0
  124. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +26 -0
  125. data/rbi/sentdm/models/message_retrieve_status_response.rbi +122 -19
  126. data/rbi/sentdm/models/template_create_params.rbi +15 -0
  127. data/rbi/sentdm/models/webhook_create_params.rbi +61 -0
  128. data/rbi/sentdm/models/webhook_list_events_response.rbi +6 -3
  129. data/rbi/sentdm/models/webhook_update_params.rbi +61 -0
  130. data/rbi/sentdm/models.rbi +36 -0
  131. data/rbi/sentdm/resources/calls/participants.rbi +199 -0
  132. data/rbi/sentdm/resources/calls.rbi +206 -0
  133. data/rbi/sentdm/resources/channels/voice.rbi +371 -0
  134. data/rbi/sentdm/resources/channels.rbi +42 -0
  135. data/rbi/sentdm/resources/me.rbi +5 -0
  136. data/rbi/sentdm/resources/templates.rbi +6 -0
  137. data/rbi/sentdm/resources/webhooks.rbi +15 -1
  138. data/sig/sentdm/client.rbs +4 -0
  139. data/sig/sentdm/internal/calls_page.rbs +41 -0
  140. data/sig/sentdm/models/api_response_of_call.rbs +39 -0
  141. data/sig/sentdm/models/api_response_of_call_recordings.rbs +39 -0
  142. data/sig/sentdm/models/api_response_of_calls_list.rbs +39 -0
  143. data/sig/sentdm/models/call.rbs +101 -0
  144. data/sig/sentdm/models/call_event.rbs +44 -0
  145. data/sig/sentdm/models/call_event_payload.rbs +68 -0
  146. data/sig/sentdm/models/call_hangup_params.rbs +38 -0
  147. data/sig/sentdm/models/call_list_params.rbs +67 -0
  148. data/sig/sentdm/models/call_list_recordings_params.rbs +30 -0
  149. data/sig/sentdm/models/call_party.rbs +17 -0
  150. data/sig/sentdm/models/call_record_params.rbs +54 -0
  151. data/sig/sentdm/models/call_recording.rbs +32 -0
  152. data/sig/sentdm/models/call_recordings.rbs +17 -0
  153. data/sig/sentdm/models/call_retrieve_params.rbs +30 -0
  154. data/sig/sentdm/models/call_timeline_entry.rbs +19 -0
  155. data/sig/sentdm/models/calls/api_response_of_list_of_call_participant.rbs +41 -0
  156. data/sig/sentdm/models/calls/call_participant.rbs +52 -0
  157. data/sig/sentdm/models/calls/call_participant_target.rbs +23 -0
  158. data/sig/sentdm/models/calls/participant_add_params.rbs +63 -0
  159. data/sig/sentdm/models/calls/participant_list_params.rbs +32 -0
  160. data/sig/sentdm/models/calls/participant_remove_all_params.rbs +34 -0
  161. data/sig/sentdm/models/calls/participant_remove_params.rbs +40 -0
  162. data/sig/sentdm/models/calls/participant_update_params.rbs +61 -0
  163. data/sig/sentdm/models/calls_list.rbs +26 -0
  164. data/sig/sentdm/models/channel_event_payload.rbs +5 -0
  165. data/sig/sentdm/models/channels/api_response_of_list_of_voice_number.rbs +41 -0
  166. data/sig/sentdm/models/channels/api_response_of_voice_callback_test.rbs +41 -0
  167. data/sig/sentdm/models/channels/api_response_of_voice_number.rbs +41 -0
  168. data/sig/sentdm/models/channels/api_response_of_voice_number_created.rbs +41 -0
  169. data/sig/sentdm/models/channels/api_response_of_voice_secret.rbs +41 -0
  170. data/sig/sentdm/models/channels/api_response_of_voice_token.rbs +41 -0
  171. data/sig/sentdm/models/channels/voice_callback_test.rbs +51 -0
  172. data/sig/sentdm/models/channels/voice_callback_test_error_info.rbs +28 -0
  173. data/sig/sentdm/models/channels/voice_callback_test_request_info.rbs +34 -0
  174. data/sig/sentdm/models/channels/voice_callback_test_response_info.rbs +20 -0
  175. data/sig/sentdm/models/channels/voice_create_params.rbs +64 -0
  176. data/sig/sentdm/models/channels/voice_create_token_params.rbs +61 -0
  177. data/sig/sentdm/models/channels/voice_list_params.rbs +27 -0
  178. data/sig/sentdm/models/channels/voice_number.rbs +57 -0
  179. data/sig/sentdm/models/channels/voice_number_created.rbs +17 -0
  180. data/sig/sentdm/models/channels/voice_retrieve_params.rbs +32 -0
  181. data/sig/sentdm/models/channels/voice_rotate_secret_params.rbs +40 -0
  182. data/sig/sentdm/models/channels/voice_secret.rbs +17 -0
  183. data/sig/sentdm/models/channels/voice_test_params.rbs +40 -0
  184. data/sig/sentdm/models/channels/voice_token.rbs +40 -0
  185. data/sig/sentdm/models/channels/voice_update_params.rbs +78 -0
  186. data/sig/sentdm/models/conversation_messages_list.rbs +56 -8
  187. data/sig/sentdm/models/inbound_message_event_payload.rbs +37 -0
  188. data/sig/sentdm/models/me_retrieve_response.rbs +7 -0
  189. data/sig/sentdm/models/message_event_payload.rbs +10 -0
  190. data/sig/sentdm/models/message_retrieve_activities_response.rbs +10 -0
  191. data/sig/sentdm/models/message_retrieve_status_response.rbs +56 -8
  192. data/sig/sentdm/models/template_create_params.rbs +7 -0
  193. data/sig/sentdm/models/webhook_create_params.rbs +29 -0
  194. data/sig/sentdm/models/webhook_list_events_response.rbs +1 -0
  195. data/sig/sentdm/models/webhook_update_params.rbs +29 -0
  196. data/sig/sentdm/models.rbs +36 -0
  197. data/sig/sentdm/resources/calls/participants.rbs +50 -0
  198. data/sig/sentdm/resources/calls.rbs +50 -0
  199. data/sig/sentdm/resources/channels/voice.rbs +68 -0
  200. data/sig/sentdm/resources/channels.rbs +9 -0
  201. data/sig/sentdm/resources/templates.rbs +1 -0
  202. data/sig/sentdm/resources/webhooks.rbs +2 -0
  203. metadata +152 -2
@@ -0,0 +1,76 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Channels
6
+ class APIResponseOfListOfVoiceNumber < Sentdm::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Sentdm::Channels::APIResponseOfListOfVoiceNumber,
11
+ Sentdm::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The response data (null if error)
16
+ sig { returns(T.nilable(T::Array[Sentdm::Channels::VoiceNumber])) }
17
+ attr_accessor :data
18
+
19
+ # Error information
20
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
21
+ attr_reader :error
22
+
23
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
24
+ attr_writer :error
25
+
26
+ # Request and response metadata
27
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
28
+ attr_reader :meta
29
+
30
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
31
+ attr_writer :meta
32
+
33
+ # Indicates whether the request was successful
34
+ sig { returns(T.nilable(T::Boolean)) }
35
+ attr_reader :success
36
+
37
+ sig { params(success: T::Boolean).void }
38
+ attr_writer :success
39
+
40
+ # Standard API response envelope for all v3 endpoints
41
+ sig do
42
+ params(
43
+ data: T.nilable(T::Array[Sentdm::Channels::VoiceNumber::OrHash]),
44
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
45
+ meta: Sentdm::APIMeta::OrHash,
46
+ success: T::Boolean
47
+ ).returns(T.attached_class)
48
+ end
49
+ def self.new(
50
+ # The response data (null if error)
51
+ data: nil,
52
+ # Error information
53
+ error: nil,
54
+ # Request and response metadata
55
+ meta: nil,
56
+ # Indicates whether the request was successful
57
+ success: nil
58
+ )
59
+ end
60
+
61
+ sig do
62
+ override.returns(
63
+ {
64
+ data: T.nilable(T::Array[Sentdm::Channels::VoiceNumber]),
65
+ error: T.nilable(Sentdm::ErrorDetail),
66
+ meta: Sentdm::APIMeta,
67
+ success: T::Boolean
68
+ }
69
+ )
70
+ end
71
+ def to_hash
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,83 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Channels
6
+ class APIResponseOfVoiceCallbackTest < Sentdm::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Sentdm::Channels::APIResponseOfVoiceCallbackTest,
11
+ Sentdm::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The verdict of a test question sent to your callback URL
16
+ sig { returns(T.nilable(Sentdm::Channels::VoiceCallbackTest)) }
17
+ attr_reader :data
18
+
19
+ sig do
20
+ params(
21
+ data: T.nilable(Sentdm::Channels::VoiceCallbackTest::OrHash)
22
+ ).void
23
+ end
24
+ attr_writer :data
25
+
26
+ # Error information
27
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
28
+ attr_reader :error
29
+
30
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
31
+ attr_writer :error
32
+
33
+ # Request and response metadata
34
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
35
+ attr_reader :meta
36
+
37
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
38
+ attr_writer :meta
39
+
40
+ # Indicates whether the request was successful
41
+ sig { returns(T.nilable(T::Boolean)) }
42
+ attr_reader :success
43
+
44
+ sig { params(success: T::Boolean).void }
45
+ attr_writer :success
46
+
47
+ # Standard API response envelope for all v3 endpoints
48
+ sig do
49
+ params(
50
+ data: T.nilable(Sentdm::Channels::VoiceCallbackTest::OrHash),
51
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
52
+ meta: Sentdm::APIMeta::OrHash,
53
+ success: T::Boolean
54
+ ).returns(T.attached_class)
55
+ end
56
+ def self.new(
57
+ # The verdict of a test question sent to your callback URL
58
+ data: nil,
59
+ # Error information
60
+ error: nil,
61
+ # Request and response metadata
62
+ meta: nil,
63
+ # Indicates whether the request was successful
64
+ success: nil
65
+ )
66
+ end
67
+
68
+ sig do
69
+ override.returns(
70
+ {
71
+ data: T.nilable(Sentdm::Channels::VoiceCallbackTest),
72
+ error: T.nilable(Sentdm::ErrorDetail),
73
+ meta: Sentdm::APIMeta,
74
+ success: T::Boolean
75
+ }
76
+ )
77
+ end
78
+ def to_hash
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,81 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Channels
6
+ class APIResponseOfVoiceNumber < Sentdm::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Sentdm::Channels::APIResponseOfVoiceNumber,
11
+ Sentdm::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # One number the profile carries phone calls on.
16
+ sig { returns(T.nilable(Sentdm::Channels::VoiceNumber)) }
17
+ attr_reader :data
18
+
19
+ sig do
20
+ params(data: T.nilable(Sentdm::Channels::VoiceNumber::OrHash)).void
21
+ end
22
+ attr_writer :data
23
+
24
+ # Error information
25
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
26
+ attr_reader :error
27
+
28
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
29
+ attr_writer :error
30
+
31
+ # Request and response metadata
32
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
33
+ attr_reader :meta
34
+
35
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
36
+ attr_writer :meta
37
+
38
+ # Indicates whether the request was successful
39
+ sig { returns(T.nilable(T::Boolean)) }
40
+ attr_reader :success
41
+
42
+ sig { params(success: T::Boolean).void }
43
+ attr_writer :success
44
+
45
+ # Standard API response envelope for all v3 endpoints
46
+ sig do
47
+ params(
48
+ data: T.nilable(Sentdm::Channels::VoiceNumber::OrHash),
49
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
50
+ meta: Sentdm::APIMeta::OrHash,
51
+ success: T::Boolean
52
+ ).returns(T.attached_class)
53
+ end
54
+ def self.new(
55
+ # One number the profile carries phone calls on.
56
+ data: nil,
57
+ # Error information
58
+ error: nil,
59
+ # Request and response metadata
60
+ meta: nil,
61
+ # Indicates whether the request was successful
62
+ success: nil
63
+ )
64
+ end
65
+
66
+ sig do
67
+ override.returns(
68
+ {
69
+ data: T.nilable(Sentdm::Channels::VoiceNumber),
70
+ error: T.nilable(Sentdm::ErrorDetail),
71
+ meta: Sentdm::APIMeta,
72
+ success: T::Boolean
73
+ }
74
+ )
75
+ end
76
+ def to_hash
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,83 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Channels
6
+ class APIResponseOfVoiceNumberCreated < Sentdm::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Sentdm::Channels::APIResponseOfVoiceNumberCreated,
11
+ Sentdm::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The response data (null if error)
16
+ sig { returns(T.nilable(Sentdm::Channels::VoiceNumberCreated)) }
17
+ attr_reader :data
18
+
19
+ sig do
20
+ params(
21
+ data: T.nilable(Sentdm::Channels::VoiceNumberCreated::OrHash)
22
+ ).void
23
+ end
24
+ attr_writer :data
25
+
26
+ # Error information
27
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
28
+ attr_reader :error
29
+
30
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
31
+ attr_writer :error
32
+
33
+ # Request and response metadata
34
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
35
+ attr_reader :meta
36
+
37
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
38
+ attr_writer :meta
39
+
40
+ # Indicates whether the request was successful
41
+ sig { returns(T.nilable(T::Boolean)) }
42
+ attr_reader :success
43
+
44
+ sig { params(success: T::Boolean).void }
45
+ attr_writer :success
46
+
47
+ # Standard API response envelope for all v3 endpoints
48
+ sig do
49
+ params(
50
+ data: T.nilable(Sentdm::Channels::VoiceNumberCreated::OrHash),
51
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
52
+ meta: Sentdm::APIMeta::OrHash,
53
+ success: T::Boolean
54
+ ).returns(T.attached_class)
55
+ end
56
+ def self.new(
57
+ # The response data (null if error)
58
+ data: nil,
59
+ # Error information
60
+ error: nil,
61
+ # Request and response metadata
62
+ meta: nil,
63
+ # Indicates whether the request was successful
64
+ success: nil
65
+ )
66
+ end
67
+
68
+ sig do
69
+ override.returns(
70
+ {
71
+ data: T.nilable(Sentdm::Channels::VoiceNumberCreated),
72
+ error: T.nilable(Sentdm::ErrorDetail),
73
+ meta: Sentdm::APIMeta,
74
+ success: T::Boolean
75
+ }
76
+ )
77
+ end
78
+ def to_hash
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,81 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Channels
6
+ class APIResponseOfVoiceSecret < Sentdm::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Sentdm::Channels::APIResponseOfVoiceSecret,
11
+ Sentdm::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # A freshly rotated callback signing secret
16
+ sig { returns(T.nilable(Sentdm::Channels::VoiceSecret)) }
17
+ attr_reader :data
18
+
19
+ sig do
20
+ params(data: T.nilable(Sentdm::Channels::VoiceSecret::OrHash)).void
21
+ end
22
+ attr_writer :data
23
+
24
+ # Error information
25
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
26
+ attr_reader :error
27
+
28
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
29
+ attr_writer :error
30
+
31
+ # Request and response metadata
32
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
33
+ attr_reader :meta
34
+
35
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
36
+ attr_writer :meta
37
+
38
+ # Indicates whether the request was successful
39
+ sig { returns(T.nilable(T::Boolean)) }
40
+ attr_reader :success
41
+
42
+ sig { params(success: T::Boolean).void }
43
+ attr_writer :success
44
+
45
+ # Standard API response envelope for all v3 endpoints
46
+ sig do
47
+ params(
48
+ data: T.nilable(Sentdm::Channels::VoiceSecret::OrHash),
49
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
50
+ meta: Sentdm::APIMeta::OrHash,
51
+ success: T::Boolean
52
+ ).returns(T.attached_class)
53
+ end
54
+ def self.new(
55
+ # A freshly rotated callback signing secret
56
+ data: nil,
57
+ # Error information
58
+ error: nil,
59
+ # Request and response metadata
60
+ meta: nil,
61
+ # Indicates whether the request was successful
62
+ success: nil
63
+ )
64
+ end
65
+
66
+ sig do
67
+ override.returns(
68
+ {
69
+ data: T.nilable(Sentdm::Channels::VoiceSecret),
70
+ error: T.nilable(Sentdm::ErrorDetail),
71
+ meta: Sentdm::APIMeta,
72
+ success: T::Boolean
73
+ }
74
+ )
75
+ end
76
+ def to_hash
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,81 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Channels
6
+ class APIResponseOfVoiceToken < Sentdm::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Sentdm::Channels::APIResponseOfVoiceToken,
11
+ Sentdm::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # A short-lived token your app passes to the voice client SDK to register
16
+ sig { returns(T.nilable(Sentdm::Channels::VoiceToken)) }
17
+ attr_reader :data
18
+
19
+ sig do
20
+ params(data: T.nilable(Sentdm::Channels::VoiceToken::OrHash)).void
21
+ end
22
+ attr_writer :data
23
+
24
+ # Error information
25
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
26
+ attr_reader :error
27
+
28
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
29
+ attr_writer :error
30
+
31
+ # Request and response metadata
32
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
33
+ attr_reader :meta
34
+
35
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
36
+ attr_writer :meta
37
+
38
+ # Indicates whether the request was successful
39
+ sig { returns(T.nilable(T::Boolean)) }
40
+ attr_reader :success
41
+
42
+ sig { params(success: T::Boolean).void }
43
+ attr_writer :success
44
+
45
+ # Standard API response envelope for all v3 endpoints
46
+ sig do
47
+ params(
48
+ data: T.nilable(Sentdm::Channels::VoiceToken::OrHash),
49
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
50
+ meta: Sentdm::APIMeta::OrHash,
51
+ success: T::Boolean
52
+ ).returns(T.attached_class)
53
+ end
54
+ def self.new(
55
+ # A short-lived token your app passes to the voice client SDK to register
56
+ data: nil,
57
+ # Error information
58
+ error: nil,
59
+ # Request and response metadata
60
+ meta: nil,
61
+ # Indicates whether the request was successful
62
+ success: nil
63
+ )
64
+ end
65
+
66
+ sig do
67
+ override.returns(
68
+ {
69
+ data: T.nilable(Sentdm::Channels::VoiceToken),
70
+ error: T.nilable(Sentdm::ErrorDetail),
71
+ meta: Sentdm::APIMeta,
72
+ success: T::Boolean
73
+ }
74
+ )
75
+ end
76
+ def to_hash
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,126 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Channels
6
+ class VoiceCallbackTest < Sentdm::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Sentdm::Channels::VoiceCallbackTest,
11
+ Sentdm::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Your answer as Sent read it, with numbers in E.164 and a missing caller id
16
+ # filled in. Set only when the outcome is ok.
17
+ sig { returns(T.nilable(T.anything)) }
18
+ attr_accessor :answer
19
+
20
+ # The call id the test question carried. It does not exist anywhere else and
21
+ # cannot be looked up.
22
+ sig { returns(T.nilable(String)) }
23
+ attr_reader :call_id
24
+
25
+ sig { params(call_id: String).void }
26
+ attr_writer :call_id
27
+
28
+ # Why the test did not end with ok
29
+ sig { returns(T.nilable(Sentdm::Channels::VoiceCallbackTestErrorInfo)) }
30
+ attr_reader :error
31
+
32
+ sig do
33
+ params(
34
+ error:
35
+ T.nilable(Sentdm::Channels::VoiceCallbackTestErrorInfo::OrHash)
36
+ ).void
37
+ end
38
+ attr_writer :error
39
+
40
+ # What happened: ok, timeout, connection_failed, http_error or invalid_answer
41
+ sig { returns(T.nilable(String)) }
42
+ attr_reader :outcome
43
+
44
+ sig { params(outcome: String).void }
45
+ attr_writer :outcome
46
+
47
+ # The test question exactly as it was sent
48
+ sig do
49
+ returns(T.nilable(Sentdm::Channels::VoiceCallbackTestRequestInfo))
50
+ end
51
+ attr_reader :request
52
+
53
+ sig do
54
+ params(
55
+ request:
56
+ T.nilable(Sentdm::Channels::VoiceCallbackTestRequestInfo::OrHash)
57
+ ).void
58
+ end
59
+ attr_writer :request
60
+
61
+ # What your endpoint answered
62
+ sig do
63
+ returns(T.nilable(Sentdm::Channels::VoiceCallbackTestResponseInfo))
64
+ end
65
+ attr_reader :response
66
+
67
+ sig do
68
+ params(
69
+ response:
70
+ T.nilable(Sentdm::Channels::VoiceCallbackTestResponseInfo::OrHash)
71
+ ).void
72
+ end
73
+ attr_writer :response
74
+
75
+ # The verdict of a test question sent to your callback URL
76
+ sig do
77
+ params(
78
+ answer: T.nilable(T.anything),
79
+ call_id: String,
80
+ error:
81
+ T.nilable(Sentdm::Channels::VoiceCallbackTestErrorInfo::OrHash),
82
+ outcome: String,
83
+ request:
84
+ T.nilable(Sentdm::Channels::VoiceCallbackTestRequestInfo::OrHash),
85
+ response:
86
+ T.nilable(Sentdm::Channels::VoiceCallbackTestResponseInfo::OrHash)
87
+ ).returns(T.attached_class)
88
+ end
89
+ def self.new(
90
+ # Your answer as Sent read it, with numbers in E.164 and a missing caller id
91
+ # filled in. Set only when the outcome is ok.
92
+ answer: nil,
93
+ # The call id the test question carried. It does not exist anywhere else and
94
+ # cannot be looked up.
95
+ call_id: nil,
96
+ # Why the test did not end with ok
97
+ error: nil,
98
+ # What happened: ok, timeout, connection_failed, http_error or invalid_answer
99
+ outcome: nil,
100
+ # The test question exactly as it was sent
101
+ request: nil,
102
+ # What your endpoint answered
103
+ response: nil
104
+ )
105
+ end
106
+
107
+ sig do
108
+ override.returns(
109
+ {
110
+ answer: T.nilable(T.anything),
111
+ call_id: String,
112
+ error: T.nilable(Sentdm::Channels::VoiceCallbackTestErrorInfo),
113
+ outcome: String,
114
+ request:
115
+ T.nilable(Sentdm::Channels::VoiceCallbackTestRequestInfo),
116
+ response:
117
+ T.nilable(Sentdm::Channels::VoiceCallbackTestResponseInfo)
118
+ }
119
+ )
120
+ end
121
+ def to_hash
122
+ end
123
+ end
124
+ end
125
+ end
126
+ end
@@ -0,0 +1,65 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Channels
6
+ class VoiceCallbackTestErrorInfo < Sentdm::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Sentdm::Channels::VoiceCallbackTestErrorInfo,
11
+ Sentdm::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # What to fix
16
+ sig { returns(T.nilable(String)) }
17
+ attr_reader :message
18
+
19
+ sig { params(message: String).void }
20
+ attr_writer :message
21
+
22
+ # Dotted path of the answer field at fault, such as action.action, when one field
23
+ # is to blame
24
+ sig { returns(T.nilable(String)) }
25
+ attr_accessor :path
26
+
27
+ # Machine-readable reason, such as timeout, http_error, malformed_json,
28
+ # missing_action or unknown_action
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :reason
31
+
32
+ sig { params(reason: String).void }
33
+ attr_writer :reason
34
+
35
+ # Why the test did not end with ok
36
+ sig do
37
+ params(
38
+ message: String,
39
+ path: T.nilable(String),
40
+ reason: String
41
+ ).returns(T.attached_class)
42
+ end
43
+ def self.new(
44
+ # What to fix
45
+ message: nil,
46
+ # Dotted path of the answer field at fault, such as action.action, when one field
47
+ # is to blame
48
+ path: nil,
49
+ # Machine-readable reason, such as timeout, http_error, malformed_json,
50
+ # missing_action or unknown_action
51
+ reason: nil
52
+ )
53
+ end
54
+
55
+ sig do
56
+ override.returns(
57
+ { message: String, path: T.nilable(String), reason: String }
58
+ )
59
+ end
60
+ def to_hash
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end