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
@@ -1,407 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class ContactUpdateResponse < Sentdm::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(
9
- Sentdm::Models::ContactUpdateResponse,
10
- Sentdm::Internal::AnyHash
11
- )
12
- end
13
-
14
- # Contact response for v3 API Uses snake_case for JSON property names
15
- sig { returns(T.nilable(Sentdm::Models::ContactUpdateResponse::Data)) }
16
- attr_reader :data
17
-
18
- sig do
19
- params(
20
- data: T.nilable(Sentdm::Models::ContactUpdateResponse::Data::OrHash)
21
- ).void
22
- end
23
- attr_writer :data
24
-
25
- # Error information
26
- sig { returns(T.nilable(Sentdm::Models::ContactUpdateResponse::Error)) }
27
- attr_reader :error
28
-
29
- sig do
30
- params(
31
- error: T.nilable(Sentdm::Models::ContactUpdateResponse::Error::OrHash)
32
- ).void
33
- end
34
- attr_writer :error
35
-
36
- # Request and response metadata
37
- sig { returns(T.nilable(Sentdm::Models::ContactUpdateResponse::Meta)) }
38
- attr_reader :meta
39
-
40
- sig do
41
- params(meta: Sentdm::Models::ContactUpdateResponse::Meta::OrHash).void
42
- end
43
- attr_writer :meta
44
-
45
- # Indicates whether the request was successful
46
- sig { returns(T.nilable(T::Boolean)) }
47
- attr_reader :success
48
-
49
- sig { params(success: T::Boolean).void }
50
- attr_writer :success
51
-
52
- # Standard API response envelope for all v3 endpoints
53
- sig do
54
- params(
55
- data: T.nilable(Sentdm::Models::ContactUpdateResponse::Data::OrHash),
56
- error:
57
- T.nilable(Sentdm::Models::ContactUpdateResponse::Error::OrHash),
58
- meta: Sentdm::Models::ContactUpdateResponse::Meta::OrHash,
59
- success: T::Boolean
60
- ).returns(T.attached_class)
61
- end
62
- def self.new(
63
- # Contact response for v3 API Uses snake_case for JSON property names
64
- data: nil,
65
- # Error information
66
- error: nil,
67
- # Request and response metadata
68
- meta: nil,
69
- # Indicates whether the request was successful
70
- success: nil
71
- )
72
- end
73
-
74
- sig do
75
- override.returns(
76
- {
77
- data: T.nilable(Sentdm::Models::ContactUpdateResponse::Data),
78
- error: T.nilable(Sentdm::Models::ContactUpdateResponse::Error),
79
- meta: Sentdm::Models::ContactUpdateResponse::Meta,
80
- success: T::Boolean
81
- }
82
- )
83
- end
84
- def to_hash
85
- end
86
-
87
- class Data < Sentdm::Internal::Type::BaseModel
88
- OrHash =
89
- T.type_alias do
90
- T.any(
91
- Sentdm::Models::ContactUpdateResponse::Data,
92
- Sentdm::Internal::AnyHash
93
- )
94
- end
95
-
96
- # Unique identifier for the contact
97
- sig { returns(T.nilable(String)) }
98
- attr_reader :id
99
-
100
- sig { params(id: String).void }
101
- attr_writer :id
102
-
103
- # Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
104
- sig { returns(T.nilable(String)) }
105
- attr_reader :available_channels
106
-
107
- sig { params(available_channels: String).void }
108
- attr_writer :available_channels
109
-
110
- # Country calling code (e.g., 1 for US/Canada)
111
- sig { returns(T.nilable(String)) }
112
- attr_reader :country_code
113
-
114
- sig { params(country_code: String).void }
115
- attr_writer :country_code
116
-
117
- # When the contact was created
118
- sig { returns(T.nilable(Time)) }
119
- attr_reader :created_at
120
-
121
- sig { params(created_at: Time).void }
122
- attr_writer :created_at
123
-
124
- # Which customer owns this — the key's own, or the profile named in x-profile-id.
125
- # Says whose resource this is, which the resource's own id does not.
126
- sig { returns(T.nilable(String)) }
127
- attr_reader :customer_id
128
-
129
- sig { params(customer_id: String).void }
130
- attr_writer :customer_id
131
-
132
- # Default messaging channel to use (e.g., "sms" or "whatsapp")
133
- sig { returns(T.nilable(String)) }
134
- attr_reader :default_channel
135
-
136
- sig { params(default_channel: String).void }
137
- attr_writer :default_channel
138
-
139
- # Phone number in E.164 format (e.g., +1234567890)
140
- sig { returns(T.nilable(String)) }
141
- attr_reader :format_e164
142
-
143
- sig { params(format_e164: String).void }
144
- attr_writer :format_e164
145
-
146
- # Phone number in international format (e.g., +1 234-567-890)
147
- sig { returns(T.nilable(String)) }
148
- attr_reader :format_international
149
-
150
- sig { params(format_international: String).void }
151
- attr_writer :format_international
152
-
153
- # Phone number in national format (e.g., (234) 567-890)
154
- sig { returns(T.nilable(String)) }
155
- attr_reader :format_national
156
-
157
- sig { params(format_national: String).void }
158
- attr_writer :format_national
159
-
160
- # Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
161
- sig { returns(T.nilable(String)) }
162
- attr_reader :format_rfc
163
-
164
- sig { params(format_rfc: String).void }
165
- attr_writer :format_rfc
166
-
167
- # Always false. Contacts are no longer shared or inherited between sender profiles
168
- # — a profile sees only the contacts it owns. Retained so existing v3 clients
169
- # reading is_inherited keep deserializing; it carries no information.
170
- sig { returns(T.nilable(T::Boolean)) }
171
- attr_reader :is_inherited
172
-
173
- sig { params(is_inherited: T::Boolean).void }
174
- attr_writer :is_inherited
175
-
176
- # Whether the contact has opted out of messaging. Single source of truth — opt-out
177
- # is per-contact, not per-channel.
178
- sig { returns(T.nilable(T::Boolean)) }
179
- attr_reader :opt_out
180
-
181
- sig { params(opt_out: T::Boolean).void }
182
- attr_writer :opt_out
183
-
184
- # Phone number in original format
185
- sig { returns(T.nilable(String)) }
186
- attr_reader :phone_number
187
-
188
- sig { params(phone_number: String).void }
189
- attr_writer :phone_number
190
-
191
- # ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
192
- sig { returns(T.nilable(String)) }
193
- attr_reader :region_code
194
-
195
- sig { params(region_code: String).void }
196
- attr_writer :region_code
197
-
198
- # When the contact was last updated
199
- sig { returns(T.nilable(Time)) }
200
- attr_accessor :updated_at
201
-
202
- # Contact response for v3 API Uses snake_case for JSON property names
203
- sig do
204
- params(
205
- id: String,
206
- available_channels: String,
207
- country_code: String,
208
- created_at: Time,
209
- customer_id: String,
210
- default_channel: String,
211
- format_e164: String,
212
- format_international: String,
213
- format_national: String,
214
- format_rfc: String,
215
- is_inherited: T::Boolean,
216
- opt_out: T::Boolean,
217
- phone_number: String,
218
- region_code: String,
219
- updated_at: T.nilable(Time)
220
- ).returns(T.attached_class)
221
- end
222
- def self.new(
223
- # Unique identifier for the contact
224
- id: nil,
225
- # Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
226
- available_channels: nil,
227
- # Country calling code (e.g., 1 for US/Canada)
228
- country_code: nil,
229
- # When the contact was created
230
- created_at: nil,
231
- # Which customer owns this — the key's own, or the profile named in x-profile-id.
232
- # Says whose resource this is, which the resource's own id does not.
233
- customer_id: nil,
234
- # Default messaging channel to use (e.g., "sms" or "whatsapp")
235
- default_channel: nil,
236
- # Phone number in E.164 format (e.g., +1234567890)
237
- format_e164: nil,
238
- # Phone number in international format (e.g., +1 234-567-890)
239
- format_international: nil,
240
- # Phone number in national format (e.g., (234) 567-890)
241
- format_national: nil,
242
- # Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
243
- format_rfc: nil,
244
- # Always false. Contacts are no longer shared or inherited between sender profiles
245
- # — a profile sees only the contacts it owns. Retained so existing v3 clients
246
- # reading is_inherited keep deserializing; it carries no information.
247
- is_inherited: nil,
248
- # Whether the contact has opted out of messaging. Single source of truth — opt-out
249
- # is per-contact, not per-channel.
250
- opt_out: nil,
251
- # Phone number in original format
252
- phone_number: nil,
253
- # ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
254
- region_code: nil,
255
- # When the contact was last updated
256
- updated_at: nil
257
- )
258
- end
259
-
260
- sig do
261
- override.returns(
262
- {
263
- id: String,
264
- available_channels: String,
265
- country_code: String,
266
- created_at: Time,
267
- customer_id: String,
268
- default_channel: String,
269
- format_e164: String,
270
- format_international: String,
271
- format_national: String,
272
- format_rfc: String,
273
- is_inherited: T::Boolean,
274
- opt_out: T::Boolean,
275
- phone_number: String,
276
- region_code: String,
277
- updated_at: T.nilable(Time)
278
- }
279
- )
280
- end
281
- def to_hash
282
- end
283
- end
284
-
285
- class Error < Sentdm::Internal::Type::BaseModel
286
- OrHash =
287
- T.type_alias do
288
- T.any(
289
- Sentdm::Models::ContactUpdateResponse::Error,
290
- Sentdm::Internal::AnyHash
291
- )
292
- end
293
-
294
- # Machine-readable error code (e.g., "RESOURCE_001")
295
- sig { returns(T.nilable(String)) }
296
- attr_reader :code
297
-
298
- sig { params(code: String).void }
299
- attr_writer :code
300
-
301
- # Additional validation error details (field-level errors)
302
- sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
303
- attr_accessor :details
304
-
305
- # URL to documentation about this error
306
- sig { returns(T.nilable(String)) }
307
- attr_accessor :doc_url
308
-
309
- # Human-readable error message
310
- sig { returns(T.nilable(String)) }
311
- attr_reader :message
312
-
313
- sig { params(message: String).void }
314
- attr_writer :message
315
-
316
- # Error information
317
- sig do
318
- params(
319
- code: String,
320
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
321
- doc_url: T.nilable(String),
322
- message: String
323
- ).returns(T.attached_class)
324
- end
325
- def self.new(
326
- # Machine-readable error code (e.g., "RESOURCE_001")
327
- code: nil,
328
- # Additional validation error details (field-level errors)
329
- details: nil,
330
- # URL to documentation about this error
331
- doc_url: nil,
332
- # Human-readable error message
333
- message: nil
334
- )
335
- end
336
-
337
- sig do
338
- override.returns(
339
- {
340
- code: String,
341
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
342
- doc_url: T.nilable(String),
343
- message: String
344
- }
345
- )
346
- end
347
- def to_hash
348
- end
349
- end
350
-
351
- class Meta < Sentdm::Internal::Type::BaseModel
352
- OrHash =
353
- T.type_alias do
354
- T.any(
355
- Sentdm::Models::ContactUpdateResponse::Meta,
356
- Sentdm::Internal::AnyHash
357
- )
358
- end
359
-
360
- # Unique identifier for this request (for tracing and support)
361
- sig { returns(T.nilable(String)) }
362
- attr_reader :request_id
363
-
364
- sig { params(request_id: String).void }
365
- attr_writer :request_id
366
-
367
- # Server timestamp when the response was generated
368
- sig { returns(T.nilable(Time)) }
369
- attr_reader :timestamp
370
-
371
- sig { params(timestamp: Time).void }
372
- attr_writer :timestamp
373
-
374
- # API version used for this request
375
- sig { returns(T.nilable(String)) }
376
- attr_reader :version
377
-
378
- sig { params(version: String).void }
379
- attr_writer :version
380
-
381
- # Request and response metadata
382
- sig do
383
- params(request_id: String, timestamp: Time, version: String).returns(
384
- T.attached_class
385
- )
386
- end
387
- def self.new(
388
- # Unique identifier for this request (for tracing and support)
389
- request_id: nil,
390
- # Server timestamp when the response was generated
391
- timestamp: nil,
392
- # API version used for this request
393
- version: nil
394
- )
395
- end
396
-
397
- sig do
398
- override.returns(
399
- { request_id: String, timestamp: Time, version: String }
400
- )
401
- end
402
- def to_hash
403
- end
404
- end
405
- end
406
- end
407
- end