sentdm 0.3.0 → 0.4.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 (217) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +18 -9
  4. data/lib/sentdm/client.rb +7 -0
  5. data/lib/sentdm/internal/util.rb +31 -0
  6. data/lib/sentdm/models/api_meta.rb +1 -9
  7. data/lib/sentdm/models/brand_data.rb +235 -198
  8. data/lib/sentdm/models/brand_with_kyc.rb +249 -214
  9. data/lib/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rb +0 -1
  10. data/lib/sentdm/models/contact_create_params.rb +13 -6
  11. data/lib/sentdm/models/contact_delete_params.rb +15 -1
  12. data/lib/sentdm/models/contact_list_params.rb +10 -2
  13. data/lib/sentdm/models/contact_retrieve_params.rb +13 -1
  14. data/lib/sentdm/models/contact_update_params.rb +20 -6
  15. data/lib/sentdm/models/me_retrieve_params.rb +7 -1
  16. data/lib/sentdm/models/me_retrieve_response.rb +152 -7
  17. data/lib/sentdm/models/message_retrieve_activities_params.rb +13 -1
  18. data/lib/sentdm/models/message_retrieve_activities_response.rb +19 -5
  19. data/lib/sentdm/models/message_retrieve_status_params.rb +13 -1
  20. data/lib/sentdm/models/message_retrieve_status_response.rb +8 -1
  21. data/lib/sentdm/models/message_send_params.rb +17 -10
  22. data/lib/sentdm/models/mutation_request.rb +6 -6
  23. data/lib/sentdm/models/profile_complete_params.rb +20 -6
  24. data/lib/sentdm/models/profile_create_params.rb +192 -10
  25. data/lib/sentdm/models/profile_delete_params.rb +21 -14
  26. data/lib/sentdm/models/profile_detail.rb +144 -95
  27. data/lib/sentdm/models/profile_list_params.rb +7 -1
  28. data/lib/sentdm/models/profile_retrieve_params.rb +13 -1
  29. data/lib/sentdm/models/profile_update_params.rb +146 -19
  30. data/lib/sentdm/models/template_create_params.rb +17 -10
  31. data/lib/sentdm/models/template_delete_params.rb +20 -6
  32. data/lib/sentdm/models/template_list_params.rb +18 -2
  33. data/lib/sentdm/models/template_retrieve_params.rb +13 -1
  34. data/lib/sentdm/models/template_update_params.rb +24 -10
  35. data/lib/sentdm/models/template_variable.rb +7 -1
  36. data/lib/sentdm/models/user_invite_params.rb +13 -6
  37. data/lib/sentdm/models/user_list_params.rb +7 -1
  38. data/lib/sentdm/models/user_remove_params.rb +20 -13
  39. data/lib/sentdm/models/user_retrieve_params.rb +13 -1
  40. data/lib/sentdm/models/user_update_role_params.rb +19 -13
  41. data/lib/sentdm/models/webhook_create_params.rb +13 -6
  42. data/lib/sentdm/models/webhook_delete_params.rb +13 -1
  43. data/lib/sentdm/models/webhook_list_event_types_params.rb +7 -1
  44. data/lib/sentdm/models/webhook_list_events_params.rb +13 -1
  45. data/lib/sentdm/models/webhook_list_params.rb +7 -1
  46. data/lib/sentdm/models/webhook_retrieve_params.rb +13 -1
  47. data/lib/sentdm/models/webhook_rotate_secret_params.rb +13 -1
  48. data/lib/sentdm/models/webhook_test_params.rb +20 -6
  49. data/lib/sentdm/models/webhook_toggle_status_params.rb +20 -6
  50. data/lib/sentdm/models/webhook_update_params.rb +20 -6
  51. data/lib/sentdm/models.rb +0 -12
  52. data/lib/sentdm/resources/brands/campaigns.rb +0 -128
  53. data/lib/sentdm/resources/brands.rb +0 -110
  54. data/lib/sentdm/resources/contacts.rb +44 -19
  55. data/lib/sentdm/resources/lookup.rb +0 -21
  56. data/lib/sentdm/resources/me.rb +25 -5
  57. data/lib/sentdm/resources/messages.rb +25 -8
  58. data/lib/sentdm/resources/profiles.rb +117 -32
  59. data/lib/sentdm/resources/templates.rb +48 -23
  60. data/lib/sentdm/resources/users.rb +41 -23
  61. data/lib/sentdm/resources/webhooks.rb +93 -32
  62. data/lib/sentdm/version.rb +1 -1
  63. data/lib/sentdm.rb +1 -14
  64. data/rbi/sentdm/client.rbi +7 -0
  65. data/rbi/sentdm/internal/util.rbi +20 -0
  66. data/rbi/sentdm/models/api_meta.rbi +4 -18
  67. data/rbi/sentdm/models/brand_data.rbi +326 -203
  68. data/rbi/sentdm/models/brand_with_kyc.rbi +334 -216
  69. data/rbi/sentdm/models/brands/tcr_campaign_with_use_cases.rbi +6 -8
  70. data/rbi/sentdm/models/contact_create_params.rbi +19 -10
  71. data/rbi/sentdm/models/contact_delete_params.rbi +15 -0
  72. data/rbi/sentdm/models/contact_list_params.rbi +11 -0
  73. data/rbi/sentdm/models/contact_retrieve_params.rbi +24 -5
  74. data/rbi/sentdm/models/contact_update_params.rbi +25 -10
  75. data/rbi/sentdm/models/me_retrieve_params.rbi +16 -5
  76. data/rbi/sentdm/models/me_retrieve_response.rbi +316 -16
  77. data/rbi/sentdm/models/message_retrieve_activities_params.rbi +24 -5
  78. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +18 -6
  79. data/rbi/sentdm/models/message_retrieve_status_params.rbi +24 -5
  80. data/rbi/sentdm/models/message_retrieve_status_response.rbi +6 -0
  81. data/rbi/sentdm/models/message_send_params.rbi +22 -13
  82. data/rbi/sentdm/models/mutation_request.rbi +10 -10
  83. data/rbi/sentdm/models/profile_complete_params.rbi +25 -10
  84. data/rbi/sentdm/models/profile_create_params.rbi +323 -15
  85. data/rbi/sentdm/models/profile_delete_params.rbi +38 -20
  86. data/rbi/sentdm/models/profile_detail.rbi +184 -128
  87. data/rbi/sentdm/models/profile_list_params.rbi +16 -5
  88. data/rbi/sentdm/models/profile_retrieve_params.rbi +24 -5
  89. data/rbi/sentdm/models/profile_update_params.rbi +233 -26
  90. data/rbi/sentdm/models/template_create_params.rbi +22 -13
  91. data/rbi/sentdm/models/template_delete_params.rbi +25 -10
  92. data/rbi/sentdm/models/template_list_params.rbi +19 -0
  93. data/rbi/sentdm/models/template_retrieve_params.rbi +24 -5
  94. data/rbi/sentdm/models/template_update_params.rbi +28 -13
  95. data/rbi/sentdm/models/template_variable.rbi +6 -0
  96. data/rbi/sentdm/models/user_invite_params.rbi +19 -10
  97. data/rbi/sentdm/models/user_list_params.rbi +16 -5
  98. data/rbi/sentdm/models/user_remove_params.rbi +37 -19
  99. data/rbi/sentdm/models/user_retrieve_params.rbi +24 -5
  100. data/rbi/sentdm/models/user_update_role_params.rbi +25 -21
  101. data/rbi/sentdm/models/webhook_create_params.rbi +19 -10
  102. data/rbi/sentdm/models/webhook_delete_params.rbi +24 -5
  103. data/rbi/sentdm/models/webhook_list_event_types_params.rbi +16 -5
  104. data/rbi/sentdm/models/webhook_list_events_params.rbi +21 -1
  105. data/rbi/sentdm/models/webhook_list_params.rbi +9 -0
  106. data/rbi/sentdm/models/webhook_retrieve_params.rbi +24 -5
  107. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +20 -1
  108. data/rbi/sentdm/models/webhook_test_params.rbi +25 -10
  109. data/rbi/sentdm/models/webhook_toggle_status_params.rbi +25 -10
  110. data/rbi/sentdm/models/webhook_update_params.rbi +25 -10
  111. data/rbi/sentdm/models.rbi +0 -12
  112. data/rbi/sentdm/resources/brands/campaigns.rbi +0 -94
  113. data/rbi/sentdm/resources/brands.rbi +0 -78
  114. data/rbi/sentdm/resources/contacts.rbi +38 -12
  115. data/rbi/sentdm/resources/lookup.rbi +0 -12
  116. data/rbi/sentdm/resources/me.rbi +26 -7
  117. data/rbi/sentdm/resources/messages.rbi +18 -4
  118. data/rbi/sentdm/resources/profiles.rbi +179 -38
  119. data/rbi/sentdm/resources/templates.rbi +48 -19
  120. data/rbi/sentdm/resources/users.rbi +48 -25
  121. data/rbi/sentdm/resources/webhooks.rbi +93 -20
  122. data/sig/sentdm/internal/util.rbs +10 -0
  123. data/sig/sentdm/models/api_meta.rbs +2 -16
  124. data/sig/sentdm/models/brand_data.rbs +188 -142
  125. data/sig/sentdm/models/brand_with_kyc.rbs +184 -133
  126. data/sig/sentdm/models/contact_create_params.rbs +16 -5
  127. data/sig/sentdm/models/contact_delete_params.rbs +15 -1
  128. data/sig/sentdm/models/contact_list_params.rbs +8 -1
  129. data/sig/sentdm/models/contact_retrieve_params.rbs +18 -3
  130. data/sig/sentdm/models/contact_update_params.rbs +18 -6
  131. data/sig/sentdm/models/me_retrieve_params.rbs +14 -3
  132. data/sig/sentdm/models/me_retrieve_response.rbs +134 -7
  133. data/sig/sentdm/models/message_retrieve_activities_params.rbs +18 -3
  134. data/sig/sentdm/models/message_retrieve_activities_response.rbs +9 -4
  135. data/sig/sentdm/models/message_retrieve_status_params.rbs +18 -3
  136. data/sig/sentdm/models/message_retrieve_status_response.rbs +5 -0
  137. data/sig/sentdm/models/message_send_params.rbs +15 -8
  138. data/sig/sentdm/models/mutation_request.rbs +5 -5
  139. data/sig/sentdm/models/profile_complete_params.rbs +21 -5
  140. data/sig/sentdm/models/profile_create_params.rbs +111 -7
  141. data/sig/sentdm/models/profile_delete_params.rbs +23 -9
  142. data/sig/sentdm/models/profile_detail.rbs +105 -84
  143. data/sig/sentdm/models/profile_list_params.rbs +14 -3
  144. data/sig/sentdm/models/profile_retrieve_params.rbs +18 -3
  145. data/sig/sentdm/models/profile_update_params.rbs +87 -13
  146. data/sig/sentdm/models/template_create_params.rbs +15 -8
  147. data/sig/sentdm/models/template_delete_params.rbs +20 -5
  148. data/sig/sentdm/models/template_list_params.rbs +13 -1
  149. data/sig/sentdm/models/template_retrieve_params.rbs +18 -3
  150. data/sig/sentdm/models/template_update_params.rbs +20 -8
  151. data/sig/sentdm/models/template_variable.rbs +5 -0
  152. data/sig/sentdm/models/user_invite_params.rbs +13 -6
  153. data/sig/sentdm/models/user_list_params.rbs +14 -3
  154. data/sig/sentdm/models/user_remove_params.rbs +23 -9
  155. data/sig/sentdm/models/user_retrieve_params.rbs +18 -3
  156. data/sig/sentdm/models/user_update_role_params.rbs +18 -13
  157. data/sig/sentdm/models/webhook_create_params.rbs +13 -6
  158. data/sig/sentdm/models/webhook_delete_params.rbs +18 -3
  159. data/sig/sentdm/models/webhook_list_event_types_params.rbs +13 -3
  160. data/sig/sentdm/models/webhook_list_events_params.rbs +17 -1
  161. data/sig/sentdm/models/webhook_list_params.rbs +13 -1
  162. data/sig/sentdm/models/webhook_retrieve_params.rbs +18 -3
  163. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +16 -1
  164. data/sig/sentdm/models/webhook_test_params.rbs +21 -5
  165. data/sig/sentdm/models/webhook_toggle_status_params.rbs +21 -5
  166. data/sig/sentdm/models/webhook_update_params.rbs +18 -6
  167. data/sig/sentdm/models.rbs +0 -12
  168. data/sig/sentdm/resources/brands/campaigns.rbs +0 -29
  169. data/sig/sentdm/resources/brands.rbs +0 -25
  170. data/sig/sentdm/resources/contacts.rbs +7 -2
  171. data/sig/sentdm/resources/lookup.rbs +0 -5
  172. data/sig/sentdm/resources/me.rbs +1 -0
  173. data/sig/sentdm/resources/messages.rbs +4 -1
  174. data/sig/sentdm/resources/profiles.rbs +19 -8
  175. data/sig/sentdm/resources/templates.rbs +9 -3
  176. data/sig/sentdm/resources/users.rbs +10 -7
  177. data/sig/sentdm/resources/webhooks.rbs +18 -5
  178. metadata +2 -41
  179. data/lib/sentdm/models/api_response_brand_with_kyc.rb +0 -43
  180. data/lib/sentdm/models/brand_create_params.rb +0 -41
  181. data/lib/sentdm/models/brand_delete_params.rb +0 -27
  182. data/lib/sentdm/models/brand_list_params.rb +0 -14
  183. data/lib/sentdm/models/brand_list_response.rb +0 -43
  184. data/lib/sentdm/models/brand_update_params.rb +0 -41
  185. data/lib/sentdm/models/brands/campaign_create_params.rb +0 -43
  186. data/lib/sentdm/models/brands/campaign_delete_params.rb +0 -36
  187. data/lib/sentdm/models/brands/campaign_list_params.rb +0 -16
  188. data/lib/sentdm/models/brands/campaign_list_response.rb +0 -47
  189. data/lib/sentdm/models/brands/campaign_update_params.rb +0 -50
  190. data/lib/sentdm/models/lookup_retrieve_phone_info_params.rb +0 -14
  191. data/lib/sentdm/models/lookup_retrieve_phone_info_response.rb +0 -104
  192. data/rbi/sentdm/models/api_response_brand_with_kyc.rbi +0 -74
  193. data/rbi/sentdm/models/brand_create_params.rbi +0 -68
  194. data/rbi/sentdm/models/brand_delete_params.rbi +0 -62
  195. data/rbi/sentdm/models/brand_list_params.rbi +0 -27
  196. data/rbi/sentdm/models/brand_list_response.rbi +0 -71
  197. data/rbi/sentdm/models/brand_update_params.rbi +0 -68
  198. data/rbi/sentdm/models/brands/campaign_create_params.rbi +0 -73
  199. data/rbi/sentdm/models/brands/campaign_delete_params.rbi +0 -78
  200. data/rbi/sentdm/models/brands/campaign_list_params.rbi +0 -29
  201. data/rbi/sentdm/models/brands/campaign_list_response.rbi +0 -82
  202. data/rbi/sentdm/models/brands/campaign_update_params.rbi +0 -79
  203. data/rbi/sentdm/models/lookup_retrieve_phone_info_params.rbi +0 -30
  204. data/rbi/sentdm/models/lookup_retrieve_phone_info_response.rbi +0 -183
  205. data/sig/sentdm/models/api_response_brand_with_kyc.rbs +0 -39
  206. data/sig/sentdm/models/brand_create_params.rbs +0 -36
  207. data/sig/sentdm/models/brand_delete_params.rbs +0 -32
  208. data/sig/sentdm/models/brand_list_params.rbs +0 -14
  209. data/sig/sentdm/models/brand_list_response.rbs +0 -39
  210. data/sig/sentdm/models/brand_update_params.rbs +0 -36
  211. data/sig/sentdm/models/brands/campaign_create_params.rbs +0 -42
  212. data/sig/sentdm/models/brands/campaign_delete_params.rbs +0 -38
  213. data/sig/sentdm/models/brands/campaign_list_params.rbs +0 -17
  214. data/sig/sentdm/models/brands/campaign_list_response.rbs +0 -41
  215. data/sig/sentdm/models/brands/campaign_update_params.rbs +0 -47
  216. data/sig/sentdm/models/lookup_retrieve_phone_info_params.rbs +0 -15
  217. data/sig/sentdm/models/lookup_retrieve_phone_info_response.rbs +0 -102
