sentdm 0.27.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +1 -27
  4. data/lib/sentdm/client.rb +71 -8
  5. data/lib/sentdm/internal/type/base_model.rb +5 -5
  6. data/lib/sentdm/models/contact_create_response.rb +249 -0
  7. data/lib/sentdm/models/contact_delete_params.rb +16 -2
  8. data/lib/sentdm/models/contact_list_response.rb +299 -16
  9. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +186 -0
  10. data/lib/sentdm/models/contact_retrieve_response.rb +249 -0
  11. data/lib/sentdm/models/contact_update_response.rb +249 -0
  12. data/lib/sentdm/models/conversation_list_messages_response.rb +436 -0
  13. data/lib/sentdm/models/conversation_list_response.rb +433 -0
  14. data/lib/sentdm/models/me_retrieve_response.rb +242 -12
  15. data/lib/sentdm/models/message_retrieve_activities_response.rb +165 -7
  16. data/lib/sentdm/models/message_retrieve_status_response.rb +74 -6
  17. data/lib/sentdm/models/message_send_response.rb +113 -28
  18. data/lib/sentdm/models/number_lookup_response.rb +74 -6
  19. data/lib/sentdm/models/profile_complete_response.rb +74 -6
  20. data/lib/sentdm/models/profile_create_params.rb +378 -26
  21. data/lib/sentdm/models/profile_create_response.rb +760 -0
  22. data/lib/sentdm/models/profile_delete_params.rb +16 -2
  23. data/lib/sentdm/models/profile_list_response.rb +825 -14
  24. data/lib/sentdm/models/profile_retrieve_response.rb +762 -0
  25. data/lib/sentdm/models/profile_update_params.rb +391 -24
  26. data/lib/sentdm/models/profile_update_response.rb +760 -0
  27. data/lib/sentdm/models/profiles/campaign_create_params.rb +156 -3
  28. data/lib/sentdm/models/profiles/campaign_create_response.rb +420 -0
  29. data/lib/sentdm/models/profiles/campaign_delete_params.rb +17 -2
  30. data/lib/sentdm/models/profiles/campaign_list_response.rb +421 -0
  31. data/lib/sentdm/models/profiles/campaign_update_params.rb +156 -3
  32. data/lib/sentdm/models/profiles/campaign_update_response.rb +420 -0
  33. data/lib/sentdm/models/template_create_response.rb +209 -0
  34. data/lib/sentdm/models/template_list_params.rb +9 -2
  35. data/lib/sentdm/models/template_list_response.rb +262 -16
  36. data/lib/sentdm/models/template_retrieve_response.rb +209 -0
  37. data/lib/sentdm/models/template_update_response.rb +209 -0
  38. data/lib/sentdm/models/user_invite_response.rb +201 -0
  39. data/lib/sentdm/models/user_list_response.rb +259 -14
  40. data/lib/sentdm/models/user_remove_params.rb +16 -2
  41. data/lib/sentdm/models/user_retrieve_response.rb +201 -0
  42. data/lib/sentdm/models/user_update_role_response.rb +201 -0
  43. data/lib/sentdm/models/webhook_create_response.rb +229 -0
  44. data/lib/sentdm/models/webhook_list_event_types_response.rb +213 -13
  45. data/lib/sentdm/models/webhook_list_events_response.rb +162 -13
  46. data/lib/sentdm/models/webhook_list_response.rb +280 -15
  47. data/lib/sentdm/models/webhook_retrieve_response.rb +229 -0
  48. data/lib/sentdm/models/webhook_rotate_secret_params.rb +17 -2
  49. data/lib/sentdm/models/webhook_rotate_secret_response.rb +74 -6
  50. data/lib/sentdm/models/webhook_test_response.rb +74 -6
  51. data/lib/sentdm/models/webhook_toggle_status_response.rb +229 -0
  52. data/lib/sentdm/models/webhook_update_response.rb +229 -0
  53. data/lib/sentdm/models.rb +0 -52
  54. data/lib/sentdm/resources/contacts.rb +30 -13
  55. data/lib/sentdm/resources/conversations.rb +12 -4
  56. data/lib/sentdm/resources/me.rb +6 -1
  57. data/lib/sentdm/resources/messages.rb +11 -1
  58. data/lib/sentdm/resources/numbers.rb +6 -1
  59. data/lib/sentdm/resources/profiles/campaigns.rb +47 -9
  60. data/lib/sentdm/resources/profiles.rb +134 -58
  61. data/lib/sentdm/resources/templates.rb +14 -8
  62. data/lib/sentdm/resources/users.rb +12 -7
  63. data/lib/sentdm/resources/webhooks.rb +19 -9
  64. data/lib/sentdm/version.rb +1 -1
  65. data/lib/sentdm.rb +22 -32
  66. data/rbi/sentdm/client.rbi +71 -8
  67. data/rbi/sentdm/models/contact_create_response.rbi +407 -0
  68. data/rbi/sentdm/models/contact_delete_params.rbi +19 -2
  69. data/rbi/sentdm/models/contact_list_response.rbi +527 -21
  70. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +397 -0
  71. data/rbi/sentdm/models/contact_retrieve_response.rbi +409 -0
  72. data/rbi/sentdm/models/contact_update_response.rbi +407 -0
  73. data/rbi/sentdm/models/conversation_list_messages_response.rbi +843 -0
  74. data/rbi/sentdm/models/conversation_list_response.rbi +819 -0
  75. data/rbi/sentdm/models/me_retrieve_response.rbi +367 -16
  76. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +335 -11
  77. data/rbi/sentdm/models/message_retrieve_status_response.rbi +148 -8
  78. data/rbi/sentdm/models/message_send_response.rbi +178 -32
  79. data/rbi/sentdm/models/number_lookup_response.rbi +135 -8
  80. data/rbi/sentdm/models/profile_complete_response.rbi +137 -8
  81. data/rbi/sentdm/models/profile_create_params.rbi +592 -42
  82. data/rbi/sentdm/models/profile_create_response.rbi +1226 -0
  83. data/rbi/sentdm/models/profile_delete_params.rbi +19 -2
  84. data/rbi/sentdm/models/profile_list_response.rbi +1366 -18
  85. data/rbi/sentdm/models/profile_retrieve_response.rbi +1230 -0
  86. data/rbi/sentdm/models/profile_update_params.rbi +610 -30
  87. data/rbi/sentdm/models/profile_update_response.rbi +1226 -0
  88. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +218 -4
  89. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +674 -0
  90. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +14 -1
  91. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +667 -0
  92. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +218 -4
  93. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +674 -0
  94. data/rbi/sentdm/models/template_create_response.rbi +349 -0
  95. data/rbi/sentdm/models/template_list_params.rbi +10 -2
  96. data/rbi/sentdm/models/template_list_response.rbi +469 -21
  97. data/rbi/sentdm/models/template_retrieve_response.rbi +355 -0
  98. data/rbi/sentdm/models/template_update_response.rbi +349 -0
  99. data/rbi/sentdm/models/user_invite_response.rbi +336 -0
  100. data/rbi/sentdm/models/user_list_response.rbi +463 -18
  101. data/rbi/sentdm/models/user_remove_params.rbi +19 -2
  102. data/rbi/sentdm/models/user_retrieve_response.rbi +336 -0
  103. data/rbi/sentdm/models/user_update_role_response.rbi +341 -0
  104. data/rbi/sentdm/models/webhook_create_response.rbi +361 -0
  105. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +433 -16
  106. data/rbi/sentdm/models/webhook_list_events_response.rbi +319 -15
  107. data/rbi/sentdm/models/webhook_list_response.rbi +480 -19
  108. data/rbi/sentdm/models/webhook_retrieve_response.rbi +363 -0
  109. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +14 -1
  110. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +148 -8
  111. data/rbi/sentdm/models/webhook_test_response.rbi +135 -8
  112. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +379 -0
  113. data/rbi/sentdm/models/webhook_update_response.rbi +361 -0
  114. data/rbi/sentdm/models.rbi +0 -54
  115. data/rbi/sentdm/resources/contacts.rbi +24 -9
  116. data/rbi/sentdm/resources/conversations.rbi +10 -2
  117. data/rbi/sentdm/resources/me.rbi +6 -1
  118. data/rbi/sentdm/resources/messages.rbi +11 -1
  119. data/rbi/sentdm/resources/numbers.rbi +6 -1
  120. data/rbi/sentdm/resources/profiles/campaigns.rbi +36 -6
  121. data/rbi/sentdm/resources/profiles.rbi +174 -66
  122. data/rbi/sentdm/resources/templates.rbi +15 -5
  123. data/rbi/sentdm/resources/users.rbi +9 -4
  124. data/rbi/sentdm/resources/webhooks.rbi +15 -5
  125. data/sig/sentdm/models/contact_create_response.rbs +216 -0
  126. data/sig/sentdm/models/contact_delete_params.rbs +10 -6
  127. data/sig/sentdm/models/contact_list_response.rbs +263 -20
  128. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +182 -0
  129. data/sig/sentdm/models/contact_retrieve_response.rbs +216 -0
  130. data/sig/sentdm/models/contact_update_response.rbs +216 -0
  131. data/sig/sentdm/models/conversation_list_messages_response.rbs +404 -0
  132. data/sig/sentdm/models/conversation_list_response.rbs +404 -0
  133. data/sig/sentdm/models/me_retrieve_response.rbs +176 -18
  134. data/sig/sentdm/models/message_retrieve_activities_response.rbs +147 -12
  135. data/sig/sentdm/models/message_retrieve_status_response.rbs +71 -9
  136. data/sig/sentdm/models/message_send_response.rbs +71 -9
  137. data/sig/sentdm/models/number_lookup_response.rbs +71 -9
  138. data/sig/sentdm/models/profile_complete_response.rbs +71 -9
  139. data/sig/sentdm/models/profile_create_params.rbs +271 -24
  140. data/sig/sentdm/models/profile_create_response.rbs +559 -0
  141. data/sig/sentdm/models/profile_delete_params.rbs +10 -6
  142. data/sig/sentdm/models/profile_list_response.rbs +615 -15
  143. data/sig/sentdm/models/profile_retrieve_response.rbs +559 -0
  144. data/sig/sentdm/models/profile_update_params.rbs +263 -12
  145. data/sig/sentdm/models/profile_update_response.rbs +559 -0
  146. data/sig/sentdm/models/profiles/campaign_create_params.rbs +108 -4
  147. data/sig/sentdm/models/profiles/campaign_create_response.rbs +357 -0
  148. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +15 -8
  149. data/sig/sentdm/models/profiles/campaign_list_response.rbs +357 -0
  150. data/sig/sentdm/models/profiles/campaign_update_params.rbs +108 -4
  151. data/sig/sentdm/models/profiles/campaign_update_response.rbs +357 -0
  152. data/sig/sentdm/models/template_create_response.rbs +182 -0
  153. data/sig/sentdm/models/template_list_response.rbs +230 -19
  154. data/sig/sentdm/models/template_retrieve_response.rbs +182 -0
  155. data/sig/sentdm/models/template_update_response.rbs +182 -0
  156. data/sig/sentdm/models/user_invite_response.rbs +177 -0
  157. data/sig/sentdm/models/user_list_response.rbs +233 -15
  158. data/sig/sentdm/models/user_remove_params.rbs +10 -6
  159. data/sig/sentdm/models/user_retrieve_response.rbs +177 -0
  160. data/sig/sentdm/models/user_update_role_response.rbs +177 -0
  161. data/sig/sentdm/models/webhook_create_response.rbs +208 -0
  162. data/sig/sentdm/models/webhook_list_event_types_response.rbs +203 -15
  163. data/sig/sentdm/models/webhook_list_events_response.rbs +142 -14
  164. data/sig/sentdm/models/webhook_list_response.rbs +255 -20
  165. data/sig/sentdm/models/webhook_retrieve_response.rbs +208 -0
  166. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +17 -8
  167. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +71 -9
  168. data/sig/sentdm/models/webhook_test_response.rbs +71 -9
  169. data/sig/sentdm/models/webhook_toggle_status_response.rbs +208 -0
  170. data/sig/sentdm/models/webhook_update_response.rbs +208 -0
  171. data/sig/sentdm/models.rbs +0 -52
  172. data/sig/sentdm/resources/contacts.rbs +4 -4
  173. data/sig/sentdm/resources/conversations.rbs +2 -2
  174. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  175. data/sig/sentdm/resources/profiles.rbs +11 -11
  176. data/sig/sentdm/resources/templates.rbs +3 -3
  177. data/sig/sentdm/resources/users.rbs +3 -3
  178. data/sig/sentdm/resources/webhooks.rbs +4 -4
  179. metadata +68 -98
  180. data/lib/sentdm/models/api_meta.rb +0 -34
  181. data/lib/sentdm/models/api_response_of_contact.rb +0 -46
  182. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +0 -43
  183. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +0 -43
  184. data/lib/sentdm/models/api_response_of_profile_detail.rb +0 -43
  185. data/lib/sentdm/models/api_response_of_user.rb +0 -43
  186. data/lib/sentdm/models/api_response_template.rb +0 -43
  187. data/lib/sentdm/models/api_response_webhook.rb +0 -43
  188. data/lib/sentdm/models/billing_contact_info.rb +0 -47
  189. data/lib/sentdm/models/brand_business_info.rb +0 -114
  190. data/lib/sentdm/models/brand_compliance_info.rb +0 -67
  191. data/lib/sentdm/models/brand_contact_info.rb +0 -58
  192. data/lib/sentdm/models/brands_brand_data.rb +0 -34
  193. data/lib/sentdm/models/contact_message_summary.rb +0 -76
  194. data/lib/sentdm/models/contact_response.rb +0 -126
  195. data/lib/sentdm/models/conversation_messages_list.rb +0 -245
  196. data/lib/sentdm/models/error_detail.rb +0 -42
  197. data/lib/sentdm/models/mutation_request.rb +0 -20
  198. data/lib/sentdm/models/pagination_meta.rb +0 -80
  199. data/lib/sentdm/models/payment_details.rb +0 -44
  200. data/lib/sentdm/models/profile_detail.rb +0 -605
  201. data/lib/sentdm/models/profile_settings.rb +0 -66
  202. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +0 -45
  203. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +0 -45
  204. data/lib/sentdm/models/profiles/brand_campaign.rb +0 -247
  205. data/lib/sentdm/models/profiles/campaign_data.rb +0 -130
  206. data/lib/sentdm/models/profiles/campaign_use_case.rb +0 -71
  207. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +0 -29
  208. data/lib/sentdm/models/template.rb +0 -90
  209. data/lib/sentdm/models/user_response.rb +0 -82
  210. data/lib/sentdm/models/webhook_event_type.rb +0 -45
  211. data/lib/sentdm/models/webhook_response.rb +0 -95
  212. data/rbi/sentdm/models/api_meta.rbi +0 -55
  213. data/rbi/sentdm/models/api_response_of_contact.rbi +0 -74
  214. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +0 -79
  215. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +0 -79
  216. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +0 -74
  217. data/rbi/sentdm/models/api_response_of_user.rbi +0 -74
  218. data/rbi/sentdm/models/api_response_template.rbi +0 -74
  219. data/rbi/sentdm/models/api_response_webhook.rbi +0 -74
  220. data/rbi/sentdm/models/billing_contact_info.rbi +0 -65
  221. data/rbi/sentdm/models/brand_business_info.rbi +0 -162
  222. data/rbi/sentdm/models/brand_compliance_info.rbi +0 -84
  223. data/rbi/sentdm/models/brand_contact_info.rbi +0 -78
  224. data/rbi/sentdm/models/brands_brand_data.rbi +0 -65
  225. data/rbi/sentdm/models/contact_message_summary.rbi +0 -144
  226. data/rbi/sentdm/models/contact_response.rbi +0 -183
  227. data/rbi/sentdm/models/conversation_messages_list.rbi +0 -419
  228. data/rbi/sentdm/models/error_detail.rbi +0 -66
  229. data/rbi/sentdm/models/mutation_request.rbi +0 -32
  230. data/rbi/sentdm/models/pagination_meta.rbi +0 -135
  231. data/rbi/sentdm/models/payment_details.rbi +0 -59
  232. data/rbi/sentdm/models/profile_detail.rbi +0 -872
  233. data/rbi/sentdm/models/profile_settings.rbi +0 -86
  234. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +0 -81
  235. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +0 -76
  236. data/rbi/sentdm/models/profiles/brand_campaign.rbi +0 -299
  237. data/rbi/sentdm/models/profiles/campaign_data.rbi +0 -146
  238. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +0 -110
  239. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +0 -51
  240. data/rbi/sentdm/models/template.rbi +0 -129
  241. data/rbi/sentdm/models/user_response.rbi +0 -118
  242. data/rbi/sentdm/models/webhook_event_type.rbi +0 -74
  243. data/rbi/sentdm/models/webhook_response.rbi +0 -140
  244. data/sig/sentdm/models/api_meta.rbs +0 -27
  245. data/sig/sentdm/models/api_response_of_contact.rbs +0 -39
  246. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +0 -39
  247. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +0 -39
  248. data/sig/sentdm/models/api_response_of_profile_detail.rbs +0 -39
  249. data/sig/sentdm/models/api_response_of_user.rbs +0 -39
  250. data/sig/sentdm/models/api_response_template.rbs +0 -39
  251. data/sig/sentdm/models/api_response_webhook.rbs +0 -39
  252. data/sig/sentdm/models/billing_contact_info.rbs +0 -30
  253. data/sig/sentdm/models/brand_business_info.rbs +0 -89
  254. data/sig/sentdm/models/brand_compliance_info.rbs +0 -50
  255. data/sig/sentdm/models/brand_contact_info.rbs +0 -45
  256. data/sig/sentdm/models/brands_brand_data.rbs +0 -30
  257. data/sig/sentdm/models/contact_message_summary.rbs +0 -84
  258. data/sig/sentdm/models/contact_response.rbs +0 -111
  259. data/sig/sentdm/models/conversation_messages_list.rbs +0 -240
  260. data/sig/sentdm/models/error_detail.rbs +0 -39
  261. data/sig/sentdm/models/mutation_request.rbs +0 -15
  262. data/sig/sentdm/models/pagination_meta.rbs +0 -67
  263. data/sig/sentdm/models/payment_details.rbs +0 -30
  264. data/sig/sentdm/models/profile_detail.rbs +0 -469
  265. data/sig/sentdm/models/profile_settings.rbs +0 -50
  266. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +0 -41
  267. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +0 -41
  268. data/sig/sentdm/models/profiles/brand_campaign.rbs +0 -194
  269. data/sig/sentdm/models/profiles/campaign_data.rbs +0 -87
  270. data/sig/sentdm/models/profiles/campaign_use_case.rbs +0 -66
  271. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +0 -27
  272. data/sig/sentdm/models/template.rbs +0 -79
  273. data/sig/sentdm/models/user_response.rbs +0 -72
  274. data/sig/sentdm/models/webhook_event_type.rbs +0 -51
  275. data/sig/sentdm/models/webhook_response.rbs +0 -103
