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
@@ -22,11 +22,28 @@ module Sentdm
22
22
  optional :account_id, String
23
23
 
24
24
  # @!attribute channel
25
- # The channel the message arrived on, for example sms or whatsapp.
25
+ # The channel the message arrived on, for example sms or mms.
26
26
  #
27
27
  # @return [String, nil]
28
28
  optional :channel, String
29
29
 
30
+ # @!attribute media
31
+ # Attachments the contact sent, present only on channels that carry them (mms
32
+ # today) and omitted entirely otherwise.
33
+ #
34
+ # Each url points at the carrier's own copy of the file — sent.dm records where
35
+ # the attachment is, not the attachment itself. The link is unauthenticated and
36
+ # expires on the carrier's schedule, which differs between them: assume days, not
37
+ # months. Download what you need on receipt; re-reading the message through GET
38
+ # /v3/messages/{id} returns the same stored link, not a fresh one, so once it
39
+ # lapses the entry remains with whatever the carrier declared about the file but
40
+ # the file is no longer reachable.
41
+ #
42
+ # @return [Array<Sentdm::Models::InboundMessageEventPayload::Media>, nil]
43
+ optional :media,
44
+ -> { Sentdm::Internal::Type::ArrayOf[Sentdm::InboundMessageEventPayload::Media] },
45
+ nil?: true
46
+
30
47
  # @!attribute message_id
31
48
  # The inbound message.
32
49
  #
@@ -54,7 +71,7 @@ module Sentdm
54
71
  # @return [String, nil]
55
72
  optional :updated_at, String
56
73
 
57
- # @!method initialize(inbound_number:, received_at:, account_id: nil, channel: nil, message_id: nil, outbound_number: nil, text: nil, updated_at: nil)
74
+ # @!method initialize(inbound_number:, received_at:, account_id: nil, channel: nil, media: nil, message_id: nil, outbound_number: nil, text: nil, updated_at: nil)
58
75
  # Some parameter documentations has been truncated, see
59
76
  # {Sentdm::Models::InboundMessageEventPayload} for more details.
60
77
  #
@@ -67,7 +84,9 @@ module Sentdm
67
84
  #
68
85
  # @param account_id [String] The account the message belongs to.
69
86
  #
70
- # @param channel [String] The channel the message arrived on, for example sms or whatsapp.
87
+ # @param channel [String] The channel the message arrived on, for example sms or mms.
88
+ #
89
+ # @param media [Array<Sentdm::Models::InboundMessageEventPayload::Media>, nil] Attachments the contact sent, present only on channels that carry them (mms toda
71
90
  #
72
91
  # @param message_id [String] The inbound message.
73
92
  #
@@ -76,6 +95,54 @@ module Sentdm
76
95
  # @param text [String, nil] The message body. Sent as null when the inbound message carried no text, for
77
96
  #
78
97
  # @param updated_at [String] When the message was received, in UTC (yyyy-MM-ddTHH:mm:ssZ). Same value as
98
+
99
+ class Media < Sentdm::Internal::Type::BaseModel
100
+ # @!attribute hash_sha256
101
+ # SHA-256 of the file as the carrier declared it, when it declares one. Verify
102
+ # what you download against this — sent.dm never reads the bytes, so it is the
103
+ # only integrity signal available.
104
+ #
105
+ # @return [String, nil]
106
+ optional :hash_sha256, String, nil?: true
107
+
108
+ # @!attribute mime_type
109
+ # Content type as the carrier reported it, for example image/jpeg.
110
+ #
111
+ # @return [String, nil]
112
+ optional :mime_type, String, nil?: true
113
+
114
+ # @!attribute size_bytes
115
+ # Size in bytes as the carrier declared it. Absent when it declared none.
116
+ #
117
+ # @return [Integer, nil]
118
+ optional :size_bytes, Integer, nil?: true
119
+
120
+ # @!attribute url
121
+ # Where the carrier hosts the attachment.
122
+ #
123
+ # This link expires and is not authenticated. sent.dm relays it rather than
124
+ # copying the file, so how long it stays fetchable is the carrier's decision and
125
+ # differs between them — assume days, not months. Anyone holding the URL can fetch
126
+ # it until it lapses. Copy the file on receipt if you need it to outlive that
127
+ # window; do not store this URL as a permanent reference.
128
+ #
129
+ # @return [String, nil]
130
+ optional :url, String, nil?: true
131
+
132
+ # @!method initialize(hash_sha256: nil, mime_type: nil, size_bytes: nil, url: nil)
133
+ # Some parameter documentations has been truncated, see
134
+ # {Sentdm::Models::InboundMessageEventPayload::Media} for more details.
135
+ #
136
+ # One attachment on an inbound message.
137
+ #
138
+ # @param hash_sha256 [String, nil] SHA-256 of the file as the carrier declared it, when it declares one. Verify wha
139
+ #
140
+ # @param mime_type [String, nil] Content type as the carrier reported it, for example image/jpeg.
141
+ #
142
+ # @param size_bytes [Integer, nil] Size in bytes as the carrier declared it. Absent when it declared none.
143
+ #
144
+ # @param url [String, nil] Where the carrier hosts the attachment.
145
+ end
79
146
  end