@@ -7,6 +7,11 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute profile_id
11
+ #
12
+ # @return [String]
13
+ required :profile_id, String
14
+
10
15
  # @!attribute allow_contact_sharing
11
16
  # Whether contacts are shared across profiles (optional)
12
17
  #
@@ -25,12 +30,35 @@ module Sentdm
25
30
  # @return [Boolean, nil]
26
31
  optional :allow_template_sharing, Sentdm::Internal::Type::Boolean, nil?: true
27
32
 
33
+ # @!attribute billing_contact
34
+ # Billing contact for this profile. Required when billing_model is "profile" or
35
+ # "profile_and_organization" and no billing contact has been configured yet.
36
+ # Identifies who receives invoices and who is responsible for payment.
37
+ #
38
+ # @return [Sentdm::Models::ProfileUpdateParams::BillingContact, nil]
39
+ optional :billing_contact, -> { Sentdm::ProfileUpdateParams::BillingContact }, nil?: true
40
+
28
41
  # @!attribute billing_model
29
- # Billing model: profile, organization, or profile_and_organization (optional)
42
+ # Billing model: profile, organization, or profile_and_organization (optional).
43
+ #
44
+ # - "organization": the organization's billing details are used; no profile-level
45
+ # billing info needed.
46
+ # - "profile": the profile is billed independently; billing_contact is required.
47
+ # - "profile_and_organization": the profile is billed first with the organization
48
+ # as fallback; billing_contact is required.
30
49
  #
