sentdm 0.28.0 → 0.30.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 (276) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +27 -1
  4. data/lib/sentdm/internal/type/base_model.rb +5 -5
  5. data/lib/sentdm/models/api_meta.rb +34 -0
  6. data/lib/sentdm/models/api_response_of_contact.rb +46 -0
  7. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +43 -0
  8. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +43 -0
  9. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  10. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  11. data/lib/sentdm/models/api_response_template.rb +43 -0
  12. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  13. data/lib/sentdm/models/billing_contact_info.rb +47 -0
  14. data/lib/sentdm/models/brand_business_info.rb +114 -0
  15. data/lib/sentdm/models/brand_compliance_info.rb +59 -0
  16. data/lib/sentdm/models/brand_contact_info.rb +58 -0
  17. data/lib/sentdm/models/brands_brand_data.rb +34 -0
  18. data/lib/sentdm/models/contact_delete_params.rb +2 -16
  19. data/lib/sentdm/models/contact_list_response.rb +12 -295
  20. data/lib/sentdm/models/contact_message_summary.rb +76 -0
  21. data/lib/sentdm/models/contact_response.rb +139 -0
  22. data/lib/sentdm/models/conversation_messages_list.rb +245 -0
  23. data/lib/sentdm/models/error_detail.rb +42 -0
  24. data/lib/sentdm/models/inbound_message_event_payload.rb +17 -17
  25. data/lib/sentdm/models/me_retrieve_response.rb +43 -243
  26. data/lib/sentdm/models/message_event_payload.rb +11 -11
  27. data/lib/sentdm/models/message_retrieve_activities_response.rb +9 -159
  28. data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
  29. data/lib/sentdm/models/message_send_response.rb +6 -74
  30. data/lib/sentdm/models/mutation_request.rb +20 -0
  31. data/lib/sentdm/models/number_lookup_response.rb +6 -74
  32. data/lib/sentdm/models/pagination_meta.rb +84 -0
  33. data/lib/sentdm/models/payment_details.rb +40 -0
  34. data/lib/sentdm/models/profile_complete_response.rb +6 -74
  35. data/lib/sentdm/models/profile_create_params.rb +9 -345
  36. data/lib/sentdm/models/profile_delete_params.rb +2 -16
  37. data/lib/sentdm/models/profile_detail.rb +650 -0
  38. data/lib/sentdm/models/profile_list_response.rb +12 -815
  39. data/lib/sentdm/models/profile_settings.rb +85 -0
  40. data/lib/sentdm/models/profile_update_params.rb +9 -345
  41. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +45 -0
  42. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +45 -0
  43. data/lib/sentdm/models/profiles/brand_campaign.rb +247 -0
  44. data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -156
  45. data/lib/sentdm/models/profiles/campaign_data.rb +136 -0
  46. data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
  47. data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -156
  48. data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
  49. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +29 -0
  50. data/lib/sentdm/models/template.rb +102 -0
  51. data/lib/sentdm/models/template_event_payload.rb +18 -18
  52. data/lib/sentdm/models/template_list_response.rb +12 -258
  53. data/lib/sentdm/models/user_list_response.rb +12 -249
  54. data/lib/sentdm/models/user_remove_params.rb +2 -16
  55. data/lib/sentdm/models/user_response.rb +94 -0
  56. data/lib/sentdm/models/webhook_event_type.rb +45 -0
  57. data/lib/sentdm/models/webhook_list_event_types_response.rb +12 -203
  58. data/lib/sentdm/models/webhook_list_events_response.rb +9 -157
  59. data/lib/sentdm/models/webhook_list_response.rb +12 -276
  60. data/lib/sentdm/models/webhook_response.rb +120 -0
  61. data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
  62. data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
  63. data/lib/sentdm/models/webhook_test_response.rb +6 -74
  64. data/lib/sentdm/models.rb +52 -0
  65. data/lib/sentdm/resources/contacts.rb +8 -8
  66. data/lib/sentdm/resources/conversations.rb +4 -4
  67. data/lib/sentdm/resources/me.rb +11 -0
  68. data/lib/sentdm/resources/profiles/campaigns.rb +8 -8
  69. data/lib/sentdm/resources/profiles.rb +12 -12
  70. data/lib/sentdm/resources/templates.rb +6 -6
  71. data/lib/sentdm/resources/users.rb +6 -6
  72. data/lib/sentdm/resources/webhooks.rb +8 -8
  73. data/lib/sentdm/version.rb +1 -1
  74. data/lib/sentdm.rb +32 -22
  75. data/rbi/sentdm/models/api_meta.rbi +55 -0
  76. data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
  77. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
  78. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -0
  79. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  80. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  81. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  82. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  83. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  84. data/rbi/sentdm/models/brand_business_info.rbi +162 -0
  85. data/rbi/sentdm/models/brand_compliance_info.rbi +76 -0
  86. data/rbi/sentdm/models/brand_contact_info.rbi +78 -0
  87. data/rbi/sentdm/models/brands_brand_data.rbi +65 -0
  88. data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
  89. data/rbi/sentdm/models/contact_list_response.rbi +16 -522
  90. data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
  91. data/rbi/sentdm/models/contact_response.rbi +200 -0
  92. data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
  93. data/rbi/sentdm/models/error_detail.rbi +66 -0
  94. data/rbi/sentdm/models/inbound_message_event_payload.rbi +16 -22
  95. data/rbi/sentdm/models/me_retrieve_response.rbi +60 -367
  96. data/rbi/sentdm/models/message_event_payload.rbi +12 -15
  97. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +12 -325
  98. data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
  99. data/rbi/sentdm/models/message_send_response.rbi +8 -135
  100. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  101. data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
  102. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  103. data/rbi/sentdm/models/payment_details.rbi +56 -0
  104. data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
  105. data/rbi/sentdm/models/profile_create_params.rbi +12 -546
  106. data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
  107. data/rbi/sentdm/models/profile_detail.rbi +918 -0
  108. data/rbi/sentdm/models/profile_list_response.rbi +16 -1347
  109. data/rbi/sentdm/models/profile_settings.rbi +102 -0
  110. data/rbi/sentdm/models/profile_update_params.rbi +12 -546
  111. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +81 -0
  112. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +76 -0
  113. data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
  114. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -218
  115. data/rbi/sentdm/models/profiles/campaign_data.rbi +158 -0
  116. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
  117. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -218
  118. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
  119. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +51 -0
  120. data/rbi/sentdm/models/template.rbi +139 -0
  121. data/rbi/sentdm/models/template_event_payload.rbi +21 -27
  122. data/rbi/sentdm/models/template_list_response.rbi +16 -464
  123. data/rbi/sentdm/models/user_list_response.rbi +16 -444
  124. data/rbi/sentdm/models/user_remove_params.rbi +2 -19
  125. data/rbi/sentdm/models/user_response.rbi +131 -0
  126. data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
  127. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +16 -414
  128. data/rbi/sentdm/models/webhook_list_events_response.rbi +12 -314
  129. data/rbi/sentdm/models/webhook_list_response.rbi +16 -475
  130. data/rbi/sentdm/models/webhook_response.rbi +153 -0
  131. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
  132. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
  133. data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
  134. data/rbi/sentdm/models.rbi +54 -0
  135. data/rbi/sentdm/resources/contacts.rbi +4 -4
  136. data/rbi/sentdm/resources/conversations.rbi +2 -2
  137. data/rbi/sentdm/resources/me.rbi +11 -0
  138. data/rbi/sentdm/resources/profiles/campaigns.rbi +5 -5
  139. data/rbi/sentdm/resources/profiles.rbi +9 -13
  140. data/rbi/sentdm/resources/templates.rbi +3 -3
  141. data/rbi/sentdm/resources/users.rbi +3 -3
  142. data/rbi/sentdm/resources/webhooks.rbi +4 -4
  143. data/sig/sentdm/models/api_meta.rbs +27 -0
  144. data/sig/sentdm/models/api_response_of_contact.rbs +39 -0
  145. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +39 -0
  146. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +39 -0
  147. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  148. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  149. data/sig/sentdm/models/api_response_template.rbs +39 -0
  150. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  151. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  152. data/sig/sentdm/models/brand_business_info.rbs +89 -0
  153. data/sig/sentdm/models/brand_compliance_info.rbs +45 -0
  154. data/sig/sentdm/models/brand_contact_info.rbs +45 -0
  155. data/sig/sentdm/models/brands_brand_data.rbs +30 -0
  156. data/sig/sentdm/models/contact_delete_params.rbs +6 -10
  157. data/sig/sentdm/models/contact_list_response.rbs +20 -263
  158. data/sig/sentdm/models/contact_message_summary.rbs +84 -0
  159. data/sig/sentdm/models/contact_response.rbs +118 -0
  160. data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
  161. data/sig/sentdm/models/error_detail.rbs +39 -0
  162. data/sig/sentdm/models/inbound_message_event_payload.rbs +10 -14
  163. data/sig/sentdm/models/me_retrieve_response.rbs +28 -176
  164. data/sig/sentdm/models/message_event_payload.rbs +5 -7
  165. data/sig/sentdm/models/message_retrieve_activities_response.rbs +14 -142
  166. data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
  167. data/sig/sentdm/models/message_send_response.rbs +9 -71
  168. data/sig/sentdm/models/mutation_request.rbs +15 -0
  169. data/sig/sentdm/models/number_lookup_response.rbs +9 -71
  170. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  171. data/sig/sentdm/models/payment_details.rbs +30 -0
  172. data/sig/sentdm/models/profile_complete_response.rbs +9 -71
  173. data/sig/sentdm/models/profile_create_params.rbs +12 -263
  174. data/sig/sentdm/models/profile_delete_params.rbs +6 -10
  175. data/sig/sentdm/models/profile_detail.rbs +461 -0
  176. data/sig/sentdm/models/profile_list_response.rbs +20 -606
  177. data/sig/sentdm/models/profile_settings.rbs +50 -0
  178. data/sig/sentdm/models/profile_update_params.rbs +12 -263
  179. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +41 -0
  180. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +41 -0
  181. data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
  182. data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -108
  183. data/sig/sentdm/models/profiles/campaign_data.rbs +87 -0
  184. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
  185. data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -108
  186. data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
  187. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +27 -0
  188. data/sig/sentdm/models/template.rbs +84 -0
  189. data/sig/sentdm/models/template_event_payload.rbs +13 -17
  190. data/sig/sentdm/models/template_list_response.rbs +19 -230
  191. data/sig/sentdm/models/user_list_response.rbs +20 -224
  192. data/sig/sentdm/models/user_remove_params.rbs +6 -10
  193. data/sig/sentdm/models/user_response.rbs +79 -0
  194. data/sig/sentdm/models/webhook_event_type.rbs +51 -0
  195. data/sig/sentdm/models/webhook_list_event_types_response.rbs +20 -196
  196. data/sig/sentdm/models/webhook_list_events_response.rbs +14 -142
  197. data/sig/sentdm/models/webhook_list_response.rbs +20 -255
  198. data/sig/sentdm/models/webhook_response.rbs +110 -0
  199. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
  200. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
  201. data/sig/sentdm/models/webhook_test_response.rbs +9 -71
  202. data/sig/sentdm/models.rbs +52 -0
  203. data/sig/sentdm/resources/contacts.rbs +4 -4
  204. data/sig/sentdm/resources/conversations.rbs +2 -2
  205. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  206. data/sig/sentdm/resources/profiles.rbs +9 -9
  207. data/sig/sentdm/resources/templates.rbs +3 -3
  208. data/sig/sentdm/resources/users.rbs +3 -3
  209. data/sig/sentdm/resources/webhooks.rbs +4 -4
  210. metadata +98 -68
  211. data/lib/sentdm/models/contact_create_response.rb +0 -249
  212. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +0 -186
  213. data/lib/sentdm/models/contact_retrieve_response.rb +0 -249
  214. data/lib/sentdm/models/contact_update_response.rb +0 -249
  215. data/lib/sentdm/models/conversation_list_messages_response.rb +0 -436
  216. data/lib/sentdm/models/conversation_list_response.rb +0 -433
  217. data/lib/sentdm/models/profile_create_response.rb +0 -760
  218. data/lib/sentdm/models/profile_retrieve_response.rb +0 -762
  219. data/lib/sentdm/models/profile_update_response.rb +0 -760
  220. data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -420
  221. data/lib/sentdm/models/profiles/campaign_list_response.rb +0 -421
  222. data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -420
  223. data/lib/sentdm/models/template_create_response.rb +0 -209
  224. data/lib/sentdm/models/template_retrieve_response.rb +0 -209
  225. data/lib/sentdm/models/template_update_response.rb +0 -209
  226. data/lib/sentdm/models/user_invite_response.rb +0 -201
  227. data/lib/sentdm/models/user_retrieve_response.rb +0 -201
  228. data/lib/sentdm/models/user_update_role_response.rb +0 -201
  229. data/lib/sentdm/models/webhook_create_response.rb +0 -229
  230. data/lib/sentdm/models/webhook_retrieve_response.rb +0 -229
  231. data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -229
  232. data/lib/sentdm/models/webhook_update_response.rb +0 -229
  233. data/rbi/sentdm/models/contact_create_response.rbi +0 -407
  234. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +0 -397
  235. data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -409
  236. data/rbi/sentdm/models/contact_update_response.rbi +0 -407
  237. data/rbi/sentdm/models/conversation_list_messages_response.rbi +0 -843
  238. data/rbi/sentdm/models/conversation_list_response.rbi +0 -819
  239. data/rbi/sentdm/models/profile_create_response.rbi +0 -1226
  240. data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1230
  241. data/rbi/sentdm/models/profile_update_response.rbi +0 -1226
  242. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -674
  243. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +0 -667
  244. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -674
  245. data/rbi/sentdm/models/template_create_response.rbi +0 -349
  246. data/rbi/sentdm/models/template_retrieve_response.rbi +0 -355
  247. data/rbi/sentdm/models/template_update_response.rbi +0 -349
  248. data/rbi/sentdm/models/user_invite_response.rbi +0 -336
  249. data/rbi/sentdm/models/user_retrieve_response.rbi +0 -336
  250. data/rbi/sentdm/models/user_update_role_response.rbi +0 -341
  251. data/rbi/sentdm/models/webhook_create_response.rbi +0 -361
  252. data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -363
  253. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -379
  254. data/rbi/sentdm/models/webhook_update_response.rbi +0 -361
  255. data/sig/sentdm/models/contact_create_response.rbs +0 -216
  256. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +0 -182
  257. data/sig/sentdm/models/contact_retrieve_response.rbs +0 -216
  258. data/sig/sentdm/models/contact_update_response.rbs +0 -216
  259. data/sig/sentdm/models/conversation_list_messages_response.rbs +0 -404
  260. data/sig/sentdm/models/conversation_list_response.rbs +0 -404
  261. data/sig/sentdm/models/profile_create_response.rbs +0 -559
  262. data/sig/sentdm/models/profile_retrieve_response.rbs +0 -559
  263. data/sig/sentdm/models/profile_update_response.rbs +0 -559
  264. data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -357
  265. data/sig/sentdm/models/profiles/campaign_list_response.rbs +0 -357
  266. data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -357
  267. data/sig/sentdm/models/template_create_response.rbs +0 -182
  268. data/sig/sentdm/models/template_retrieve_response.rbs +0 -182
  269. data/sig/sentdm/models/template_update_response.rbs +0 -182
  270. data/sig/sentdm/models/user_invite_response.rbs +0 -177
  271. data/sig/sentdm/models/user_retrieve_response.rbs +0 -177
  272. data/sig/sentdm/models/user_update_role_response.rbs +0 -177
  273. data/sig/sentdm/models/webhook_create_response.rbs +0 -208
  274. data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -208
  275. data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -208
  276. data/sig/sentdm/models/webhook_update_response.rbs +0 -208
