sentdm 0.29.0 → 0.31.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 (298) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +55 -1
  4. data/lib/sentdm/internal/contacts_page.rb +115 -0
  5. data/lib/sentdm/internal/conversations_page.rb +115 -0
  6. data/lib/sentdm/internal/templates_page.rb +115 -0
  7. data/lib/sentdm/internal/type/base_model.rb +5 -5
  8. data/lib/sentdm/internal/webhook_events_page.rb +115 -0
  9. data/lib/sentdm/internal/webhooks_page.rb +115 -0
  10. data/lib/sentdm/models/api_meta.rb +34 -0
  11. data/lib/sentdm/models/api_response_of_contact.rb +46 -0
  12. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +43 -0
  13. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +42 -0
  14. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  15. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  16. data/lib/sentdm/models/api_response_template.rb +43 -0
  17. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  18. data/lib/sentdm/models/billing_contact_info.rb +47 -0
  19. data/lib/sentdm/models/brand_business_info.rb +114 -0
  20. data/lib/sentdm/models/brand_compliance_info.rb +59 -0
  21. data/lib/sentdm/models/brand_contact_info.rb +58 -0
  22. data/lib/sentdm/models/brands_brand_data.rb +34 -0
  23. data/lib/sentdm/models/contact_delete_params.rb +2 -16
  24. data/lib/sentdm/models/contact_list_params.rb +13 -13
  25. data/lib/sentdm/models/contact_message_summary.rb +76 -0
  26. data/lib/sentdm/models/contact_response.rb +140 -0
  27. data/lib/sentdm/models/conversation_list_messages_params.rb +5 -5
  28. data/lib/sentdm/models/conversation_list_params.rb +5 -5
  29. data/lib/sentdm/models/conversation_messages_list.rb +245 -0
  30. data/lib/sentdm/models/error_detail.rb +42 -0
  31. data/lib/sentdm/models/me_retrieve_response.rb +12 -242
  32. data/lib/sentdm/models/message_retrieve_activities_response.rb +9 -159
  33. data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
  34. data/lib/sentdm/models/message_send_response.rb +6 -74
  35. data/lib/sentdm/models/mutation_request.rb +20 -0
  36. data/lib/sentdm/models/number_lookup_response.rb +6 -74
  37. data/lib/sentdm/models/pagination_meta.rb +84 -0
  38. data/lib/sentdm/models/payment_details.rb +40 -0
  39. data/lib/sentdm/models/profile_complete_response.rb +6 -74
  40. data/lib/sentdm/models/profile_create_params.rb +9 -345
  41. data/lib/sentdm/models/profile_delete_params.rb +2 -16
  42. data/lib/sentdm/models/profile_detail.rb +650 -0
  43. data/lib/sentdm/models/profile_list_response.rb +12 -815
  44. data/lib/sentdm/models/profile_settings.rb +85 -0
  45. data/lib/sentdm/models/profile_update_params.rb +9 -345
  46. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +45 -0
  47. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +45 -0
  48. data/lib/sentdm/models/profiles/brand_campaign.rb +247 -0
  49. data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -156
  50. data/lib/sentdm/models/profiles/campaign_data.rb +136 -0
  51. data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
  52. data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -156
  53. data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
  54. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +29 -0
  55. data/lib/sentdm/models/template.rb +103 -0
  56. data/lib/sentdm/models/template_list_params.rb +17 -17
  57. data/lib/sentdm/models/user_list_response.rb +12 -249
  58. data/lib/sentdm/models/user_remove_params.rb +2 -16
  59. data/lib/sentdm/models/user_response.rb +94 -0
  60. data/lib/sentdm/models/webhook_event_type.rb +45 -0
  61. data/lib/sentdm/models/webhook_list_event_types_response.rb +12 -203
  62. data/lib/sentdm/models/webhook_list_events_params.rb +5 -5
  63. data/lib/sentdm/models/webhook_list_events_response.rb +87 -295
  64. data/lib/sentdm/models/webhook_list_params.rb +11 -11
  65. data/lib/sentdm/models/webhook_response.rb +121 -0
  66. data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
  67. data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
  68. data/lib/sentdm/models/webhook_test_response.rb +6 -74
  69. data/lib/sentdm/models.rb +52 -0
  70. data/lib/sentdm/resources/contacts.rb +16 -15
  71. data/lib/sentdm/resources/conversations.rb +10 -8
  72. data/lib/sentdm/resources/profiles/campaigns.rb +8 -8
  73. data/lib/sentdm/resources/profiles.rb +12 -12
  74. data/lib/sentdm/resources/templates.rb +16 -15
  75. data/lib/sentdm/resources/users.rb +6 -6
  76. data/lib/sentdm/resources/webhooks.rb +20 -18
  77. data/lib/sentdm/version.rb +1 -1
  78. data/lib/sentdm.rb +37 -25
  79. data/rbi/sentdm/internal/contacts_page.rbi +71 -0
  80. data/rbi/sentdm/internal/conversations_page.rbi +71 -0
  81. data/rbi/sentdm/internal/templates_page.rbi +71 -0
  82. data/rbi/sentdm/internal/webhook_events_page.rbi +71 -0
  83. data/rbi/sentdm/internal/webhooks_page.rbi +71 -0
  84. data/rbi/sentdm/models/api_meta.rbi +55 -0
  85. data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
  86. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
  87. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -0
  88. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  89. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  90. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  91. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  92. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  93. data/rbi/sentdm/models/brand_business_info.rbi +162 -0
  94. data/rbi/sentdm/models/brand_compliance_info.rbi +76 -0
  95. data/rbi/sentdm/models/brand_contact_info.rbi +78 -0
  96. data/rbi/sentdm/models/brands_brand_data.rbi +65 -0
  97. data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
  98. data/rbi/sentdm/models/contact_list_params.rbi +19 -13
  99. data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
  100. data/rbi/sentdm/models/contact_response.rbi +200 -0
  101. data/rbi/sentdm/models/conversation_list_messages_params.rbi +12 -6
  102. data/rbi/sentdm/models/conversation_list_params.rbi +16 -5
  103. data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
  104. data/rbi/sentdm/models/error_detail.rbi +66 -0
  105. data/rbi/sentdm/models/me_retrieve_response.rbi +16 -367
  106. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +12 -325
  107. data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
  108. data/rbi/sentdm/models/message_send_response.rbi +8 -135
  109. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  110. data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
  111. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  112. data/rbi/sentdm/models/payment_details.rbi +56 -0
  113. data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
  114. data/rbi/sentdm/models/profile_create_params.rbi +12 -546
  115. data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
  116. data/rbi/sentdm/models/profile_detail.rbi +918 -0
  117. data/rbi/sentdm/models/profile_list_response.rbi +16 -1347
  118. data/rbi/sentdm/models/profile_settings.rbi +102 -0
  119. data/rbi/sentdm/models/profile_update_params.rbi +12 -546
  120. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +81 -0
  121. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +76 -0
  122. data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
  123. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -218
  124. data/rbi/sentdm/models/profiles/campaign_data.rbi +158 -0
  125. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
  126. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -218
  127. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
  128. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +51 -0
  129. data/rbi/sentdm/models/template.rbi +139 -0
  130. data/rbi/sentdm/models/template_list_params.rbi +22 -16
  131. data/rbi/sentdm/models/user_list_response.rbi +16 -444
  132. data/rbi/sentdm/models/user_remove_params.rbi +2 -19
  133. data/rbi/sentdm/models/user_response.rbi +131 -0
  134. data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
  135. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +16 -414
  136. data/rbi/sentdm/models/webhook_list_events_params.rbi +12 -6
  137. data/rbi/sentdm/models/webhook_list_events_response.rbi +113 -564
  138. data/rbi/sentdm/models/webhook_list_params.rbi +16 -10
  139. data/rbi/sentdm/models/webhook_response.rbi +153 -0
  140. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
  141. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
  142. data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
  143. data/rbi/sentdm/models.rbi +54 -0
  144. data/rbi/sentdm/resources/contacts.rbi +10 -10
  145. data/rbi/sentdm/resources/conversations.rbi +14 -6
  146. data/rbi/sentdm/resources/profiles/campaigns.rbi +5 -5
  147. data/rbi/sentdm/resources/profiles.rbi +9 -13
  148. data/rbi/sentdm/resources/templates.rbi +10 -10
  149. data/rbi/sentdm/resources/users.rbi +3 -3
  150. data/rbi/sentdm/resources/webhooks.rbi +16 -12
  151. data/sig/sentdm/internal/contacts_page.rbs +41 -0
  152. data/sig/sentdm/internal/conversations_page.rbs +41 -0
  153. data/sig/sentdm/internal/templates_page.rbs +44 -0
  154. data/sig/sentdm/internal/webhook_events_page.rbs +41 -0
  155. data/sig/sentdm/internal/webhooks_page.rbs +41 -0
  156. data/sig/sentdm/models/api_meta.rbs +27 -0
  157. data/sig/sentdm/models/api_response_of_contact.rbs +39 -0
  158. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +39 -0
  159. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +39 -0
  160. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  161. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  162. data/sig/sentdm/models/api_response_template.rbs +39 -0
  163. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  164. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  165. data/sig/sentdm/models/brand_business_info.rbs +89 -0
  166. data/sig/sentdm/models/brand_compliance_info.rbs +45 -0
  167. data/sig/sentdm/models/brand_contact_info.rbs +45 -0
  168. data/sig/sentdm/models/brands_brand_data.rbs +30 -0
  169. data/sig/sentdm/models/contact_delete_params.rbs +6 -10
  170. data/sig/sentdm/models/contact_list_params.rbs +11 -7
  171. data/sig/sentdm/models/contact_message_summary.rbs +84 -0
  172. data/sig/sentdm/models/contact_response.rbs +118 -0
  173. data/sig/sentdm/models/conversation_list_messages_params.rbs +8 -4
  174. data/sig/sentdm/models/conversation_list_params.rbs +8 -4
  175. data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
  176. data/sig/sentdm/models/error_detail.rbs +39 -0
  177. data/sig/sentdm/models/me_retrieve_response.rbs +18 -176
  178. data/sig/sentdm/models/message_retrieve_activities_response.rbs +14 -142
  179. data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
  180. data/sig/sentdm/models/message_send_response.rbs +9 -71
  181. data/sig/sentdm/models/mutation_request.rbs +15 -0
  182. data/sig/sentdm/models/number_lookup_response.rbs +9 -71
  183. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  184. data/sig/sentdm/models/payment_details.rbs +30 -0
  185. data/sig/sentdm/models/profile_complete_response.rbs +9 -71
  186. data/sig/sentdm/models/profile_create_params.rbs +12 -263
  187. data/sig/sentdm/models/profile_delete_params.rbs +6 -10
  188. data/sig/sentdm/models/profile_detail.rbs +461 -0
  189. data/sig/sentdm/models/profile_list_response.rbs +20 -606
  190. data/sig/sentdm/models/profile_settings.rbs +50 -0
  191. data/sig/sentdm/models/profile_update_params.rbs +12 -263
  192. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +41 -0
  193. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +41 -0
  194. data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
  195. data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -108
  196. data/sig/sentdm/models/profiles/campaign_data.rbs +87 -0
  197. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
  198. data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -108
  199. data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
  200. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +27 -0
  201. data/sig/sentdm/models/template.rbs +84 -0
  202. data/sig/sentdm/models/template_list_params.rbs +14 -10
  203. data/sig/sentdm/models/user_list_response.rbs +20 -224
  204. data/sig/sentdm/models/user_remove_params.rbs +6 -10
  205. data/sig/sentdm/models/user_response.rbs +79 -0
  206. data/sig/sentdm/models/webhook_event_type.rbs +51 -0
  207. data/sig/sentdm/models/webhook_list_event_types_response.rbs +20 -196
  208. data/sig/sentdm/models/webhook_list_events_params.rbs +8 -4
  209. data/sig/sentdm/models/webhook_list_events_response.rbs +63 -255
  210. data/sig/sentdm/models/webhook_list_params.rbs +11 -7
  211. data/sig/sentdm/models/webhook_response.rbs +110 -0
  212. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
  213. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
  214. data/sig/sentdm/models/webhook_test_response.rbs +9 -71
  215. data/sig/sentdm/models.rbs +52 -0
  216. data/sig/sentdm/resources/contacts.rbs +7 -7
  217. data/sig/sentdm/resources/conversations.rbs +6 -6
  218. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  219. data/sig/sentdm/resources/profiles.rbs +9 -9
  220. data/sig/sentdm/resources/templates.rbs +6 -6
  221. data/sig/sentdm/resources/users.rbs +3 -3
  222. data/sig/sentdm/resources/webhooks.rbs +10 -10
  223. metadata +113 -77
  224. data/lib/sentdm/models/contact_create_response.rb +0 -249
  225. data/lib/sentdm/models/contact_list_response.rb +0 -348
  226. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +0 -186
  227. data/lib/sentdm/models/contact_retrieve_response.rb +0 -249
  228. data/lib/sentdm/models/contact_update_response.rb +0 -249
  229. data/lib/sentdm/models/conversation_list_messages_response.rb +0 -436
  230. data/lib/sentdm/models/conversation_list_response.rb +0 -433
  231. data/lib/sentdm/models/profile_create_response.rb +0 -760
  232. data/lib/sentdm/models/profile_retrieve_response.rb +0 -762
  233. data/lib/sentdm/models/profile_update_response.rb +0 -760
  234. data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -420
  235. data/lib/sentdm/models/profiles/campaign_list_response.rb +0 -421
  236. data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -420
  237. data/lib/sentdm/models/template_create_response.rb +0 -209
  238. data/lib/sentdm/models/template_list_response.rb +0 -311
  239. data/lib/sentdm/models/template_retrieve_response.rb +0 -209
  240. data/lib/sentdm/models/template_update_response.rb +0 -209
  241. data/lib/sentdm/models/user_invite_response.rb +0 -201
  242. data/lib/sentdm/models/user_retrieve_response.rb +0 -201
  243. data/lib/sentdm/models/user_update_role_response.rb +0 -201
  244. data/lib/sentdm/models/webhook_create_response.rb +0 -229
  245. data/lib/sentdm/models/webhook_list_response.rb +0 -329
  246. data/lib/sentdm/models/webhook_retrieve_response.rb +0 -229
  247. data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -229
  248. data/lib/sentdm/models/webhook_update_response.rb +0 -229
  249. data/rbi/sentdm/models/contact_create_response.rbi +0 -407
  250. data/rbi/sentdm/models/contact_list_response.rbi +0 -634
  251. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +0 -397
  252. data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -409
  253. data/rbi/sentdm/models/contact_update_response.rbi +0 -407
  254. data/rbi/sentdm/models/conversation_list_messages_response.rbi +0 -843
  255. data/rbi/sentdm/models/conversation_list_response.rbi +0 -819
  256. data/rbi/sentdm/models/profile_create_response.rbi +0 -1226
  257. data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1230
  258. data/rbi/sentdm/models/profile_update_response.rbi +0 -1226
  259. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -674
  260. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +0 -667
  261. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -674
  262. data/rbi/sentdm/models/template_create_response.rbi +0 -349
  263. data/rbi/sentdm/models/template_list_response.rbi +0 -576
  264. data/rbi/sentdm/models/template_retrieve_response.rbi +0 -355
  265. data/rbi/sentdm/models/template_update_response.rbi +0 -349
  266. data/rbi/sentdm/models/user_invite_response.rbi +0 -336
  267. data/rbi/sentdm/models/user_retrieve_response.rbi +0 -336
  268. data/rbi/sentdm/models/user_update_role_response.rbi +0 -341
  269. data/rbi/sentdm/models/webhook_create_response.rbi +0 -361
  270. data/rbi/sentdm/models/webhook_list_response.rbi +0 -587
  271. data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -363
  272. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -379
  273. data/rbi/sentdm/models/webhook_update_response.rbi +0 -361
  274. data/sig/sentdm/models/contact_create_response.rbs +0 -216
  275. data/sig/sentdm/models/contact_list_response.rbs +0 -310
  276. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +0 -182
  277. data/sig/sentdm/models/contact_retrieve_response.rbs +0 -216
  278. data/sig/sentdm/models/contact_update_response.rbs +0 -216
  279. data/sig/sentdm/models/conversation_list_messages_response.rbs +0 -404
  280. data/sig/sentdm/models/conversation_list_response.rbs +0 -404
  281. data/sig/sentdm/models/profile_create_response.rbs +0 -559
  282. data/sig/sentdm/models/profile_retrieve_response.rbs +0 -559
  283. data/sig/sentdm/models/profile_update_response.rbs +0 -559
  284. data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -357
  285. data/sig/sentdm/models/profiles/campaign_list_response.rbs +0 -357
  286. data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -357
  287. data/sig/sentdm/models/template_create_response.rbs +0 -182
  288. data/sig/sentdm/models/template_list_response.rbs +0 -276
  289. data/sig/sentdm/models/template_retrieve_response.rbs +0 -182
  290. data/sig/sentdm/models/template_update_response.rbs +0 -182
  291. data/sig/sentdm/models/user_invite_response.rbs +0 -177
  292. data/sig/sentdm/models/user_retrieve_response.rbs +0 -177
  293. data/sig/sentdm/models/user_update_role_response.rbs +0 -177
  294. data/sig/sentdm/models/webhook_create_response.rbs +0 -208
  295. data/sig/sentdm/models/webhook_list_response.rbs +0 -302
  296. data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -208
  297. data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -208
  298. data/sig/sentdm/models/webhook_update_response.rbs +0 -208
