sentdm 0.27.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +1 -27
  4. data/lib/sentdm/client.rb +71 -8
  5. data/lib/sentdm/internal/type/base_model.rb +5 -5
  6. data/lib/sentdm/models/contact_create_response.rb +249 -0
  7. data/lib/sentdm/models/contact_delete_params.rb +16 -2
  8. data/lib/sentdm/models/contact_list_response.rb +299 -16
  9. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +186 -0
  10. data/lib/sentdm/models/contact_retrieve_response.rb +249 -0
  11. data/lib/sentdm/models/contact_update_response.rb +249 -0
  12. data/lib/sentdm/models/conversation_list_messages_response.rb +436 -0
  13. data/lib/sentdm/models/conversation_list_response.rb +433 -0
  14. data/lib/sentdm/models/me_retrieve_response.rb +242 -12
  15. data/lib/sentdm/models/message_retrieve_activities_response.rb +165 -7
  16. data/lib/sentdm/models/message_retrieve_status_response.rb +74 -6
  17. data/lib/sentdm/models/message_send_response.rb +113 -28
  18. data/lib/sentdm/models/number_lookup_response.rb +74 -6
  19. data/lib/sentdm/models/profile_complete_response.rb +74 -6
  20. data/lib/sentdm/models/profile_create_params.rb +378 -26
  21. data/lib/sentdm/models/profile_create_response.rb +760 -0
  22. data/lib/sentdm/models/profile_delete_params.rb +16 -2
  23. data/lib/sentdm/models/profile_list_response.rb +825 -14
  24. data/lib/sentdm/models/profile_retrieve_response.rb +762 -0
  25. data/lib/sentdm/models/profile_update_params.rb +391 -24
  26. data/lib/sentdm/models/profile_update_response.rb +760 -0
  27. data/lib/sentdm/models/profiles/campaign_create_params.rb +156 -3
  28. data/lib/sentdm/models/profiles/campaign_create_response.rb +420 -0
  29. data/lib/sentdm/models/profiles/campaign_delete_params.rb +17 -2
  30. data/lib/sentdm/models/profiles/campaign_list_response.rb +421 -0
  31. data/lib/sentdm/models/profiles/campaign_update_params.rb +156 -3
  32. data/lib/sentdm/models/profiles/campaign_update_response.rb +420 -0
  33. data/lib/sentdm/models/template_create_response.rb +209 -0
  34. data/lib/sentdm/models/template_list_params.rb +9 -2
  35. data/lib/sentdm/models/template_list_response.rb +262 -16
  36. data/lib/sentdm/models/template_retrieve_response.rb +209 -0
  37. data/lib/sentdm/models/template_update_response.rb +209 -0
  38. data/lib/sentdm/models/user_invite_response.rb +201 -0
  39. data/lib/sentdm/models/user_list_response.rb +259 -14
  40. data/lib/sentdm/models/user_remove_params.rb +16 -2
  41. data/lib/sentdm/models/user_retrieve_response.rb +201 -0
  42. data/lib/sentdm/models/user_update_role_response.rb +201 -0
  43. data/lib/sentdm/models/webhook_create_response.rb +229 -0
  44. data/lib/sentdm/models/webhook_list_event_types_response.rb +213 -13
  45. data/lib/sentdm/models/webhook_list_events_response.rb +162 -13
  46. data/lib/sentdm/models/webhook_list_response.rb +280 -15
  47. data/lib/sentdm/models/webhook_retrieve_response.rb +229 -0
  48. data/lib/sentdm/models/webhook_rotate_secret_params.rb +17 -2
  49. data/lib/sentdm/models/webhook_rotate_secret_response.rb +74 -6
  50. data/lib/sentdm/models/webhook_test_response.rb +74 -6
  51. data/lib/sentdm/models/webhook_toggle_status_response.rb +229 -0
  52. data/lib/sentdm/models/webhook_update_response.rb +229 -0
  53. data/lib/sentdm/models.rb +0 -52
  54. data/lib/sentdm/resources/contacts.rb +30 -13
  55. data/lib/sentdm/resources/conversations.rb +12 -4
  56. data/lib/sentdm/resources/me.rb +6 -1
  57. data/lib/sentdm/resources/messages.rb +11 -1
  58. data/lib/sentdm/resources/numbers.rb +6 -1
  59. data/lib/sentdm/resources/profiles/campaigns.rb +47 -9
  60. data/lib/sentdm/resources/profiles.rb +134 -58
  61. data/lib/sentdm/resources/templates.rb +14 -8
  62. data/lib/sentdm/resources/users.rb +12 -7
  63. data/lib/sentdm/resources/webhooks.rb +19 -9
  64. data/lib/sentdm/version.rb +1 -1
  65. data/lib/sentdm.rb +22 -32
  66. data/rbi/sentdm/client.rbi +71 -8
  67. data/rbi/sentdm/models/contact_create_response.rbi +407 -0
  68. data/rbi/sentdm/models/contact_delete_params.rbi +19 -2
  69. data/rbi/sentdm/models/contact_list_response.rbi +527 -21
  70. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +397 -0
  71. data/rbi/sentdm/models/contact_retrieve_response.rbi +409 -0
  72. data/rbi/sentdm/models/contact_update_response.rbi +407 -0
  73. data/rbi/sentdm/models/conversation_list_messages_response.rbi +843 -0
  74. data/rbi/sentdm/models/conversation_list_response.rbi +819 -0
  75. data/rbi/sentdm/models/me_retrieve_response.rbi +367 -16
  76. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +335 -11
  77. data/rbi/sentdm/models/message_retrieve_status_response.rbi +148 -8
  78. data/rbi/sentdm/models/message_send_response.rbi +178 -32
  79. data/rbi/sentdm/models/number_lookup_response.rbi +135 -8
  80. data/rbi/sentdm/models/profile_complete_response.rbi +137 -8
  81. data/rbi/sentdm/models/profile_create_params.rbi +592 -42
  82. data/rbi/sentdm/models/profile_create_response.rbi +1226 -0
  83. data/rbi/sentdm/models/profile_delete_params.rbi +19 -2
  84. data/rbi/sentdm/models/profile_list_response.rbi +1366 -18
  85. data/rbi/sentdm/models/profile_retrieve_response.rbi +1230 -0
  86. data/rbi/sentdm/models/profile_update_params.rbi +610 -30
  87. data/rbi/sentdm/models/profile_update_response.rbi +1226 -0
  88. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +218 -4
  89. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +674 -0
  90. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +14 -1
  91. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +667 -0
  92. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +218 -4
  93. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +674 -0
  94. data/rbi/sentdm/models/template_create_response.rbi +349 -0
  95. data/rbi/sentdm/models/template_list_params.rbi +10 -2
  96. data/rbi/sentdm/models/template_list_response.rbi +469 -21
  97. data/rbi/sentdm/models/template_retrieve_response.rbi +355 -0
  98. data/rbi/sentdm/models/template_update_response.rbi +349 -0
  99. data/rbi/sentdm/models/user_invite_response.rbi +336 -0
  100. data/rbi/sentdm/models/user_list_response.rbi +463 -18
  101. data/rbi/sentdm/models/user_remove_params.rbi +19 -2
  102. data/rbi/sentdm/models/user_retrieve_response.rbi +336 -0
  103. data/rbi/sentdm/models/user_update_role_response.rbi +341 -0
  104. data/rbi/sentdm/models/webhook_create_response.rbi +361 -0
  105. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +433 -16
  106. data/rbi/sentdm/models/webhook_list_events_response.rbi +319 -15
  107. data/rbi/sentdm/models/webhook_list_response.rbi +480 -19
  108. data/rbi/sentdm/models/webhook_retrieve_response.rbi +363 -0
  109. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +14 -1
  110. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +148 -8
  111. data/rbi/sentdm/models/webhook_test_response.rbi +135 -8
  112. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +379 -0
  113. data/rbi/sentdm/models/webhook_update_response.rbi +361 -0
  114. data/rbi/sentdm/models.rbi +0 -54
  115. data/rbi/sentdm/resources/contacts.rbi +24 -9
  116. data/rbi/sentdm/resources/conversations.rbi +10 -2
  117. data/rbi/sentdm/resources/me.rbi +6 -1
  118. data/rbi/sentdm/resources/messages.rbi +11 -1
  119. data/rbi/sentdm/resources/numbers.rbi +6 -1
  120. data/rbi/sentdm/resources/profiles/campaigns.rbi +36 -6
  121. data/rbi/sentdm/resources/profiles.rbi +174 -66
  122. data/rbi/sentdm/resources/templates.rbi +15 -5
  123. data/rbi/sentdm/resources/users.rbi +9 -4
  124. data/rbi/sentdm/resources/webhooks.rbi +15 -5
  125. data/sig/sentdm/models/contact_create_response.rbs +216 -0
  126. data/sig/sentdm/models/contact_delete_params.rbs +10 -6
  127. data/sig/sentdm/models/contact_list_response.rbs +263 -20
  128. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +182 -0
  129. data/sig/sentdm/models/contact_retrieve_response.rbs +216 -0
  130. data/sig/sentdm/models/contact_update_response.rbs +216 -0
  131. data/sig/sentdm/models/conversation_list_messages_response.rbs +404 -0
  132. data/sig/sentdm/models/conversation_list_response.rbs +404 -0
  133. data/sig/sentdm/models/me_retrieve_response.rbs +176 -18
  134. data/sig/sentdm/models/message_retrieve_activities_response.rbs +147 -12
  135. data/sig/sentdm/models/message_retrieve_status_response.rbs +71 -9
  136. data/sig/sentdm/models/message_send_response.rbs +71 -9
  137. data/sig/sentdm/models/number_lookup_response.rbs +71 -9
  138. data/sig/sentdm/models/profile_complete_response.rbs +71 -9
  139. data/sig/sentdm/models/profile_create_params.rbs +271 -24
  140. data/sig/sentdm/models/profile_create_response.rbs +559 -0
  141. data/sig/sentdm/models/profile_delete_params.rbs +10 -6
  142. data/sig/sentdm/models/profile_list_response.rbs +615 -15
  143. data/sig/sentdm/models/profile_retrieve_response.rbs +559 -0
  144. data/sig/sentdm/models/profile_update_params.rbs +263 -12
  145. data/sig/sentdm/models/profile_update_response.rbs +559 -0
  146. data/sig/sentdm/models/profiles/campaign_create_params.rbs +108 -4
  147. data/sig/sentdm/models/profiles/campaign_create_response.rbs +357 -0
  148. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +15 -8
  149. data/sig/sentdm/models/profiles/campaign_list_response.rbs +357 -0
  150. data/sig/sentdm/models/profiles/campaign_update_params.rbs +108 -4
  151. data/sig/sentdm/models/profiles/campaign_update_response.rbs +357 -0
  152. data/sig/sentdm/models/template_create_response.rbs +182 -0
  153. data/sig/sentdm/models/template_list_response.rbs +230 -19
  154. data/sig/sentdm/models/template_retrieve_response.rbs +182 -0
  155. data/sig/sentdm/models/template_update_response.rbs +182 -0
  156. data/sig/sentdm/models/user_invite_response.rbs +177 -0
  157. data/sig/sentdm/models/user_list_response.rbs +233 -15
  158. data/sig/sentdm/models/user_remove_params.rbs +10 -6
  159. data/sig/sentdm/models/user_retrieve_response.rbs +177 -0
  160. data/sig/sentdm/models/user_update_role_response.rbs +177 -0
  161. data/sig/sentdm/models/webhook_create_response.rbs +208 -0
  162. data/sig/sentdm/models/webhook_list_event_types_response.rbs +203 -15
  163. data/sig/sentdm/models/webhook_list_events_response.rbs +142 -14
  164. data/sig/sentdm/models/webhook_list_response.rbs +255 -20
  165. data/sig/sentdm/models/webhook_retrieve_response.rbs +208 -0
  166. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +17 -8
  167. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +71 -9
  168. data/sig/sentdm/models/webhook_test_response.rbs +71 -9
  169. data/sig/sentdm/models/webhook_toggle_status_response.rbs +208 -0
  170. data/sig/sentdm/models/webhook_update_response.rbs +208 -0
  171. data/sig/sentdm/models.rbs +0 -52
  172. data/sig/sentdm/resources/contacts.rbs +4 -4
  173. data/sig/sentdm/resources/conversations.rbs +2 -2
  174. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  175. data/sig/sentdm/resources/profiles.rbs +11 -11
  176. data/sig/sentdm/resources/templates.rbs +3 -3
  177. data/sig/sentdm/resources/users.rbs +3 -3
  178. data/sig/sentdm/resources/webhooks.rbs +4 -4
  179. metadata +68 -98
  180. data/lib/sentdm/models/api_meta.rb +0 -34
  181. data/lib/sentdm/models/api_response_of_contact.rb +0 -46
  182. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +0 -43
  183. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +0 -43
  184. data/lib/sentdm/models/api_response_of_profile_detail.rb +0 -43
  185. data/lib/sentdm/models/api_response_of_user.rb +0 -43
  186. data/lib/sentdm/models/api_response_template.rb +0 -43
  187. data/lib/sentdm/models/api_response_webhook.rb +0 -43
  188. data/lib/sentdm/models/billing_contact_info.rb +0 -47
  189. data/lib/sentdm/models/brand_business_info.rb +0 -114
  190. data/lib/sentdm/models/brand_compliance_info.rb +0 -67
  191. data/lib/sentdm/models/brand_contact_info.rb +0 -58
  192. data/lib/sentdm/models/brands_brand_data.rb +0 -34
  193. data/lib/sentdm/models/contact_message_summary.rb +0 -76
  194. data/lib/sentdm/models/contact_response.rb +0 -126
  195. data/lib/sentdm/models/conversation_messages_list.rb +0 -245
  196. data/lib/sentdm/models/error_detail.rb +0 -42
  197. data/lib/sentdm/models/mutation_request.rb +0 -20
  198. data/lib/sentdm/models/pagination_meta.rb +0 -80
  199. data/lib/sentdm/models/payment_details.rb +0 -44
  200. data/lib/sentdm/models/profile_detail.rb +0 -605
  201. data/lib/sentdm/models/profile_settings.rb +0 -66
  202. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +0 -45
  203. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +0 -45
  204. data/lib/sentdm/models/profiles/brand_campaign.rb +0 -247
  205. data/lib/sentdm/models/profiles/campaign_data.rb +0 -130
  206. data/lib/sentdm/models/profiles/campaign_use_case.rb +0 -71
  207. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +0 -29
  208. data/lib/sentdm/models/template.rb +0 -90
  209. data/lib/sentdm/models/user_response.rb +0 -82
  210. data/lib/sentdm/models/webhook_event_type.rb +0 -45
  211. data/lib/sentdm/models/webhook_response.rb +0 -95
  212. data/rbi/sentdm/models/api_meta.rbi +0 -55
  213. data/rbi/sentdm/models/api_response_of_contact.rbi +0 -74
  214. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +0 -79
  215. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +0 -79
  216. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +0 -74
  217. data/rbi/sentdm/models/api_response_of_user.rbi +0 -74
  218. data/rbi/sentdm/models/api_response_template.rbi +0 -74
  219. data/rbi/sentdm/models/api_response_webhook.rbi +0 -74
  220. data/rbi/sentdm/models/billing_contact_info.rbi +0 -65
  221. data/rbi/sentdm/models/brand_business_info.rbi +0 -162
  222. data/rbi/sentdm/models/brand_compliance_info.rbi +0 -84
  223. data/rbi/sentdm/models/brand_contact_info.rbi +0 -78
  224. data/rbi/sentdm/models/brands_brand_data.rbi +0 -65
  225. data/rbi/sentdm/models/contact_message_summary.rbi +0 -144
  226. data/rbi/sentdm/models/contact_response.rbi +0 -183
  227. data/rbi/sentdm/models/conversation_messages_list.rbi +0 -419
  228. data/rbi/sentdm/models/error_detail.rbi +0 -66
  229. data/rbi/sentdm/models/mutation_request.rbi +0 -32
  230. data/rbi/sentdm/models/pagination_meta.rbi +0 -135
  231. data/rbi/sentdm/models/payment_details.rbi +0 -59
  232. data/rbi/sentdm/models/profile_detail.rbi +0 -872
  233. data/rbi/sentdm/models/profile_settings.rbi +0 -86
  234. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +0 -81
  235. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +0 -76
  236. data/rbi/sentdm/models/profiles/brand_campaign.rbi +0 -299
  237. data/rbi/sentdm/models/profiles/campaign_data.rbi +0 -146
  238. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +0 -110
  239. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +0 -51
  240. data/rbi/sentdm/models/template.rbi +0 -129
  241. data/rbi/sentdm/models/user_response.rbi +0 -118
  242. data/rbi/sentdm/models/webhook_event_type.rbi +0 -74
  243. data/rbi/sentdm/models/webhook_response.rbi +0 -140
  244. data/sig/sentdm/models/api_meta.rbs +0 -27
  245. data/sig/sentdm/models/api_response_of_contact.rbs +0 -39
  246. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +0 -39
  247. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +0 -39
  248. data/sig/sentdm/models/api_response_of_profile_detail.rbs +0 -39
  249. data/sig/sentdm/models/api_response_of_user.rbs +0 -39
  250. data/sig/sentdm/models/api_response_template.rbs +0 -39
  251. data/sig/sentdm/models/api_response_webhook.rbs +0 -39
  252. data/sig/sentdm/models/billing_contact_info.rbs +0 -30
  253. data/sig/sentdm/models/brand_business_info.rbs +0 -89
  254. data/sig/sentdm/models/brand_compliance_info.rbs +0 -50
  255. data/sig/sentdm/models/brand_contact_info.rbs +0 -45
  256. data/sig/sentdm/models/brands_brand_data.rbs +0 -30
  257. data/sig/sentdm/models/contact_message_summary.rbs +0 -84
  258. data/sig/sentdm/models/contact_response.rbs +0 -111
  259. data/sig/sentdm/models/conversation_messages_list.rbs +0 -240
  260. data/sig/sentdm/models/error_detail.rbs +0 -39
  261. data/sig/sentdm/models/mutation_request.rbs +0 -15
  262. data/sig/sentdm/models/pagination_meta.rbs +0 -67
  263. data/sig/sentdm/models/payment_details.rbs +0 -30
  264. data/sig/sentdm/models/profile_detail.rbs +0 -469
  265. data/sig/sentdm/models/profile_settings.rbs +0 -50
  266. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +0 -41
  267. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +0 -41
  268. data/sig/sentdm/models/profiles/brand_campaign.rbs +0 -194
  269. data/sig/sentdm/models/profiles/campaign_data.rbs +0 -87
  270. data/sig/sentdm/models/profiles/campaign_use_case.rbs +0 -66
  271. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +0 -27
  272. data/sig/sentdm/models/template.rbs +0 -79
  273. data/sig/sentdm/models/user_response.rbs +0 -72
  274. data/sig/sentdm/models/webhook_event_type.rbs +0 -51
  275. data/sig/sentdm/models/webhook_response.rbs +0 -103
