sentdm 0.27.0 → 0.29.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 (284) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -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_payload.rb +17 -17
  15. data/lib/sentdm/models/me_retrieve_response.rb +273 -13
  16. data/lib/sentdm/models/message_event_payload.rb +11 -11
  17. data/lib/sentdm/models/message_retrieve_activities_response.rb +165 -7
  18. data/lib/sentdm/models/message_retrieve_status_response.rb +74 -6
  19. data/lib/sentdm/models/message_send_response.rb +113 -28
  20. data/lib/sentdm/models/number_lookup_response.rb +74 -6
  21. data/lib/sentdm/models/profile_complete_response.rb +74 -6
  22. data/lib/sentdm/models/profile_create_params.rb +378 -26
  23. data/lib/sentdm/models/profile_create_response.rb +760 -0
  24. data/lib/sentdm/models/profile_delete_params.rb +16 -2
  25. data/lib/sentdm/models/profile_list_response.rb +825 -14
  26. data/lib/sentdm/models/profile_retrieve_response.rb +762 -0
  27. data/lib/sentdm/models/profile_update_params.rb +391 -24
  28. data/lib/sentdm/models/profile_update_response.rb +760 -0
  29. data/lib/sentdm/models/profiles/campaign_create_params.rb +156 -3
  30. data/lib/sentdm/models/profiles/campaign_create_response.rb +420 -0
  31. data/lib/sentdm/models/profiles/campaign_delete_params.rb +17 -2
  32. data/lib/sentdm/models/profiles/campaign_list_response.rb +421 -0
  33. data/lib/sentdm/models/profiles/campaign_update_params.rb +156 -3
  34. data/lib/sentdm/models/profiles/campaign_update_response.rb +420 -0
  35. data/lib/sentdm/models/template_create_response.rb +209 -0
  36. data/lib/sentdm/models/template_event_payload.rb +18 -18
  37. data/lib/sentdm/models/template_list_params.rb +9 -2
  38. data/lib/sentdm/models/template_list_response.rb +262 -16
  39. data/lib/sentdm/models/template_retrieve_response.rb +209 -0
  40. data/lib/sentdm/models/template_update_response.rb +209 -0
  41. data/lib/sentdm/models/user_invite_response.rb +201 -0
  42. data/lib/sentdm/models/user_list_response.rb +259 -14
  43. data/lib/sentdm/models/user_remove_params.rb +16 -2
  44. data/lib/sentdm/models/user_retrieve_response.rb +201 -0
  45. data/lib/sentdm/models/user_update_role_response.rb +201 -0
  46. data/lib/sentdm/models/webhook_create_response.rb +229 -0
  47. data/lib/sentdm/models/webhook_list_event_types_response.rb +213 -13
  48. data/lib/sentdm/models/webhook_list_events_response.rb +162 -13
  49. data/lib/sentdm/models/webhook_list_response.rb +280 -15
  50. data/lib/sentdm/models/webhook_retrieve_response.rb +229 -0
  51. data/lib/sentdm/models/webhook_rotate_secret_params.rb +17 -2
  52. data/lib/sentdm/models/webhook_rotate_secret_response.rb +74 -6
  53. data/lib/sentdm/models/webhook_test_response.rb +74 -6
  54. data/lib/sentdm/models/webhook_toggle_status_response.rb +229 -0
  55. data/lib/sentdm/models/webhook_update_response.rb +229 -0
  56. data/lib/sentdm/models.rb +0 -52
  57. data/lib/sentdm/resources/contacts.rb +30 -13
  58. data/lib/sentdm/resources/conversations.rb +12 -4
  59. data/lib/sentdm/resources/me.rb +17 -1
  60. data/lib/sentdm/resources/messages.rb +11 -1
  61. data/lib/sentdm/resources/numbers.rb +6 -1
  62. data/lib/sentdm/resources/profiles/campaigns.rb +47 -9
  63. data/lib/sentdm/resources/profiles.rb +134 -58
  64. data/lib/sentdm/resources/templates.rb +14 -8
  65. data/lib/sentdm/resources/users.rb +12 -7
  66. data/lib/sentdm/resources/webhooks.rb +19 -9
  67. data/lib/sentdm/version.rb +1 -1
  68. data/lib/sentdm.rb +22 -32
  69. data/rbi/sentdm/client.rbi +71 -8
  70. data/rbi/sentdm/models/contact_create_response.rbi +407 -0
  71. data/rbi/sentdm/models/contact_delete_params.rbi +19 -2
  72. data/rbi/sentdm/models/contact_list_response.rbi +527 -21
  73. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +397 -0
  74. data/rbi/sentdm/models/contact_retrieve_response.rbi +409 -0
  75. data/rbi/sentdm/models/contact_update_response.rbi +407 -0
  76. data/rbi/sentdm/models/conversation_list_messages_response.rbi +843 -0
  77. data/rbi/sentdm/models/conversation_list_response.rbi +819 -0
  78. data/rbi/sentdm/models/inbound_message_event_payload.rbi +16 -22
  79. data/rbi/sentdm/models/me_retrieve_response.rbi +411 -16
  80. data/rbi/sentdm/models/message_event_payload.rbi +12 -15
  81. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +335 -11
  82. data/rbi/sentdm/models/message_retrieve_status_response.rbi +148 -8
  83. data/rbi/sentdm/models/message_send_response.rbi +178 -32
  84. data/rbi/sentdm/models/number_lookup_response.rbi +135 -8
  85. data/rbi/sentdm/models/profile_complete_response.rbi +137 -8
  86. data/rbi/sentdm/models/profile_create_params.rbi +592 -42
  87. data/rbi/sentdm/models/profile_create_response.rbi +1226 -0
  88. data/rbi/sentdm/models/profile_delete_params.rbi +19 -2
  89. data/rbi/sentdm/models/profile_list_response.rbi +1366 -18
  90. data/rbi/sentdm/models/profile_retrieve_response.rbi +1230 -0
  91. data/rbi/sentdm/models/profile_update_params.rbi +610 -30
  92. data/rbi/sentdm/models/profile_update_response.rbi +1226 -0
  93. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +218 -4
  94. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +674 -0
  95. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +14 -1
  96. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +667 -0
  97. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +218 -4
  98. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +674 -0
  99. data/rbi/sentdm/models/template_create_response.rbi +349 -0
  100. data/rbi/sentdm/models/template_event_payload.rbi +21 -27
  101. data/rbi/sentdm/models/template_list_params.rbi +10 -2
  102. data/rbi/sentdm/models/template_list_response.rbi +469 -21
  103. data/rbi/sentdm/models/template_retrieve_response.rbi +355 -0
  104. data/rbi/sentdm/models/template_update_response.rbi +349 -0
  105. data/rbi/sentdm/models/user_invite_response.rbi +336 -0
  106. data/rbi/sentdm/models/user_list_response.rbi +463 -18
  107. data/rbi/sentdm/models/user_remove_params.rbi +19 -2
  108. data/rbi/sentdm/models/user_retrieve_response.rbi +336 -0
  109. data/rbi/sentdm/models/user_update_role_response.rbi +341 -0
  110. data/rbi/sentdm/models/webhook_create_response.rbi +361 -0
  111. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +433 -16
  112. data/rbi/sentdm/models/webhook_list_events_response.rbi +319 -15
  113. data/rbi/sentdm/models/webhook_list_response.rbi +480 -19
  114. data/rbi/sentdm/models/webhook_retrieve_response.rbi +363 -0
  115. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +14 -1
  116. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +148 -8
  117. data/rbi/sentdm/models/webhook_test_response.rbi +135 -8
  118. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +379 -0
  119. data/rbi/sentdm/models/webhook_update_response.rbi +361 -0
  120. data/rbi/sentdm/models.rbi +0 -54
  121. data/rbi/sentdm/resources/contacts.rbi +24 -9
  122. data/rbi/sentdm/resources/conversations.rbi +10 -2
  123. data/rbi/sentdm/resources/me.rbi +17 -1
  124. data/rbi/sentdm/resources/messages.rbi +11 -1
  125. data/rbi/sentdm/resources/numbers.rbi +6 -1
  126. data/rbi/sentdm/resources/profiles/campaigns.rbi +36 -6
  127. data/rbi/sentdm/resources/profiles.rbi +174 -66
  128. data/rbi/sentdm/resources/templates.rbi +15 -5
  129. data/rbi/sentdm/resources/users.rbi +9 -4
  130. data/rbi/sentdm/resources/webhooks.rbi +15 -5
  131. data/sig/sentdm/models/contact_create_response.rbs +216 -0
  132. data/sig/sentdm/models/contact_delete_params.rbs +10 -6
  133. data/sig/sentdm/models/contact_list_response.rbs +263 -20
  134. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +182 -0
  135. data/sig/sentdm/models/contact_retrieve_response.rbs +216 -0
  136. data/sig/sentdm/models/contact_update_response.rbs +216 -0
  137. data/sig/sentdm/models/conversation_list_messages_response.rbs +404 -0
  138. data/sig/sentdm/models/conversation_list_response.rbs +404 -0
  139. data/sig/sentdm/models/inbound_message_event_payload.rbs +10 -14
  140. data/sig/sentdm/models/me_retrieve_response.rbs +186 -18
  141. data/sig/sentdm/models/message_event_payload.rbs +5 -7
  142. data/sig/sentdm/models/message_retrieve_activities_response.rbs +147 -12
  143. data/sig/sentdm/models/message_retrieve_status_response.rbs +71 -9
  144. data/sig/sentdm/models/message_send_response.rbs +71 -9
  145. data/sig/sentdm/models/number_lookup_response.rbs +71 -9
  146. data/sig/sentdm/models/profile_complete_response.rbs +71 -9
  147. data/sig/sentdm/models/profile_create_params.rbs +271 -24
  148. data/sig/sentdm/models/profile_create_response.rbs +559 -0
  149. data/sig/sentdm/models/profile_delete_params.rbs +10 -6
  150. data/sig/sentdm/models/profile_list_response.rbs +615 -15
  151. data/sig/sentdm/models/profile_retrieve_response.rbs +559 -0
  152. data/sig/sentdm/models/profile_update_params.rbs +263 -12
  153. data/sig/sentdm/models/profile_update_response.rbs +559 -0
  154. data/sig/sentdm/models/profiles/campaign_create_params.rbs +108 -4
  155. data/sig/sentdm/models/profiles/campaign_create_response.rbs +357 -0
  156. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +15 -8
  157. data/sig/sentdm/models/profiles/campaign_list_response.rbs +357 -0
  158. data/sig/sentdm/models/profiles/campaign_update_params.rbs +108 -4
  159. data/sig/sentdm/models/profiles/campaign_update_response.rbs +357 -0
  160. data/sig/sentdm/models/template_create_response.rbs +182 -0
  161. data/sig/sentdm/models/template_event_payload.rbs +13 -17
  162. data/sig/sentdm/models/template_list_response.rbs +230 -19
  163. data/sig/sentdm/models/template_retrieve_response.rbs +182 -0
  164. data/sig/sentdm/models/template_update_response.rbs +182 -0
  165. data/sig/sentdm/models/user_invite_response.rbs +177 -0
  166. data/sig/sentdm/models/user_list_response.rbs +233 -15
  167. data/sig/sentdm/models/user_remove_params.rbs +10 -6
  168. data/sig/sentdm/models/user_retrieve_response.rbs +177 -0
  169. data/sig/sentdm/models/user_update_role_response.rbs +177 -0
  170. data/sig/sentdm/models/webhook_create_response.rbs +208 -0
  171. data/sig/sentdm/models/webhook_list_event_types_response.rbs +203 -15
  172. data/sig/sentdm/models/webhook_list_events_response.rbs +142 -14
  173. data/sig/sentdm/models/webhook_list_response.rbs +255 -20
  174. data/sig/sentdm/models/webhook_retrieve_response.rbs +208 -0
  175. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +17 -8
  176. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +71 -9
  177. data/sig/sentdm/models/webhook_test_response.rbs +71 -9
  178. data/sig/sentdm/models/webhook_toggle_status_response.rbs +208 -0
  179. data/sig/sentdm/models/webhook_update_response.rbs +208 -0
  180. data/sig/sentdm/models.rbs +0 -52
  181. data/sig/sentdm/resources/contacts.rbs +4 -4
  182. data/sig/sentdm/resources/conversations.rbs +2 -2
  183. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  184. data/sig/sentdm/resources/profiles.rbs +11 -11
  185. data/sig/sentdm/resources/templates.rbs +3 -3
  186. data/sig/sentdm/resources/users.rbs +3 -3
  187. data/sig/sentdm/resources/webhooks.rbs +4 -4
  188. metadata +68 -98
  189. data/lib/sentdm/models/api_meta.rb +0 -34
  190. data/lib/sentdm/models/api_response_of_contact.rb +0 -46
  191. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +0 -43
  192. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +0 -43
  193. data/lib/sentdm/models/api_response_of_profile_detail.rb +0 -43
  194. data/lib/sentdm/models/api_response_of_user.rb +0 -43
  195. data/lib/sentdm/models/api_response_template.rb +0 -43
  196. data/lib/sentdm/models/api_response_webhook.rb +0 -43
  197. data/lib/sentdm/models/billing_contact_info.rb +0 -47
  198. data/lib/sentdm/models/brand_business_info.rb +0 -114
  199. data/lib/sentdm/models/brand_compliance_info.rb +0 -67
  200. data/lib/sentdm/models/brand_contact_info.rb +0 -58
  201. data/lib/sentdm/models/brands_brand_data.rb +0 -34
  202. data/lib/sentdm/models/contact_message_summary.rb +0 -76
  203. data/lib/sentdm/models/contact_response.rb +0 -126
  204. data/lib/sentdm/models/conversation_messages_list.rb +0 -245
  205. data/lib/sentdm/models/error_detail.rb +0 -42
  206. data/lib/sentdm/models/mutation_request.rb +0 -20
  207. data/lib/sentdm/models/pagination_meta.rb +0 -80
  208. data/lib/sentdm/models/payment_details.rb +0 -44
  209. data/lib/sentdm/models/profile_detail.rb +0 -605
  210. data/lib/sentdm/models/profile_settings.rb +0 -66
  211. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +0 -45
  212. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +0 -45
  213. data/lib/sentdm/models/profiles/brand_campaign.rb +0 -247
  214. data/lib/sentdm/models/profiles/campaign_data.rb +0 -130
  215. data/lib/sentdm/models/profiles/campaign_use_case.rb +0 -71
  216. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +0 -29
  217. data/lib/sentdm/models/template.rb +0 -90
  218. data/lib/sentdm/models/user_response.rb +0 -82
  219. data/lib/sentdm/models/webhook_event_type.rb +0 -45
  220. data/lib/sentdm/models/webhook_response.rb +0 -95
  221. data/rbi/sentdm/models/api_meta.rbi +0 -55
  222. data/rbi/sentdm/models/api_response_of_contact.rbi +0 -74
  223. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +0 -79
  224. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +0 -79
  225. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +0 -74
  226. data/rbi/sentdm/models/api_response_of_user.rbi +0 -74
  227. data/rbi/sentdm/models/api_response_template.rbi +0 -74
  228. data/rbi/sentdm/models/api_response_webhook.rbi +0 -74
  229. data/rbi/sentdm/models/billing_contact_info.rbi +0 -65
  230. data/rbi/sentdm/models/brand_business_info.rbi +0 -162
  231. data/rbi/sentdm/models/brand_compliance_info.rbi +0 -84
  232. data/rbi/sentdm/models/brand_contact_info.rbi +0 -78
  233. data/rbi/sentdm/models/brands_brand_data.rbi +0 -65
  234. data/rbi/sentdm/models/contact_message_summary.rbi +0 -144
  235. data/rbi/sentdm/models/contact_response.rbi +0 -183
  236. data/rbi/sentdm/models/conversation_messages_list.rbi +0 -419
  237. data/rbi/sentdm/models/error_detail.rbi +0 -66
  238. data/rbi/sentdm/models/mutation_request.rbi +0 -32
  239. data/rbi/sentdm/models/pagination_meta.rbi +0 -135
  240. data/rbi/sentdm/models/payment_details.rbi +0 -59
  241. data/rbi/sentdm/models/profile_detail.rbi +0 -872
  242. data/rbi/sentdm/models/profile_settings.rbi +0 -86
  243. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +0 -81
  244. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +0 -76
  245. data/rbi/sentdm/models/profiles/brand_campaign.rbi +0 -299
  246. data/rbi/sentdm/models/profiles/campaign_data.rbi +0 -146
  247. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +0 -110
  248. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +0 -51
  249. data/rbi/sentdm/models/template.rbi +0 -129
  250. data/rbi/sentdm/models/user_response.rbi +0 -118
  251. data/rbi/sentdm/models/webhook_event_type.rbi +0 -74
  252. data/rbi/sentdm/models/webhook_response.rbi +0 -140
  253. data/sig/sentdm/models/api_meta.rbs +0 -27
  254. data/sig/sentdm/models/api_response_of_contact.rbs +0 -39
  255. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +0 -39
  256. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +0 -39
  257. data/sig/sentdm/models/api_response_of_profile_detail.rbs +0 -39
  258. data/sig/sentdm/models/api_response_of_user.rbs +0 -39
  259. data/sig/sentdm/models/api_response_template.rbs +0 -39
  260. data/sig/sentdm/models/api_response_webhook.rbs +0 -39
  261. data/sig/sentdm/models/billing_contact_info.rbs +0 -30
  262. data/sig/sentdm/models/brand_business_info.rbs +0 -89
  263. data/sig/sentdm/models/brand_compliance_info.rbs +0 -50
  264. data/sig/sentdm/models/brand_contact_info.rbs +0 -45
  265. data/sig/sentdm/models/brands_brand_data.rbs +0 -30
  266. data/sig/sentdm/models/contact_message_summary.rbs +0 -84
  267. data/sig/sentdm/models/contact_response.rbs +0 -111
  268. data/sig/sentdm/models/conversation_messages_list.rbs +0 -240
  269. data/sig/sentdm/models/error_detail.rbs +0 -39
  270. data/sig/sentdm/models/mutation_request.rbs +0 -15
  271. data/sig/sentdm/models/pagination_meta.rbs +0 -67
  272. data/sig/sentdm/models/payment_details.rbs +0 -30
  273. data/sig/sentdm/models/profile_detail.rbs +0 -469
  274. data/sig/sentdm/models/profile_settings.rbs +0 -50
  275. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +0 -41
  276. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +0 -41
  277. data/sig/sentdm/models/profiles/brand_campaign.rbs +0 -194
  278. data/sig/sentdm/models/profiles/campaign_data.rbs +0 -87
  279. data/sig/sentdm/models/profiles/campaign_use_case.rbs +0 -66
  280. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +0 -27
  281. data/sig/sentdm/models/template.rbs +0 -79
  282. data/sig/sentdm/models/user_response.rbs +0 -72
  283. data/sig/sentdm/models/webhook_event_type.rbs +0 -51
  284. 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
