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
@@ -2,7 +2,13 @@
2
2
 
3
3
  module Sentdm
4
4
  module Resources
5
- # Manage message templates with variable substitution
5
+ # Reusable message bodies with named variables.
6
+ #
7
+ # A template is substituted at send time from the values you pass, so the copy
8
+ # lives here rather than in your application. WhatsApp templates additionally need
9
+ # Meta's approval before they can be sent, and a template's channel status reports
10
+ # where that stands — an approved SMS template and an unapproved WhatsApp one are
11
+ # the same template in two states.
6
12
  class Templates
7
13
  # Some parameter documentations has been truncated, see
8
14
  # {Sentdm::Models::TemplateCreateParams} for more details.
@@ -31,7 +37,7 @@ module Sentdm
31
37
  #
32
38
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
33
39
  #
34
- # @return [Sentdm::Models::APIResponseTemplate]
40
+ # @return [Sentdm::Models::TemplateCreateResponse]
35
41
  #
36
42
  # @see Sentdm::Models::TemplateCreateParams
37
43
  def create(params = {})
@@ -42,7 +48,7 @@ module Sentdm
42
48
  path: "v3/templates",
43
49
  headers: parsed.slice(*header_params.keys).transform_keys(header_params),
44
50
  body: parsed.except(*header_params.keys),
45
- model: Sentdm::APIResponseTemplate,
51
+ model: Sentdm::Models::TemplateCreateResponse,
46
52
  options: options
47
53
  )
48
54
  end
@@ -61,7 +67,7 @@ module Sentdm
61
67
  #
62
68
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
63
69
  #
64
- # @return [Sentdm::Models::APIResponseTemplate]
70
+ # @return [Sentdm::Models::TemplateRetrieveResponse]
65
71
  #
66
72
  # @see Sentdm::Models::TemplateRetrieveParams
67
73
  def retrieve(id, params = {})
@@ -70,7 +76,7 @@ module Sentdm
70
76
  method: :get,
71
77
  path: ["v3/templates/%1$s", id],
72
78
  headers: parsed.transform_keys(x_profile_id: "x-profile-id"),
73
- model: Sentdm::APIResponseTemplate,
79
+ model: Sentdm::Models::TemplateRetrieveResponse,
74
80
  options: options
75
81
  )
76
82
  end
@@ -103,7 +109,7 @@ module Sentdm
103
109
  #
104
110
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
105
111
  #
106
- # @return [Sentdm::Models::APIResponseTemplate]
112
+ # @return [Sentdm::Models::TemplateUpdateResponse]
107
113
  #
108
114
  # @see Sentdm::Models::TemplateUpdateParams
109
115
  def update(id, params = {})
@@ -114,7 +120,7 @@ module Sentdm
114
120
  path: ["v3/templates/%1$s", id],
115
121
  headers: parsed.slice(*header_params.keys).transform_keys(header_params),
116
122
  body: parsed.except(*header_params.keys),
117
- model: Sentdm::APIResponseTemplate,
123
+ model: Sentdm::Models::TemplateUpdateResponse,
118
124
  options: options
119
125
  )
120
126
  end
@@ -133,7 +139,7 @@ module Sentdm
133
139
  #
134
140
  # @param category [String, nil] Query param: Optional category filter: MARKETING, UTILITY, AUTHENTICATION
135
141
  #
136
- # @param is_welcome_playground [Boolean, nil] Query param: Optional filter by welcome playground flag
142
+ # @param is_welcome_playground [Boolean, nil] Query param: Accepted and ignored. It used to filter on the welcome-playground m
137
143
  #
138
144
  # @param search [String, nil] Query param: Optional search term for filtering templates
139
145
  #
@@ -2,7 +2,12 @@
2
2
 
3
3
  module Sentdm
4
4
  module Resources
5
- # Invite, update, and manage organization users and roles
5
+ # The people who can sign in to your organization, and what each may do.
6
+ #
7
+ # Users are dashboard access and nothing else — they do not send, and removing one
8
+ # does not affect traffic. An API key is not a user: it belongs to the
9
+ # organization or to a sender profile, so revoking a person's access leaves your
10
+ # integration running.
6
11
  class Users