80
147
  end
81
148
  end
@@ -77,6 +77,24 @@ module Sentdm
77
77
  # @return [String, nil]
78
78
  optional :email, String, nil?: true
79
79
 
80
+ # @!attribute enable_template_auto_creation_for_sp
81
+ # Whether this account may mark a template for automatic creation on its sender
82
+ # profiles. Granted by Sent per account and off by default, so it is what a
83
+ # template-create form reads to decide whether to offer the option at all —
84
+ # marking a template without it does nothing.
85
+ #
86
+ # Top-level rather than inside settings, which is written for type: "profile" only
87
+ # and so would never carry it to the account type that can act on it.
88
+ #
89
+ # This is the capability, not the stored flag: a profile reports false whatever
90
+ # its own row holds. A sender profile owns no sender profiles, so a template it
91
+ # marked would have nothing to be created on and the fan-out would never read the
92
+ # flag. The admin GET /customers/{id} reports the stored value instead, because
93
+ # that is the one an operator granted.
94
+ #
95
+ # @return [Boolean, nil]
96
+ optional :enable_template_auto_creation_for_sp, Sentdm::Internal::Type::Boolean
97
+
80
98
  # @!attribute icon
81
99
  # Account icon URL
82
100
  #
@@ -155,7 +173,7 @@ module Sentdm
155
173
  # @return [String, nil]
156
174
  optional :type, String
157
175
 
158
- # @!method initialize(id: nil, channels: nil, created_at: nil, description: nil, email: nil, icon: nil, name: nil, organization_id: nil, profiles: nil, sending_phone_number: nil, sending_phone_number_profile_id: nil, settings: nil, short_name: nil, status: nil, type: nil)
176
+ # @!method initialize(id: nil, channels: nil, created_at: nil, description: nil, email: nil, enable_template_auto_creation_for_sp: nil, icon: nil, name: nil, organization_id: nil, profiles: nil, sending_phone_number: nil, sending_phone_number_profile_id: nil, settings: nil, short_name: nil, status: nil, type: nil)
159
177
  # Some parameter documentations has been truncated, see
160
178
  # {Sentdm::Models::MeRetrieveResponse::Data} for more details.
161
179
  #
@@ -173,6 +191,8 @@ module Sentdm
173
191
  #
174
192
  # @param email [String, nil] Contact email address
175
193
  #
194
+ # @param enable_template_auto_creation_for_sp [Boolean] Whether this account may mark a template for automatic creation on its sender pr
195
+ #
176
196
  # @param icon [String, nil] Account icon URL
177
197
  #
178
198
  # @param name [String] Account name
@@ -51,6 +51,24 @@ module Sentdm
51
51
  # @return [String, nil]
52
52
  optional :outbound_number, String
53
53
 
54
+ # @!attribute reason
55
+ # A human-readable sentence for ReasonCode, for example "The recipient is not
56
+ # registered on this channel". Omitted whenever reason_code is.
57
+ #
58
+ # @return [String, nil]
59
+ optional :reason, String, nil?: true
60
+
61
+ # @!attribute reason_code
62
+ # Why the message reached this status, as a stable platform code such as
63
+ # DELIVERY_007 or BUSINESS_003. Present on message.failed, message.filtered and
64
+ # message.blocked; omitted on every status that needs no explanation. Switch on
65
+ # this rather than on Reason: the code is stable, the wording may be improved. It
66
+ # is the platform's classification of the outcome and never a carrier or vendor
67
+ # code.
68
+ #
69
+ # @return [String, nil]
70
+ optional :reason_code, String, nil?: true
71
+
54
72
  # @!attribute schedule_reason