31
50
  # @return [String, nil]
32
51
  optional :billing_model, String, nil?: true
33
52
 
53
+ # @!attribute brand
54
+ # Brand and KYC information for this profile (optional). When provided, creates or
55
+ # updates the brand associated with this profile. Cannot be set when
56
+ # inherit_tcr_brand is true. Once a brand has been submitted to TCR it cannot be
57
+ # modified.
58
+ #
59
+ # @return [Sentdm::Models::BrandData, nil]
60
+ optional :brand, -> { Sentdm::BrandData }, nil?: true
61
+
34
62
  # @!attribute description
35
63
  # Profile description (optional)
36
64
  #
@@ -73,11 +101,20 @@ module Sentdm
73
101
  # @return [String, nil]
74
102
  optional :name, String, nil?: true
75
103
 
76
- # @!attribute body_profile_id
77
- # Profile ID from route parameter
104
+ # @!attribute payment_details
105
+ # Payment card details for this profile (optional). Accepted when billing_model is
106
+ # "profile" or "profile_and_organization". Not persisted on our servers —
107
+ # forwarded to the payment processor.
78
108
  #
79
- # @return [String, nil]
80
- optional :body_profile_id, String, api_name: :profile_id
109
+ # @return [Sentdm::Models::ProfileUpdateParams::PaymentDetails, nil]
110
+ optional :payment_details, -> { Sentdm::ProfileUpdateParams::PaymentDetails }, nil?: true
111
+
112
+ # @!attribute sandbox
113
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
114
+ # for testing integrations without actual execution
115
+ #
116
+ # @return [Boolean, nil]
117
+ optional :sandbox, Sentdm::Internal::Type::Boolean
81
118
 