@@ -29,23 +29,17 @@ module Sentdm
29
29
  attr_writer :data
30
30
 
31
31
  # Error information
32
- sig { returns(T.nilable(Sentdm::Models::MessageSendResponse::Error)) }
32
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
33
33
  attr_reader :error
34
34
 
35
- sig do
36
- params(
37
- error: T.nilable(Sentdm::Models::MessageSendResponse::Error::OrHash)
38
- ).void
39
- end
35
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
40
36
  attr_writer :error
41
37
 
42
38
  # Request and response metadata
43
- sig { returns(T.nilable(Sentdm::Models::MessageSendResponse::Meta)) }
39
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
44
40
  attr_reader :meta
45
41
 
46
- sig do
47
- params(meta: Sentdm::Models::MessageSendResponse::Meta::OrHash).void
48
- end
42
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
49
43
  attr_writer :meta
50
44
 
51
45
  # Indicates whether the request was successful
@@ -59,8 +53,8 @@ module Sentdm
59
53
  sig do
60
54
  params(
61
55
  data: T.nilable(Sentdm::Models::MessageSendResponse::Data::OrHash),
62
- error: T.nilable(Sentdm::Models::MessageSendResponse::Error::OrHash),
63
- meta: Sentdm::Models::MessageSendResponse::Meta::OrHash,
56
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
57
+ meta: Sentdm::APIMeta::OrHash,
64
58
  success: T::Boolean
65
59
  ).returns(T.attached_class)