55
73
  # message.scheduled only: why the message is held, either because you scheduled it
56
74
  # or because the recipient is inside a protected quiet-hours window. Omitted on
@@ -85,7 +103,7 @@ module Sentdm
85
103
  # @return [String, nil]
86
104
  optional :updated_at, String
87
105
 
88
- # @!method initialize(message_status:, account_id: nil, agent_id: nil, body: nil, channel: nil, message_id: nil, outbound_number: nil, schedule_reason: nil, scheduled_at: nil, template_id: nil, template_name: nil, updated_at: nil)
106
+ # @!method initialize(message_status:, account_id: nil, agent_id: nil, body: nil, channel: nil, message_id: nil, outbound_number: nil, reason: nil, reason_code: nil, schedule_reason: nil, scheduled_at: nil, template_id: nil, template_name: nil, updated_at: nil)
89
107
  # Some parameter documentations has been truncated, see
90
108
  # {Sentdm::Models::MessageEventPayload} for more details.
91
109
  #
@@ -107,6 +125,10 @@ module Sentdm
107
125
  #
108
126
  # @param outbound_number [String] The recipient's number in E.164 format.
109
127
  #
128
+ # @param reason [String, nil] A human-readable sentence for ReasonCode, for example "The recipient is not regi
129
+ #
130
+ # @param reason_code [String, nil] Why the message reached this status, as a stable platform code such as
131
+ #
110
132
  # @param schedule_reason [String, nil] message.scheduled only: why the message is held, either because you scheduled it
111
133
  #
112
134
  # @param scheduled_at [String, nil] message.scheduled only: when the held message will be released for delivery, in
@@ -98,6 +98,23 @@ module Sentdm
98
98
  # @return [String, nil]
99
99
  optional :price, String, nil?: true
100
100
 
101
+ # @!attribute reason
102
+ # A human-readable sentence for reason_code, for example "The recipient is not
103
+ # registered on this channel" Omitted whenever reason_code is.
104
+ #
105
+ # @return [String, nil]
106
+ optional :reason, String, nil?: true
107
+
108
+ # @!attribute reason_code
109
+ # Why the message reached this status, as a stable platform code such as
110
+ # DELIVERY_007 or BUSINESS_003. Present on FAILED, FILTERED and BLOCKED
111
+ # activities; omitted on every status that needs no explanation. Switch on this
112
+ # rather than on reason: the code is stable, the wording may be improved. Same
113
+ # wire name and vocabulary as on the message and the webhook.
114
+ #
115
+ # @return [String, nil]
116
+ optional :reason_code, String, nil?: true
117
+
101
118
  # @!attribute scheduled_at
102
119
  # SCHEDULED activities only: when the held message will be released for delivery,
103
120
  # in UTC. Same wire name as on the send response, the message and the webhook.
@@ -120,7 +137,7 @@ module Sentdm
120
137
  # @return [Time, nil]
121
138
  optional :timestamp, Time
122
139
 
123
- # @!method initialize(active_contact_price: nil, description: nil, from: nil, price: nil, scheduled_at: nil, status: nil, timestamp: nil)
140
+ # @!method initialize(active_contact_price: nil, description: nil, from: nil, price: nil, reason: nil, reason_code: nil, scheduled_at: nil, status: nil, timestamp: nil)
124
141
  # Some parameter documentations has been truncated, see
125
142
  # {Sentdm::Models::MessageRetrieveActivitiesResponse::Data::Activity} for more
126
143
  # details.
@@ -139,6 +156,11 @@ module Sentdm
139
156
  #
140
157
  # @param price [String, nil] Channel cost for this activity (e.g., SMS/WhatsApp provider cost), formatted to
141
158
  #
159
+ # @param reason [String, nil] A human-readable sentence for reason_code, for example "The recipient is not reg
160
+ #
161
+ # @param reason_code [String, nil] Why the message reached this status, as a stable platform code such as
162
+ # DELIVERY\_
163
+ #
142
164
  # @param scheduled_at [Time, nil] SCHEDULED activities only: when the held message will be released for delivery,
143
165
  #
