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