66
60
  end
@@ -89,8 +83,8 @@ module Sentdm
89
83
  override.returns(
90
84
  {
91
85
  data: T.nilable(Sentdm::Models::MessageSendResponse::Data),
92
- error: T.nilable(Sentdm::Models::MessageSendResponse::Error),
93
- meta: Sentdm::Models::MessageSendResponse::Meta,
86
+ error: T.nilable(Sentdm::ErrorDetail),
87
+ meta: Sentdm::APIMeta,
94
88
  success: T::Boolean
95
89
  }
96
90
  )
@@ -257,127 +251,6 @@ module Sentdm
257
251
  end
258
252
  end
259
253
  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
381
254
  end
382
255
  end
383
256
  end
@@ -0,0 +1,32 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class MutationRequest < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::MutationRequest, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
12
+ # for testing integrations without actual execution
13
+ sig { returns(T.nilable(T::Boolean)) }
14
+ attr_reader :sandbox
15
+
16
+ sig { params(sandbox: T::Boolean).void }
17
+ attr_writer :sandbox
18
+
19
+ sig { params(sandbox: T::Boolean).returns(T.attached_class) }
20
+ def self.new(
21
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
22
+ # for testing integrations without actual execution
23
+ sandbox: nil
24
+ )
25
+ end
26
+
27
+ sig { override.returns({ sandbox: T::Boolean }) }
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end
@@ -20,23 +20,17 @@ module Sentdm
20
20
  attr_writer :data