144
166
  # @param status [String] Activity status. Outbound: QUEUED, PROCESSED, ROUTED, SCHEDULED, SENT, DELIVERED
@@ -122,6 +122,24 @@ module Sentdm
122
122
  # @return [Float, nil]
123
123
  optional :price, Float, nil?: true
124
124
 
125
+ # @!attribute reason
126
+ # A human-readable sentence for reason_code, for example "Insufficient balance".
127
+ # Omitted whenever reason_code is.
128
+ #
129
+ # @return [String, nil]
130
+ optional :reason, String, nil?: true
131
+
132
+ # @!attribute reason_code
133
+ # Why the message is at its current status, as a stable platform code such as
134
+ # DELIVERY_007, BUSINESS_003 or DELIVERY_003. Present when the current status is
135
+ # FAILED, FILTERED or BLOCKED and the lifecycle was loaded; omitted otherwise.
136
+ # Switch on this rather than on reason: the code is stable, the wording may be
137
+ # improved. It is the platform's classification of the outcome, never a carrier or
138
+ # vendor code.
139
+ #
140
+ # @return [String, nil]
141
+ optional :reason_code, String, nil?: true
142
+
125
143
  # @!attribute region_code
126
144
  #
127
145
  # @return [String, nil]
@@ -147,7 +165,7 @@ module Sentdm
147
165
  # @return [String, nil]
148
166
  optional :template_name, String, nil?: true
149
167
 
150
- # @!method initialize(id: nil, active_contact_price: nil, channel: nil, contact_id: nil, created_at: nil, customer_id: nil, direction: nil, events: nil, message_body: nil, phone: nil, phone_international: nil, price: nil, region_code: nil, status: nil, template_category: nil, template_id: nil, template_name: nil)
168
+ # @!method initialize(id: nil, active_contact_price: nil, channel: nil, contact_id: nil, created_at: nil, customer_id: nil, direction: nil, events: nil, message_body: nil, phone: nil, phone_international: nil, price: nil, reason: nil, reason_code: nil, region_code: nil, status: nil, template_category: nil, template_id: nil, template_name: nil)
151
169
  # Some parameter documentations has been truncated, see
152
170
  # {Sentdm::Models::MessageRetrieveStatusResponse::Data} for more details.
153
171
  #
@@ -182,6 +200,10 @@ module Sentdm
182
200
  #
183
201
  # @param price [Float, nil]
184
202
  #
203
+ # @param reason [String, nil] A human-readable sentence for reason_code, for example "Insufficient balance". O
204
+ #
205
+ # @param reason_code [String, nil] Why the message is at its current status, as a stable platform code such as
206
+ #
185
207
  # @param region_code [String]
186
208
  #
187
209
  # @param status [String]
@@ -208,12 +230,37 @@ module Sentdm
208
230
  # @return [String, nil]
209
231
  optional :description, String, nil?: true
210
232
 
211
- # @!method initialize(status:, timestamp:, description: nil)
233
+ # @!attribute reason
234
+ # A human-readable sentence for reason_code. Omitted whenever reason_code is.
235
+ #
236
+ # @return [String, nil]
237
+ optional :reason, String, nil?: true
238
+
239
+ # @!attribute reason_code
240
+ # Why the message reached this status, as a stable platform code such as
241
+ # DELIVERY_007. Present on FAILED, FILTERED and BLOCKED events; omitted on every
242
+ # status that needs no explanation. Same wire name and vocabulary as on the
243
+ # activities list and the webhook.
244
+ #
245
+ # @return [String, nil]
246
+ optional :reason_code, String, nil?: true
247
+
248
+ # @!method initialize(status:, timestamp:, description: nil, reason: nil, reason_code: nil)
249
+ # Some parameter documentations has been truncated, see
250
+ # {Sentdm::Models::MessageRetrieveStatusResponse::Data::Event} for more details.
251
+ #
212
252
  # Represents a status change event in a message's lifecycle (v3)
213
253
  #
214
254
  # @param status [String]
255
+ #
215
256
  # @param timestamp [Time]
257
+ #
216
258
  # @param description [String, nil]
259
+ #
260
+ # @param reason [String, nil] A human-readable sentence for reason_code. Omitted whenever reason_code is.
261
+ #
262
+ # @param reason_code [String, nil] Why the message reached this status, as a stable platform code such as
263
+ # DELIVERY\_
217
264
  end