7
12
  # Some parameter documentations has been truncated, see
8
13
  # {Sentdm::Models::UserRetrieveParams} for more details.
@@ -18,7 +23,7 @@ module Sentdm
18
23
  #
19
24
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
20
25
  #
21
- # @return [Sentdm::Models::APIResponseOfUser]
26
+ # @return [Sentdm::Models::UserRetrieveResponse]
22
27
  #
23
28
  # @see Sentdm::Models::UserRetrieveParams
24
29
  def retrieve(user_id, params = {})
@@ -27,7 +32,7 @@ module Sentdm
27
32
  method: :get,
28
33
  path: ["v3/users/%1$s", user_id],
29
34
  headers: parsed.transform_keys(x_profile_id: "x-profile-id"),
30
- model: Sentdm::APIResponseOfUser,
35
+ model: Sentdm::Models::UserRetrieveResponse,
31
36
  options: options
32
37
  )
33
38
  end
@@ -82,7 +87,7 @@ module Sentdm
82
87
  #
83
88
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
84
89
  #
85
- # @return [Sentdm::Models::APIResponseOfUser]
90
+ # @return [Sentdm::Models::UserInviteResponse]
86
91
  #
87
92
  # @see Sentdm::Models::UserInviteParams
88
93
  def invite(params = {})
@@ -93,7 +98,7 @@ module Sentdm
93
98
  path: "v3/users",
94
99
  headers: parsed.slice(*header_params.keys).transform_keys(header_params),
95
100
  body: parsed.except(*header_params.keys),
96
- model: Sentdm::APIResponseOfUser,
101
+ model: Sentdm::Models::UserInviteResponse,
97
102
  options: options
98
103
  )
99
104
  end
@@ -150,7 +155,7 @@ module Sentdm
150
155
  #
151
156
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
152
157
  #
153
- # @return [Sentdm::Models::APIResponseOfUser]
158
+ # @return [Sentdm::Models::UserUpdateRoleResponse]
154
159
  #
155
160
  # @see Sentdm::Models::UserUpdateRoleParams
156
161
  def update_role(user_id, params = {})
@@ -161,7 +166,7 @@ module Sentdm
161
166
  path: ["v3/users/%1$s", user_id],
162
167
  headers: parsed.slice(*header_params.keys).transform_keys(header_params),
163
168
  body: parsed.except(*header_params.keys),
164
- model: Sentdm::APIResponseOfUser,
169
+ model: Sentdm::Models::UserUpdateRoleResponse,
165
170
  options: options
166
171
  )
167
172
  end
@@ -2,7 +2,17 @@
2
2
 
3
3
  module Sentdm
4
4
  module Resources
5
- # Configure webhook endpoints for real-time event delivery
5
+ # Delivery reports and inbound messages, pushed to you.
6
+ #
7
+ # Subscribe an endpoint to the event types you care about —
8
+ # `GET /v3/webhooks/event-types` lists them — and we POST each one as it happens,
9
+ # retrying on failure. Polling `GET /v3/messages/{id}` works and does not scale.
10
+ #
11
+ # **Verify the signature.** Every delivery is signed with your endpoint's secret;
12
+ # an unverified endpoint is one anybody can post to. `rotate-secret` replaces it,
13
+ # `test` sends a specimen event, and `GET /v3/webhooks/{id}/events` shows what we
14
+ # tried to deliver and what your endpoint answered — which is the first place to
15
+ # look when something appears to be missing.
6
16
  class Webhooks
7
17
  # Some parameter documentations has been truncated, see
8
18
  # {Sentdm::Models::WebhookCreateParams} for more details.
@@ -31,7 +41,7 @@ module Sentdm
31
41
  #
32
42
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
33
43
  #
34
- # @return [Sentdm::Models::APIResponseWebhook]
44
+ # @return [Sentdm::Models::WebhookCreateResponse]
35
45
  #
36
46
  # @see Sentdm::Models::WebhookCreateParams
37
47
  def create(params = {})
@@ -42,7 +52,7 @@ module Sentdm
42
52
  path: "v3/webhooks",
43
53
  headers: parsed.slice(*header_params.keys).transform_keys(header_params),