@@ -0,0 +1,249 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Contacts#retrieve
6
+ class ContactRetrieveResponse < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ # Contact response for v3 API Uses snake_case for JSON property names
9
+ #
10
+ # @return [Sentdm::Models::ContactRetrieveResponse::Data, nil]
11
+ optional :data, -> { Sentdm::Models::ContactRetrieveResponse::Data }, nil?: true
12
+
13
+ # @!attribute error
14
+ # Error information
15
+ #
16
+ # @return [Sentdm::Models::ContactRetrieveResponse::Error, nil]
17
+ optional :error, -> { Sentdm::Models::ContactRetrieveResponse::Error }, nil?: true
18
+
19
+ # @!attribute meta
20
+ # Request and response metadata
21
+ #
22
+ # @return [Sentdm::Models::ContactRetrieveResponse::Meta, nil]
23
+ optional :meta, -> { Sentdm::Models::ContactRetrieveResponse::Meta }
24
+
25
+ # @!attribute success
26
+ # Indicates whether the request was successful
27
+ #
28
+ # @return [Boolean, nil]
29
+ optional :success, Sentdm::Internal::Type::Boolean
30
+
31
+ # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
32
+ # Some parameter documentations has been truncated, see
33
+ # {Sentdm::Models::ContactRetrieveResponse} for more details.
34
+ #
35
+ # Standard API response envelope for all v3 endpoints
36
+ #
37
+ # @param data [Sentdm::Models::ContactRetrieveResponse::Data, nil] Contact response for v3 API
38
+ #
39
+ # @param error [Sentdm::Models::ContactRetrieveResponse::Error, nil] Error information
40
+ #
41
+ # @param meta [Sentdm::Models::ContactRetrieveResponse::Meta] Request and response metadata
42
+ #
43
+ # @param success [Boolean] Indicates whether the request was successful
44
+
45
+ # @see Sentdm::Models::ContactRetrieveResponse#data
46
+ class Data < Sentdm::Internal::Type::BaseModel
47
+ # @!attribute id
48
+ # Unique identifier for the contact
49
+ #
50
+ # @return [String, nil]
51
+ optional :id, String
52
+
53
+ # @!attribute available_channels
54
+ # Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
55
+ #
56
+ # @return [String, nil]
57
+ optional :available_channels, String
58
+
59
+ # @!attribute country_code
60
+ # Country calling code (e.g., 1 for US/Canada)
61
+ #
62
+ # @return [String, nil]
63
+ optional :country_code, String
64
+
65
+ # @!attribute created_at
66
+ # When the contact was created
67
+ #
68
+ # @return [Time, nil]
69
+ optional :created_at, Time
70
+
71
+ # @!attribute customer_id
72
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
73
+ # Says whose resource this is, which the resource's own id does not.
74
+ #
75
+ # @return [String, nil]
76
+ optional :customer_id, String
77
+
78
+ # @!attribute default_channel
79
+ # Default messaging channel to use (e.g., "sms" or "whatsapp")
80
+ #
81
+ # @return [String, nil]
82
+ optional :default_channel, String
83
+
84
+ # @!attribute format_e164
85
+ # Phone number in E.164 format (e.g., +1234567890)
86
+ #
87
+ # @return [String, nil]
88
+ optional :format_e164, String
89
+
90
+ # @!attribute format_international
91
+ # Phone number in international format (e.g., +1 234-567-890)
92
+ #
93
+ # @return [String, nil]
94
+ optional :format_international, String
95
+
96
+ # @!attribute format_national
97
+ # Phone number in national format (e.g., (234) 567-890)
98
+ #
99
+ # @return [String, nil]
100
+ optional :format_national, String
101
+
102
+ # @!attribute format_rfc
103
+ # Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
104
+ #
105
+ # @return [String, nil]
106
+ optional :format_rfc, String
107
+
108
+ # @!attribute is_inherited
109
+ # @deprecated
110
+ #
111
+ # Always false. Contacts are no longer shared or inherited between sender profiles
112
+ # — a profile sees only the contacts it owns. Retained so existing v3 clients
113
+ # reading is_inherited keep deserializing; it carries no information.
114
+ #
115
+ # @return [Boolean, nil]
116
+ optional :is_inherited, Sentdm::Internal::Type::Boolean
117
+
118
+ # @!attribute opt_out
119
+ # Whether the contact has opted out of messaging. Single source of truth — opt-out
120
+ # is per-contact, not per-channel.
121
+ #
122
+ # @return [Boolean, nil]
123
+ optional :opt_out, Sentdm::Internal::Type::Boolean
124
+
125
+ # @!attribute phone_number
126
+ # Phone number in original format
127
+ #
128
+ # @return [String, nil]
129
+ optional :phone_number, String
130
+
131
+ # @!attribute region_code
132
+ # ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
133
+ #
134
+ # @return [String, nil]
135
+ optional :region_code, String
136
+
137
+ # @!attribute updated_at
138
+ # When the contact was last updated
139
+ #
140
+ # @return [Time, nil]
141
+ optional :updated_at, Time, nil?: true
142
+
143
+ # @!method initialize(id: nil, available_channels: nil, country_code: nil, created_at: nil, customer_id: nil, default_channel: nil, format_e164: nil, format_international: nil, format_national: nil, format_rfc: nil, is_inherited: nil, opt_out: nil, phone_number: nil, region_code: nil, updated_at: nil)
144
+ # Some parameter documentations has been truncated, see
145
+ # {Sentdm::Models::ContactRetrieveResponse::Data} for more details.
146
+ #
147
+ # Contact response for v3 API Uses snake_case for JSON property names
148
+ #
149
+ # @param id [String] Unique identifier for the contact
150
+ #
151
+ # @param available_channels [String] Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
152
+ #
153
+ # @param country_code [String] Country calling code (e.g., 1 for US/Canada)
154
+ #
155
+ # @param created_at [Time] When the contact was created
156
+ #
157
+ # @param customer_id [String] Which customer owns this — the key's own, or the profile named in x-profile-id.
158
+ #
159
+ # @param default_channel [String] Default messaging channel to use (e.g., "sms" or "whatsapp")
160
+ #
161
+ # @param format_e164 [String] Phone number in E.164 format (e.g., +1234567890)
162
+ #
163
+ # @param format_international [String] Phone number in international format (e.g., +1 234-567-890)
164
+ #
165
+ # @param format_national [String] Phone number in national format (e.g., (234) 567-890)
166
+ #
167
+ # @param format_rfc [String] Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
168
+ #
169
+ # @param is_inherited [Boolean] Always false. Contacts are no longer shared or inherited between sender profiles
170
+ #
171
+ # @param opt_out [Boolean] Whether the contact has opted out of messaging. Single source of truth — opt-out
172
+ #
173
+ # @param phone_number [String] Phone number in original format
174
+ #
175
+ # @param region_code [String] ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
176
+ #
177
+ # @param updated_at [Time, nil] When the contact was last updated
178
+ end
179
+
180
+ # @see Sentdm::Models::ContactRetrieveResponse#error
181
+ class Error < Sentdm::Internal::Type::BaseModel
182
+ # @!attribute code
183
+ # Machine-readable error code (e.g., "RESOURCE_001")
184
+ #
185
+ # @return [String, nil]
186
+ optional :code, String
187
+
188
+ # @!attribute details
189
+ # Additional validation error details (field-level errors)
190
+ #
191
+ # @return [Hash{Symbol=>Array<String>}, nil]
192
+ optional :details, Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::ArrayOf[String]], nil?: true
193
+
194
+ # @!attribute doc_url
195
+ # URL to documentation about this error
196
+ #
197
+ # @return [String, nil]
198
+ optional :doc_url, String, nil?: true
199
+
200
+ # @!attribute message
201
+ # Human-readable error message
202
+ #
203
+ # @return [String, nil]
204
+ optional :message, String
205
+
206
+ # @!method initialize(code: nil, details: nil, doc_url: nil, message: nil)
207
+ # Error information
208
+ #
209
+ # @param code [String] Machine-readable error code (e.g., "RESOURCE_001")
210
+ #
211
+ # @param details [Hash{Symbol=>Array<String>}, nil] Additional validation error details (field-level errors)
212
+ #
213
+ # @param doc_url [String, nil] URL to documentation about this error
214
+ #
215
+ # @param message [String] Human-readable error message
216
+ end
217
+
218
+ # @see Sentdm::Models::ContactRetrieveResponse#meta
219
+ class Meta < Sentdm::Internal::Type::BaseModel
220
+ # @!attribute request_id
221
+ # Unique identifier for this request (for tracing and support)
222
+ #
223
+ # @return [String, nil]
224
+ optional :request_id, String
225
+
226
+ # @!attribute timestamp
227
+ # Server timestamp when the response was generated
228
+ #
229
+ # @return [Time, nil]
230
+ optional :timestamp, Time
231
+
232
+ # @!attribute version
233
+ # API version used for this request
234
+ #
235
+ # @return [String, nil]
236
+ optional :version, String
237
+
238
+ # @!method initialize(request_id: nil, timestamp: nil, version: nil)
239
+ # Request and response metadata
240
+ #
241
+ # @param request_id [String] Unique identifier for this request (for tracing and support)
242
+ #
243
+ # @param timestamp [Time] Server timestamp when the response was generated
244
+ #
245
+ # @param version [String] API version used for this request
246
+ end
247
+ end
248
+ end
249
+ end
@@ -0,0 +1,249 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Contacts#update
6
+ class ContactUpdateResponse < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ # Contact response for v3 API Uses snake_case for JSON property names
9
+ #
10
+ # @return [Sentdm::Models::ContactUpdateResponse::Data, nil]
11
+ optional :data, -> { Sentdm::Models::ContactUpdateResponse::Data }, nil?: true
12
+
13
+ # @!attribute error
14
+ # Error information
15
+ #
16
+ # @return [Sentdm::Models::ContactUpdateResponse::Error, nil]
17
+ optional :error, -> { Sentdm::Models::ContactUpdateResponse::Error }, nil?: true
18
+
19
+ # @!attribute meta
20
+ # Request and response metadata
21
+ #
22
+ # @return [Sentdm::Models::ContactUpdateResponse::Meta, nil]
23
+ optional :meta, -> { Sentdm::Models::ContactUpdateResponse::Meta }
24
+
25
+ # @!attribute success
26
+ # Indicates whether the request was successful
27
+ #
28
+ # @return [Boolean, nil]
29
+ optional :success, Sentdm::Internal::Type::Boolean
30
+
31
+ # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
32
+ # Some parameter documentations has been truncated, see
33
+ # {Sentdm::Models::ContactUpdateResponse} for more details.
34
+ #
35
+ # Standard API response envelope for all v3 endpoints
36
+ #
37
+ # @param data [Sentdm::Models::ContactUpdateResponse::Data, nil] Contact response for v3 API
38
+ #
39
+ # @param error [Sentdm::Models::ContactUpdateResponse::Error, nil] Error information
40
+ #
41
+ # @param meta [Sentdm::Models::ContactUpdateResponse::Meta] Request and response metadata
42
+ #
43
+ # @param success [Boolean] Indicates whether the request was successful
44
+
45
+ # @see Sentdm::Models::ContactUpdateResponse#data
46
+ class Data < Sentdm::Internal::Type::BaseModel
47
+ # @!attribute id
48
+ # Unique identifier for the contact
49
+ #
50
+ # @return [String, nil]
51
+ optional :id, String
52
+
53
+ # @!attribute available_channels
54
+ # Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
55
+ #
56
+ # @return [String, nil]
57
+ optional :available_channels, String
58
+
59
+ # @!attribute country_code
60
+ # Country calling code (e.g., 1 for US/Canada)
61
+ #
62
+ # @return [String, nil]
63
+ optional :country_code, String
64
+
65
+ # @!attribute created_at
66
+ # When the contact was created
67
+ #
68
+ # @return [Time, nil]
69
+ optional :created_at, Time
70
+
71
+ # @!attribute customer_id
72
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
73
+ # Says whose resource this is, which the resource's own id does not.
74
+ #
75
+ # @return [String, nil]
76
+ optional :customer_id, String
77
+
78
+ # @!attribute default_channel
79
+ # Default messaging channel to use (e.g., "sms" or "whatsapp")
80
+ #
81
+ # @return [String, nil]
82
+ optional :default_channel, String
83
+
84
+ # @!attribute format_e164
85
+ # Phone number in E.164 format (e.g., +1234567890)
86
+ #
87
+ # @return [String, nil]
88
+ optional :format_e164, String
89
+
90
+ # @!attribute format_international
91
+ # Phone number in international format (e.g., +1 234-567-890)
92
+ #
93
+ # @return [String, nil]
94
+ optional :format_international, String
95
+
96
+ # @!attribute format_national
97
+ # Phone number in national format (e.g., (234) 567-890)
98
+ #
99
+ # @return [String, nil]
100
+ optional :format_national, String
101
+
102
+ # @!attribute format_rfc
103
+ # Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
104
+ #
105
+ # @return [String, nil]
106
+ optional :format_rfc, String
107
+
108
+ # @!attribute is_inherited
109
+ # @deprecated
110
+ #
111
+ # Always false. Contacts are no longer shared or inherited between sender profiles
112
+ # — a profile sees only the contacts it owns. Retained so existing v3 clients
113
+ # reading is_inherited keep deserializing; it carries no information.
114
+ #
115
+ # @return [Boolean, nil]
116
+ optional :is_inherited, Sentdm::Internal::Type::Boolean
117
+
118
+ # @!attribute opt_out
119
+ # Whether the contact has opted out of messaging. Single source of truth — opt-out
120
+ # is per-contact, not per-channel.
121
+ #
122
+ # @return [Boolean, nil]
123
+ optional :opt_out, Sentdm::Internal::Type::Boolean
124
+
125
+ # @!attribute phone_number
126
+ # Phone number in original format
127
+ #
128
+ # @return [String, nil]
129
+ optional :phone_number, String
130
+
131
+ # @!attribute region_code
132
+ # ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
133
+ #
134
+ # @return [String, nil]
135
+ optional :region_code, String
136
+
137
+ # @!attribute updated_at
138
+ # When the contact was last updated
139
+ #
140
+ # @return [Time, nil]
141
+ optional :updated_at, Time, nil?: true
142
+
143
+ # @!method initialize(id: nil, available_channels: nil, country_code: nil, created_at: nil, customer_id: nil, default_channel: nil, format_e164: nil, format_international: nil, format_national: nil, format_rfc: nil, is_inherited: nil, opt_out: nil, phone_number: nil, region_code: nil, updated_at: nil)
144
+ # Some parameter documentations has been truncated, see
145
+ # {Sentdm::Models::ContactUpdateResponse::Data} for more details.
146
+ #
147
+ # Contact response for v3 API Uses snake_case for JSON property names
148
+ #
149
+ # @param id [String] Unique identifier for the contact
150
+ #
151
+ # @param available_channels [String] Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
152
+ #
153
+ # @param country_code [String] Country calling code (e.g., 1 for US/Canada)
154
+ #
155
+ # @param created_at [Time] When the contact was created
156
+ #
157
+ # @param customer_id [String] Which customer owns this — the key's own, or the profile named in x-profile-id.
158
+ #
159
+ # @param default_channel [String] Default messaging channel to use (e.g., "sms" or "whatsapp")
160
+ #
161
+ # @param format_e164 [String] Phone number in E.164 format (e.g., +1234567890)
162
+ #
163
+ # @param format_international [String] Phone number in international format (e.g., +1 234-567-890)
164
+ #
165
+ # @param format_national [String] Phone number in national format (e.g., (234) 567-890)
166
+ #
167
+ # @param format_rfc [String] Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
168
+ #
169
+ # @param is_inherited [Boolean] Always false. Contacts are no longer shared or inherited between sender profiles
170
+ #
171
+ # @param opt_out [Boolean] Whether the contact has opted out of messaging. Single source of truth — opt-out
172
+ #
173
+ # @param phone_number [String] Phone number in original format
174
+ #
175
+ # @param region_code [String] ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
176
+ #
177
+ # @param updated_at [Time, nil] When the contact was last updated
178
+ end
179
+
180
+ # @see Sentdm::Models::ContactUpdateResponse#error
181
+ class Error < Sentdm::Internal::Type::BaseModel
182
+ # @!attribute code
183
+ # Machine-readable error code (e.g., "RESOURCE_001")
184
+ #
185
+ # @return [String, nil]
186
+ optional :code, String
187
+
188
+ # @!attribute details
189
+ # Additional validation error details (field-level errors)
190
+ #
191
+ # @return [Hash{Symbol=>Array<String>}, nil]
192
+ optional :details, Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::ArrayOf[String]], nil?: true
193
+
194
+ # @!attribute doc_url
195
+ # URL to documentation about this error
196
+ #
197
+ # @return [String, nil]
198
+ optional :doc_url, String, nil?: true
199
+
200
+ # @!attribute message
201
+ # Human-readable error message
202
+ #
203
+ # @return [String, nil]
204
+ optional :message, String
205
+
206
+ # @!method initialize(code: nil, details: nil, doc_url: nil, message: nil)
207
+ # Error information
208
+ #
209
+ # @param code [String] Machine-readable error code (e.g., "RESOURCE_001")
210
+ #
211
+ # @param details [Hash{Symbol=>Array<String>}, nil] Additional validation error details (field-level errors)
212
+ #
213
+ # @param doc_url [String, nil] URL to documentation about this error
214
+ #
215
+ # @param message [String] Human-readable error message
216
+ end
217
+
218
+ # @see Sentdm::Models::ContactUpdateResponse#meta
219
+ class Meta < Sentdm::Internal::Type::BaseModel
220
+ # @!attribute request_id
221
+ # Unique identifier for this request (for tracing and support)
222
+ #
223
+ # @return [String, nil]
224
+ optional :request_id, String
225
+
226
+ # @!attribute timestamp
227
+ # Server timestamp when the response was generated
228
+ #
229
+ # @return [Time, nil]
230
+ optional :timestamp, Time
231
+
232
+ # @!attribute version
233
+ # API version used for this request
234
+ #
235
+ # @return [String, nil]
236
+ optional :version, String
237
+
238
+ # @!method initialize(request_id: nil, timestamp: nil, version: nil)
239
+ # Request and response metadata
240
+ #
241
+ # @param request_id [String] Unique identifier for this request (for tracing and support)
242
+ #
243
+ # @param timestamp [Time] Server timestamp when the response was generated
244
+ #
245
+ # @param version [String] API version used for this request
246
+ end
247
+ end
248
+ end
249
+ end