@@ -8,6 +8,15 @@ module Sentdm
8
8
  T.any(Sentdm::TemplateEventPayload, Sentdm::Internal::AnyHash)
9
9
  end
10
10
 
11
+ # The review status the template just reached, for example APPROVED or REJECTED.
12
+ sig { returns(String) }
13
+ attr_accessor :status
14
+
15
+ # The template's identifier with Meta, assigned when the template is submitted for
16
+ # review.
17
+ sig { returns(String) }
18
+ attr_accessor :whatsapp_template_id
19
+
11
20
  # The account the template belongs to.
12
21
  sig { returns(T.nilable(String)) }
13
22
  attr_reader :account_id
@@ -41,13 +50,6 @@ module Sentdm
41
50
  sig { returns(T.nilable(String)) }
42
51
  attr_accessor :reason
43
52
 
44
- # The review status the template just reached, for example APPROVED or REJECTED.
45
- sig { returns(T.nilable(String)) }
46
- attr_reader :status
47
-
48
- sig { params(status: String).void }
49
- attr_writer :status
50
-
51
53
  # The template in Sent.
52
54
  sig { returns(T.nilable(String)) }
53
55
  attr_reader :template_id
@@ -62,30 +64,27 @@ module Sentdm
62
64
  sig { params(template_name: String).void }
