sentdm 0.27.0 → 0.28.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 (275) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +1 -27
  4. data/lib/sentdm/client.rb +71 -8
  5. data/lib/sentdm/internal/type/base_model.rb +5 -5
  6. data/lib/sentdm/models/contact_create_response.rb +249 -0
  7. data/lib/sentdm/models/contact_delete_params.rb +16 -2
  8. data/lib/sentdm/models/contact_list_response.rb +299 -16
  9. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +186 -0
  10. data/lib/sentdm/models/contact_retrieve_response.rb +249 -0
  11. data/lib/sentdm/models/contact_update_response.rb +249 -0
  12. data/lib/sentdm/models/conversation_list_messages_response.rb +436 -0
  13. data/lib/sentdm/models/conversation_list_response.rb +433 -0
  14. data/lib/sentdm/models/me_retrieve_response.rb +242 -12
  15. data/lib/sentdm/models/message_retrieve_activities_response.rb +165 -7
  16. data/lib/sentdm/models/message_retrieve_status_response.rb +74 -6
  17. data/lib/sentdm/models/message_send_response.rb +113 -28
  18. data/lib/sentdm/models/number_lookup_response.rb +74 -6
  19. data/lib/sentdm/models/profile_complete_response.rb +74 -6
  20. data/lib/sentdm/models/profile_create_params.rb +378 -26
  21. data/lib/sentdm/models/profile_create_response.rb +760 -0
  22. data/lib/sentdm/models/profile_delete_params.rb +16 -2
  23. data/lib/sentdm/models/profile_list_response.rb +825 -14
  24. data/lib/sentdm/models/profile_retrieve_response.rb +762 -0
  25. data/lib/sentdm/models/profile_update_params.rb +391 -24
  26. data/lib/sentdm/models/profile_update_response.rb +760 -0
  27. data/lib/sentdm/models/profiles/campaign_create_params.rb +156 -3
  28. data/lib/sentdm/models/profiles/campaign_create_response.rb +420 -0
  29. data/lib/sentdm/models/profiles/campaign_delete_params.rb +17 -2
  30. data/lib/sentdm/models/profiles/campaign_list_response.rb +421 -0
  31. data/lib/sentdm/models/profiles/campaign_update_params.rb +156 -3
  32. data/lib/sentdm/models/profiles/campaign_update_response.rb +420 -0
  33. data/lib/sentdm/models/template_create_response.rb +209 -0
  34. data/lib/sentdm/models/template_list_params.rb +9 -2
  35. data/lib/sentdm/models/template_list_response.rb +262 -16
  36. data/lib/sentdm/models/template_retrieve_response.rb +209 -0
  37. data/lib/sentdm/models/template_update_response.rb +209 -0
  38. data/lib/sentdm/models/user_invite_response.rb +201 -0
  39. data/lib/sentdm/models/user_list_response.rb +259 -14
  40. data/lib/sentdm/models/user_remove_params.rb +16 -2
  41. data/lib/sentdm/models/user_retrieve_response.rb +201 -0
  42. data/lib/sentdm/models/user_update_role_response.rb +201 -0
  43. data/lib/sentdm/models/webhook_create_response.rb +229 -0
  44. data/lib/sentdm/models/webhook_list_event_types_response.rb +213 -13
  45. data/lib/sentdm/models/webhook_list_events_response.rb +162 -13
  46. data/lib/sentdm/models/webhook_list_response.rb +280 -15
  47. data/lib/sentdm/models/webhook_retrieve_response.rb +229 -0
  48. data/lib/sentdm/models/webhook_rotate_secret_params.rb +17 -2
  49. data/lib/sentdm/models/webhook_rotate_secret_response.rb +74 -6
  50. data/lib/sentdm/models/webhook_test_response.rb +74 -6
  51. data/lib/sentdm/models/webhook_toggle_status_response.rb +229 -0
  52. data/lib/sentdm/models/webhook_update_response.rb +229 -0
  53. data/lib/sentdm/models.rb +0 -52
  54. data/lib/sentdm/resources/contacts.rb +30 -13
  55. data/lib/sentdm/resources/conversations.rb +12 -4
  56. data/lib/sentdm/resources/me.rb +6 -1
  57. data/lib/sentdm/resources/messages.rb +11 -1
  58. data/lib/sentdm/resources/numbers.rb +6 -1
  59. data/lib/sentdm/resources/profiles/campaigns.rb +47 -9
  60. data/lib/sentdm/resources/profiles.rb +134 -58
  61. data/lib/sentdm/resources/templates.rb +14 -8
  62. data/lib/sentdm/resources/users.rb +12 -7
  63. data/lib/sentdm/resources/webhooks.rb +19 -9
  64. data/lib/sentdm/version.rb +1 -1
  65. data/lib/sentdm.rb +22 -32
  66. data/rbi/sentdm/client.rbi +71 -8
  67. data/rbi/sentdm/models/contact_create_response.rbi +407 -0
  68. data/rbi/sentdm/models/contact_delete_params.rbi +19 -2
  69. data/rbi/sentdm/models/contact_list_response.rbi +527 -21
  70. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +397 -0
  71. data/rbi/sentdm/models/contact_retrieve_response.rbi +409 -0
  72. data/rbi/sentdm/models/contact_update_response.rbi +407 -0
  73. data/rbi/sentdm/models/conversation_list_messages_response.rbi +843 -0
  74. data/rbi/sentdm/models/conversation_list_response.rbi +819 -0
  75. data/rbi/sentdm/models/me_retrieve_response.rbi +367 -16
  76. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +335 -11
  77. data/rbi/sentdm/models/message_retrieve_status_response.rbi +148 -8
  78. data/rbi/sentdm/models/message_send_response.rbi +178 -32
  79. data/rbi/sentdm/models/number_lookup_response.rbi +135 -8
  80. data/rbi/sentdm/models/profile_complete_response.rbi +137 -8
  81. data/rbi/sentdm/models/profile_create_params.rbi +592 -42
  82. data/rbi/sentdm/models/profile_create_response.rbi +1226 -0
  83. data/rbi/sentdm/models/profile_delete_params.rbi +19 -2
  84. data/rbi/sentdm/models/profile_list_response.rbi +1366 -18
  85. data/rbi/sentdm/models/profile_retrieve_response.rbi +1230 -0
  86. data/rbi/sentdm/models/profile_update_params.rbi +610 -30
  87. data/rbi/sentdm/models/profile_update_response.rbi +1226 -0
  88. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +218 -4
  89. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +674 -0
  90. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +14 -1
  91. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +667 -0
  92. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +218 -4
  93. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +674 -0
  94. data/rbi/sentdm/models/template_create_response.rbi +349 -0
  95. data/rbi/sentdm/models/template_list_params.rbi +10 -2
  96. data/rbi/sentdm/models/template_list_response.rbi +469 -21
  97. data/rbi/sentdm/models/template_retrieve_response.rbi +355 -0
  98. data/rbi/sentdm/models/template_update_response.rbi +349 -0
  99. data/rbi/sentdm/models/user_invite_response.rbi +336 -0
  100. data/rbi/sentdm/models/user_list_response.rbi +463 -18
  101. data/rbi/sentdm/models/user_remove_params.rbi +19 -2
  102. data/rbi/sentdm/models/user_retrieve_response.rbi +336 -0
  103. data/rbi/sentdm/models/user_update_role_response.rbi +341 -0
  104. data/rbi/sentdm/models/webhook_create_response.rbi +361 -0
  105. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +433 -16
  106. data/rbi/sentdm/models/webhook_list_events_response.rbi +319 -15
  107. data/rbi/sentdm/models/webhook_list_response.rbi +480 -19
  108. data/rbi/sentdm/models/webhook_retrieve_response.rbi +363 -0
  109. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +14 -1
  110. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +148 -8
  111. data/rbi/sentdm/models/webhook_test_response.rbi +135 -8
  112. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +379 -0
  113. data/rbi/sentdm/models/webhook_update_response.rbi +361 -0
  114. data/rbi/sentdm/models.rbi +0 -54
  115. data/rbi/sentdm/resources/contacts.rbi +24 -9
  116. data/rbi/sentdm/resources/conversations.rbi +10 -2
  117. data/rbi/sentdm/resources/me.rbi +6 -1
  118. data/rbi/sentdm/resources/messages.rbi +11 -1
  119. data/rbi/sentdm/resources/numbers.rbi +6 -1
  120. data/rbi/sentdm/resources/profiles/campaigns.rbi +36 -6
  121. data/rbi/sentdm/resources/profiles.rbi +174 -66
  122. data/rbi/sentdm/resources/templates.rbi +15 -5
  123. data/rbi/sentdm/resources/users.rbi +9 -4
  124. data/rbi/sentdm/resources/webhooks.rbi +15 -5
  125. data/sig/sentdm/models/contact_create_response.rbs +216 -0
  126. data/sig/sentdm/models/contact_delete_params.rbs +10 -6
  127. data/sig/sentdm/models/contact_list_response.rbs +263 -20
  128. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +182 -0
  129. data/sig/sentdm/models/contact_retrieve_response.rbs +216 -0
  130. data/sig/sentdm/models/contact_update_response.rbs +216 -0
  131. data/sig/sentdm/models/conversation_list_messages_response.rbs +404 -0
  132. data/sig/sentdm/models/conversation_list_response.rbs +404 -0
  133. data/sig/sentdm/models/me_retrieve_response.rbs +176 -18
  134. data/sig/sentdm/models/message_retrieve_activities_response.rbs +147 -12
  135. data/sig/sentdm/models/message_retrieve_status_response.rbs +71 -9
  136. data/sig/sentdm/models/message_send_response.rbs +71 -9
  137. data/sig/sentdm/models/number_lookup_response.rbs +71 -9
  138. data/sig/sentdm/models/profile_complete_response.rbs +71 -9
  139. data/sig/sentdm/models/profile_create_params.rbs +271 -24
  140. data/sig/sentdm/models/profile_create_response.rbs +559 -0
  141. data/sig/sentdm/models/profile_delete_params.rbs +10 -6
  142. data/sig/sentdm/models/profile_list_response.rbs +615 -15
  143. data/sig/sentdm/models/profile_retrieve_response.rbs +559 -0
  144. data/sig/sentdm/models/profile_update_params.rbs +263 -12
  145. data/sig/sentdm/models/profile_update_response.rbs +559 -0
  146. data/sig/sentdm/models/profiles/campaign_create_params.rbs +108 -4
  147. data/sig/sentdm/models/profiles/campaign_create_response.rbs +357 -0
  148. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +15 -8
  149. data/sig/sentdm/models/profiles/campaign_list_response.rbs +357 -0
  150. data/sig/sentdm/models/profiles/campaign_update_params.rbs +108 -4
  151. data/sig/sentdm/models/profiles/campaign_update_response.rbs +357 -0
  152. data/sig/sentdm/models/template_create_response.rbs +182 -0
  153. data/sig/sentdm/models/template_list_response.rbs +230 -19
  154. data/sig/sentdm/models/template_retrieve_response.rbs +182 -0
  155. data/sig/sentdm/models/template_update_response.rbs +182 -0
  156. data/sig/sentdm/models/user_invite_response.rbs +177 -0
  157. data/sig/sentdm/models/user_list_response.rbs +233 -15
  158. data/sig/sentdm/models/user_remove_params.rbs +10 -6
  159. data/sig/sentdm/models/user_retrieve_response.rbs +177 -0
  160. data/sig/sentdm/models/user_update_role_response.rbs +177 -0
  161. data/sig/sentdm/models/webhook_create_response.rbs +208 -0
  162. data/sig/sentdm/models/webhook_list_event_types_response.rbs +203 -15
  163. data/sig/sentdm/models/webhook_list_events_response.rbs +142 -14
  164. data/sig/sentdm/models/webhook_list_response.rbs +255 -20
  165. data/sig/sentdm/models/webhook_retrieve_response.rbs +208 -0
  166. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +17 -8
  167. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +71 -9
  168. data/sig/sentdm/models/webhook_test_response.rbs +71 -9
  169. data/sig/sentdm/models/webhook_toggle_status_response.rbs +208 -0
  170. data/sig/sentdm/models/webhook_update_response.rbs +208 -0
  171. data/sig/sentdm/models.rbs +0 -52
  172. data/sig/sentdm/resources/contacts.rbs +4 -4
  173. data/sig/sentdm/resources/conversations.rbs +2 -2
  174. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  175. data/sig/sentdm/resources/profiles.rbs +11 -11
  176. data/sig/sentdm/resources/templates.rbs +3 -3
  177. data/sig/sentdm/resources/users.rbs +3 -3
  178. data/sig/sentdm/resources/webhooks.rbs +4 -4
  179. metadata +68 -98
  180. data/lib/sentdm/models/api_meta.rb +0 -34
  181. data/lib/sentdm/models/api_response_of_contact.rb +0 -46
  182. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +0 -43
  183. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +0 -43
  184. data/lib/sentdm/models/api_response_of_profile_detail.rb +0 -43
  185. data/lib/sentdm/models/api_response_of_user.rb +0 -43
  186. data/lib/sentdm/models/api_response_template.rb +0 -43
  187. data/lib/sentdm/models/api_response_webhook.rb +0 -43
  188. data/lib/sentdm/models/billing_contact_info.rb +0 -47
  189. data/lib/sentdm/models/brand_business_info.rb +0 -114
  190. data/lib/sentdm/models/brand_compliance_info.rb +0 -67
  191. data/lib/sentdm/models/brand_contact_info.rb +0 -58
  192. data/lib/sentdm/models/brands_brand_data.rb +0 -34
  193. data/lib/sentdm/models/contact_message_summary.rb +0 -76
  194. data/lib/sentdm/models/contact_response.rb +0 -126
  195. data/lib/sentdm/models/conversation_messages_list.rb +0 -245
  196. data/lib/sentdm/models/error_detail.rb +0 -42
  197. data/lib/sentdm/models/mutation_request.rb +0 -20
  198. data/lib/sentdm/models/pagination_meta.rb +0 -80
  199. data/lib/sentdm/models/payment_details.rb +0 -44
  200. data/lib/sentdm/models/profile_detail.rb +0 -605
  201. data/lib/sentdm/models/profile_settings.rb +0 -66
  202. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +0 -45
  203. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +0 -45
  204. data/lib/sentdm/models/profiles/brand_campaign.rb +0 -247
  205. data/lib/sentdm/models/profiles/campaign_data.rb +0 -130
  206. data/lib/sentdm/models/profiles/campaign_use_case.rb +0 -71
  207. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +0 -29
  208. data/lib/sentdm/models/template.rb +0 -90
  209. data/lib/sentdm/models/user_response.rb +0 -82
  210. data/lib/sentdm/models/webhook_event_type.rb +0 -45
  211. data/lib/sentdm/models/webhook_response.rb +0 -95
  212. data/rbi/sentdm/models/api_meta.rbi +0 -55
  213. data/rbi/sentdm/models/api_response_of_contact.rbi +0 -74
  214. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +0 -79
  215. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +0 -79
  216. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +0 -74
  217. data/rbi/sentdm/models/api_response_of_user.rbi +0 -74
  218. data/rbi/sentdm/models/api_response_template.rbi +0 -74
  219. data/rbi/sentdm/models/api_response_webhook.rbi +0 -74
  220. data/rbi/sentdm/models/billing_contact_info.rbi +0 -65
  221. data/rbi/sentdm/models/brand_business_info.rbi +0 -162
  222. data/rbi/sentdm/models/brand_compliance_info.rbi +0 -84
  223. data/rbi/sentdm/models/brand_contact_info.rbi +0 -78
  224. data/rbi/sentdm/models/brands_brand_data.rbi +0 -65
  225. data/rbi/sentdm/models/contact_message_summary.rbi +0 -144
  226. data/rbi/sentdm/models/contact_response.rbi +0 -183
  227. data/rbi/sentdm/models/conversation_messages_list.rbi +0 -419
  228. data/rbi/sentdm/models/error_detail.rbi +0 -66
  229. data/rbi/sentdm/models/mutation_request.rbi +0 -32
  230. data/rbi/sentdm/models/pagination_meta.rbi +0 -135
  231. data/rbi/sentdm/models/payment_details.rbi +0 -59
  232. data/rbi/sentdm/models/profile_detail.rbi +0 -872
  233. data/rbi/sentdm/models/profile_settings.rbi +0 -86
  234. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +0 -81
  235. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +0 -76
  236. data/rbi/sentdm/models/profiles/brand_campaign.rbi +0 -299
  237. data/rbi/sentdm/models/profiles/campaign_data.rbi +0 -146
  238. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +0 -110
  239. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +0 -51
  240. data/rbi/sentdm/models/template.rbi +0 -129
  241. data/rbi/sentdm/models/user_response.rbi +0 -118
  242. data/rbi/sentdm/models/webhook_event_type.rbi +0 -74
  243. data/rbi/sentdm/models/webhook_response.rbi +0 -140
  244. data/sig/sentdm/models/api_meta.rbs +0 -27
  245. data/sig/sentdm/models/api_response_of_contact.rbs +0 -39
  246. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +0 -39
  247. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +0 -39
  248. data/sig/sentdm/models/api_response_of_profile_detail.rbs +0 -39
  249. data/sig/sentdm/models/api_response_of_user.rbs +0 -39
  250. data/sig/sentdm/models/api_response_template.rbs +0 -39
  251. data/sig/sentdm/models/api_response_webhook.rbs +0 -39
  252. data/sig/sentdm/models/billing_contact_info.rbs +0 -30
  253. data/sig/sentdm/models/brand_business_info.rbs +0 -89
  254. data/sig/sentdm/models/brand_compliance_info.rbs +0 -50
  255. data/sig/sentdm/models/brand_contact_info.rbs +0 -45
  256. data/sig/sentdm/models/brands_brand_data.rbs +0 -30
  257. data/sig/sentdm/models/contact_message_summary.rbs +0 -84
  258. data/sig/sentdm/models/contact_response.rbs +0 -111
  259. data/sig/sentdm/models/conversation_messages_list.rbs +0 -240
  260. data/sig/sentdm/models/error_detail.rbs +0 -39
  261. data/sig/sentdm/models/mutation_request.rbs +0 -15
  262. data/sig/sentdm/models/pagination_meta.rbs +0 -67
  263. data/sig/sentdm/models/payment_details.rbs +0 -30
  264. data/sig/sentdm/models/profile_detail.rbs +0 -469
  265. data/sig/sentdm/models/profile_settings.rbs +0 -50
  266. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +0 -41
  267. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +0 -41
  268. data/sig/sentdm/models/profiles/brand_campaign.rbs +0 -194
  269. data/sig/sentdm/models/profiles/campaign_data.rbs +0 -87
  270. data/sig/sentdm/models/profiles/campaign_use_case.rbs +0 -66
  271. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +0 -27
  272. data/sig/sentdm/models/template.rbs +0 -79
  273. data/sig/sentdm/models/user_response.rbs +0 -72
  274. data/sig/sentdm/models/webhook_event_type.rbs +0 -51
  275. data/sig/sentdm/models/webhook_response.rbs +0 -103