44
54
  body: parsed.except(*header_params.keys),
45
- model: Sentdm::APIResponseWebhook,
55
+ model: Sentdm::Models::WebhookCreateResponse,
46
56
  options: options
47
57
  )
48
58
  end
@@ -60,7 +70,7 @@ module Sentdm
60
70
  #
61
71
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
62
72
  #
63
- # @return [Sentdm::Models::APIResponseWebhook]
73
+ # @return [Sentdm::Models::WebhookRetrieveResponse]
64
74
  #
65
75
  # @see Sentdm::Models::WebhookRetrieveParams
66
76
  def retrieve(id, params = {})
@@ -69,7 +79,7 @@ module Sentdm
69
79
  method: :get,
70
80
  path: ["v3/webhooks/%1$s", id],
71
81
  headers: parsed.transform_keys(x_profile_id: "x-profile-id"),
72
- model: Sentdm::APIResponseWebhook,
82
+ model: Sentdm::Models::WebhookRetrieveResponse,
73
83
  options: options
74
84
  )
75
85
  end
@@ -103,7 +113,7 @@ module Sentdm
103
113
  #
104
114
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
105
115
  #
106
- # @return [Sentdm::Models::APIResponseWebhook]
116
+ # @return [Sentdm::Models::WebhookUpdateResponse]
107
117
  #
108
118
  # @see Sentdm::Models::WebhookUpdateParams
109
119
  def update(id, params = {})
@@ -114,7 +124,7 @@ module Sentdm
114
124
  path: ["v3/webhooks/%1$s", id],
115
125
  headers: parsed.slice(*header_params.keys).transform_keys(header_params),
116
126
  body: parsed.except(*header_params.keys),
117
- model: Sentdm::APIResponseWebhook,
127
+ model: Sentdm::Models::WebhookUpdateResponse,
118
128
  options: options
119
129
  )
120
130
  end
@@ -331,7 +341,7 @@ module Sentdm
331
341
  #
332
342
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
333
343
  #
334
- # @return [Sentdm::Models::APIResponseWebhook]
344
+ # @return [Sentdm::Models::WebhookToggleStatusResponse]
335
345
  #
336
346
  # @see Sentdm::Models::WebhookToggleStatusParams
337
347
  def toggle_status(id, params = {})
@@ -342,7 +352,7 @@ module Sentdm
342
352
  path: ["v3/webhooks/%1$s/toggle-status", id],
343
353
  headers: parsed.slice(*header_params.keys).transform_keys(header_params),
344
354
  body: parsed.except(*header_params.keys),
345
- model: Sentdm::APIResponseWebhook,
355
+ model: Sentdm::Models::WebhookToggleStatusResponse,
346
356
  options: options
347
357
  )
348
358
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sentdm
4
- VERSION = "0.27.0"
4
+ VERSION = "0.28.0"
5
5
  end
data/lib/sentdm.rb CHANGED
@@ -52,35 +52,23 @@ require_relative "sentdm/errors"
52
52
  require_relative "sentdm/internal/transport/base_client"
53
53
  require_relative "sentdm/internal/transport/pooled_net_requester"
54
54
  require_relative "sentdm/client"
55
- require_relative "sentdm/models/mutation_request"
56
- require_relative "sentdm/models/api_meta"
57
- require_relative "sentdm/models/api_response_of_contact"
58
- require_relative "sentdm/models/api_response_of_contact_message_summary"
59
- require_relative "sentdm/models/api_response_of_conversation_messages_list"
60
- require_relative "sentdm/models/api_response_of_profile_detail"
61
- require_relative "sentdm/models/api_response_of_user"
62
- require_relative "sentdm/models/api_response_template"
63
- require_relative "sentdm/models/api_response_webhook"
64
55
  require_relative "sentdm/models/authentication_config"
65
- require_relative "sentdm/models/billing_contact_info"
66
- require_relative "sentdm/models/brand_business_info"
67
- require_relative "sentdm/models/brand_compliance_info"
68
- require_relative "sentdm/models/brand_contact_info"
69
- require_relative "sentdm/models/brands_brand_data"
70
56
  require_relative "sentdm/models/contact_create_params"