@@ -1,1230 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class ProfileRetrieveResponse < Sentdm::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(
9
- Sentdm::Models::ProfileRetrieveResponse,
10
- Sentdm::Internal::AnyHash
11
- )
12
- end
13
-
14
- # Detailed profile response for v3 API
15
- sig { returns(T.nilable(Sentdm::Models::ProfileRetrieveResponse::Data)) }
16
- attr_reader :data
17
-
18
- sig do
19
- params(
20
- data: T.nilable(Sentdm::Models::ProfileRetrieveResponse::Data::OrHash)
21
- ).void
22
- end
23
- attr_writer :data
24
-
25
- # Error information
26
- sig { returns(T.nilable(Sentdm::Models::ProfileRetrieveResponse::Error)) }
27
- attr_reader :error
28
-
29
- sig do
30
- params(
31
- error:
32
- T.nilable(Sentdm::Models::ProfileRetrieveResponse::Error::OrHash)
33
- ).void
34
- end
35
- attr_writer :error
36
-
37
- # Request and response metadata
38
- sig { returns(T.nilable(Sentdm::Models::ProfileRetrieveResponse::Meta)) }
39
- attr_reader :meta
40
-
41
- sig do
42
- params(meta: Sentdm::Models::ProfileRetrieveResponse::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::ProfileRetrieveResponse::Data::OrHash),
58
- error:
59
- T.nilable(Sentdm::Models::ProfileRetrieveResponse::Error::OrHash),
60
- meta: Sentdm::Models::ProfileRetrieveResponse::Meta::OrHash,
61
- success: T::Boolean
62
- ).returns(T.attached_class)
63
- end
64
- def self.new(
65
- # Detailed profile response for v3 API
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::ProfileRetrieveResponse::Data),
80
- error: T.nilable(Sentdm::Models::ProfileRetrieveResponse::Error),
81
- meta: Sentdm::Models::ProfileRetrieveResponse::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::ProfileRetrieveResponse::Data,
94
- Sentdm::Internal::AnyHash
95
- )
96
- end
97
-
98
- # Profile unique identifier
99
- sig { returns(T.nilable(String)) }
100
- attr_reader :id
101
-
102
- sig { params(id: String).void }
103
- attr_writer :id
104
-
105
- # Always false. A profile no longer shares contacts with sibling profiles — it
106
- # sees only what it owns. Retained so existing v3 clients reading
107
- # allow_contact_sharing keep deserializing; it carries no information.
108
- sig { returns(T.nilable(T::Boolean)) }
109
- attr_accessor :allow_contact_sharing
110
-
111
- # Whether number changes are allowed during onboarding
112
- sig { returns(T.nilable(T::Boolean)) }
113
- attr_accessor :allow_number_change_during_onboarding
114
-
115
- # Always false. A profile no longer shares templates with sibling profiles.
116
- # Retained so existing v3 clients reading allow_template_sharing keep
117
- # deserializing; it carries no information.
118
- sig { returns(T.nilable(T::Boolean)) }
119
- attr_accessor :allow_template_sharing
120
-
121
- # Billing contact info returned in profile responses
122
- sig do
123
- returns(
124
- T.nilable(
125
- Sentdm::Models::ProfileRetrieveResponse::Data::BillingContact
126
- )
127
- )
128
- end
129
- attr_reader :billing_contact
130
-
131
- sig do
132
- params(
133
- billing_contact:
134
- T.nilable(
135
- Sentdm::Models::ProfileRetrieveResponse::Data::BillingContact::OrHash
136
- )
137
- ).void
138
- end
139
- attr_writer :billing_contact
140
-
141
- # Billing model: profile, organization, or profile_and_organization
142
- sig { returns(T.nilable(String)) }
143
- attr_reader :billing_model
144
-
145
- sig { params(billing_model: String).void }
146
- attr_writer :billing_model
147
-
148
- # Brand response with nested contact, business, and compliance sections — mirrors
149
- # the request structure.
150
- sig do
151
- returns(
152
- T.nilable(Sentdm::Models::ProfileRetrieveResponse::Data::Brand)
153
- )
154
- end
155
- attr_reader :brand
156
-
157
- sig do
158
- params(
159
- brand:
160
- T.nilable(
161
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::OrHash
162
- )
163
- ).void
164
- end
165
- attr_writer :brand
166
-
167
- # When the profile was created
168
- sig { returns(T.nilable(Time)) }
169
- attr_reader :created_at
170
-
171
- sig { params(created_at: Time).void }
172
- attr_writer :created_at
173
-
174
- # Profile description
175
- sig { returns(T.nilable(String)) }
176
- attr_accessor :description
177
-
178
- # Profile email (inherited from organization)
179
- sig { returns(T.nilable(String)) }
180
- attr_accessor :email
181
-
182
- # Profile icon URL
183
- sig { returns(T.nilable(String)) }
184
- attr_accessor :icon
185
-
186
- # Always false. A profile no longer inherits its organization's contacts. Retained
187
- # so existing v3 clients reading inherit_contacts keep deserializing; it carries
188
- # no information.
189
- sig { returns(T.nilable(T::Boolean)) }
190
- attr_accessor :inherit_contacts
191
-
192
- # Whether this profile inherits TCR brand from the organization
193
- sig { returns(T.nilable(T::Boolean)) }
194
- attr_reader :inherit_tcr_brand
195
-
196
- sig { params(inherit_tcr_brand: T::Boolean).void }
197
- attr_writer :inherit_tcr_brand
198
-
199
- # Whether this profile inherits TCR campaign from the organization
200
- sig { returns(T.nilable(T::Boolean)) }
201
- attr_reader :inherit_tcr_campaign
202
-
203
- sig { params(inherit_tcr_campaign: T::Boolean).void }
204
- attr_writer :inherit_tcr_campaign
205
-
206
- # Always false. A profile no longer inherits its organization's templates.
207
- # Retained so existing v3 clients reading inherit_templates keep deserializing; it
208
- # carries no information.
209
- sig { returns(T.nilable(T::Boolean)) }
210
- attr_accessor :inherit_templates
211
-
212
- # Profile name
213
- sig { returns(T.nilable(String)) }
214
- attr_reader :name
215
-
216
- sig { params(name: String).void }
217
- attr_writer :name
218
-
219
- # Parent organization ID
220
- sig { returns(T.nilable(String)) }
221
- attr_accessor :organization_id
222
-
223
- # Direct SMS phone number
224
- sig { returns(T.nilable(String)) }
225
- attr_accessor :sending_phone_number
226
-
227
- # Deprecated. Always null. Sender borrowing is gone: a profile no longer points at
228
- # another profile for its SMS sender, and every profile owns the sender it sends
229
- # from.
230
- #
231
- # Kept on the wire, and never populated, because those are two different promises.
232
- # Removing the key changes the response's shape — a generated client loses the
233
- # property and stops compiling on the next regenerate, for a value that is now
234
- # null for every profile in existence. Keeping it null costs a key and breaks
235
- # nobody, and null is the honest answer rather than a placeholder: there is no
236
- # borrowing left to report.
237
- #
238
- # Nothing could populate it. Migration 260813161500 dropped the column and copied
239
- # each borrower its own channel-provider row; its Down() says outright that the
240
- # borrower-to-lender pairing is not recoverable. The only surviving trace is a
241
- # notes string on the copied row.
242
- sig { returns(T.nilable(String)) }
243
- attr_accessor :sending_phone_number_profile_id
244
-
245
- sig { returns(T.nilable(String)) }
246
- attr_accessor :sending_whatsapp_number_profile_id
247
-
248
- # Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
249
- # only, with at least one letter.
250
- sig { returns(T.nilable(String)) }
251
- attr_accessor :short_name
252
-
253
- # Profile setup status: incomplete, pending_review, approved, rejected
254
- sig { returns(T.nilable(String)) }
255
- attr_reader :status
256
-
257
- sig { params(status: String).void }
258
- attr_writer :status
259
-
260
- # When the profile was last updated
261
- sig { returns(T.nilable(Time)) }
262
- attr_accessor :updated_at
263
-
264
- # WhatsApp Business Account ID associated with this profile. Present whether the
265
- # WABA is inherited from the organization or configured directly.
266
- sig { returns(T.nilable(String)) }
267
- attr_accessor :waba_id
268
-
269
- # Direct WhatsApp phone number
270
- sig { returns(T.nilable(String)) }
271
- attr_accessor :whatsapp_phone_number
272
-
273
- # Detailed profile response for v3 API
274
- sig do
275
- params(
276
- id: String,
277
- allow_contact_sharing: T.nilable(T::Boolean),
278
- allow_number_change_during_onboarding: T.nilable(T::Boolean),
279
- allow_template_sharing: T.nilable(T::Boolean),
280
- billing_contact:
281
- T.nilable(
282
- Sentdm::Models::ProfileRetrieveResponse::Data::BillingContact::OrHash
283
- ),
284
- billing_model: String,
285
- brand:
286
- T.nilable(
287
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::OrHash
288
- ),
289
- created_at: Time,
290
- description: T.nilable(String),
291
- email: T.nilable(String),
292
- icon: T.nilable(String),
293
- inherit_contacts: T.nilable(T::Boolean),
294
- inherit_tcr_brand: T::Boolean,
295
- inherit_tcr_campaign: T::Boolean,
296
- inherit_templates: T.nilable(T::Boolean),
297
- name: String,
298
- organization_id: T.nilable(String),
299
- sending_phone_number: T.nilable(String),
300
- sending_phone_number_profile_id: T.nilable(String),
301
- sending_whatsapp_number_profile_id: T.nilable(String),
302
- short_name: T.nilable(String),
303
- status: String,
304
- updated_at: T.nilable(Time),
305
- waba_id: T.nilable(String),
306
- whatsapp_phone_number: T.nilable(String)
307
- ).returns(T.attached_class)
308
- end
309
- def self.new(
310
- # Profile unique identifier
311
- id: nil,
312
- # Always false. A profile no longer shares contacts with sibling profiles — it
313
- # sees only what it owns. Retained so existing v3 clients reading
314
- # allow_contact_sharing keep deserializing; it carries no information.
315
- allow_contact_sharing: nil,
316
- # Whether number changes are allowed during onboarding
317
- allow_number_change_during_onboarding: nil,
318
- # Always false. A profile no longer shares templates with sibling profiles.
319
- # Retained so existing v3 clients reading allow_template_sharing keep
320
- # deserializing; it carries no information.
321
- allow_template_sharing: nil,
322
- # Billing contact info returned in profile responses
323
- billing_contact: nil,
324
- # Billing model: profile, organization, or profile_and_organization
325
- billing_model: nil,
326
- # Brand response with nested contact, business, and compliance sections — mirrors
327
- # the request structure.
328
- brand: nil,
329
- # When the profile was created
330
- created_at: nil,
331
- # Profile description
332
- description: nil,
333
- # Profile email (inherited from organization)
334
- email: nil,
335
- # Profile icon URL
336
- icon: nil,
337
- # Always false. A profile no longer inherits its organization's contacts. Retained
338
- # so existing v3 clients reading inherit_contacts keep deserializing; it carries
339
- # no information.
340
- inherit_contacts: nil,
341
- # Whether this profile inherits TCR brand from the organization
342
- inherit_tcr_brand: nil,
343
- # Whether this profile inherits TCR campaign from the organization
344
- inherit_tcr_campaign: nil,
345
- # Always false. A profile no longer inherits its organization's templates.
346
- # Retained so existing v3 clients reading inherit_templates keep deserializing; it
347
- # carries no information.
348
- inherit_templates: nil,
349
- # Profile name
350
- name: nil,
351
- # Parent organization ID
352
- organization_id: nil,
353
- # Direct SMS phone number
354
- sending_phone_number: nil,
355
- # Deprecated. Always null. Sender borrowing is gone: a profile no longer points at
356
- # another profile for its SMS sender, and every profile owns the sender it sends
357
- # from.
358
- #
359
- # Kept on the wire, and never populated, because those are two different promises.
360
- # Removing the key changes the response's shape — a generated client loses the
361
- # property and stops compiling on the next regenerate, for a value that is now
362
- # null for every profile in existence. Keeping it null costs a key and breaks
363
- # nobody, and null is the honest answer rather than a placeholder: there is no
364
- # borrowing left to report.
365
- #
366
- # Nothing could populate it. Migration 260813161500 dropped the column and copied
367
- # each borrower its own channel-provider row; its Down() says outright that the
368
- # borrower-to-lender pairing is not recoverable. The only surviving trace is a
369
- # notes string on the copied row.
370
- sending_phone_number_profile_id: nil,
371
- sending_whatsapp_number_profile_id: nil,
372
- # Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
373
- # only, with at least one letter.
374
- short_name: nil,
375
- # Profile setup status: incomplete, pending_review, approved, rejected
376
- status: nil,
377
- # When the profile was last updated
378
- updated_at: nil,
379
- # WhatsApp Business Account ID associated with this profile. Present whether the
380
- # WABA is inherited from the organization or configured directly.
381
- waba_id: nil,
382
- # Direct WhatsApp phone number
383
- whatsapp_phone_number: nil
384
- )
385
- end
386
-
387
- sig do
388
- override.returns(
389
- {
390
- id: String,
391
- allow_contact_sharing: T.nilable(T::Boolean),
392
- allow_number_change_during_onboarding: T.nilable(T::Boolean),
393
- allow_template_sharing: T.nilable(T::Boolean),
394
- billing_contact:
395
- T.nilable(
396
- Sentdm::Models::ProfileRetrieveResponse::Data::BillingContact
397
- ),
398
- billing_model: String,
399
- brand:
400
- T.nilable(Sentdm::Models::ProfileRetrieveResponse::Data::Brand),
401
- created_at: Time,
402
- description: T.nilable(String),
403
- email: T.nilable(String),
404
- icon: T.nilable(String),
405
- inherit_contacts: T.nilable(T::Boolean),
406
- inherit_tcr_brand: T::Boolean,
407
- inherit_tcr_campaign: T::Boolean,
408
- inherit_templates: T.nilable(T::Boolean),
409
- name: String,
410
- organization_id: T.nilable(String),
411
- sending_phone_number: T.nilable(String),
412
- sending_phone_number_profile_id: T.nilable(String),
413
- sending_whatsapp_number_profile_id: T.nilable(String),
414
- short_name: T.nilable(String),
415
- status: String,
416
- updated_at: T.nilable(Time),
417
- waba_id: T.nilable(String),
418
- whatsapp_phone_number: T.nilable(String)
419
- }
420
- )
421
- end
422
- def to_hash
423
- end
424
-
425
- class BillingContact < Sentdm::Internal::Type::BaseModel
426
- OrHash =
427
- T.type_alias do
428
- T.any(
429
- Sentdm::Models::ProfileRetrieveResponse::Data::BillingContact,
430
- Sentdm::Internal::AnyHash
431
- )
432
- end
433
-
434
- sig { returns(T.nilable(String)) }
435
- attr_accessor :address
436
-
437
- sig { returns(T.nilable(String)) }
438
- attr_accessor :email
439
-
440
- sig { returns(T.nilable(String)) }
441
- attr_accessor :name
442
-
443
- sig { returns(T.nilable(String)) }
444
- attr_accessor :phone
445
-
446
- # Billing contact info returned in profile responses
447
- sig do
448
- params(
449
- address: T.nilable(String),
450
- email: T.nilable(String),
451
- name: T.nilable(String),
452
- phone: T.nilable(String)
453
- ).returns(T.attached_class)
454
- end
455
- def self.new(address: nil, email: nil, name: nil, phone: nil)
456
- end
457
-
458
- sig do
459
- override.returns(
460
- {
461
- address: T.nilable(String),
462
- email: T.nilable(String),
463
- name: T.nilable(String),
464
- phone: T.nilable(String)
465
- }
466
- )
467
- end
468
- def to_hash
469
- end
470
- end
471
-
472
- class Brand < Sentdm::Internal::Type::BaseModel
473
- OrHash =
474
- T.type_alias do
475
- T.any(
476
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand,
477
- Sentdm::Internal::AnyHash
478
- )
479
- end
480
-
481
- # Unique identifier for the brand
482
- sig { returns(T.nilable(String)) }
483
- attr_reader :id
484
-
485
- sig { params(id: String).void }
486
- attr_writer :id
487
-
488
- # Business details and address information
489
- sig do
490
- returns(
491
- T.nilable(
492
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Business
493
- )
494
- )
495
- end
496
- attr_reader :business
497
-
498
- sig do
499
- params(
500
- business:
501
- T.nilable(
502
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Business::OrHash
503
- )
504
- ).void
505
- end
506
- attr_writer :business
507
-
508
- # Compliance and TCR-related information
509
- sig do
510
- returns(
511
- T.nilable(
512
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Compliance
513
- )
514
- )
515
- end
516
- attr_reader :compliance
517
-
518
- sig do
519
- params(
520
- compliance:
521
- T.nilable(
522
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Compliance::OrHash
523
- )
524
- ).void
525
- end
526
- attr_writer :compliance
527
-
528
- # Contact information for the brand
529
- sig do
530
- returns(
531
- T.nilable(
532
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Contact
533
- )
534
- )
535
- end
536
- attr_reader :contact
537
-
538
- sig do
539
- params(
540
- contact:
541
- T.nilable(
542
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Contact::OrHash
543
- )
544
- ).void
545
- end
546
- attr_writer :contact
547
-
548
- # When the brand was created
549
- sig { returns(T.nilable(Time)) }
550
- attr_reader :created_at
551
-
552
- sig { params(created_at: Time).void }
553
- attr_writer :created_at
554
-
555
- # Deprecated and scheduled for removal. Identifies the Campaign Service Provider
556
- # that registered the brand, which is Sent, so the value is the same for every
557
- # brand and every account. Nothing on your side can act on it and there is no
558
- # replacement. Stop reading it.
559
- sig { returns(T.nilable(String)) }
560
- attr_accessor :csp_id
561
-
562
- sig do
563
- returns(
564
- T.nilable(
565
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::IdentityStatus::TaggedSymbol
566
- )
567
- )
568
- end
569
- attr_accessor :identity_status
570
-
571
- # Whether this brand is inherited from the parent organization
572
- sig { returns(T.nilable(T::Boolean)) }
573
- attr_reader :is_inherited
574
-
575
- sig { params(is_inherited: T::Boolean).void }
576
- attr_writer :is_inherited
577
-
578
- sig do
579
- returns(
580
- T.nilable(
581
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Status::TaggedSymbol
582
- )
583
- )
584
- end
585
- attr_accessor :status
586
-
587
- # When the brand was submitted to TCR
588
- sig { returns(T.nilable(Time)) }
589
- attr_accessor :submitted_at
590
-
591
- # Whether this brand has been submitted to TCR
592
- sig { returns(T.nilable(T::Boolean)) }
593
- attr_reader :submitted_to_tcr
594
-
595
- sig { params(submitted_to_tcr: T::Boolean).void }
596
- attr_writer :submitted_to_tcr
597
-
598
- # TCR brand ID (populated after TCR submission)
599
- sig { returns(T.nilable(String)) }
600
- attr_accessor :tcr_brand_id
601
-
602
- # Universal EIN from TCR
603
- sig { returns(T.nilable(String)) }
604
- attr_accessor :universal_ein
605
-
606
- # When the brand was last updated
607
- sig { returns(T.nilable(Time)) }
608
- attr_accessor :updated_at
609
-
610
- # Brand response with nested contact, business, and compliance sections — mirrors
611
- # the request structure.
612
- sig do
613
- params(
614
- id: String,
615
- business:
616
- T.nilable(
617
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Business::OrHash
618
- ),
619
- compliance:
620
- T.nilable(
621
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Compliance::OrHash
622
- ),
623
- contact:
624
- T.nilable(
625
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Contact::OrHash
626
- ),
627
- created_at: Time,
628
- csp_id: T.nilable(String),
629
- identity_status:
630
- T.nilable(
631
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::IdentityStatus::OrSymbol
632
- ),
633
- is_inherited: T::Boolean,
634
- status:
635
- T.nilable(
636
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Status::OrSymbol
637
- ),
638
- submitted_at: T.nilable(Time),
639
- submitted_to_tcr: T::Boolean,
640
- tcr_brand_id: T.nilable(String),
641
- universal_ein: T.nilable(String),
642
- updated_at: T.nilable(Time)
643
- ).returns(T.attached_class)
644
- end
645
- def self.new(
646
- # Unique identifier for the brand
647
- id: nil,
648
- # Business details and address information
649
- business: nil,
650
- # Compliance and TCR-related information
651
- compliance: nil,
652
- # Contact information for the brand
653
- contact: nil,
654
- # When the brand was created
655
- created_at: nil,
656
- # Deprecated and scheduled for removal. Identifies the Campaign Service Provider
657
- # that registered the brand, which is Sent, so the value is the same for every
658
- # brand and every account. Nothing on your side can act on it and there is no
659
- # replacement. Stop reading it.
660
- csp_id: nil,
661
- identity_status: nil,
662
- # Whether this brand is inherited from the parent organization
663
- is_inherited: nil,
664
- status: nil,
665
- # When the brand was submitted to TCR
666
- submitted_at: nil,
667
- # Whether this brand has been submitted to TCR
668
- submitted_to_tcr: nil,
669
- # TCR brand ID (populated after TCR submission)
670
- tcr_brand_id: nil,
671
- # Universal EIN from TCR
672
- universal_ein: nil,
673
- # When the brand was last updated
674
- updated_at: nil
675
- )
676
- end
677
-
678
- sig do
679
- override.returns(
680
- {
681
- id: String,
682
- business:
683
- T.nilable(
684
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Business
685
- ),
686
- compliance:
687
- T.nilable(
688
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Compliance
689
- ),
690
- contact:
691
- T.nilable(
692
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Contact
693
- ),
694
- created_at: Time,
695
- csp_id: T.nilable(String),
696
- identity_status:
697
- T.nilable(
698
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::IdentityStatus::TaggedSymbol
699
- ),
700
- is_inherited: T::Boolean,
701
- status:
702
- T.nilable(
703
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Status::TaggedSymbol
704
- ),
705
- submitted_at: T.nilable(Time),
706
- submitted_to_tcr: T::Boolean,
707
- tcr_brand_id: T.nilable(String),
708
- universal_ein: T.nilable(String),
709
- updated_at: T.nilable(Time)
710
- }
711
- )
712
- end
713
- def to_hash
714
- end
715
-
716
- class Business < Sentdm::Internal::Type::BaseModel
717
- OrHash =
718
- T.type_alias do
719
- T.any(
720
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Business,
721
- Sentdm::Internal::AnyHash
722
- )
723
- end
724
-
725
- # City
726
- sig { returns(T.nilable(String)) }
727
- attr_accessor :city
728
-
729
- # Country code (e.g., US, CA)
730
- sig { returns(T.nilable(String)) }
731
- attr_accessor :country
732
-
733
- # Country where the business is registered
734
- sig { returns(T.nilable(String)) }
735
- attr_accessor :country_of_registration
736
-
737
- # Business entity type
738
- sig { returns(T.nilable(String)) }
739
- attr_accessor :entity_type
740
-
741
- # Legal business name
742
- sig { returns(T.nilable(String)) }
743
- attr_accessor :legal_name
744
-
745
- # Postal/ZIP code
746
- sig { returns(T.nilable(String)) }
747
- attr_accessor :postal_code
748
-
749
- # State/province code
750
- sig { returns(T.nilable(String)) }
751
- attr_accessor :state
752
-
753
- # Street address
754
- sig { returns(T.nilable(String)) }
755
- attr_accessor :street
756
-
757
- # Tax ID/EIN number
758
- sig { returns(T.nilable(String)) }
759
- attr_accessor :tax_id
760
-
761
- # Type of tax ID (e.g., us_ein, ca_bn)
762
- sig { returns(T.nilable(String)) }
763
- attr_accessor :tax_id_type
764
-
765
- # Business website URL
766
- sig { returns(T.nilable(String)) }
767
- attr_accessor :url
768
-
769
- # Business details and address information
770
- sig do
771
- params(
772
- city: T.nilable(String),
773
- country: T.nilable(String),
774
- country_of_registration: T.nilable(String),
775
- entity_type: T.nilable(String),
776
- legal_name: T.nilable(String),
777
- postal_code: T.nilable(String),
778
- state: T.nilable(String),
779
- street: T.nilable(String),
780
- tax_id: T.nilable(String),
781
- tax_id_type: T.nilable(String),
782
- url: T.nilable(String)
783
- ).returns(T.attached_class)
784
- end
785
- def self.new(
786
- # City
787
- city: nil,
788
- # Country code (e.g., US, CA)
789
- country: nil,
790
- # Country where the business is registered
791
- country_of_registration: nil,
792
- # Business entity type
793
- entity_type: nil,
794
- # Legal business name
795
- legal_name: nil,
796
- # Postal/ZIP code
797
- postal_code: nil,
798
- # State/province code
799
- state: nil,
800
- # Street address
801
- street: nil,
802
- # Tax ID/EIN number
803
- tax_id: nil,
804
- # Type of tax ID (e.g., us_ein, ca_bn)
805
- tax_id_type: nil,
806
- # Business website URL
807
- url: nil
808
- )
809
- end
810
-
811
- sig do
812
- override.returns(
813
- {
814
- city: T.nilable(String),
815
- country: T.nilable(String),
816
- country_of_registration: T.nilable(String),
817
- entity_type: T.nilable(String),
818
- legal_name: T.nilable(String),
819
- postal_code: T.nilable(String),
820
- state: T.nilable(String),
821
- street: T.nilable(String),
822
- tax_id: T.nilable(String),
823
- tax_id_type: T.nilable(String),
824
- url: T.nilable(String)
825
- }
826
- )
827
- end
828
- def to_hash
829
- end
830
- end
831
-
832
- class Compliance < Sentdm::Internal::Type::BaseModel
833
- OrHash =
834
- T.type_alias do
835
- T.any(
836
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Compliance,
837
- Sentdm::Internal::AnyHash
838
- )
839
- end
840
-
841
- sig do
842
- returns(T.nilable(Sentdm::TcrBrandRelationship::TaggedSymbol))
843
- end
844
- attr_accessor :brand_relationship
845
-
846
- # List of destination countries for messaging
847
- sig { returns(T.nilable(T::Array[Sentdm::DestinationCountry])) }
848
- attr_reader :destination_countries
849
-
850
- sig do
851
- params(
852
- destination_countries:
853
- T::Array[Sentdm::DestinationCountry::OrHash]
854
- ).void
855
- end
856
- attr_writer :destination_countries
857
-
858
- # Whether this is a TCR (Campaign Registry) application
859
- sig { returns(T.nilable(T::Boolean)) }
860
- attr_reader :is_tcr_application
861
-
862
- sig { params(is_tcr_application: T::Boolean).void }
863
- attr_writer :is_tcr_application
864
-
865
- # Additional notes about the business or use case
866
- sig { returns(T.nilable(String)) }
867
- attr_accessor :notes
868
-
869
- # Phone number prefix for messaging (e.g., "+1")
870
- sig { returns(T.nilable(String)) }
871
- attr_accessor :phone_number_prefix
872
-
873
- # Always null. The brand's free-text primary use case is no longer stored: it
874
- # reached neither TCR nor any decision, and its column is dropped with no
875
- # backfill, because the values were prose and the typed equivalent is the
876
- # campaign's MessagingUseCaseUS.
877
- #
878
- # Retained so existing v3 clients reading primary_use_case keep deserializing.
879
- # Unlike the profile sharing flags, which can answer false truthfully, there is no
880
- # value to report here — the field is present and empty rather than present and
881
- # wrong.
882
- sig { returns(T.nilable(String)) }
883
- attr_accessor :primary_use_case
884
-
885
- sig { returns(T.nilable(Sentdm::TcrVertical::TaggedSymbol)) }
886
- attr_accessor :vertical
887
-
888
- # Compliance and TCR-related information
889
- sig do
890
- params(
891
- brand_relationship:
892
- T.nilable(Sentdm::TcrBrandRelationship::OrSymbol),
893
- destination_countries:
894
- T::Array[Sentdm::DestinationCountry::OrHash],
895
- is_tcr_application: T::Boolean,
896
- notes: T.nilable(String),
897
- phone_number_prefix: T.nilable(String),
898
- primary_use_case: T.nilable(String),
899
- vertical: T.nilable(Sentdm::TcrVertical::OrSymbol)
900
- ).returns(T.attached_class)
901
- end
902
- def self.new(
903
- brand_relationship: nil,
904
- # List of destination countries for messaging
905
- destination_countries: nil,
906
- # Whether this is a TCR (Campaign Registry) application
907
- is_tcr_application: nil,
908
- # Additional notes about the business or use case
909
- notes: nil,
910
- # Phone number prefix for messaging (e.g., "+1")
911
- phone_number_prefix: nil,
912
- # Always null. The brand's free-text primary use case is no longer stored: it
913
- # reached neither TCR nor any decision, and its column is dropped with no
914
- # backfill, because the values were prose and the typed equivalent is the
915
- # campaign's MessagingUseCaseUS.
916
- #
917
- # Retained so existing v3 clients reading primary_use_case keep deserializing.
918
- # Unlike the profile sharing flags, which can answer false truthfully, there is no
919
- # value to report here — the field is present and empty rather than present and
920
- # wrong.
921
- primary_use_case: nil,
922
- vertical: nil
923
- )
924
- end
925
-
926
- sig do
927
- override.returns(
928
- {
929
- brand_relationship:
930
- T.nilable(Sentdm::TcrBrandRelationship::TaggedSymbol),
931
- destination_countries: T::Array[Sentdm::DestinationCountry],
932
- is_tcr_application: T::Boolean,
933
- notes: T.nilable(String),
934
- phone_number_prefix: T.nilable(String),
935
- primary_use_case: T.nilable(String),
936
- vertical: T.nilable(Sentdm::TcrVertical::TaggedSymbol)
937
- }
938
- )
939
- end
940
- def to_hash
941
- end
942
- end
943
-
944
- class Contact < Sentdm::Internal::Type::BaseModel
945
- OrHash =
946
- T.type_alias do
947
- T.any(
948
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Contact,
949
- Sentdm::Internal::AnyHash
950
- )
951
- end
952
-
953
- # Business/brand name
954
- sig { returns(T.nilable(String)) }
955
- attr_accessor :business_name
956
-
957
- # Contact email address
958
- sig { returns(T.nilable(String)) }
959
- attr_accessor :email
960
-
961
- # Primary contact name
962
- sig { returns(T.nilable(String)) }
963
- attr_reader :name
964
-
965
- sig { params(name: String).void }
966
- attr_writer :name
967
-
968
- # Contact phone number in E.164 format
969
- sig { returns(T.nilable(String)) }
970
- attr_accessor :phone
971
-
972
- # Contact phone country code (e.g., "1" for US)
973
- sig { returns(T.nilable(String)) }
974
- attr_accessor :phone_country_code
975
-
976
- # Contact's role in the business
977
- sig { returns(T.nilable(String)) }
978
- attr_accessor :role
979
-
980
- # Contact information for the brand
981
- sig do
982
- params(
983
- business_name: T.nilable(String),
984
- email: T.nilable(String),
985
- name: String,
986
- phone: T.nilable(String),
987
- phone_country_code: T.nilable(String),
988
- role: T.nilable(String)
989
- ).returns(T.attached_class)
990
- end
991
- def self.new(
992
- # Business/brand name
993
- business_name: nil,
994
- # Contact email address
995
- email: nil,
996
- # Primary contact name
997
- name: nil,
998
- # Contact phone number in E.164 format
999
- phone: nil,
1000
- # Contact phone country code (e.g., "1" for US)
1001
- phone_country_code: nil,
1002
- # Contact's role in the business
1003
- role: nil
1004
- )
1005
- end
1006
-
1007
- sig do
1008
- override.returns(
1009
- {
1010
- business_name: T.nilable(String),
1011
- email: T.nilable(String),
1012
- name: String,
1013
- phone: T.nilable(String),
1014
- phone_country_code: T.nilable(String),
1015
- role: T.nilable(String)
1016
- }
1017
- )
1018
- end
1019
- def to_hash
1020
- end
1021
- end
1022
-
1023
- module IdentityStatus
1024
- extend Sentdm::Internal::Type::Enum
1025
-
1026
- TaggedSymbol =
1027
- T.type_alias do
1028
- T.all(
1029
- Symbol,
1030
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::IdentityStatus
1031
- )
1032
- end
1033
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1034
-
1035
- SELF_DECLARED =
1036
- T.let(
1037
- :SELF_DECLARED,
1038
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::IdentityStatus::TaggedSymbol
1039
- )
1040
- UNVERIFIED =
1041
- T.let(
1042
- :UNVERIFIED,
1043
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::IdentityStatus::TaggedSymbol
1044
- )
1045
- VERIFIED =
1046
- T.let(
1047
- :VERIFIED,
1048
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::IdentityStatus::TaggedSymbol
1049
- )
1050
- VETTED_VERIFIED =
1051
- T.let(
1052
- :VETTED_VERIFIED,
1053
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::IdentityStatus::TaggedSymbol
1054
- )
1055
-
1056
- sig do
1057
- override.returns(
1058
- T::Array[
1059
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::IdentityStatus::TaggedSymbol
1060
- ]
1061
- )
1062
- end
1063
- def self.values
1064
- end
1065
- end
1066
-
1067
- module Status
1068
- extend Sentdm::Internal::Type::Enum
1069
-
1070
- TaggedSymbol =
1071
- T.type_alias do
1072
- T.all(
1073
- Symbol,
1074
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Status
1075
- )
1076
- end
1077
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1078
-
1079
- ACTIVE =
1080
- T.let(
1081
- :ACTIVE,
1082
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Status::TaggedSymbol
1083
- )
1084
- INACTIVE =
1085
- T.let(
1086
- :INACTIVE,
1087
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Status::TaggedSymbol
1088
- )
1089
- SUSPENDED =
1090
- T.let(
1091
- :SUSPENDED,
1092
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Status::TaggedSymbol
1093
- )
1094
-
1095
- sig do
1096
- override.returns(
1097
- T::Array[
1098
- Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Status::TaggedSymbol
1099
- ]
1100
- )
1101
- end
1102
- def self.values
1103
- end
1104
- end
1105
- end
1106
- end
1107
-
1108
- class Error < Sentdm::Internal::Type::BaseModel
1109
- OrHash =
1110
- T.type_alias do
1111
- T.any(
1112
- Sentdm::Models::ProfileRetrieveResponse::Error,
1113
- Sentdm::Internal::AnyHash
1114
- )
1115
- end
1116
-
1117
- # Machine-readable error code (e.g., "RESOURCE_001")
1118
- sig { returns(T.nilable(String)) }
1119
- attr_reader :code
1120
-
1121
- sig { params(code: String).void }
1122
- attr_writer :code
1123
-
1124
- # Additional validation error details (field-level errors)
1125
- sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
1126
- attr_accessor :details
1127
-
1128
- # URL to documentation about this error
1129
- sig { returns(T.nilable(String)) }
1130
- attr_accessor :doc_url
1131
-
1132
- # Human-readable error message
1133
- sig { returns(T.nilable(String)) }
1134
- attr_reader :message
1135
-
1136
- sig { params(message: String).void }
1137
- attr_writer :message
1138
-
1139
- # Error information
1140
- sig do
1141
- params(
1142
- code: String,
1143
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
1144
- doc_url: T.nilable(String),
1145
- message: String
1146
- ).returns(T.attached_class)
1147
- end
1148
- def self.new(
1149
- # Machine-readable error code (e.g., "RESOURCE_001")
1150
- code: nil,
1151
- # Additional validation error details (field-level errors)
1152
- details: nil,
1153
- # URL to documentation about this error
1154
- doc_url: nil,
1155
- # Human-readable error message
1156
- message: nil
1157
- )
1158
- end
1159
-
1160
- sig do
1161
- override.returns(
1162
- {
1163
- code: String,
1164
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
1165
- doc_url: T.nilable(String),
1166
- message: String
1167
- }
1168
- )
1169
- end
1170
- def to_hash
1171
- end
1172
- end
1173
-
1174
- class Meta < Sentdm::Internal::Type::BaseModel
1175
- OrHash =
1176
- T.type_alias do
1177
- T.any(
1178
- Sentdm::Models::ProfileRetrieveResponse::Meta,
1179
- Sentdm::Internal::AnyHash
1180
- )
1181
- end
1182
-
1183
- # Unique identifier for this request (for tracing and support)
1184
- sig { returns(T.nilable(String)) }
1185
- attr_reader :request_id
1186
-
1187
- sig { params(request_id: String).void }
1188
- attr_writer :request_id
1189
-
1190
- # Server timestamp when the response was generated
1191
- sig { returns(T.nilable(Time)) }
1192
- attr_reader :timestamp
1193
-
1194
- sig { params(timestamp: Time).void }
1195
- attr_writer :timestamp
1196
-
1197
- # API version used for this request
1198
- sig { returns(T.nilable(String)) }
1199
- attr_reader :version
1200
-
1201
- sig { params(version: String).void }
1202
- attr_writer :version
1203
-
1204
- # Request and response metadata
1205
- sig do
1206
- params(request_id: String, timestamp: Time, version: String).returns(
1207
- T.attached_class
1208
- )
1209
- end
1210
- def self.new(
1211
- # Unique identifier for this request (for tracing and support)
1212
- request_id: nil,
1213
- # Server timestamp when the response was generated
1214
- timestamp: nil,
1215
- # API version used for this request
1216
- version: nil
1217
- )
1218
- end
1219
-
1220
- sig do
1221
- override.returns(
1222
- { request_id: String, timestamp: Time, version: String }
1223
- )
1224
- end
1225
- def to_hash
1226
- end
1227
- end
1228
- end
1229
- end
1230
- end