218
265
 
219
266
  # @see Sentdm::Models::MessageRetrieveStatusResponse::Data#message_body
@@ -356,32 +403,72 @@ module Sentdm
356
403
 
357
404
  class Media < Sentdm::Internal::Type::BaseModel
358
405
  # @!attribute media_type
359
- # One of Constants.MmsMediaTypes when known. Advisory — the carrier reads the
360
- # fetched object's Content-Type, not this.
406
+ # One of MmsMediaTypes when the content type is known. Advisory — a reader should
407
+ # trust the fetched object's own Content-Type.
361
408
  #
362
409
  # @return [String, nil]
363
410
  optional :media_type, String, api_name: :mediaType, nil?: true
364
411
 
412
+ # @!attribute mime_type
413
+ # Content type as the provider declared it. Null when it declared none.
414
+ #
415
+ # @return [String, nil]
416
+ optional :mime_type, String, api_name: :mimeType, nil?: true
417
+
418
+ # @!attribute size_bytes
419
+ # Size as the provider declared it. Never measured here — nothing downloads the
420
+ # file.
421
+ #
422
+ # @return [Integer, nil]
423
+ optional :size_bytes, Integer, api_name: :sizeBytes, nil?: true
424
+
425
+ # @!attribute source_hash_sha256
426
+ # Inbound only: the SHA-256 the provider declared alongside the attachment, when
427
+ # it declared one. Relayed to the customer so they can verify what they fetch
428
+ # matches what the carrier said it sent. It is the only integrity signal available
429
+ # on an attachment nobody here has read.
430
+ #
431
+ # @return [String, nil]
432
+ optional :source_hash_sha256, String, api_name: :sourceHashSha256, nil?: true
433
+
365
434
  # @!attribute url
435
+ # Where the file lives. Outbound: the URL the customer gave us and the carrier
436
+ # fetched. Inbound: the URL the carrier hosts it at, relayed unchanged.
366
437
  #
367
438
  # @return [String, nil]
368
- optional :url, String
439
+ optional :url, String, nil?: true
369
440
 
370
- # @!method initialize(media_type: nil, url: nil)
441
+ # @!method initialize(media_type: nil, mime_type: nil, size_bytes: nil, source_hash_sha256: nil, url: nil)
371
442
  # Some parameter documentations has been truncated, see
372
443
  # {Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody::Media} for
373
444
  # more details.
374
445
  #
375
- # One attachment on a message: a customer-supplied public URL handed to the
376
- # carrier as-is.
446
+ # One attachment on a message, in either direction — and in both, a URL somebody
447
+ # else hosts.
448
+ #
449
+ # Outbound: the customer supplied a public URL and we handed it to the carrier.
450
+ # Inbound: the carrier hosts the file and we record where. sent.dm never holds the
451
+ # bytes, so there is no key, no expiry bookkeeping and nothing minted per read —
452
+ # what is stored is what is served.
453
+ #
454
+ # An inbound link expires on the carrier's own schedule and is unauthenticated.
455
+ # That is the customer's to manage, and it is documented where they will see it
456
+ # rather than only here — a recipient who needs an attachment to outlive that
457
+ # window copies it on receipt.
458
+ #
459
+ # Storing a presigned URL is the specific mistake this shape still avoids:
460
+ # M260826130000 and M260826140000 exist because RCS assets were stored as signed
461
+ # URLs and went stale. Nothing here is signed.
462
+ #
463
+ # @param media_type [String, nil] One of MmsMediaTypes when the content type is known. Advisory — a reader should
464
+ #
465
+ # @param mime_type [String, nil] Content type as the provider declared it. Null when it declared none.
377
466
  #
378
- # A URL and nothing else. sent.dm never takes custody of MMS media — the customer hosts it and we
379
- # pass the link through at send time — so there is no storage key, size or expiry to record. If we ever
380
- # do host attachments, that belongs with the change that introduces the hosting, not here.
467
+ # @param size_bytes [Integer, nil] Size as the provider declared it. Never measured here — nothing downloads the fi
381
468
  #
382
- # @param media_type [String, nil] One of Constants.MmsMediaTypes when known. Advisory — the carrier reads the
469
+ # @param source_hash_sha256 [String, nil] Inbound only: the SHA-256 the provider declared alongside the attachment, when i
383
470
  #