@@ -8,7 +8,16 @@ module Sentdm
8
8
  T.any(Sentdm::Models::MessageSendResponse, Sentdm::Internal::AnyHash)
9
9
  end
10
10
 
11
- # Response for the multi-recipient send message endpoint
11
+ # The result of a multi-recipient send.
12
+ #
13
+ # Declared here rather than in the service layer. POST /v3/messages used to
14
+ # publish MessageSendResult — a type in Common.Services.Messaging.Contracts — so
15
+ # the public contract was whatever the send service happened to return, and
16
+ # changing that service for an internal reason changed the API. The service keeps
17
+ # its result; this is what a caller sees, and the mapping between them is a
18
+ # decision the endpoint makes.
19
+ #
20
+ # The wire is unchanged by the move: same names, same values.
12
21
  sig { returns(T.nilable(Sentdm::Models::MessageSendResponse::Data)) }
13
22
  attr_reader :data
14
23
 
@@ -20,17 +29,23 @@ module Sentdm
20
29
  attr_writer :data
21
30
 
22
31
  # Error information
23
- sig { returns(T.nilable(Sentdm::ErrorDetail)) }
32
+ sig { returns(T.nilable(Sentdm::Models::MessageSendResponse::Error)) }
24
33
  attr_reader :error
25
34
 