57
+ require_relative "sentdm/models/contact_create_response"
71
58
  require_relative "sentdm/models/contact_delete_params"
72
59
  require_relative "sentdm/models/contact_list_params"
73
60
  require_relative "sentdm/models/contact_list_response"
74
- require_relative "sentdm/models/contact_message_summary"
75
- require_relative "sentdm/models/contact_response"
76
61
  require_relative "sentdm/models/contact_retrieve_message_summary_params"
62
+ require_relative "sentdm/models/contact_retrieve_message_summary_response"
77
63
  require_relative "sentdm/models/contact_retrieve_params"
64
+ require_relative "sentdm/models/contact_retrieve_response"
78
65
  require_relative "sentdm/models/contact_update_params"
66
+ require_relative "sentdm/models/contact_update_response"
79
67
  require_relative "sentdm/models/conversation_list_messages_params"
68
+ require_relative "sentdm/models/conversation_list_messages_response"
80
69
  require_relative "sentdm/models/conversation_list_params"
81
- require_relative "sentdm/models/conversation_messages_list"
70
+ require_relative "sentdm/models/conversation_list_response"
82
71
  require_relative "sentdm/models/destination_country"
83
- require_relative "sentdm/models/error_detail"
84
72
  require_relative "sentdm/models/inbound_message_event"
85
73
  require_relative "sentdm/models/inbound_message_event_payload"
86
74
  require_relative "sentdm/models/me_retrieve_params"
@@ -95,37 +83,33 @@ require_relative "sentdm/models/message_send_params"
95
83
  require_relative "sentdm/models/message_send_response"
96
84
  require_relative "sentdm/models/number_lookup_params"
97
85
  require_relative "sentdm/models/number_lookup_response"
98
- require_relative "sentdm/models/pagination_meta"
99
- require_relative "sentdm/models/payment_details"
100
86
  require_relative "sentdm/models/profile_complete_params"
101
87
  require_relative "sentdm/models/profile_complete_response"
102
88
  require_relative "sentdm/models/profile_create_params"
89
+ require_relative "sentdm/models/profile_create_response"
103
90
  require_relative "sentdm/models/profile_delete_params"
104
- require_relative "sentdm/models/profile_detail"
105
91
  require_relative "sentdm/models/profile_list_params"
106
92
  require_relative "sentdm/models/profile_list_response"
107
93
  require_relative "sentdm/models/profile_retrieve_params"
108
- require_relative "sentdm/models/profiles/api_response_of_brand_campaign"
109
- require_relative "sentdm/models/profiles/api_response_of_list_of_brand_campaign"
110
- require_relative "sentdm/models/profiles/brand_campaign"
94
+ require_relative "sentdm/models/profile_retrieve_response"
111
95
  require_relative "sentdm/models/profiles/campaign_create_params"
112
- require_relative "sentdm/models/profiles/campaign_data"
96
+ require_relative "sentdm/models/profiles/campaign_create_response"
113
97
  require_relative "sentdm/models/profiles/campaign_delete_params"
114
98
  require_relative "sentdm/models/profiles/campaign_list_params"
99
+ require_relative "sentdm/models/profiles/campaign_list_response"
115
100
  require_relative "sentdm/models/profiles/campaign_update_params"
116
- require_relative "sentdm/models/profiles/campaign_use_case"
117
- require_relative "sentdm/models/profiles/campaign_use_case_data"
101
+ require_relative "sentdm/models/profiles/campaign_update_response"
118
102
  require_relative "sentdm/models/profiles/messaging_use_case_us"
119
- require_relative "sentdm/models/profile_settings"
120
103
  require_relative "sentdm/models/profile_update_params"
104
+ require_relative "sentdm/models/profile_update_response"
121
105
  require_relative "sentdm/models/tcr_brand_relationship"
122
106
  require_relative "sentdm/models/tcr_vertical"
123
- require_relative "sentdm/models/template"
124
107
  require_relative "sentdm/models/template_body"
125
108
  require_relative "sentdm/models/template_body_content"
126
109
  require_relative "sentdm/models/template_button"
127
110
  require_relative "sentdm/models/template_button_props"
128
111
  require_relative "sentdm/models/template_create_params"