384
- # @param url [String]
471
+ # @param url [String, nil] Where the file lives. Outbound: the URL the customer gave us and the carrier fet
385
472
  end
386
473
  end
387
474
  end
@@ -7,6 +7,14 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute auto_create_for_sp
11
+ # Create this template automatically on every sender profile of the organization,
12
+ # now and in future (default: false). Accepted only from an organization that has
13
+ # been enabled for it, and only at creation — it cannot be changed afterwards.
14
+ #
15
+ # @return [Boolean, nil]
16
+ optional :auto_create_for_sp, Sentdm::Internal::Type::Boolean
17
+
10
18
  # @!attribute category
11
19
  # Template category: MARKETING, UTILITY, AUTHENTICATION (optional, auto-detected
12
20
  # if not provided)
@@ -56,10 +64,12 @@ module Sentdm
56
64
  # @return [String, nil]
57
65
  optional :x_profile_id, String
58
66
 
59
- # @!method initialize(category: nil, creation_source: nil, definition: nil, language: nil, sandbox: nil, submit_for_review: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
67
+ # @!method initialize(auto_create_for_sp: nil, category: nil, creation_source: nil, definition: nil, language: nil, sandbox: nil, submit_for_review: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
60
68
  # Some parameter documentations has been truncated, see
61
69
  # {Sentdm::Models::TemplateCreateParams} for more details.
62
70
  #
71
+ # @param auto_create_for_sp [Boolean] Create this template automatically on every sender profile of the organization,
72
+ #
63
73
  # @param category [String, nil] Template category: MARKETING, UTILITY, AUTHENTICATION (optional, auto-detected i
64
74
  #
65
75
  # @param creation_source [String, nil] Source of template creation (default: from-api)
@@ -41,6 +41,13 @@ module Sentdm
41
41
  # @return [Boolean, nil]
42
42
  optional :sandbox, Sentdm::Internal::Type::Boolean
43
43
 
44
+ # @!attribute sender_profile
45
+ # Request-only: the events an organization webhook's sender profile clones
46
+ # receive, one clone per existing and future profile. Responses never return it.
47
+ #
48
+ # @return [Sentdm::Models::WebhookCreateParams::SenderProfile, nil]
49
+ optional :sender_profile, -> { Sentdm::WebhookCreateParams::SenderProfile }, nil?: true
50
+
44
51
  # @!attribute timeout_seconds
45
52
  #
46
53
  # @return [Integer, nil]
@@ -56,7 +63,7 @@ module Sentdm
56
63
  # @return [String, nil]
57
64
  optional :x_profile_id, String
58
65
 
59
- # @!method initialize(display_name: nil, endpoint_url: nil, event_filters: nil, event_types: nil, retry_count: nil, sandbox: nil, timeout_seconds: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
66
+ # @!method initialize(display_name: nil, endpoint_url: nil, event_filters: nil, event_types: nil, retry_count: nil, sandbox: nil, sender_profile: nil, timeout_seconds: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
60
67
  # Some parameter documentations has been truncated, see
61
68
  # {Sentdm::Models::WebhookCreateParams} for more details.
62
69
  #
@@ -72,6 +79,8 @@ module Sentdm
72
79
  #
73
80
  # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
74
81
  #
82
+ # @param sender_profile [Sentdm::Models::WebhookCreateParams::SenderProfile, nil] Request-only: the events an organization webhook's sender profile clones receive
83
+ #
75
84
  # @param timeout_seconds [Integer]
76
85
  #
77
86
  # @param idempotency_key [String]
@@ -79,6 +88,27 @@ module Sentdm
79
88
  # @param x_profile_id [String]
80
89
  #
81
90
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
91
+
92
+ class SenderProfile < Sentdm::Internal::Type::BaseModel
93
+ # @!attribute event_filters
94
+ #
95
+ # @return [Hash{Symbol=>Array<String>}, nil]
96
+ optional :event_filters,
97
+ Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::ArrayOf[String]],
98
+ nil?: true
99
+
100
+ # @!attribute event_types
101
+ #
102
+ # @return [Array<String>, nil]
103
+ optional :event_types, Sentdm::Internal::Type::ArrayOf[String]
104
+
105
+ # @!method initialize(event_filters: nil, event_types: nil)
106
+ # Request-only: the events an organization webhook's sender profile clones
107
+ # receive, one clone per existing and future profile. Responses never return it.
108
+ #
109
+ # @param event_filters [Hash{Symbol=>Array<String>}, nil]
110
+ # @param event_types [Array<String>]
111
+ end
82
112
  end