21
21
 
22
22
  # Error information
23
- sig { returns(T.nilable(Sentdm::Models::NumberLookupResponse::Error)) }
23
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
24
24
  attr_reader :error
25
25
 
26
- sig do
27
- params(
28
- error: T.nilable(Sentdm::Models::NumberLookupResponse::Error::OrHash)
29
- ).void
30
- end
26
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
31
27
  attr_writer :error
32
28
 
33
29
  # Request and response metadata
34
- sig { returns(T.nilable(Sentdm::Models::NumberLookupResponse::Meta)) }
30
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
35
31
  attr_reader :meta
36
32
 
37
- sig do
38
- params(meta: Sentdm::Models::NumberLookupResponse::Meta::OrHash).void
39
- end
33
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
40
34
  attr_writer :meta
41
35
 
42
36
  # Indicates whether the request was successful
@@ -50,8 +44,8 @@ module Sentdm
50
44
  sig do
51
45
  params(
52
46
  data: T.nilable(Sentdm::Models::NumberLookupResponse::Data::OrHash),
53
- error: T.nilable(Sentdm::Models::NumberLookupResponse::Error::OrHash),
54
- meta: Sentdm::Models::NumberLookupResponse::Meta::OrHash,
47
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
48
+ meta: Sentdm::APIMeta::OrHash,
55
49
  success: T::Boolean
56
50
  ).returns(T.attached_class)