26
- sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
35
+ sig do
36
+ params(
37
+ error: T.nilable(Sentdm::Models::MessageSendResponse::Error::OrHash)
38
+ ).void
39
+ end
27
40
  attr_writer :error
28
41
 
29
42
  # Request and response metadata
30
- sig { returns(T.nilable(Sentdm::APIMeta)) }
43
+ sig { returns(T.nilable(Sentdm::Models::MessageSendResponse::Meta)) }
31
44
  attr_reader :meta
32
45
 
33
- sig { params(meta: Sentdm::APIMeta::OrHash).void }
46
+ sig do
47
+ params(meta: Sentdm::Models::MessageSendResponse::Meta::OrHash).void
48
+ end
34
49
  attr_writer :meta
35
50
 
36
51
  # Indicates whether the request was successful
@@ -44,13 +59,22 @@ module Sentdm
44
59
  sig do
45
60
  params(
46
61
  data: T.nilable(Sentdm::Models::MessageSendResponse::Data::OrHash),
47
- error: T.nilable(Sentdm::ErrorDetail::OrHash),
48
- meta: Sentdm::APIMeta::OrHash,
62
+ error: T.nilable(Sentdm::Models::MessageSendResponse::Error::OrHash),
63
+ meta: Sentdm::Models::MessageSendResponse::Meta::OrHash,
49
64
  success: T::Boolean
50
65
  ).returns(T.attached_class)