83
113
  end
84
114
  end
@@ -48,7 +48,7 @@ module Sentdm
48
48
  # handler that rejects an envelope it does not recognise will break on the next
49
49
  # addition rather than ignore it.
50
50
  #
51
- # @return [Sentdm::Models::MessageEvent, Sentdm::Models::InboundMessageEvent, Sentdm::Models::TemplateEvent, Sentdm::Models::ChannelEvent, Sentdm::Models::ContactEvent, Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload, nil]
51
+ # @return [Sentdm::Models::MessageEvent, Sentdm::Models::InboundMessageEvent, Sentdm::Models::TemplateEvent, Sentdm::Models::ChannelEvent, Sentdm::Models::ContactEvent, Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload, Sentdm::Models::CallEvent, nil]
52
52
  optional :event_data, union: -> { Sentdm::Models::WebhookListEventsResponse::EventData }
53
53
 
54
54
  # @!attribute event_type
@@ -90,7 +90,7 @@ module Sentdm
90
90
  #
91
91
  # @param error_message [String, nil]
92
92
  #
93
- # @param event_data [Sentdm::Models::MessageEvent, Sentdm::Models::InboundMessageEvent, Sentdm::Models::TemplateEvent, Sentdm::Models::ChannelEvent, Sentdm::Models::ContactEvent, Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload] The exact event body that was delivered, or attempted, for this record. One of t
93
+ # @param event_data [Sentdm::Models::MessageEvent, Sentdm::Models::InboundMessageEvent, Sentdm::Models::TemplateEvent, Sentdm::Models::ChannelEvent, Sentdm::Models::ContactEvent, Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload, Sentdm::Models::CallEvent] The exact event body that was delivered, or attempted, for this record. One of t
94
94
  #
95
95
  # @param event_type [String]
96
96
  #
@@ -148,6 +148,10 @@ module Sentdm
148
148
  # varies only in Payload.
149
149
  variant -> { Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload }
150
150
 
151
+ # The envelope Sent POSTs to a subscribed webhook endpoint. Every event shares this shape and
152
+ # varies only in Payload.
153
+ variant -> { Sentdm::CallEvent }
154
+
151
155
  class SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload < Sentdm::Internal::Type::BaseModel
152
156
  # @!attribute event
153
157
  # The specific event within the family, for example message.delivered,
@@ -434,7 +438,7 @@ module Sentdm
434
438
  end
435
439
 
436
440
  # @!method self.variants
437
- # @return [Array(Sentdm::Models::MessageEvent, Sentdm::Models::InboundMessageEvent, Sentdm::Models::TemplateEvent, Sentdm::Models::ChannelEvent, Sentdm::Models::ContactEvent, Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload)]
441
+ # @return [Array(Sentdm::Models::MessageEvent, Sentdm::Models::InboundMessageEvent, Sentdm::Models::TemplateEvent, Sentdm::Models::ChannelEvent, Sentdm::Models::ContactEvent, Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload, Sentdm::Models::CallEvent)]
438
442
  end
439
443
  end
440
444
  end
@@ -46,6 +46,13 @@ module Sentdm
46
46
  # @return [Boolean, nil]
47
47
  optional :sandbox, Sentdm::Internal::Type::Boolean
48
48
 
49
+ # @!attribute sender_profile
50
+ # Request-only: the events an organization webhook's sender profile clones
51
+ # receive, one clone per existing and future profile. Responses never return it.
52
+ #
53
+ # @return [Sentdm::Models::WebhookUpdateParams::SenderProfile, nil]
54
+ optional :sender_profile, -> { Sentdm::WebhookUpdateParams::SenderProfile }, nil?: true
55
+
49
56
  # @!attribute timeout_seconds
50
57
  #
51
58
  # @return [Integer, nil]
@@ -61,7 +68,7 @@ module Sentdm
61
68
  # @return [String, nil]
62
69
  optional :x_profile_id, String
63
70
 