63
65
  attr_writer :template_name
64
66
 
65
- # The template's identifier with Meta, assigned when the template is submitted for
66
- # review.
67
- sig { returns(T.nilable(String)) }
68
- attr_reader :whatsapp_template_id
69
-
70
- sig { params(whatsapp_template_id: String).void }
71
- attr_writer :whatsapp_template_id
72
-
73
67
  # Body of a template status event. Delivered when a template's review outcome
74
68
  # changes, so you can react without polling.
75
69
  sig do
76
70
  params(
71
+ status: String,
72
+ whatsapp_template_id: String,
77
73
  account_id: String,
78
74
  category: String,
79
75
  channel: String,
80
76
  language: String,
81
77
  reason: T.nilable(String),
82
- status: String,
83
78
  template_id: String,
84
- template_name: String,
85
- whatsapp_template_id: String
79
+ template_name: String
86
80
  ).returns(T.attached_class)
87
81
  end
88
82
  def self.new(
83
+ # The review status the template just reached, for example APPROVED or REJECTED.
84
+ status:,
85
+ # The template's identifier with Meta, assigned when the template is submitted for
86
+ # review.
87
+ whatsapp_template_id:,
89
88
  # The account the template belongs to.
90
89
  account_id: nil,
91
90
  # The template's category, for example UTILITY, MARKETING, or AUTHENTICATION.
@@ -97,30 +96,25 @@ module Sentdm
97
96
  # Why the template reached Status, when a reason was given. Populated on a
98
97
  # rejection.
99
98
  reason: nil,
100
- # The review status the template just reached, for example APPROVED or REJECTED.
101
- status: nil,
102
99
  # The template in Sent.
103
100
  template_id: nil,
104
101
  # The template's display name.
105
- template_name: nil,
106
- # The template's identifier with Meta, assigned when the template is submitted for
107
- # review.
108
- whatsapp_template_id: nil
102
+ template_name: nil
109
103
  )
110
104
  end
111
105
 
112
106
  sig do
113
107
  override.returns(
114
108
  {
109
+ status: String,
110
+ whatsapp_template_id: String,
115
111
  account_id: String,
116
112
  category: String,
117
113
  channel: String,
118
114
  language: String,
119
115
  reason: T.nilable(String),
120
- status: String,
121
116
  template_id: String,
122
- template_name: String,
123
- whatsapp_template_id: String
117
+ template_name: String
124
118
  }
125
119
  )
126
120
  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,