51
66
  end
52
67
  def self.new(
53
- # Response for the multi-recipient send message endpoint
68
+ # The result of a multi-recipient send.
69
+ #
70
+ # Declared here rather than in the service layer. POST /v3/messages used to
71
+ # publish MessageSendResult — a type in Common.Services.Messaging.Contracts — so
72
+ # the public contract was whatever the send service happened to return, and
73
+ # changing that service for an internal reason changed the API. The service keeps
74
+ # its result; this is what a caller sees, and the mapping between them is a
75
+ # decision the endpoint makes.
76
+ #
77
+ # The wire is unchanged by the move: same names, same values.
54
78
  data: nil,
55
79
  # Error information
56
80
  error: nil,
@@ -65,8 +89,8 @@ module Sentdm
65
89
  override.returns(
66
90
  {
67
91
  data: T.nilable(Sentdm::Models::MessageSendResponse::Data),
68
- error: T.nilable(Sentdm::ErrorDetail),
69
- meta: Sentdm::APIMeta,
92
+ error: T.nilable(Sentdm::Models::MessageSendResponse::Error),
93
+ meta: Sentdm::Models::MessageSendResponse::Meta,
70
94
  success: T::Boolean
71
95
  }
72
96
  )
@@ -83,7 +107,6 @@ module Sentdm
83
107
  )