64
- # @!method initialize(id:, display_name: nil, endpoint_url: nil, event_filters: nil, event_types: nil, retry_count: nil, sandbox: nil, timeout_seconds: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
71
+ # @!method initialize(id:, display_name: nil, endpoint_url: nil, event_filters: nil, event_types: nil, retry_count: nil, sandbox: nil, sender_profile: nil, timeout_seconds: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
65
72
  # Some parameter documentations has been truncated, see
66
73
  # {Sentdm::Models::WebhookUpdateParams} for more details.
67
74
  #
@@ -79,6 +86,8 @@ module Sentdm
79
86
  #
80
87
  # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
81
88
  #
89
+ # @param sender_profile [Sentdm::Models::WebhookUpdateParams::SenderProfile, nil] Request-only: the events an organization webhook's sender profile clones receive
90
+ #
82
91
  # @param timeout_seconds [Integer]
83
92
  #
84
93
  # @param idempotency_key [String]
@@ -86,6 +95,27 @@ module Sentdm
86
95
  # @param x_profile_id [String]
87
96
  #
88
97
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
98
+
99
+ class SenderProfile < Sentdm::Internal::Type::BaseModel
100
+ # @!attribute event_filters
101
+ #
102
+ # @return [Hash{Symbol=>Array<String>}, nil]
103
+ optional :event_filters,
104
+ Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::ArrayOf[String]],
105
+ nil?: true
106
+
107
+ # @!attribute event_types
108
+ #
109
+ # @return [Array<String>, nil]
110
+ optional :event_types, Sentdm::Internal::Type::ArrayOf[String]
111
+
112
+ # @!method initialize(event_filters: nil, event_types: nil)
113
+ # Request-only: the events an organization webhook's sender profile clones
114
+ # receive, one clone per existing and future profile. Responses never return it.
115
+ #
116
+ # @param event_filters [Hash{Symbol=>Array<String>}, nil]
117
+ # @param event_types [Array<String>]
118
+ end
89
119
  end
90
120
  end
91
121
  end
data/lib/sentdm/models.rb CHANGED
@@ -41,6 +41,12 @@ module Sentdm
41
41
 
42
42
  APIMeta = Sentdm::Models::APIMeta
43
43
 
44
+ APIResponseOfCall = Sentdm::Models::APIResponseOfCall
45
+
46
+ APIResponseOfCallRecordings = Sentdm::Models::APIResponseOfCallRecordings
47
+
48
+ APIResponseOfCallsList = Sentdm::Models::APIResponseOfCallsList
49
+
44
50
  APIResponseOfContact = Sentdm::Models::APIResponseOfContact
45
51
 
46
52
  APIResponseOfContactMessageSummary = Sentdm::Models::APIResponseOfContactMessageSummary
@@ -67,10 +73,40 @@ module Sentdm
67
73
 
68
74
  BrandsBrandData = Sentdm::Models::BrandsBrandData
69
75
 
76
+ Call = Sentdm::Models::Call
77
+
78
+ CallEvent = Sentdm::Models::CallEvent
79
+
80
+ CallEventPayload = Sentdm::Models::CallEventPayload
81
+
82
+ CallHangupParams = Sentdm::Models::CallHangupParams
83
+
84
+ CallListParams = Sentdm::Models::CallListParams
85
+
86
+ CallListRecordingsParams = Sentdm::Models::CallListRecordingsParams
87
+
88
+ CallParty = Sentdm::Models::CallParty
89
+
90
+ CallRecording = Sentdm::Models::CallRecording
91
+
92
+ CallRecordings = Sentdm::Models::CallRecordings
93
+
94
+ CallRecordParams = Sentdm::Models::CallRecordParams
95
+
96
+ CallRetrieveParams = Sentdm::Models::CallRetrieveParams
97
+
98
+ Calls = Sentdm::Models::Calls
99
+
100
+ CallsList = Sentdm::Models::CallsList
101
+
102
+ CallTimelineEntry = Sentdm::Models::CallTimelineEntry
103
+
70
104
  ChannelEvent = Sentdm::Models::ChannelEvent
71
105
 
72
106
  ChannelEventPayload = Sentdm::Models::ChannelEventPayload
73
107
 
108
+ Channels = Sentdm::Models::Channels
109
+
74
110
  ContactCreateParams = Sentdm::Models::ContactCreateParams
75
111
 
76
112
  ContactDeleteParams = Sentdm::Models::ContactDeleteParams