57
51
  end
@@ -71,8 +65,8 @@ module Sentdm
71
65
  override.returns(
72
66
  {
73
67
  data: T.nilable(Sentdm::Models::NumberLookupResponse::Data),
74
- error: T.nilable(Sentdm::Models::NumberLookupResponse::Error),
75
- meta: Sentdm::Models::NumberLookupResponse::Meta,
68
+ error: T.nilable(Sentdm::ErrorDetail),
69
+ meta: Sentdm::APIMeta,
76
70
  success: T::Boolean
77
71
  }
78
72
  )
@@ -167,127 +161,6 @@ module Sentdm
167
161
  def to_hash
168
162
  end
169
163
  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
291
164
  end
292
165
  end
293
166
  end
@@ -0,0 +1,135 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class PaginationMeta < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::PaginationMeta, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # Cursor-based pagination. Never populated — see Cursors.
12
+ sig { returns(T.nilable(Sentdm::PaginationMeta::Cursors)) }
13
+ attr_reader :cursors
14
+
15
+ sig do
16
+ params(cursors: T.nilable(Sentdm::PaginationMeta::Cursors::OrHash)).void
17
+ end
18
+ attr_writer :cursors
19
+
20
+ # Whether there are more pages after this one
21
+ sig { returns(T.nilable(T::Boolean)) }
22
+ attr_reader :has_more
23
+
24
+ sig { params(has_more: T::Boolean).void }
25
+ attr_writer :has_more
26
+
27
+ # Current page number (1-indexed)
28
+ sig { returns(T.nilable(Integer)) }
29
+ attr_reader :page
30
+
31
+ sig { params(page: Integer).void }
32
+ attr_writer :page
33
+
34
+ # Number of items per page
35
+ sig { returns(T.nilable(Integer)) }
36
+ attr_reader :page_size
37
+
38
+ sig { params(page_size: Integer).void }
39
+ attr_writer :page_size
40
+
41
+ # Total number of items across all pages
42
+ sig { returns(T.nilable(Integer)) }
43
+ attr_reader :total_count
44
+
45
+ sig { params(total_count: Integer).void }
46
+ attr_writer :total_count
47
+
48
+ # Total number of pages
49
+ sig { returns(T.nilable(Integer)) }
50
+ attr_reader :total_pages
51
+
52
+ sig { params(total_pages: Integer).void }
53
+ attr_writer :total_pages
54
+
55
+ # Pagination metadata for list responses
56
+ sig do
57
+ params(
58
+ cursors: T.nilable(Sentdm::PaginationMeta::Cursors::OrHash),
59
+ has_more: T::Boolean,
60
+ page: Integer,
61
+ page_size: Integer,
62
+ total_count: Integer,
63
+ total_pages: Integer
64
+ ).returns(T.attached_class)
65
+ end
66
+ def self.new(
67
+ # Cursor-based pagination. Never populated — see Cursors.
68
+ cursors: nil,
69
+ # Whether there are more pages after this one
70
+ has_more: nil,
71
+ # Current page number (1-indexed)
72
+ page: nil,
73
+ # Number of items per page
74
+ page_size: nil,
75
+ # Total number of items across all pages
76
+ total_count: nil,
77
+ # Total number of pages
78
+ total_pages: nil
79
+ )
80
+ end
81
+
82
+ sig do
83
+ override.returns(
84
+ {
85
+ cursors: T.nilable(Sentdm::PaginationMeta::Cursors),
86
+ has_more: T::Boolean,
87
+ page: Integer,
88
+ page_size: Integer,
89
+ total_count: Integer,
90
+ total_pages: Integer
91
+ }
92
+ )
93
+ end
94
+ def to_hash
95
+ end
96
+
97
+ class Cursors < Sentdm::Internal::Type::BaseModel
98
+ OrHash =
99
+ T.type_alias do
100
+ T.any(Sentdm::PaginationMeta::Cursors, Sentdm::Internal::AnyHash)
101
+ end
102
+
103
+ # Cursor to fetch the next page.
104
+ sig { returns(T.nilable(String)) }
105
+ attr_accessor :after
106
+
107
+ # Cursor to fetch the previous page.
108
+ sig { returns(T.nilable(String)) }
109
+ attr_accessor :before
110
+
111
+ # Cursor-based pagination. Never populated — see Cursors.
112
+ sig do
113
+ params(after: T.nilable(String), before: T.nilable(String)).returns(
114
+ T.attached_class
115
+ )
116
+ end
117
+ def self.new(
118
+ # Cursor to fetch the next page.
119
+ after: nil,
120
+ # Cursor to fetch the previous page.
121
+ before: nil
122
+ )
123
+ end
124
+
125
+ sig do
126
+ override.returns(
127
+ { after: T.nilable(String), before: T.nilable(String) }
128
+ )
129
+ end
130
+ def to_hash
131
+ end
132
+ end
133
+ end
134
+ end
135
+ end
@@ -0,0 +1,56 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class PaymentDetails < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::PaymentDetails, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # Card number (digits only, 13–19 characters)
12
+ sig { returns(String) }
13
+ attr_accessor :card_number
14
+
15
+ # Card security code (3–4 digits)
16
+ sig { returns(String) }
17
+ attr_accessor :cvc
18
+
19
+ # Card expiry date in MM/YY format (e.g. "09/27")
20
+ sig { returns(String) }
21
+ attr_accessor :expiry
22
+
23
+ # Billing ZIP / postal code associated with the card
24
+ sig { returns(String) }
25
+ attr_accessor :zip_code
26
+
27
+ sig do
28
+ params(
29
+ card_number: String,
30
+ cvc: String,
31
+ expiry: String,
32
+ zip_code: String
33
+ ).returns(T.attached_class)
34
+ end
35
+ def self.new(
36
+ # Card number (digits only, 13–19 characters)
37
+ card_number:,
38
+ # Card security code (3–4 digits)
39
+ cvc:,
40
+ # Card expiry date in MM/YY format (e.g. "09/27")
41
+ expiry:,
42
+ # Billing ZIP / postal code associated with the card
43
+ zip_code:
44
+ )
45
+ end
46
+
47
+ sig do
48
+ override.returns(
49
+ { card_number: String, cvc: String, expiry: String, zip_code: String }
50
+ )
51
+ end
52
+ def to_hash
53
+ end
54
+ end
55
+ end
56
+ end