112
+ require_relative "sentdm/models/template_create_response"
129
113
  require_relative "sentdm/models/template_definition"
130
114
  require_relative "sentdm/models/template_delete_params"
131
115
  require_relative "sentdm/models/template_event"
@@ -135,32 +119,38 @@ require_relative "sentdm/models/template_header"
135
119
  require_relative "sentdm/models/template_list_params"
136
120
  require_relative "sentdm/models/template_list_response"
137
121
  require_relative "sentdm/models/template_retrieve_params"
122
+ require_relative "sentdm/models/template_retrieve_response"
138
123
  require_relative "sentdm/models/template_update_params"
124
+ require_relative "sentdm/models/template_update_response"
139
125
  require_relative "sentdm/models/template_variable"
140
126
  require_relative "sentdm/models/user_invite_params"
127
+ require_relative "sentdm/models/user_invite_response"
141
128
  require_relative "sentdm/models/user_list_params"
142
129
  require_relative "sentdm/models/user_list_response"
143
130
  require_relative "sentdm/models/user_remove_params"
144
- require_relative "sentdm/models/user_response"
145
131
  require_relative "sentdm/models/user_retrieve_params"
132
+ require_relative "sentdm/models/user_retrieve_response"
146
133
  require_relative "sentdm/models/user_update_role_params"
134
+ require_relative "sentdm/models/user_update_role_response"
147
135
  require_relative "sentdm/models/webhook_create_params"
136
+ require_relative "sentdm/models/webhook_create_response"
148
137
  require_relative "sentdm/models/webhook_delete_params"
149
- require_relative "sentdm/models/webhook_event_type"
150
138
  require_relative "sentdm/models/webhook_list_events_params"
151
139
  require_relative "sentdm/models/webhook_list_events_response"
152
140
  require_relative "sentdm/models/webhook_list_event_types_params"
153
141
  require_relative "sentdm/models/webhook_list_event_types_response"
154
142
  require_relative "sentdm/models/webhook_list_params"
155
143
  require_relative "sentdm/models/webhook_list_response"
156
- require_relative "sentdm/models/webhook_response"
157
144
  require_relative "sentdm/models/webhook_retrieve_params"
145
+ require_relative "sentdm/models/webhook_retrieve_response"
158
146
  require_relative "sentdm/models/webhook_rotate_secret_params"
159
147
  require_relative "sentdm/models/webhook_rotate_secret_response"
160
148
  require_relative "sentdm/models/webhook_test_params"
161
149
  require_relative "sentdm/models/webhook_test_response"
162
150
  require_relative "sentdm/models/webhook_toggle_status_params"
151
+ require_relative "sentdm/models/webhook_toggle_status_response"
163
152
  require_relative "sentdm/models/webhook_update_params"
153
+ require_relative "sentdm/models/webhook_update_response"
164
154
  require_relative "sentdm/models"
165
155
  require_relative "sentdm/resources/contacts"
166
156
  require_relative "sentdm/resources/conversations"
@@ -15,38 +15,101 @@ module Sentdm
15
15
  sig { returns(String) }
16
16
  attr_reader :api_key
17
17
 
18
- # Configure webhook endpoints for real-time event delivery
18
+ # Delivery reports and inbound messages, pushed to you.
19
+ #
20
+ # Subscribe an endpoint to the event types you care about —
21
+ # `GET /v3/webhooks/event-types` lists them — and we POST each one as it happens,
22
+ # retrying on failure. Polling `GET /v3/messages/{id}` works and does not scale.
23
+ #
24
+ # **Verify the signature.** Every delivery is signed with your endpoint's secret;
25
+ # an unverified endpoint is one anybody can post to. `rotate-secret` replaces it,
26
+ # `test` sends a specimen event, and `GET /v3/webhooks/{id}/events` shows what we
27
+ # tried to deliver and what your endpoint answered — which is the first place to
28
+ # look when something appears to be missing.
19
29
  sig { returns(Sentdm::Resources::Webhooks) }
20
30
  attr_reader :webhooks
21
31
 