@@ -0,0 +1,349 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class TemplateCreateResponse < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Sentdm::Models::TemplateCreateResponse,
10
+ Sentdm::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Template response for v3 API
15
+ sig { returns(T.nilable(Sentdm::Models::TemplateCreateResponse::Data)) }
16
+ attr_reader :data
17
+
18
+ sig do
19
+ params(
20
+ data: T.nilable(Sentdm::Models::TemplateCreateResponse::Data::OrHash)
21
+ ).void
22
+ end
23
+ attr_writer :data
24
+
25
+ # Error information
26
+ sig { returns(T.nilable(Sentdm::Models::TemplateCreateResponse::Error)) }
27
+ attr_reader :error
28
+
29
+ sig do
30
+ params(
31
+ error:
32
+ T.nilable(Sentdm::Models::TemplateCreateResponse::Error::OrHash)
33
+ ).void
34
+ end
35
+ attr_writer :error
36
+
37
+ # Request and response metadata
38
+ sig { returns(T.nilable(Sentdm::Models::TemplateCreateResponse::Meta)) }
39
+ attr_reader :meta
40
+
41
+ sig do
42
+ params(meta: Sentdm::Models::TemplateCreateResponse::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: T.nilable(Sentdm::Models::TemplateCreateResponse::Data::OrHash),
57
+ error:
58
+ T.nilable(Sentdm::Models::TemplateCreateResponse::Error::OrHash),
59
+ meta: Sentdm::Models::TemplateCreateResponse::Meta::OrHash,
60
+ success: T::Boolean
61
+ ).returns(T.attached_class)
62
+ end
63
+ def self.new(
64
+ # Template response for v3 API
65
+ data: nil,
66
+ # Error information
67
+ error: nil,
68
+ # Request and response metadata
69
+ meta: nil,
70
+ # Indicates whether the request was successful
71
+ success: nil
72
+ )
73
+ end
74
+
75
+ sig do
76
+ override.returns(
77
+ {
78
+ data: T.nilable(Sentdm::Models::TemplateCreateResponse::Data),
79
+ error: T.nilable(Sentdm::Models::TemplateCreateResponse::Error),
80
+ meta: Sentdm::Models::TemplateCreateResponse::Meta,
81
+ success: T::Boolean
82
+ }
83
+ )
84
+ end
85
+ def to_hash
86
+ end
87
+
88
+ class Data < Sentdm::Internal::Type::BaseModel
89
+ OrHash =
90
+ T.type_alias do
91
+ T.any(
92
+ Sentdm::Models::TemplateCreateResponse::Data,
93
+ Sentdm::Internal::AnyHash
94
+ )
95
+ end
96
+
97
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
98
+ # Says whose resource this is, which the resource's own id does not.
99
+ sig { returns(String) }
100
+ attr_accessor :customer_id
101
+
102
+ # Unique template identifier
103
+ sig { returns(T.nilable(String)) }
104
+ attr_reader :id
105
+
106
+ sig { params(id: String).void }
107
+ attr_writer :id
108
+
109
+ # Template category: MARKETING, UTILITY, AUTHENTICATION
110
+ sig { returns(T.nilable(String)) }
111
+ attr_reader :category
112
+
113
+ sig { params(category: String).void }
114
+ attr_writer :category
115
+
116
+ # Supported channels: sms, whatsapp
117
+ sig { returns(T.nilable(T::Array[String])) }
118
+ attr_accessor :channels
119
+
120
+ # When the template was created
121
+ sig { returns(T.nilable(Time)) }
122
+ attr_reader :created_at
123
+
124
+ sig { params(created_at: Time).void }
125
+ attr_writer :created_at
126
+
127
+ # Whether the template is published and active
128
+ sig { returns(T.nilable(T::Boolean)) }
129
+ attr_reader :is_published
130
+
131
+ sig { params(is_published: T::Boolean).void }
132
+ attr_writer :is_published
133
+
134
+ # Template language code (e.g., en_US)
135
+ sig { returns(T.nilable(String)) }
136
+ attr_reader :language
137
+
138
+ sig { params(language: String).void }
139
+ attr_writer :language
140
+
141
+ # Template display name
142
+ sig { returns(T.nilable(String)) }
143
+ attr_reader :name
144
+
145
+ sig { params(name: String).void }
146
+ attr_writer :name
147
+
148
+ # Template status: APPROVED, PENDING, REJECTED
149
+ sig { returns(T.nilable(String)) }
150
+ attr_reader :status
151
+
152
+ sig { params(status: String).void }
153
+ attr_writer :status
154
+
155
+ # When the template was last updated
156
+ sig { returns(T.nilable(Time)) }
157
+ attr_accessor :updated_at
158
+
159
+ # Template variables for personalization
160
+ sig { returns(T.nilable(T::Array[String])) }
161
+ attr_accessor :variables
162
+
163
+ # Template response for v3 API
164
+ sig do
165
+ params(
166
+ customer_id: String,
167
+ id: String,
168
+ category: String,
169
+ channels: T.nilable(T::Array[String]),
170
+ created_at: Time,
171
+ is_published: T::Boolean,
172
+ language: String,
173
+ name: String,
174
+ status: String,
175
+ updated_at: T.nilable(Time),
176
+ variables: T.nilable(T::Array[String])
177
+ ).returns(T.attached_class)
178
+ end
179
+ def self.new(
180
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
181
+ # Says whose resource this is, which the resource's own id does not.
182
+ customer_id:,
183
+ # Unique template identifier
184
+ id: nil,
185
+ # Template category: MARKETING, UTILITY, AUTHENTICATION
186
+ category: nil,
187
+ # Supported channels: sms, whatsapp
188
+ channels: nil,
189
+ # When the template was created
190
+ created_at: nil,
191
+ # Whether the template is published and active
192
+ is_published: nil,
193
+ # Template language code (e.g., en_US)
194
+ language: nil,
195
+ # Template display name
196
+ name: nil,
197
+ # Template status: APPROVED, PENDING, REJECTED
198
+ status: nil,
199
+ # When the template was last updated
200
+ updated_at: nil,
201
+ # Template variables for personalization
202
+ variables: nil
203
+ )
204
+ end
205
+
206
+ sig do
207
+ override.returns(
208
+ {
209
+ customer_id: String,
210
+ id: String,
211
+ category: String,
212
+ channels: T.nilable(T::Array[String]),
213
+ created_at: Time,
214
+ is_published: T::Boolean,
215
+ language: String,
216
+ name: String,
217
+ status: String,
218
+ updated_at: T.nilable(Time),
219
+ variables: T.nilable(T::Array[String])
220
+ }
221
+ )
222
+ end
223
+ def to_hash
224
+ end
225
+ end
226
+
227
+ class Error < Sentdm::Internal::Type::BaseModel
228
+ OrHash =
229
+ T.type_alias do
230
+ T.any(
231
+ Sentdm::Models::TemplateCreateResponse::Error,
232
+ Sentdm::Internal::AnyHash
233
+ )
234
+ end
235
+
236
+ # Machine-readable error code (e.g., "RESOURCE_001")
237
+ sig { returns(T.nilable(String)) }
238
+ attr_reader :code
239
+
240
+ sig { params(code: String).void }
241
+ attr_writer :code
242
+
243
+ # Additional validation error details (field-level errors)
244
+ sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
245
+ attr_accessor :details
246
+
247
+ # URL to documentation about this error
248
+ sig { returns(T.nilable(String)) }
249
+ attr_accessor :doc_url
250
+
251
+ # Human-readable error message
252
+ sig { returns(T.nilable(String)) }
253
+ attr_reader :message
254
+
255
+ sig { params(message: String).void }
256
+ attr_writer :message
257
+
258
+ # Error information
259
+ sig do
260
+ params(
261
+ code: String,
262
+ details: T.nilable(T::Hash[Symbol, T::Array[String]]),
263
+ doc_url: T.nilable(String),
264
+ message: String
265
+ ).returns(T.attached_class)
266
+ end
267
+ def self.new(
268
+ # Machine-readable error code (e.g., "RESOURCE_001")
269
+ code: nil,
270
+ # Additional validation error details (field-level errors)
271
+ details: nil,
272
+ # URL to documentation about this error
273
+ doc_url: nil,
274
+ # Human-readable error message
275
+ message: nil
276
+ )
277
+ end
278
+
279
+ sig do
280
+ override.returns(
281
+ {
282
+ code: String,
283
+ details: T.nilable(T::Hash[Symbol, T::Array[String]]),
284
+ doc_url: T.nilable(String),
285
+ message: String
286
+ }
287
+ )
288
+ end
289
+ def to_hash
290
+ end
291
+ end
292
+
293
+ class Meta < Sentdm::Internal::Type::BaseModel
294
+ OrHash =
295
+ T.type_alias do
296
+ T.any(
297
+ Sentdm::Models::TemplateCreateResponse::Meta,
298
+ Sentdm::Internal::AnyHash
299
+ )
300
+ end
301
+
302
+ # Unique identifier for this request (for tracing and support)
303
+ sig { returns(T.nilable(String)) }
304
+ attr_reader :request_id
305
+
306
+ sig { params(request_id: String).void }
307
+ attr_writer :request_id
308
+
309
+ # Server timestamp when the response was generated
310
+ sig { returns(T.nilable(Time)) }
311
+ attr_reader :timestamp
312
+
313
+ sig { params(timestamp: Time).void }
314
+ attr_writer :timestamp
315
+
316
+ # API version used for this request
317
+ sig { returns(T.nilable(String)) }
318
+ attr_reader :version
319
+
320
+ sig { params(version: String).void }
321
+ attr_writer :version
322
+
323
+ # Request and response metadata
324
+ sig do
325
+ params(request_id: String, timestamp: Time, version: String).returns(
326
+ T.attached_class
327
+ )
328
+ end
329
+ def self.new(
330
+ # Unique identifier for this request (for tracing and support)
331
+ request_id: nil,
332
+ # Server timestamp when the response was generated
333
+ timestamp: nil,
334
+ # API version used for this request
335
+ version: nil
336
+ )
337
+ end
338
+
339
+ sig do
340
+ override.returns(
341
+ { request_id: String, timestamp: Time, version: String }
342
+ )
343
+ end
344
+ def to_hash
345
+ end
346
+ end
347
+ end
348
+ end
349
+ end
@@ -23,7 +23,11 @@ module Sentdm
23
23
  sig { returns(T.nilable(String)) }
24
24
  attr_accessor :category
25
25
 
26
- # Optional filter by welcome playground flag
26
+ # Accepted and ignored. It used to filter on the welcome-playground marker inside
27
+ # a template's LOB details; that filter is gone and nothing reads this value, so
28
+ # sending it neither narrows nor widens the result. Retained only so a client
29
+ # still passing is_welcome_playground keeps binding instead of the request shape
30
+ # changing under it.
27
31
  sig { returns(T.nilable(T::Boolean)) }
28
32
  attr_accessor :is_welcome_playground
29
33
 
@@ -60,7 +64,11 @@ module Sentdm
60
64
  page_size:,
61
65
  # Optional category filter: MARKETING, UTILITY, AUTHENTICATION
62
66
  category: nil,
63
- # Optional filter by welcome playground flag
67
+ # Accepted and ignored. It used to filter on the welcome-playground marker inside
68
+ # a template's LOB details; that filter is gone and nothing reads this value, so
69
+ # sending it neither narrows nor widens the result. Retained only so a client
70
+ # still passing is_welcome_playground keeps binding instead of the request shape
71
+ # changing under it.
64
72
  is_welcome_playground: nil,
65
73
  # Optional search term for filtering templates
66
74
  search: nil,