84
108
  end
85
109
 
86
- # Per-recipient message results
87
110
  sig do
88
111
  returns(
89
112
  T.nilable(
@@ -103,28 +126,35 @@ module Sentdm
103
126
  end
104
127
  attr_writer :recipients
105
128
 
106
- # Overall request status: "QUEUED" when the batch has been accepted for delivery.
129
+ # Overall status QUEUED once the batch is accepted for delivery.
107
130
  sig { returns(T.nilable(String)) }
108
131
  attr_reader :status
109
132
 
110
133
  sig { params(status: String).void }
111
134
  attr_writer :status
112
135
 
113
- # Template ID that was used
114
136
  sig { returns(T.nilable(String)) }
115
137
  attr_reader :template_id
116
138
 
117
139
  sig { params(template_id: String).void }
118
140
  attr_writer :template_id
119
141
 
120
- # Template display name
121
142
  sig { returns(T.nilable(String)) }
122
143
  attr_reader :template_name
123
144
 
124
145
  sig { params(template_name: String).void }
125
146
  attr_writer :template_name
126
147
 
127
- # Response for the multi-recipient send message endpoint
148
+ # The result of a multi-recipient send.
149
+ #
150
+ # Declared here rather than in the service layer. POST /v3/messages used to
151
+ # publish MessageSendResult — a type in Common.Services.Messaging.Contracts — so
152
+ # the public contract was whatever the send service happened to return, and
153
+ # changing that service for an internal reason changed the API. The service keeps
154
+ # its result; this is what a caller sees, and the mapping between them is a
155
+ # decision the endpoint makes.
156
+ #
157
+ # The wire is unchanged by the move: same names, same values.
128
158
  sig do
129
159
  params(
130
160
  recipients:
@@ -137,13 +167,10 @@ module Sentdm
137
167
  ).returns(T.attached_class)
138
168
  end
139
169
  def self.new(
140
- # Per-recipient message results
141
170
  recipients: nil,
142
- # Overall request status: "QUEUED" when the batch has been accepted for delivery.
171
+ # Overall status QUEUED once the batch is accepted for delivery.
143
172
  status: nil,
144
- # Template ID that was used
145
173
  template_id: nil,
146
- # Template display name
147
174
  template_name: nil
148
175
  )
149
176
  end
@@ -171,31 +198,30 @@ module Sentdm
171
198
  )
172
199
  end
173
200
 
174
- # Resolved template body text for this recipient's channel, or null for
175
- # auto-detect
201
+ # Resolved template body for this recipient's channel, or null when the channel is
202
+ # auto-detected.
176
203
  sig { returns(T.nilable(String)) }
177
204
  attr_accessor :body
178
205
 
179
- # Channel this message will be sent on (e.g. "sms", "whatsapp"), or null for
180
- # auto-detect
206
+ # Channel this message will be sent on sms, whatsapp or null to auto-detect.
181
207
  sig { returns(T.nilable(String)) }
182
208
  attr_accessor :channel
183
209
 
184
- # Unique message identifier for tracking this recipient's message
210
+ # Identifier for tracking this recipient's message.
185
211
  sig { returns(T.nilable(String)) }
186
212
  attr_reader :message_id
187
213
 
188
214
  sig { params(message_id: String).void }
189
215
  attr_writer :message_id
190
216
 
191
- # Phone number in E.164 format
217
+ # Phone number in E.164 format.
192
218
  sig { returns(T.nilable(String)) }
193
219
  attr_reader :to
194
220
 
195
221
  sig { params(to: String).void }
196
222
  attr_writer :to
197
223
 
198
- # Per-recipient result in the send message response
224
+ # What one recipient of a send got, as the API reports it.
199
225
  sig do
200
226
  params(
201
227
  body: T.nilable(String),
@@ -205,15 +231,14 @@ module Sentdm
205
231
  ).returns(T.attached_class)
206
232
  end
207
233
  def self.new(
208
- # Resolved template body text for this recipient's channel, or null for
209
- # auto-detect
234
+ # Resolved template body for this recipient's channel, or null when the channel is
235
+ # auto-detected.
210
236
  body: nil,
211
- # Channel this message will be sent on (e.g. "sms", "whatsapp"), or null for
212
- # auto-detect
237
+ # Channel this message will be sent on sms, whatsapp or null to auto-detect.
213
238
  channel: nil,
214
- # Unique message identifier for tracking this recipient's message
239
+ # Identifier for tracking this recipient's message.
215
240
  message_id: nil,
216
- # Phone number in E.164 format
241
+ # Phone number in E.164 format.
217
242
  to: nil
218
243
  )
219
244
  end
@@ -232,6 +257,127 @@ module Sentdm
232
257
  end
233
258
  end
234
259
  end
260
+
261
+ class Error < Sentdm::Internal::Type::BaseModel
262
+ OrHash =
263
+ T.type_alias do
264
+ T.any(
265
+ Sentdm::Models::MessageSendResponse::Error,
266
+ Sentdm::Internal::AnyHash
267
+ )
268
+ end
269
+
270
+ # Machine-readable error code (e.g., "RESOURCE_001")
271
+ sig { returns(T.nilable(String)) }
272
+ attr_reader :code
273
+
274
+ sig { params(code: String).void }
275
+ attr_writer :code
276
+
277
+ # Additional validation error details (field-level errors)
278
+ sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
279
+ attr_accessor :details
280
+
281
+ # URL to documentation about this error
282
+ sig { returns(T.nilable(String)) }
283
+ attr_accessor :doc_url
284
+
285
+ # Human-readable error message
286
+ sig { returns(T.nilable(String)) }
287
+ attr_reader :message
288
+
289
+ sig { params(message: String).void }
290
+ attr_writer :message
291
+
292
+ # Error information
293
+ sig do
294
+ params(
295
+ code: String,
296
+ details: T.nilable(T::Hash[Symbol, T::Array[String]]),
297
+ doc_url: T.nilable(String),
298
+ message: String
299
+ ).returns(T.attached_class)
300
+ end
301
+ def self.new(
302
+ # Machine-readable error code (e.g., "RESOURCE_001")
303
+ code: nil,
304
+ # Additional validation error details (field-level errors)
305
+ details: nil,
306
+ # URL to documentation about this error
307
+ doc_url: nil,
308
+ # Human-readable error message
309
+ message: nil
310
+ )
311
+ end
312
+
313
+ sig do
314
+ override.returns(
315
+ {
316
+ code: String,
317
+ details: T.nilable(T::Hash[Symbol, T::Array[String]]),
318
+ doc_url: T.nilable(String),
319
+ message: String
320
+ }
321
+ )
322
+ end
323
+ def to_hash
324
+ end
325
+ end
326
+
327
+ class Meta < Sentdm::Internal::Type::BaseModel
328
+ OrHash =
329
+ T.type_alias do
330
+ T.any(
331
+ Sentdm::Models::MessageSendResponse::Meta,
332
+ Sentdm::Internal::AnyHash
333
+ )
334
+ end
335
+
336
+ # Unique identifier for this request (for tracing and support)
337
+ sig { returns(T.nilable(String)) }
338
+ attr_reader :request_id
339
+
340
+ sig { params(request_id: String).void }
341
+ attr_writer :request_id
342
+
343
+ # Server timestamp when the response was generated
344
+ sig { returns(T.nilable(Time)) }
345
+ attr_reader :timestamp
346
+
347
+ sig { params(timestamp: Time).void }
348
+ attr_writer :timestamp
349
+
350
+ # API version used for this request
351
+ sig { returns(T.nilable(String)) }
352
+ attr_reader :version
353
+
354
+ sig { params(version: String).void }
355
+ attr_writer :version
356
+
357
+ # Request and response metadata
358
+ sig do
359
+ params(request_id: String, timestamp: Time, version: String).returns(
360
+ T.attached_class
361
+ )
362
+ end
363
+ def self.new(
364
+ # Unique identifier for this request (for tracing and support)
365
+ request_id: nil,
366
+ # Server timestamp when the response was generated
367
+ timestamp: nil,
368
+ # API version used for this request
369
+ version: nil
370
+ )
371
+ end
372
+
373
+ sig do
374
+ override.returns(
375
+ { request_id: String, timestamp: Time, version: String }
376
+ )
377
+ end
378
+ def to_hash
379
+ end
380
+ end
235
381
  end
236
382
  end
237
383
  end
@@ -20,17 +20,23 @@ module Sentdm
20
20
  attr_writer :data
21
21
 
22
22
  # Error information
23
- sig { returns(T.nilable(Sentdm::ErrorDetail)) }
23
+ sig { returns(T.nilable(Sentdm::Models::NumberLookupResponse::Error)) }
24
24
  attr_reader :error
25
25
 
26
- sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
26
+ sig do
27
+ params(
28
+ error: T.nilable(Sentdm::Models::NumberLookupResponse::Error::OrHash)
29
+ ).void
30
+ end
27
31
  attr_writer :error
28
32
 
29
33
  # Request and response metadata
30
- sig { returns(T.nilable(Sentdm::APIMeta)) }
34
+ sig { returns(T.nilable(Sentdm::Models::NumberLookupResponse::Meta)) }
31
35
  attr_reader :meta
32
36
 
33
- sig { params(meta: Sentdm::APIMeta::OrHash).void }
37
+ sig do
38
+ params(meta: Sentdm::Models::NumberLookupResponse::Meta::OrHash).void
39
+ end
34
40
  attr_writer :meta
35
41
 
36
42
  # Indicates whether the request was successful
@@ -44,8 +50,8 @@ module Sentdm
44
50
  sig do
45
51
  params(
46
52
  data: T.nilable(Sentdm::Models::NumberLookupResponse::Data::OrHash),
47
- error: T.nilable(Sentdm::ErrorDetail::OrHash),
48
- meta: Sentdm::APIMeta::OrHash,
53
+ error: T.nilable(Sentdm::Models::NumberLookupResponse::Error::OrHash),
54
+ meta: Sentdm::Models::NumberLookupResponse::Meta::OrHash,
49
55
  success: T::Boolean
50
56
  ).returns(T.attached_class)
51
57
  end
@@ -65,8 +71,8 @@ module Sentdm
65
71
  override.returns(
66
72
  {
67
73
  data: T.nilable(Sentdm::Models::NumberLookupResponse::Data),
68
- error: T.nilable(Sentdm::ErrorDetail),
69
- meta: Sentdm::APIMeta,
74
+ error: T.nilable(Sentdm::Models::NumberLookupResponse::Error),
75
+ meta: Sentdm::Models::NumberLookupResponse::Meta,
70
76
  success: T::Boolean
71
77
  }
72
78
  )
@@ -161,6 +167,127 @@ module Sentdm
161
167
  def to_hash
162
168
  end
163
169
  end
170
+
171
+ class Error < Sentdm::Internal::Type::BaseModel
172
+ OrHash =
173
+ T.type_alias do
174
+ T.any(
175
+ Sentdm::Models::NumberLookupResponse::Error,
176
+ Sentdm::Internal::AnyHash
177
+ )
178
+ end
179
+
180
+ # Machine-readable error code (e.g., "RESOURCE_001")
181
+ sig { returns(T.nilable(String)) }
182
+ attr_reader :code
183
+
184
+ sig { params(code: String).void }
185
+ attr_writer :code
186
+
187
+ # Additional validation error details (field-level errors)
188
+ sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
189
+ attr_accessor :details
190
+
191
+ # URL to documentation about this error
192
+ sig { returns(T.nilable(String)) }
193
+ attr_accessor :doc_url
194
+
195
+ # Human-readable error message
196
+ sig { returns(T.nilable(String)) }
197
+ attr_reader :message
198
+
199
+ sig { params(message: String).void }
200
+ attr_writer :message
201
+
202
+ # Error information
203
+ sig do
204
+ params(
205
+ code: String,
206
+ details: T.nilable(T::Hash[Symbol, T::Array[String]]),
207
+ doc_url: T.nilable(String),
208
+ message: String
209
+ ).returns(T.attached_class)
210
+ end
211
+ def self.new(
212
+ # Machine-readable error code (e.g., "RESOURCE_001")
213
+ code: nil,
214
+ # Additional validation error details (field-level errors)
215
+ details: nil,
216
+ # URL to documentation about this error
217
+ doc_url: nil,
218
+ # Human-readable error message
219
+ message: nil
220
+ )
221
+ end
222
+
223
+ sig do
224
+ override.returns(
225
+ {
226
+ code: String,
227
+ details: T.nilable(T::Hash[Symbol, T::Array[String]]),
228
+ doc_url: T.nilable(String),
229
+ message: String
230
+ }
231
+ )
232
+ end
233
+ def to_hash
234
+ end
235
+ end
236
+
237
+ class Meta < Sentdm::Internal::Type::BaseModel
238
+ OrHash =
239
+ T.type_alias do
240
+ T.any(
241
+ Sentdm::Models::NumberLookupResponse::Meta,
242
+ Sentdm::Internal::AnyHash
243
+ )
244
+ end
245
+
246
+ # Unique identifier for this request (for tracing and support)
247
+ sig { returns(T.nilable(String)) }
248
+ attr_reader :request_id
249
+
250
+ sig { params(request_id: String).void }
251
+ attr_writer :request_id
252
+
253
+ # Server timestamp when the response was generated
254
+ sig { returns(T.nilable(Time)) }
255
+ attr_reader :timestamp
256
+
257
+ sig { params(timestamp: Time).void }
258
+ attr_writer :timestamp
259
+
260
+ # API version used for this request
261
+ sig { returns(T.nilable(String)) }
262
+ attr_reader :version
263
+
264
+ sig { params(version: String).void }
265
+ attr_writer :version
266
+
267
+ # Request and response metadata
268
+ sig do
269
+ params(request_id: String, timestamp: Time, version: String).returns(
270
+ T.attached_class
271
+ )
272
+ end
273
+ def self.new(
274
+ # Unique identifier for this request (for tracing and support)
275
+ request_id: nil,
276
+ # Server timestamp when the response was generated
277
+ timestamp: nil,
278
+ # API version used for this request
279
+ version: nil
280
+ )
281
+ end
282
+
283
+ sig do
284
+ override.returns(
285
+ { request_id: String, timestamp: Time, version: String }
286
+ )
287
+ end
288
+ def to_hash
289
+ end
290
+ end
164
291
  end
165
292
  end
166
293
  end
@@ -24,17 +24,24 @@ module Sentdm
24
24
  attr_writer :data
25
25
 
26
26
  # Error information
27
- sig { returns(T.nilable(Sentdm::ErrorDetail)) }
27
+ sig { returns(T.nilable(Sentdm::Models::ProfileCompleteResponse::Error)) }
28
28
  attr_reader :error
29
29
 
30
- sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
30
+ sig do
31
+ params(
32
+ error:
33
+ T.nilable(Sentdm::Models::ProfileCompleteResponse::Error::OrHash)
34
+ ).void
35
+ end
31
36
  attr_writer :error
32
37
 
33
38
  # Request and response metadata
34
- sig { returns(T.nilable(Sentdm::APIMeta)) }
39
+ sig { returns(T.nilable(Sentdm::Models::ProfileCompleteResponse::Meta)) }
35
40
  attr_reader :meta
36
41
 
37
- sig { params(meta: Sentdm::APIMeta::OrHash).void }
42
+ sig do
43
+ params(meta: Sentdm::Models::ProfileCompleteResponse::Meta::OrHash).void
44
+ end
38
45
  attr_writer :meta
39
46
 
40
47
  # Indicates whether the request was successful
@@ -49,8 +56,9 @@ module Sentdm
49
56
  params(
50
57
  data:
51
58
  T.nilable(Sentdm::Models::ProfileCompleteResponse::Data::OrHash),
52
- error: T.nilable(Sentdm::ErrorDetail::OrHash),
53
- meta: Sentdm::APIMeta::OrHash,
59
+ error:
60
+ T.nilable(Sentdm::Models::ProfileCompleteResponse::Error::OrHash),
61
+ meta: Sentdm::Models::ProfileCompleteResponse::Meta::OrHash,
54
62
  success: T::Boolean
55
63
  ).returns(T.attached_class)
56
64
  end
@@ -71,8 +79,8 @@ module Sentdm
71
79
  override.returns(
72
80
  {
73
81
  data: T.nilable(Sentdm::Models::ProfileCompleteResponse::Data),
74
- error: T.nilable(Sentdm::ErrorDetail),
75
- meta: Sentdm::APIMeta,
82
+ error: T.nilable(Sentdm::Models::ProfileCompleteResponse::Error),
83
+ meta: Sentdm::Models::ProfileCompleteResponse::Meta,
76
84
  success: T::Boolean
77
85
  }
78
86
  )
@@ -122,6 +130,127 @@ module Sentdm
122
130
  def to_hash
123
131
  end
124
132
  end
133
+
134
+ class Error < Sentdm::Internal::Type::BaseModel
135
+ OrHash =
136
+ T.type_alias do
137
+ T.any(
138
+ Sentdm::Models::ProfileCompleteResponse::Error,
139
+ Sentdm::Internal::AnyHash
140
+ )
141
+ end
142
+
143
+ # Machine-readable error code (e.g., "RESOURCE_001")
144
+ sig { returns(T.nilable(String)) }
145
+ attr_reader :code
146
+
147
+ sig { params(code: String).void }
148
+ attr_writer :code
149
+
150
+ # Additional validation error details (field-level errors)
151
+ sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
152
+ attr_accessor :details
153
+
154
+ # URL to documentation about this error
155
+ sig { returns(T.nilable(String)) }
156
+ attr_accessor :doc_url
157
+
158
+ # Human-readable error message
159
+ sig { returns(T.nilable(String)) }
160
+ attr_reader :message
161
+
162
+ sig { params(message: String).void }
163
+ attr_writer :message
164
+
165
+ # Error information
166
+ sig do
167
+ params(
168
+ code: String,
169
+ details: T.nilable(T::Hash[Symbol, T::Array[String]]),
170
+ doc_url: T.nilable(String),
171
+ message: String
172
+ ).returns(T.attached_class)
173
+ end
174
+ def self.new(
175
+ # Machine-readable error code (e.g., "RESOURCE_001")
176
+ code: nil,
177
+ # Additional validation error details (field-level errors)
178
+ details: nil,
179
+ # URL to documentation about this error
180
+ doc_url: nil,
181
+ # Human-readable error message
182
+ message: nil
183
+ )
184
+ end
185
+
186
+ sig do
187
+ override.returns(
188
+ {
189
+ code: String,
190
+ details: T.nilable(T::Hash[Symbol, T::Array[String]]),
191
+ doc_url: T.nilable(String),
192
+ message: String
193
+ }
194
+ )
195
+ end
196
+ def to_hash
197
+ end
198
+ end
199
+
200
+ class Meta < Sentdm::Internal::Type::BaseModel
201
+ OrHash =
202
+ T.type_alias do
203
+ T.any(
204
+ Sentdm::Models::ProfileCompleteResponse::Meta,
205
+ Sentdm::Internal::AnyHash
206
+ )
207
+ end
208
+
209
+ # Unique identifier for this request (for tracing and support)
210
+ sig { returns(T.nilable(String)) }
211
+ attr_reader :request_id
212
+
213
+ sig { params(request_id: String).void }
214
+ attr_writer :request_id
215
+
216
+ # Server timestamp when the response was generated
217
+ sig { returns(T.nilable(Time)) }
218
+ attr_reader :timestamp
219
+
220
+ sig { params(timestamp: Time).void }
221
+ attr_writer :timestamp
222
+
223
+ # API version used for this request
224
+ sig { returns(T.nilable(String)) }
225
+ attr_reader :version
226
+
227
+ sig { params(version: String).void }
228
+ attr_writer :version
229
+
230
+ # Request and response metadata
231
+ sig do
232
+ params(request_id: String, timestamp: Time, version: String).returns(
233
+ T.attached_class
234
+ )
235
+ end
236
+ def self.new(
237
+ # Unique identifier for this request (for tracing and support)
238
+ request_id: nil,
239
+ # Server timestamp when the response was generated
240
+ timestamp: nil,
241
+ # API version used for this request
242
+ version: nil
243
+ )
244
+ end
245
+
246
+ sig do
247
+ override.returns(
248
+ { request_id: String, timestamp: Time, version: String }
249
+ )
250
+ end
251
+ def to_hash
252
+ end
253
+ end
125
254
  end
126
255
  end
127
256
  end