82
119
  # @!attribute sending_phone_number
83
120
  # Direct phone number for SMS sending (optional)
@@ -98,18 +135,13 @@ module Sentdm
98
135
  optional :sending_whatsapp_number_profile_id, String, nil?: true
99
136
 
100
137
  # @!attribute short_name
101
- # Profile short name/abbreviation (optional)
138
+ # Profile short name/abbreviation (optional). Must be 3–11 characters, contain
139
+ # only letters, numbers, and spaces, and include at least one letter. Example:
140
+ # "SALES", "Mkt 2", "Support1".
102
141
  #
103
142
  # @return [String, nil]
104
143
  optional :short_name, String, nil?: true
105
144
 
106
- # @!attribute test_mode
107
- # Test mode flag - when true, the operation is simulated without side effects
108
- # Useful for testing integrations without actual execution
109
- #
110
- # @return [Boolean, nil]
111
- optional :test_mode, Sentdm::Internal::Type::Boolean
112
-
113
145
  # @!attribute whatsapp_phone_number
114
146
  # Direct phone number for WhatsApp sending (optional)
115
147
  #
@@ -121,17 +153,28 @@ module Sentdm
121
153
  # @return [String, nil]
122
154
  optional :idempotency_key, String
123
155
 
124
- # @!method initialize(allow_contact_sharing: nil, allow_number_change_during_onboarding: nil, allow_template_sharing: nil, billing_model: nil, description: nil, icon: nil, inherit_contacts: nil, inherit_tcr_brand: nil, inherit_tcr_campaign: nil, inherit_templates: nil, name: nil, body_profile_id: nil, sending_phone_number: nil, sending_phone_number_profile_id: nil, sending_whatsapp_number_profile_id: nil, short_name: nil, test_mode: nil, whatsapp_phone_number: nil, idempotency_key: nil, request_options: {})
156
+ # @!attribute x_profile_id
157
+ #
158
+ # @return [String, nil]
159
+ optional :x_profile_id, String
160
+
161
+ # @!method initialize(profile_id:, allow_contact_sharing: nil, allow_number_change_during_onboarding: nil, allow_template_sharing: nil, billing_contact: nil, billing_model: nil, brand: nil, description: nil, icon: nil, inherit_contacts: nil, inherit_tcr_brand: nil, inherit_tcr_campaign: nil, inherit_templates: nil, name: nil, payment_details: nil, sandbox: nil, sending_phone_number: nil, sending_phone_number_profile_id: nil, sending_whatsapp_number_profile_id: nil, short_name: nil, whatsapp_phone_number: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
125
162
  # Some parameter documentations has been truncated, see
