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,760 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Profiles#create
6
+ class ProfileCreateResponse < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ # Detailed profile response for v3 API
9
+ #
10
+ # @return [Sentdm::Models::ProfileCreateResponse::Data, nil]
11
+ optional :data, -> { Sentdm::Models::ProfileCreateResponse::Data }, nil?: true
12
+
13
+ # @!attribute error
14
+ # Error information
15
+ #
16
+ # @return [Sentdm::Models::ProfileCreateResponse::Error, nil]
17
+ optional :error, -> { Sentdm::Models::ProfileCreateResponse::Error }, nil?: true
18
+
19
+ # @!attribute meta
20
+ # Request and response metadata
21
+ #
22
+ # @return [Sentdm::Models::ProfileCreateResponse::Meta, nil]
23
+ optional :meta, -> { Sentdm::Models::ProfileCreateResponse::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
+ # Standard API response envelope for all v3 endpoints
33
+ #
34
+ # @param data [Sentdm::Models::ProfileCreateResponse::Data, nil] Detailed profile response for v3 API
35
+ #
36
+ # @param error [Sentdm::Models::ProfileCreateResponse::Error, nil] Error information
37
+ #
38
+ # @param meta [Sentdm::Models::ProfileCreateResponse::Meta] Request and response metadata
39
+ #
40
+ # @param success [Boolean] Indicates whether the request was successful
41
+
42
+ # @see Sentdm::Models::ProfileCreateResponse#data
43
+ class Data < Sentdm::Internal::Type::BaseModel
44
+ # @!attribute id
45
+ # Profile unique identifier
46
+ #
47
+ # @return [String, nil]
48
+ optional :id, String
49
+
50
+ # @!attribute allow_contact_sharing
51
+ # @deprecated
52
+ #
53
+ # Always false. A profile no longer shares contacts with sibling profiles — it
54
+ # sees only what it owns. Retained so existing v3 clients reading
55
+ # allow_contact_sharing keep deserializing; it carries no information.
56
+ #
57
+ # @return [Boolean, nil]
58
+ optional :allow_contact_sharing, Sentdm::Internal::Type::Boolean, nil?: true
59
+
60
+ # @!attribute allow_number_change_during_onboarding
61
+ # Whether number changes are allowed during onboarding
62
+ #
63
+ # @return [Boolean, nil]
64
+ optional :allow_number_change_during_onboarding, Sentdm::Internal::Type::Boolean, nil?: true
65
+
66
+ # @!attribute allow_template_sharing
67
+ # @deprecated
68
+ #
69
+ # Always false. A profile no longer shares templates with sibling profiles.
70
+ # Retained so existing v3 clients reading allow_template_sharing keep
71
+ # deserializing; it carries no information.
72
+ #
73
+ # @return [Boolean, nil]
74
+ optional :allow_template_sharing, Sentdm::Internal::Type::Boolean, nil?: true
75
+
76
+ # @!attribute billing_contact
77
+ # Billing contact info returned in profile responses
78
+ #
79
+ # @return [Sentdm::Models::ProfileCreateResponse::Data::BillingContact, nil]
80
+ optional :billing_contact, -> { Sentdm::Models::ProfileCreateResponse::Data::BillingContact }, nil?: true
81
+
82
+ # @!attribute billing_model
83
+ # Billing model: profile, organization, or profile_and_organization
84
+ #
85
+ # @return [String, nil]
86
+ optional :billing_model, String
87
+
88
+ # @!attribute brand
89
+ # Brand response with nested contact, business, and compliance sections — mirrors
90
+ # the request structure.
91
+ #
92
+ # @return [Sentdm::Models::ProfileCreateResponse::Data::Brand, nil]
93
+ optional :brand, -> { Sentdm::Models::ProfileCreateResponse::Data::Brand }, nil?: true
94
+
95
+ # @!attribute created_at
96
+ # When the profile was created
97
+ #
98
+ # @return [Time, nil]
99
+ optional :created_at, Time
100
+
101
+ # @!attribute description
102
+ # Profile description
103
+ #
104
+ # @return [String, nil]
105
+ optional :description, String, nil?: true
106
+
107
+ # @!attribute email
108
+ # Profile email (inherited from organization)
109
+ #
110
+ # @return [String, nil]
111
+ optional :email, String, nil?: true
112
+
113
+ # @!attribute icon
114
+ # Profile icon URL
115
+ #
116
+ # @return [String, nil]
117
+ optional :icon, String, nil?: true
118
+
119
+ # @!attribute inherit_contacts
120
+ # @deprecated
121
+ #
122
+ # Always false. A profile no longer inherits its organization's contacts. Retained
123
+ # so existing v3 clients reading inherit_contacts keep deserializing; it carries
124
+ # no information.
125
+ #
126
+ # @return [Boolean, nil]
127
+ optional :inherit_contacts, Sentdm::Internal::Type::Boolean, nil?: true
128
+
129
+ # @!attribute inherit_tcr_brand
130
+ # Whether this profile inherits TCR brand from the organization
131
+ #
132
+ # @return [Boolean, nil]
133
+ optional :inherit_tcr_brand, Sentdm::Internal::Type::Boolean
134
+
135
+ # @!attribute inherit_tcr_campaign
136
+ # Whether this profile inherits TCR campaign from the organization
137
+ #
138
+ # @return [Boolean, nil]
139
+ optional :inherit_tcr_campaign, Sentdm::Internal::Type::Boolean
140
+
141
+ # @!attribute inherit_templates
142
+ # @deprecated
143
+ #
144
+ # Always false. A profile no longer inherits its organization's templates.
145
+ # Retained so existing v3 clients reading inherit_templates keep deserializing; it
146
+ # carries no information.
147
+ #
148
+ # @return [Boolean, nil]
149
+ optional :inherit_templates, Sentdm::Internal::Type::Boolean, nil?: true
150
+
151
+ # @!attribute name
152
+ # Profile name
153
+ #
154
+ # @return [String, nil]
155
+ optional :name, String
156
+
157
+ # @!attribute organization_id
158
+ # Parent organization ID
159
+ #
160
+ # @return [String, nil]
161
+ optional :organization_id, String, nil?: true
162
+
163
+ # @!attribute sending_phone_number
164
+ # Direct SMS phone number
165
+ #
166
+ # @return [String, nil]
167
+ optional :sending_phone_number, String, nil?: true
168
+
169
+ # @!attribute sending_phone_number_profile_id
170
+ # @deprecated
171
+ #
172
+ # Deprecated. Always null. Sender borrowing is gone: a profile no longer points at
173
+ # another profile for its SMS sender, and every profile owns the sender it sends
174
+ # from.
175
+ #
176
+ # Kept on the wire, and never populated, because those are two different promises.
177
+ # Removing the key changes the response's shape — a generated client loses the
178
+ # property and stops compiling on the next regenerate, for a value that is now
179
+ # null for every profile in existence. Keeping it null costs a key and breaks
180
+ # nobody, and null is the honest answer rather than a placeholder: there is no
181
+ # borrowing left to report.
182
+ #
183
+ # Nothing could populate it. Migration 260813161500 dropped the column and copied
184
+ # each borrower its own channel-provider row; its Down() says outright that the
185
+ # borrower-to-lender pairing is not recoverable. The only surviving trace is a
186
+ # notes string on the copied row.
187
+ #
188
+ # @return [String, nil]
189
+ optional :sending_phone_number_profile_id, String, nil?: true
190
+
191
+ # @!attribute sending_whatsapp_number_profile_id
192
+ # @deprecated
193
+ #
194
+ # @return [String, nil]
195
+ optional :sending_whatsapp_number_profile_id, String, nil?: true
196
+
197
+ # @!attribute short_name
198
+ # Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
199
+ # only, with at least one letter.
200
+ #
201
+ # @return [String, nil]
202
+ optional :short_name, String, nil?: true
203
+
204
+ # @!attribute status
205
+ # Profile setup status: incomplete, pending_review, approved, rejected
206
+ #
207
+ # @return [String, nil]
208
+ optional :status, String
209
+
210
+ # @!attribute updated_at
211
+ # When the profile was last updated
212
+ #
213
+ # @return [Time, nil]
214
+ optional :updated_at, Time, nil?: true
215
+
216
+ # @!attribute waba_id
217
+ # WhatsApp Business Account ID associated with this profile. Present whether the
218
+ # WABA is inherited from the organization or configured directly.
219
+ #
220
+ # @return [String, nil]
221
+ optional :waba_id, String, nil?: true
222
+
223
+ # @!attribute whatsapp_phone_number
224
+ # Direct WhatsApp phone number
225
+ #
226
+ # @return [String, nil]
227
+ optional :whatsapp_phone_number, String, nil?: true
228
+
229
+ # @!method initialize(id: nil, allow_contact_sharing: nil, allow_number_change_during_onboarding: nil, allow_template_sharing: nil, billing_contact: nil, billing_model: nil, brand: nil, created_at: nil, description: nil, email: nil, icon: nil, inherit_contacts: nil, inherit_tcr_brand: nil, inherit_tcr_campaign: nil, inherit_templates: nil, name: nil, organization_id: nil, sending_phone_number: nil, sending_phone_number_profile_id: nil, sending_whatsapp_number_profile_id: nil, short_name: nil, status: nil, updated_at: nil, waba_id: nil, whatsapp_phone_number: nil)
230
+ # Some parameter documentations has been truncated, see
231
+ # {Sentdm::Models::ProfileCreateResponse::Data} for more details.
232
+ #
233
+ # Detailed profile response for v3 API
234
+ #
235
+ # @param id [String] Profile unique identifier
236
+ #
237
+ # @param allow_contact_sharing [Boolean, nil] Always false. A profile no longer shares contacts with sibling profiles — it see
238
+ #
239
+ # @param allow_number_change_during_onboarding [Boolean, nil] Whether number changes are allowed during onboarding
240
+ #
241
+ # @param allow_template_sharing [Boolean, nil] Always false. A profile no longer shares templates with sibling profiles. Retain
242
+ #
243
+ # @param billing_contact [Sentdm::Models::ProfileCreateResponse::Data::BillingContact, nil] Billing contact info returned in profile responses
244
+ #
245
+ # @param billing_model [String] Billing model: profile, organization, or profile_and_organization
246
+ #
247
+ # @param brand [Sentdm::Models::ProfileCreateResponse::Data::Brand, nil] Brand response with nested contact, business, and compliance sections — mirrors
248
+ #
249
+ # @param created_at [Time] When the profile was created
250
+ #
251
+ # @param description [String, nil] Profile description
252
+ #
253
+ # @param email [String, nil] Profile email (inherited from organization)
254
+ #
255
+ # @param icon [String, nil] Profile icon URL
256
+ #
257
+ # @param inherit_contacts [Boolean, nil] Always false. A profile no longer inherits its organization's contacts. Retained
258
+ #
259
+ # @param inherit_tcr_brand [Boolean] Whether this profile inherits TCR brand from the organization
260
+ #
261
+ # @param inherit_tcr_campaign [Boolean] Whether this profile inherits TCR campaign from the organization
262
+ #
263
+ # @param inherit_templates [Boolean, nil] Always false. A profile no longer inherits its organization's templates. Retaine
264
+ #
265
+ # @param name [String] Profile name
266
+ #
267
+ # @param organization_id [String, nil] Parent organization ID
268
+ #
269
+ # @param sending_phone_number [String, nil] Direct SMS phone number
270
+ #
271
+ # @param sending_phone_number_profile_id [String, nil] Deprecated. Always null. Sender borrowing is gone: a profile no longer points at
272
+ #
273
+ # @param sending_whatsapp_number_profile_id [String, nil]
274
+ #
275
+ # @param short_name [String, nil] Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces o
276
+ #
277
+ # @param status [String] Profile setup status: incomplete, pending_review, approved, rejected
278
+ #
279
+ # @param updated_at [Time, nil] When the profile was last updated
280
+ #
281
+ # @param waba_id [String, nil] WhatsApp Business Account ID associated with this profile.
282
+ #
283
+ # @param whatsapp_phone_number [String, nil] Direct WhatsApp phone number
284
+
285
+ # @see Sentdm::Models::ProfileCreateResponse::Data#billing_contact
286
+ class BillingContact < Sentdm::Internal::Type::BaseModel
287
+ # @!attribute address
288
+ #
289
+ # @return [String, nil]
290
+ optional :address, String, nil?: true
291
+
292
+ # @!attribute email
293
+ #
294
+ # @return [String, nil]
295
+ optional :email, String, nil?: true
296
+
297
+ # @!attribute name
298
+ #
299
+ # @return [String, nil]
300
+ optional :name, String, nil?: true
301
+
302
+ # @!attribute phone
303
+ #
304
+ # @return [String, nil]
305
+ optional :phone, String, nil?: true
306
+
307
+ # @!method initialize(address: nil, email: nil, name: nil, phone: nil)
308
+ # Billing contact info returned in profile responses
309
+ #
310
+ # @param address [String, nil]
311
+ # @param email [String, nil]
312
+ # @param name [String, nil]
313
+ # @param phone [String, nil]
314
+ end
315
+
316
+ # @see Sentdm::Models::ProfileCreateResponse::Data#brand
317
+ class Brand < Sentdm::Internal::Type::BaseModel
318
+ # @!attribute id
319
+ # Unique identifier for the brand
320
+ #
321
+ # @return [String, nil]
322
+ optional :id, String
323
+
324
+ # @!attribute business
325
+ # Business details and address information
326
+ #
327
+ # @return [Sentdm::Models::ProfileCreateResponse::Data::Brand::Business, nil]
328
+ optional :business, -> { Sentdm::Models::ProfileCreateResponse::Data::Brand::Business }, nil?: true
329
+
330
+ # @!attribute compliance
331
+ # Compliance and TCR-related information
332
+ #
333
+ # @return [Sentdm::Models::ProfileCreateResponse::Data::Brand::Compliance, nil]
334
+ optional :compliance, -> { Sentdm::Models::ProfileCreateResponse::Data::Brand::Compliance }, nil?: true
335
+
336
+ # @!attribute contact
337
+ # Contact information for the brand
338
+ #
339
+ # @return [Sentdm::Models::ProfileCreateResponse::Data::Brand::Contact, nil]
340
+ optional :contact, -> { Sentdm::Models::ProfileCreateResponse::Data::Brand::Contact }, nil?: true
341
+
342
+ # @!attribute created_at
343
+ # When the brand was created
344
+ #
345
+ # @return [Time, nil]
346
+ optional :created_at, Time
347
+
348
+ # @!attribute csp_id
349
+ # @deprecated
350
+ #
351
+ # Deprecated and scheduled for removal. Identifies the Campaign Service Provider
352
+ # that registered the brand, which is Sent, so the value is the same for every
353
+ # brand and every account. Nothing on your side can act on it and there is no
354
+ # replacement. Stop reading it.
355
+ #
356
+ # @return [String, nil]
357
+ optional :csp_id, String, nil?: true
358
+
359
+ # @!attribute identity_status
360
+ #
361
+ # @return [Symbol, Sentdm::Models::ProfileCreateResponse::Data::Brand::IdentityStatus, nil]
362
+ optional :identity_status,
363
+ enum: -> { Sentdm::Models::ProfileCreateResponse::Data::Brand::IdentityStatus },
364
+ nil?: true
365
+
366
+ # @!attribute is_inherited
367
+ # Whether this brand is inherited from the parent organization
368
+ #
369
+ # @return [Boolean, nil]
370
+ optional :is_inherited, Sentdm::Internal::Type::Boolean
371
+
372
+ # @!attribute status
373
+ #
374
+ # @return [Symbol, Sentdm::Models::ProfileCreateResponse::Data::Brand::Status, nil]
375
+ optional :status, enum: -> { Sentdm::Models::ProfileCreateResponse::Data::Brand::Status }, nil?: true
376
+
377
+ # @!attribute submitted_at
378
+ # When the brand was submitted to TCR
379
+ #
380
+ # @return [Time, nil]
381
+ optional :submitted_at, Time, nil?: true
382
+
383
+ # @!attribute submitted_to_tcr
384
+ # Whether this brand has been submitted to TCR
385
+ #
386
+ # @return [Boolean, nil]
387
+ optional :submitted_to_tcr, Sentdm::Internal::Type::Boolean
388
+
389
+ # @!attribute tcr_brand_id
390
+ # TCR brand ID (populated after TCR submission)
391
+ #
392
+ # @return [String, nil]
393
+ optional :tcr_brand_id, String, nil?: true
394
+
395
+ # @!attribute universal_ein
396
+ # Universal EIN from TCR
397
+ #
398
+ # @return [String, nil]
399
+ optional :universal_ein, String, nil?: true
400
+
401
+ # @!attribute updated_at
402
+ # When the brand was last updated
403
+ #
404
+ # @return [Time, nil]
405
+ optional :updated_at, Time, nil?: true
406
+
407
+ # @!method initialize(id: nil, business: nil, compliance: nil, contact: nil, created_at: nil, csp_id: nil, identity_status: nil, is_inherited: nil, status: nil, submitted_at: nil, submitted_to_tcr: nil, tcr_brand_id: nil, universal_ein: nil, updated_at: nil)
408
+ # Some parameter documentations has been truncated, see
409
+ # {Sentdm::Models::ProfileCreateResponse::Data::Brand} for more details.
410
+ #
411
+ # Brand response with nested contact, business, and compliance sections — mirrors
412
+ # the request structure.
413
+ #
414
+ # @param id [String] Unique identifier for the brand
415
+ #
416
+ # @param business [Sentdm::Models::ProfileCreateResponse::Data::Brand::Business, nil] Business details and address information
417
+ #
418
+ # @param compliance [Sentdm::Models::ProfileCreateResponse::Data::Brand::Compliance, nil] Compliance and TCR-related information
419
+ #
420
+ # @param contact [Sentdm::Models::ProfileCreateResponse::Data::Brand::Contact, nil] Contact information for the brand
421
+ #
422
+ # @param created_at [Time] When the brand was created
423
+ #
424
+ # @param csp_id [String, nil] Deprecated and scheduled for removal. Identifies the Campaign Service Provider t
425
+ #
426
+ # @param identity_status [Symbol, Sentdm::Models::ProfileCreateResponse::Data::Brand::IdentityStatus, nil]
427
+ #
428
+ # @param is_inherited [Boolean] Whether this brand is inherited from the parent organization
429
+ #
430
+ # @param status [Symbol, Sentdm::Models::ProfileCreateResponse::Data::Brand::Status, nil]
431
+ #
432
+ # @param submitted_at [Time, nil] When the brand was submitted to TCR
433
+ #
434
+ # @param submitted_to_tcr [Boolean] Whether this brand has been submitted to TCR
435
+ #
436
+ # @param tcr_brand_id [String, nil] TCR brand ID (populated after TCR submission)
437
+ #
438
+ # @param universal_ein [String, nil] Universal EIN from TCR
439
+ #
440
+ # @param updated_at [Time, nil] When the brand was last updated
441
+
442
+ # @see Sentdm::Models::ProfileCreateResponse::Data::Brand#business
443
+ class Business < Sentdm::Internal::Type::BaseModel
444
+ # @!attribute city
445
+ # City
446
+ #
447
+ # @return [String, nil]
448
+ optional :city, String, nil?: true
449
+
450
+ # @!attribute country
451
+ # Country code (e.g., US, CA)
452
+ #
453
+ # @return [String, nil]
454
+ optional :country, String, nil?: true
455
+
456
+ # @!attribute country_of_registration
457
+ # Country where the business is registered
458
+ #
459
+ # @return [String, nil]
460
+ optional :country_of_registration, String, nil?: true
461
+
462
+ # @!attribute entity_type
463
+ # Business entity type
464
+ #
465
+ # @return [String, nil]
466
+ optional :entity_type, String, nil?: true
467
+
468
+ # @!attribute legal_name
469
+ # Legal business name
470
+ #
471
+ # @return [String, nil]
472
+ optional :legal_name, String, nil?: true
473
+
474
+ # @!attribute postal_code
475
+ # Postal/ZIP code
476
+ #
477
+ # @return [String, nil]
478
+ optional :postal_code, String, nil?: true
479
+
480
+ # @!attribute state
481
+ # State/province code
482
+ #
483
+ # @return [String, nil]
484
+ optional :state, String, nil?: true
485
+
486
+ # @!attribute street
487
+ # Street address
488
+ #
489
+ # @return [String, nil]
490
+ optional :street, String, nil?: true
491
+
492
+ # @!attribute tax_id
493
+ # Tax ID/EIN number
494
+ #
495
+ # @return [String, nil]
496
+ optional :tax_id, String, nil?: true
497
+
498
+ # @!attribute tax_id_type
499
+ # Type of tax ID (e.g., us_ein, ca_bn)
500
+ #
501
+ # @return [String, nil]
502
+ optional :tax_id_type, String, nil?: true
503
+
504
+ # @!attribute url
505
+ # Business website URL
506
+ #
507
+ # @return [String, nil]
508
+ optional :url, String, nil?: true
509
+
510
+ # @!method initialize(city: nil, country: nil, country_of_registration: nil, entity_type: nil, legal_name: nil, postal_code: nil, state: nil, street: nil, tax_id: nil, tax_id_type: nil, url: nil)
511
+ # Business details and address information
512
+ #
513
+ # @param city [String, nil] City
514
+ #
515
+ # @param country [String, nil] Country code (e.g., US, CA)
516
+ #
517
+ # @param country_of_registration [String, nil] Country where the business is registered
518
+ #
519
+ # @param entity_type [String, nil] Business entity type
520
+ #
521
+ # @param legal_name [String, nil] Legal business name
522
+ #
523
+ # @param postal_code [String, nil] Postal/ZIP code
524
+ #
525
+ # @param state [String, nil] State/province code
526
+ #
527
+ # @param street [String, nil] Street address
528
+ #
529
+ # @param tax_id [String, nil] Tax ID/EIN number
530
+ #
531
+ # @param tax_id_type [String, nil] Type of tax ID (e.g., us_ein, ca_bn)
532
+ #
533
+ # @param url [String, nil] Business website URL
534
+ end
535
+
536
+ # @see Sentdm::Models::ProfileCreateResponse::Data::Brand#compliance
537
+ class Compliance < Sentdm::Internal::Type::BaseModel
538
+ # @!attribute brand_relationship
539
+ #
540
+ # @return [Symbol, Sentdm::Models::TcrBrandRelationship, nil]
541
+ optional :brand_relationship, enum: -> { Sentdm::TcrBrandRelationship }, nil?: true
542
+
543
+ # @!attribute destination_countries
544
+ # List of destination countries for messaging
545
+ #
546
+ # @return [Array<Sentdm::Models::DestinationCountry>, nil]
547
+ optional :destination_countries, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::DestinationCountry] }
548
+
549
+ # @!attribute is_tcr_application
550
+ # Whether this is a TCR (Campaign Registry) application
551
+ #
552
+ # @return [Boolean, nil]
553
+ optional :is_tcr_application, Sentdm::Internal::Type::Boolean
554
+
555
+ # @!attribute notes
556
+ # Additional notes about the business or use case
557
+ #
558
+ # @return [String, nil]
559
+ optional :notes, String, nil?: true
560
+
561
+ # @!attribute phone_number_prefix
562
+ # Phone number prefix for messaging (e.g., "+1")
563
+ #
564
+ # @return [String, nil]
565
+ optional :phone_number_prefix, String, nil?: true
566
+
567
+ # @!attribute primary_use_case
568
+ # @deprecated
569
+ #
570
+ # Always null. The brand's free-text primary use case is no longer stored: it
571
+ # reached neither TCR nor any decision, and its column is dropped with no
572
+ # backfill, because the values were prose and the typed equivalent is the
573
+ # campaign's MessagingUseCaseUS.
574
+ #
575
+ # Retained so existing v3 clients reading primary_use_case keep deserializing.
576
+ # Unlike the profile sharing flags, which can answer false truthfully, there is no
577
+ # value to report here — the field is present and empty rather than present and
578
+ # wrong.
579
+ #
580
+ # @return [String, nil]
581
+ optional :primary_use_case, String, nil?: true
582
+
583
+ # @!attribute vertical
584
+ #
585
+ # @return [Symbol, Sentdm::Models::TcrVertical, nil]
586
+ optional :vertical, enum: -> { Sentdm::TcrVertical }, nil?: true
587
+
588
+ # @!method initialize(brand_relationship: nil, destination_countries: nil, is_tcr_application: nil, notes: nil, phone_number_prefix: nil, primary_use_case: nil, vertical: nil)
589
+ # Some parameter documentations has been truncated, see
590
+ # {Sentdm::Models::ProfileCreateResponse::Data::Brand::Compliance} for more
591
+ # details.
592
+ #
593
+ # Compliance and TCR-related information
594
+ #
595
+ # @param brand_relationship [Symbol, Sentdm::Models::TcrBrandRelationship, nil]
596
+ #
597
+ # @param destination_countries [Array<Sentdm::Models::DestinationCountry>] List of destination countries for messaging
598
+ #
599
+ # @param is_tcr_application [Boolean] Whether this is a TCR (Campaign Registry) application
600
+ #
601
+ # @param notes [String, nil] Additional notes about the business or use case
602
+ #
603
+ # @param phone_number_prefix [String, nil] Phone number prefix for messaging (e.g., "+1")
604
+ #
605
+ # @param primary_use_case [String, nil] Always null. The brand's free-text primary use case is no longer stored: it reac
606
+ #
607
+ # @param vertical [Symbol, Sentdm::Models::TcrVertical, nil]
608
+ end
609
+
610
+ # @see Sentdm::Models::ProfileCreateResponse::Data::Brand#contact
611
+ class Contact < Sentdm::Internal::Type::BaseModel
612
+ # @!attribute business_name
613
+ # Business/brand name
614
+ #
615
+ # @return [String, nil]
616
+ optional :business_name, String, nil?: true
617
+
618
+ # @!attribute email
619
+ # Contact email address
620
+ #
621
+ # @return [String, nil]
622
+ optional :email, String, nil?: true
623
+
624
+ # @!attribute name
625
+ # Primary contact name
626
+ #
627
+ # @return [String, nil]
628
+ optional :name, String
629
+
630
+ # @!attribute phone
631
+ # Contact phone number in E.164 format
632
+ #
633
+ # @return [String, nil]
634
+ optional :phone, String, nil?: true
635
+
636
+ # @!attribute phone_country_code
637
+ # Contact phone country code (e.g., "1" for US)
638
+ #
639
+ # @return [String, nil]
640
+ optional :phone_country_code, String, nil?: true
641
+
642
+ # @!attribute role
643
+ # Contact's role in the business
644
+ #
645
+ # @return [String, nil]
646
+ optional :role, String, nil?: true
647
+
648
+ # @!method initialize(business_name: nil, email: nil, name: nil, phone: nil, phone_country_code: nil, role: nil)
649
+ # Contact information for the brand
650
+ #
651
+ # @param business_name [String, nil] Business/brand name
652
+ #
653
+ # @param email [String, nil] Contact email address
654
+ #
655
+ # @param name [String] Primary contact name
656
+ #
657
+ # @param phone [String, nil] Contact phone number in E.164 format
658
+ #
659
+ # @param phone_country_code [String, nil] Contact phone country code (e.g., "1" for US)
660
+ #
661
+ # @param role [String, nil] Contact's role in the business
662
+ end
663
+
664
+ # @see Sentdm::Models::ProfileCreateResponse::Data::Brand#identity_status
665
+ module IdentityStatus
666
+ extend Sentdm::Internal::Type::Enum
667
+
668
+ SELF_DECLARED = :SELF_DECLARED
669
+ UNVERIFIED = :UNVERIFIED
670
+ VERIFIED = :VERIFIED
671
+ VETTED_VERIFIED = :VETTED_VERIFIED
672
+
673
+ # @!method self.values
674
+ # @return [Array<Symbol>]
675
+ end
676
+
677
+ # @see Sentdm::Models::ProfileCreateResponse::Data::Brand#status
678
+ module Status
679
+ extend Sentdm::Internal::Type::Enum
680
+
681
+ ACTIVE = :ACTIVE
682
+ INACTIVE = :INACTIVE
683
+ SUSPENDED = :SUSPENDED
684
+
685
+ # @!method self.values
686
+ # @return [Array<Symbol>]
687
+ end
688
+ end
689
+ end
690
+
691
+ # @see Sentdm::Models::ProfileCreateResponse#error
692
+ class Error < Sentdm::Internal::Type::BaseModel
693
+ # @!attribute code
694
+ # Machine-readable error code (e.g., "RESOURCE_001")
695
+ #
696
+ # @return [String, nil]
697
+ optional :code, String
698
+
699
+ # @!attribute details
700
+ # Additional validation error details (field-level errors)
701
+ #
702
+ # @return [Hash{Symbol=>Array<String>}, nil]
703
+ optional :details, Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::ArrayOf[String]], nil?: true
704
+
705
+ # @!attribute doc_url
706
+ # URL to documentation about this error
707
+ #
708
+ # @return [String, nil]
709
+ optional :doc_url, String, nil?: true
710
+
711
+ # @!attribute message
712
+ # Human-readable error message
713
+ #
714
+ # @return [String, nil]
715
+ optional :message, String
716
+
717
+ # @!method initialize(code: nil, details: nil, doc_url: nil, message: nil)
718
+ # Error information
719
+ #
720
+ # @param code [String] Machine-readable error code (e.g., "RESOURCE_001")
721
+ #
722
+ # @param details [Hash{Symbol=>Array<String>}, nil] Additional validation error details (field-level errors)
723
+ #
724
+ # @param doc_url [String, nil] URL to documentation about this error
725
+ #
726
+ # @param message [String] Human-readable error message
727
+ end
728
+
729
+ # @see Sentdm::Models::ProfileCreateResponse#meta
730
+ class Meta < Sentdm::Internal::Type::BaseModel
731
+ # @!attribute request_id
732
+ # Unique identifier for this request (for tracing and support)
733
+ #
734
+ # @return [String, nil]
735
+ optional :request_id, String
736
+
737
+ # @!attribute timestamp
738
+ # Server timestamp when the response was generated
739
+ #
740
+ # @return [Time, nil]
741
+ optional :timestamp, Time
742
+
743
+ # @!attribute version
744
+ # API version used for this request
745
+ #
746
+ # @return [String, nil]
747
+ optional :version, String
748
+
749
+ # @!method initialize(request_id: nil, timestamp: nil, version: nil)
750
+ # Request and response metadata
751
+ #
752
+ # @param request_id [String] Unique identifier for this request (for tracing and support)
753
+ #
754
+ # @param timestamp [Time] Server timestamp when the response was generated
755
+ #
756
+ # @param version [String] API version used for this request
757
+ end
758
+ end
759
+ end
760
+ end