22
- # Invite, update, and manage organization users and roles
32
+ # The people who can sign in to your organization, and what each may do.
33
+ #
34
+ # Users are dashboard access and nothing else — they do not send, and removing one
35
+ # does not affect traffic. An API key is not a user: it belongs to the
36
+ # organization or to a sender profile, so revoking a person's access leaves your
37
+ # integration running.
23
38
  sig { returns(Sentdm::Resources::Users) }
24
39
  attr_reader :users
25
40
 
26
- # Manage message templates with variable substitution
41
+ # Reusable message bodies with named variables.
42
+ #
43
+ # A template is substituted at send time from the values you pass, so the copy
44
+ # lives here rather than in your application. WhatsApp templates additionally need
45
+ # Meta's approval before they can be sent, and a template's channel status reports
46
+ # where that stands — an approved SMS template and an unapproved WhatsApp one are
47
+ # the same template in two states.
27
48
  sig { returns(Sentdm::Resources::Templates) }
28
49
  attr_reader :templates
29
50
 
30
- # Manage organization profiles
51
+ # **Deprecated use Sender Profiles.**
52
+ #
53
+ # The original profile resource, kept because it has live callers. It still works,
54
+ # and its replacement is `/v3/sender-profiles`, which takes the identity and the
55
+ # campaign in one call instead of across three.
56
+ #
57
+ # New integrations should not start here.
31
58
  sig { returns(Sentdm::Resources::Profiles) }
32
59
  attr_reader :profiles
33
60
 
34
- # Manage and lookup phone numbers
61
+ # What a phone number actually is, before you send to it.
62
+ #
63
+ # A lookup returns the number's country, line type and carrier, which is what
64
+ # decides whether it is reachable on a channel and what it costs. Worth doing on
65
+ # import rather than on send: a landline in a contact list is a message that can
66
+ # never be delivered.
35
67
  sig { returns(Sentdm::Resources::Numbers) }
36
68
  attr_reader :numbers
37
69
 
38
- # Send and track SMS and WhatsApp messages
70
+ # Send a message and follow what happened to it.
71
+ #
72
+ # One endpoint sends on any channel: pass `channel: "sent"` and we pick between
73
+ # SMS, WhatsApp and RCS per recipient using your routing rules, or name a channel
74
+ # to pin it. A send is accepted asynchronously — `POST /v3/messages` returns an
75
+ # id, and delivery is reported through `GET /v3/messages/{id}`, its activities, or
76
+ # a webhook.
77
+ #
78
+ # **A message needs a sender.** What you can send, where, and at what cost is
79
+ # decided by the markets under **Channels** — so a recipient in a country you hold
80
+ # no sender for is refused here rather than queued.
39
81
  sig { returns(Sentdm::Resources::Messages) }
40
82
  attr_reader :messages
41
83
 
42
- # Create, update, and manage customer contact lists
84
+ # The people you message, and their channel identities.
85
+ #
86
+ # A contact holds one identity per channel — a phone number, a WhatsApp number —
87
+ # so routing can choose between them for the same person. Opt-out is recorded
88
+ # against the contact and honoured on every send, whichever channel it came
89
+ # through.
90
+ #
91
+ # `GET /v3/contacts/{id}/message-summary` is the per-contact view of what you have
92
+ # sent and what happened to it.
43
93
  sig { returns(Sentdm::Resources::Contacts) }
44
94
  attr_reader :contacts
45
95
 
96
+ # Inbound and outbound messages, grouped by the person they are with.
97
+ #
98
+ # A conversation is the thread for one contact across every channel — a reply by
99
+ # SMS and one by WhatsApp belong to the same conversation, because they are the
100
+ # same person talking to you.
101
+ #
102
+ # Read-only. Sending is **Messages**; a reply arrives here and through your
103
+ # webhooks.
46
104
  sig { returns(Sentdm::Resources::Conversations) }
47
105
  attr_reader :conversations
48
106
 
49
- # Retrieve account details
107
+ # Who the current key is.
108
+ #
109
+ # `GET /v3/me` answers with the account the key authenticates as, which is the
110
+ # quickest way to tell a live key from a test one, an organization key from a
111
+ # sender profile's, and to confirm `x-profile-id` resolved to the profile you
112
+ # meant.
50
113
  sig { returns(Sentdm::Resources::Me) }
51
114
  attr_reader :me
52
115