126
163
  # {Sentdm::Models::ProfileUpdateParams} for more details.
127
164
  #
165
+ # @param profile_id [String]
166
+ #
128
167
  # @param allow_contact_sharing [Boolean, nil] Whether contacts are shared across profiles (optional)
129
168
  #
130
169
  # @param allow_number_change_during_onboarding [Boolean, nil] Whether number changes are allowed during onboarding (optional)
131
170
  #
132
171
  # @param allow_template_sharing [Boolean, nil] Whether templates are shared across profiles (optional)
133
172
  #
134
- # @param billing_model [String, nil] Billing model: profile, organization, or profile_and_organization (optional)
173
+ # @param billing_contact [Sentdm::Models::ProfileUpdateParams::BillingContact, nil] Billing contact for this profile. Required when billing_model is "profile" or "p
174
+ #
175
+ # @param billing_model [String, nil] Billing model: profile, organization, or profile_and_organization (optional).
176
+ #
177
+ # @param brand [Sentdm::Models::BrandData, nil] Brand and KYC information for this profile (optional).
135
178
  #
136
179
  # @param description [String, nil] Profile description (optional)
137
180
  #
@@ -147,7 +190,9 @@ module Sentdm
147
190
  #
148
191
  # @param name [String, nil] Profile name (optional)
149
192
  #
150
- # @param body_profile_id [String] Profile ID from route parameter
193
+ # @param payment_details [Sentdm::Models::ProfileUpdateParams::PaymentDetails, nil] Payment card details for this profile (optional).
194
+ #
195
+ # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
151
196
  #
152
197
  # @param sending_phone_number [String, nil] Direct phone number for SMS sending (optional)
153
198
  #
@@ -155,15 +200,97 @@ module Sentdm
155
200
  #
156
201
  # @param sending_whatsapp_number_profile_id [String, nil] Reference to another profile to use for WhatsApp configuration (optional)
157
202
  #
158
- # @param short_name [String, nil] Profile short name/abbreviation (optional)
159
- #
160
- # @param test_mode [Boolean] Test mode flag - when true, the operation is simulated without side effects
203
+ # @param short_name [String, nil] Profile short name/abbreviation (optional). Must be 3–11 characters, contain onl
161
204
  #
162
205
  # @param whatsapp_phone_number [String, nil] Direct phone number for WhatsApp sending (optional)
163
206
  #
164
207
  # @param idempotency_key [String]
165
208
  #
209
+ # @param x_profile_id [String]
210
+ #
166
211
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
212
+
213
+ class BillingContact < Sentdm::Internal::Type::BaseModel
214
+ # @!attribute email
215
+ # Email address where invoices will be sent (required)
216
+ #
217
+ # @return [String]
218
+ required :email, String
219
+
220
+ # @!attribute name
221
+ # Full name of the billing contact or company (required)
222
+ #
223
+ # @return [String]
224
+ required :name, String
225
+
226
+ # @!attribute address
227
+ # Billing address (optional). Free-form text including street, city, state, postal
228
+ # code, and country.
229
+ #
230
+ # @return [String, nil]
231
+ optional :address, String, nil?: true
232
+
233
+ # @!attribute phone
234
+ # Phone number for the billing contact (optional)
235
+ #
236
+ # @return [String, nil]
237
+ optional :phone, String, nil?: true
238
+
239
+ # @!method initialize(email:, name:, address: nil, phone: nil)
240
+ # Some parameter documentations has been truncated, see
241
+ # {Sentdm::Models::ProfileUpdateParams::BillingContact} for more details.
242
+ #
243
+ # Billing contact for this profile. Required when billing_model is "profile" or
244
+ # "profile_and_organization" and no billing contact has been configured yet.
245
+ # Identifies who receives invoices and who is responsible for payment.
246
+ #
247
+ # @param email [String] Email address where invoices will be sent (required)
248
+ #
249
+ # @param name [String] Full name of the billing contact or company (required)
250
+ #
251
+ # @param address [String, nil] Billing address (optional). Free-form text including street, city, state, postal
252
+ #
253
+ # @param phone [String, nil] Phone number for the billing contact (optional)
254
+ end
255
+
256
+ class PaymentDetails < Sentdm::Internal::Type::BaseModel
257
+ # @!attribute card_number
258
+ # Card number (digits only, 13–19 characters)
259
+ #
260
+ # @return [String]
261
+ required :card_number, String
262
+
263
+ # @!attribute cvc
264
+ # Card security code (3–4 digits)
265
+ #
266
+ # @return [String]
267
+ required :cvc, String
268
+
269
+ # @!attribute expiry
270
+ # Card expiry date in MM/YY format (e.g. "09/27")
271
+ #
272
+ # @return [String]
273
+ required :expiry, String
274
+
275
+ # @!attribute zip_code
276
+ # Billing ZIP / postal code associated with the card
277
+ #
278
+ # @return [String]
279
+ required :zip_code, String
280
+
281
+ # @!method initialize(card_number:, cvc:, expiry:, zip_code:)
282
+ # Payment card details for this profile (optional). Accepted when billing_model is
283
+ # "profile" or "profile_and_organization". Not persisted on our servers —
284
+ # forwarded to the payment processor.
285
+ #
286
+ # @param card_number [String] Card number (digits only, 13–19 characters)
287
+ #
288
+ # @param cvc [String] Card security code (3–4 digits)
289
+ #
290
+ # @param expiry [String] Card expiry date in MM/YY format (e.g. "09/27")
291
+ #
292
+ # @param zip_code [String] Billing ZIP / postal code associated with the card
293
+ end
167
294
  end
168
295
  end
169
296
  end
@@ -32,25 +32,30 @@ module Sentdm
32
32
  # @return [String, nil]
33
33
  optional :language, String, nil?: true
34
34
 
35
- # @!attribute submit_for_review
36
- # Whether to submit the template for review after creation (default: false)
35
+ # @!attribute sandbox
36
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
37
+ # for testing integrations without actual execution
37
38
  #
38
39
  # @return [Boolean, nil]
39
- optional :submit_for_review, Sentdm::Internal::Type::Boolean
40
+ optional :sandbox, Sentdm::Internal::Type::Boolean
40
41
 
41
- # @!attribute test_mode
42
- # Test mode flag - when true, the operation is simulated without side effects
43
- # Useful for testing integrations without actual execution
42
+ # @!attribute submit_for_review
43
+ # Whether to submit the template for review after creation (default: false)
44
44
  #
45
45
  # @return [Boolean, nil]
46
- optional :test_mode, Sentdm::Internal::Type::Boolean
46
+ optional :submit_for_review, Sentdm::Internal::Type::Boolean
47
47
 
48
48
  # @!attribute idempotency_key
49
49
  #
50
50
  # @return [String, nil]
51
51
  optional :idempotency_key, String
52
52
 
53
- # @!method initialize(category: nil, creation_source: nil, definition: nil, language: nil, submit_for_review: nil, test_mode: nil, idempotency_key: nil, request_options: {})
53
+ # @!attribute x_profile_id
54
+ #
55
+ # @return [String, nil]
56
+ optional :x_profile_id, String
57
+
58
+ # @!method initialize(category: nil, creation_source: nil, definition: nil, language: nil, sandbox: nil, submit_for_review: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
54
59
  # Some parameter documentations has been truncated, see
55
60
  # {Sentdm::Models::TemplateCreateParams} for more details.
56
61
  #
@@ -62,12 +67,14 @@ module Sentdm
62
67
  #
63
68
  # @param language [String, nil] Template language code (e.g., en_US) (optional, auto-detected if not provided)
64
69
  #
65
- # @param submit_for_review [Boolean] Whether to submit the template for review after creation (default: false)
70
+ # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
66
71
  #
67
- # @param test_mode [Boolean] Test mode flag - when true, the operation is simulated without side effects
72
+ # @param submit_for_review [Boolean] Whether to submit the template for review after creation (default: false)
68
73
  #
69
74
  # @param idempotency_key [String]
70
75
  #
76
+ # @param x_profile_id [String]
77
+ #
71
78
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
72
79
  end
73
80
  end
@@ -7,6 +7,11 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
10
15
  # @!attribute delete_from_meta
11
16
  # Whether to also delete the template from WhatsApp/Meta (optional, defaults to
12
17
  # false)
@@ -14,20 +19,29 @@ module Sentdm
14
19
  # @return [Boolean, nil]
15
20
  optional :delete_from_meta, Sentdm::Internal::Type::Boolean, nil?: true
16
21
 
17
- # @!attribute test_mode
18
- # Test mode flag - when true, the operation is simulated without side effects
19
- # Useful for testing integrations without actual execution
22
+ # @!attribute sandbox
23
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
24
+ # for testing integrations without actual execution
20
25
  #
21
26
  # @return [Boolean, nil]
22
- optional :test_mode, Sentdm::Internal::Type::Boolean
27
+ optional :sandbox, Sentdm::Internal::Type::Boolean
28
+
29
+ # @!attribute x_profile_id
30
+ #
31
+ # @return [String, nil]
32
+ optional :x_profile_id, String
23
33
 
24
- # @!method initialize(delete_from_meta: nil, test_mode: nil, request_options: {})
34
+ # @!method initialize(id:, delete_from_meta: nil, sandbox: nil, x_profile_id: nil, request_options: {})
25
35
  # Some parameter documentations has been truncated, see
26
36
  # {Sentdm::Models::TemplateDeleteParams} for more details.
27
37
  #
38
+ # @param id [String]
39
+ #
28
40
  # @param delete_from_meta [Boolean, nil] Whether to also delete the template from WhatsApp/Meta (optional, defaults to fa
29
41
  #
30
- # @param test_mode [Boolean] Test mode flag - when true, the operation is simulated without side effects
42
+ # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
43
+ #
44
+ # @param x_profile_id [String]
31
45
  #
32
46
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
33
47
  end
@@ -14,6 +14,7 @@ module Sentdm
14
14
  required :page, Integer
15
15
 
16
16
  # @!attribute page_size
17
+ # Number of items per page
17
18
  #
18
19
  # @return [Integer]
19
20
  required :page_size, Integer
@@ -24,6 +25,12 @@ module Sentdm
24
25
  # @return [String, nil]
25
26
  optional :category, String, nil?: true
26
27
 
28
+ # @!attribute is_welcome_playground
29
+ # Optional filter by welcome playground flag
30
+ #
31
+ # @return [Boolean, nil]
32
+ optional :is_welcome_playground, Sentdm::Internal::Type::Boolean, nil?: true
33
+
27
34
  # @!attribute search
28
35
  # Optional search term for filtering templates
29
36
  #
@@ -36,17 +43,26 @@ module Sentdm
36
43
  # @return [String, nil]
37
44
  optional :status, String, nil?: true
38
45
 
39
- # @!method initialize(page:, page_size:, category: nil, search: nil, status: nil, request_options: {})
46
+ # @!attribute x_profile_id
47
+ #
48
+ # @return [String, nil]
49
+ optional :x_profile_id, String
50
+
51
+ # @!method initialize(page:, page_size:, category: nil, is_welcome_playground: nil, search: nil, status: nil, x_profile_id: nil, request_options: {})
40
52
  # @param page [Integer] Page number (1-indexed)
41
53
  #
42
- # @param page_size [Integer]
54
+ # @param page_size [Integer] Number of items per page
43
55
  #
44
56
  # @param category [String, nil] Optional category filter: MARKETING, UTILITY, AUTHENTICATION
45
57
  #
58
+ # @param is_welcome_playground [Boolean, nil] Optional filter by welcome playground flag
59
+ #
46
60
  # @param search [String, nil] Optional search term for filtering templates
47
61
  #
48
62
  # @param status [String, nil] Optional status filter: APPROVED, PENDING, REJECTED
49
63
  #
64
+ # @param x_profile_id [String]
65
+ #
50
66
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
51
67
  end
52
68
  end
@@ -7,7 +7,19 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!attribute x_profile_id
16
+ #
17
+ # @return [String, nil]
18
+ optional :x_profile_id, String
19
+
20
+ # @!method initialize(id:, x_profile_id: nil, request_options: {})
21
+ # @param id [String]
22
+ # @param x_profile_id [String]
11
23
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
12
24
  end
13
25
  end
@@ -7,6 +7,11 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
10
15
  # @!attribute category
11
16
  # Template category: MARKETING, UTILITY, AUTHENTICATION
12
17
  #
@@ -31,28 +36,35 @@ module Sentdm
31
36
  # @return [String, nil]
32
37
  optional :name, String, nil?: true
33
38
 
34
- # @!attribute submit_for_review
35
- # Whether to submit the template for review after updating (default: false)
39
+ # @!attribute sandbox
40
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
41
+ # for testing integrations without actual execution
36
42
  #
37
43
  # @return [Boolean, nil]
38
- optional :submit_for_review, Sentdm::Internal::Type::Boolean
44
+ optional :sandbox, Sentdm::Internal::Type::Boolean
39
45
 
40
- # @!attribute test_mode
41
- # Test mode flag - when true, the operation is simulated without side effects
42
- # Useful for testing integrations without actual execution
46
+ # @!attribute submit_for_review
47
+ # Whether to submit the template for review after updating (default: false)
43
48
  #
44
49
  # @return [Boolean, nil]
45
- optional :test_mode, Sentdm::Internal::Type::Boolean
50
+ optional :submit_for_review, Sentdm::Internal::Type::Boolean
46
51
 
47
52
  # @!attribute idempotency_key
48
53
  #
49
54
  # @return [String, nil]
50
55
  optional :idempotency_key, String
51
56
 
52
- # @!method initialize(category: nil, definition: nil, language: nil, name: nil, submit_for_review: nil, test_mode: nil, idempotency_key: nil, request_options: {})
57
+ # @!attribute x_profile_id
58
+ #
59
+ # @return [String, nil]
60
+ optional :x_profile_id, String
61
+
62
+ # @!method initialize(id:, category: nil, definition: nil, language: nil, name: nil, sandbox: nil, submit_for_review: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
53
63
  # Some parameter documentations has been truncated, see
54
64
  # {Sentdm::Models::TemplateUpdateParams} for more details.
55
65
  #
66
+ # @param id [String]
67
+ #
56
68
  # @param category [String, nil] Template category: MARKETING, UTILITY, AUTHENTICATION
57
69
  #
58
70
  # @param definition [Sentdm::Models::TemplateDefinition, nil] Template definition including header, body, footer, and buttons
@@ -61,12 +73,14 @@ module Sentdm
61
73
  #
62
74
  # @param name [String, nil] Template display name
63
75
  #
64
- # @param submit_for_review [Boolean] Whether to submit the template for review after updating (default: false)
76
+ # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
65
77
  #
66
- # @param test_mode [Boolean] Test mode flag - when true, the operation is simulated without side effects
78
+ # @param submit_for_review [Boolean] Whether to submit the template for review after updating (default: false)
67
79
  #
68
80
  # @param idempotency_key [String]
69
81
  #
82
+ # @param x_profile_id [String]
83
+ #
70
84
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
71
85
  end
72
86
  end
@@ -41,6 +41,11 @@ module Sentdm
41
41
  # @return [String, nil]
42
42
  optional :media_type, String, api_name: :mediaType, nil?: true
43
43
 
44
+ # @!attribute regex
45
+ #
46
+ # @return [String, nil]
47
+ optional :regex, String, nil?: true
48
+
44
49
  # @!attribute sample
45
50
  #
46
51
  # @return [String, nil]
@@ -61,9 +66,10 @@ module Sentdm
61
66
  # @return [String, nil]
62
67
  optional :variable_type, String, api_name: :variableType, nil?: true
63
68
 
64
- # @!method initialize(alt: nil, media_type: nil, sample: nil, short_url: nil, url: nil, variable_type: nil)
69
+ # @!method initialize(alt: nil, media_type: nil, regex: nil, sample: nil, short_url: nil, url: nil, variable_type: nil)
65
70
  # @param alt [String, nil]
66
71
  # @param media_type [String, nil]
72
+ # @param regex [String, nil]
67
73
  # @param sample [String, nil]
68
74
  # @param short_url [String, nil]
69
75
  # @param url [String, nil]
@@ -25,19 +25,24 @@ module Sentdm
25
25
  # @return [String, nil]
26
26
  optional :role, String
27
27
 
28
- # @!attribute test_mode
29
- # Test mode flag - when true, the operation is simulated without side effects
30
- # Useful for testing integrations without actual execution
28
+ # @!attribute sandbox
29
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
30
+ # for testing integrations without actual execution
31
31
  #
32
32
  # @return [Boolean, nil]
33
- optional :test_mode, Sentdm::Internal::Type::Boolean
33
+ optional :sandbox, Sentdm::Internal::Type::Boolean
34
34
 
35
35
  # @!attribute idempotency_key
36
36
  #
37
37
  # @return [String, nil]
38
38
  optional :idempotency_key, String
39
39
 
40
- # @!method initialize(email: nil, name: nil, role: nil, test_mode: nil, idempotency_key: nil, request_options: {})
40
+ # @!attribute x_profile_id
41
+ #
42
+ # @return [String, nil]
43
+ optional :x_profile_id, String
44
+
45
+ # @!method initialize(email: nil, name: nil, role: nil, sandbox: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
41
46
  # Some parameter documentations has been truncated, see
42
47
  # {Sentdm::Models::UserInviteParams} for more details.
43
48
  #
@@ -47,10 +52,12 @@ module Sentdm
47
52
  #
48
53
  # @param role [String] User role: admin, billing, or developer (required)
49
54
  #
50
- # @param test_mode [Boolean] Test mode flag - when true, the operation is simulated without side effects
55
+ # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
51
56
  #
52
57
  # @param idempotency_key [String]
53
58
  #
59
+ # @param x_profile_id [String]
60
+ #
54
61
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
55
62
  end
56
63
  end
@@ -7,7 +7,13 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute x_profile_id
11
+ #
12
+ # @return [String, nil]
13
+ optional :x_profile_id, String
14
+
15
+ # @!method initialize(x_profile_id: nil, request_options: {})
16
+ # @param x_profile_id [String]
11
17
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end
@@ -7,28 +7,35 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
- # @!attribute test_mode
11
- # Test mode flag - when true, the operation is simulated without side effects
12
- # Useful for testing integrations without actual execution
10
+ # @!attribute user_id
13
11
  #
14
- # @return [Boolean, nil]
15
- optional :test_mode, Sentdm::Internal::Type::Boolean
12
+ # @return [String]
13
+ required :user_id, String
16
14
 
17
- # @!attribute body_user_id
18
- # User ID from route parameter
15
+ # @!attribute body
16
+ # Request to remove a user from an organization
17
+ #
18
+ # @return [Sentdm::Models::UserRemoveParams::Body]
19
+ required :body, -> { Sentdm::UserRemoveParams::Body }
20
+
21
+ # @!attribute x_profile_id
19
22
  #
20
23
  # @return [String, nil]
21
- optional :body_user_id, String, api_name: :user_id
24
+ optional :x_profile_id, String
22
25
 
23
- # @!method initialize(test_mode: nil, body_user_id: nil, request_options: {})
24
- # Some parameter documentations has been truncated, see
25
- # {Sentdm::Models::UserRemoveParams} for more details.
26
+ # @!method initialize(user_id:, body:, x_profile_id: nil, request_options: {})
27
+ # @param user_id [String]
26
28
  #
27
- # @param test_mode [Boolean] Test mode flag - when true, the operation is simulated without side effects
29
+ # @param body [Sentdm::Models::UserRemoveParams::Body] Request to remove a user from an organization
28
30
  #
29
- # @param body_user_id [String] User ID from route parameter
31
+ # @param x_profile_id [String]
30
32
  #
31
33
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
34
+
35
+ class Body < Sentdm::Models::MutationRequest
36
+ # @!method initialize
37
+ # Request to remove a user from an organization
38
+ end
32
39
  end
33
40
  end
34
41
  end
@@ -7,7 +7,19 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute user_id
11
+ #
12
+ # @return [String]
13
+ required :user_id, String
14
+
15
+ # @!attribute x_profile_id
16
+ #
17
+ # @return [String, nil]
18
+ optional :x_profile_id, String
19
+
20
+ # @!method initialize(user_id:, x_profile_id: nil, request_options: {})
21
+ # @param user_id [String]
22
+ # @param x_profile_id [String]
11
23
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
12
24
  end
13
25
  end