sentdm 0.3.1 → 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 (214) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +9 -9
  4. data/lib/sentdm/client.rb +0 -1
  5. data/lib/sentdm/models/api_meta.rb +1 -9
  6. data/lib/sentdm/models/brand_data.rb +235 -198
  7. data/lib/sentdm/models/brand_with_kyc.rb +249 -214
  8. data/lib/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rb +0 -1
  9. data/lib/sentdm/models/contact_create_params.rb +13 -6
  10. data/lib/sentdm/models/contact_delete_params.rb +8 -1
  11. data/lib/sentdm/models/contact_list_params.rb +10 -2
  12. data/lib/sentdm/models/contact_retrieve_params.rb +7 -1
  13. data/lib/sentdm/models/contact_update_params.rb +13 -6
  14. data/lib/sentdm/models/me_retrieve_params.rb +7 -1
  15. data/lib/sentdm/models/me_retrieve_response.rb +152 -7
  16. data/lib/sentdm/models/message_retrieve_activities_params.rb +7 -1
  17. data/lib/sentdm/models/message_retrieve_activities_response.rb +19 -5
  18. data/lib/sentdm/models/message_retrieve_status_params.rb +7 -1
  19. data/lib/sentdm/models/message_retrieve_status_response.rb +8 -1
  20. data/lib/sentdm/models/message_send_params.rb +17 -10
  21. data/lib/sentdm/models/mutation_request.rb +6 -6
  22. data/lib/sentdm/models/profile_complete_params.rb +13 -6
  23. data/lib/sentdm/models/profile_create_params.rb +192 -10
  24. data/lib/sentdm/models/profile_delete_params.rb +18 -18
  25. data/lib/sentdm/models/profile_detail.rb +144 -95
  26. data/lib/sentdm/models/profile_list_params.rb +7 -1
  27. data/lib/sentdm/models/profile_retrieve_params.rb +7 -1
  28. data/lib/sentdm/models/profile_update_params.rb +142 -22
  29. data/lib/sentdm/models/template_create_params.rb +17 -10
  30. data/lib/sentdm/models/template_delete_params.rb +13 -6
  31. data/lib/sentdm/models/template_list_params.rb +18 -2
  32. data/lib/sentdm/models/template_retrieve_params.rb +7 -1
  33. data/lib/sentdm/models/template_update_params.rb +17 -10
  34. data/lib/sentdm/models/template_variable.rb +7 -1
  35. data/lib/sentdm/models/user_invite_params.rb +13 -6
  36. data/lib/sentdm/models/user_list_params.rb +7 -1
  37. data/lib/sentdm/models/user_remove_params.rb +17 -17
  38. data/lib/sentdm/models/user_retrieve_params.rb +7 -1
  39. data/lib/sentdm/models/user_update_role_params.rb +15 -16
  40. data/lib/sentdm/models/webhook_create_params.rb +13 -6
  41. data/lib/sentdm/models/webhook_delete_params.rb +7 -1
  42. data/lib/sentdm/models/webhook_list_event_types_params.rb +7 -1
  43. data/lib/sentdm/models/webhook_list_events_params.rb +7 -1
  44. data/lib/sentdm/models/webhook_list_params.rb +7 -1
  45. data/lib/sentdm/models/webhook_retrieve_params.rb +7 -1
  46. data/lib/sentdm/models/webhook_rotate_secret_params.rb +7 -1
  47. data/lib/sentdm/models/webhook_test_params.rb +13 -6
  48. data/lib/sentdm/models/webhook_toggle_status_params.rb +13 -6
  49. data/lib/sentdm/models/webhook_update_params.rb +13 -6
  50. data/lib/sentdm/models.rb +0 -12
  51. data/lib/sentdm/resources/brands/campaigns.rb +0 -129
  52. data/lib/sentdm/resources/brands.rb +0 -112
  53. data/lib/sentdm/resources/contacts.rb +43 -20
  54. data/lib/sentdm/resources/lookup.rb +0 -21
  55. data/lib/sentdm/resources/me.rb +24 -5
  56. data/lib/sentdm/resources/messages.rb +24 -8
  57. data/lib/sentdm/resources/profiles.rb +116 -32
  58. data/lib/sentdm/resources/templates.rb +47 -24
  59. data/lib/sentdm/resources/users.rb +40 -23
  60. data/lib/sentdm/resources/webhooks.rb +92 -34
  61. data/lib/sentdm/version.rb +1 -1
  62. data/lib/sentdm.rb +1 -14
  63. data/rbi/sentdm/client.rbi +0 -1
  64. data/rbi/sentdm/models/api_meta.rbi +4 -18
  65. data/rbi/sentdm/models/brand_data.rbi +326 -203
  66. data/rbi/sentdm/models/brand_with_kyc.rbi +334 -216
  67. data/rbi/sentdm/models/brands/tcr_campaign_with_use_cases.rbi +6 -8
  68. data/rbi/sentdm/models/contact_create_params.rbi +19 -10
  69. data/rbi/sentdm/models/contact_delete_params.rbi +9 -0
  70. data/rbi/sentdm/models/contact_list_params.rbi +11 -0
  71. data/rbi/sentdm/models/contact_retrieve_params.rbi +13 -2
  72. data/rbi/sentdm/models/contact_update_params.rbi +19 -10
  73. data/rbi/sentdm/models/me_retrieve_params.rbi +16 -5
  74. data/rbi/sentdm/models/me_retrieve_response.rbi +316 -16
  75. data/rbi/sentdm/models/message_retrieve_activities_params.rbi +13 -2
  76. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +18 -6
  77. data/rbi/sentdm/models/message_retrieve_status_params.rbi +13 -2
  78. data/rbi/sentdm/models/message_retrieve_status_response.rbi +6 -0
  79. data/rbi/sentdm/models/message_send_params.rbi +22 -13
  80. data/rbi/sentdm/models/mutation_request.rbi +10 -10
  81. data/rbi/sentdm/models/profile_complete_params.rbi +19 -10
  82. data/rbi/sentdm/models/profile_create_params.rbi +323 -15
  83. data/rbi/sentdm/models/profile_delete_params.rbi +36 -24
  84. data/rbi/sentdm/models/profile_detail.rbi +184 -128
  85. data/rbi/sentdm/models/profile_list_params.rbi +16 -5
  86. data/rbi/sentdm/models/profile_retrieve_params.rbi +13 -2
  87. data/rbi/sentdm/models/profile_update_params.rbi +231 -30
  88. data/rbi/sentdm/models/template_create_params.rbi +22 -13
  89. data/rbi/sentdm/models/template_delete_params.rbi +19 -10
  90. data/rbi/sentdm/models/template_list_params.rbi +19 -0
  91. data/rbi/sentdm/models/template_retrieve_params.rbi +13 -2
  92. data/rbi/sentdm/models/template_update_params.rbi +22 -13
  93. data/rbi/sentdm/models/template_variable.rbi +6 -0
  94. data/rbi/sentdm/models/user_invite_params.rbi +19 -10
  95. data/rbi/sentdm/models/user_list_params.rbi +16 -5
  96. data/rbi/sentdm/models/user_remove_params.rbi +35 -23
  97. data/rbi/sentdm/models/user_retrieve_params.rbi +13 -2
  98. data/rbi/sentdm/models/user_update_role_params.rbi +23 -25
  99. data/rbi/sentdm/models/webhook_create_params.rbi +19 -10
  100. data/rbi/sentdm/models/webhook_delete_params.rbi +13 -2
  101. data/rbi/sentdm/models/webhook_list_event_types_params.rbi +16 -5
  102. data/rbi/sentdm/models/webhook_list_events_params.rbi +16 -1
  103. data/rbi/sentdm/models/webhook_list_params.rbi +9 -0
  104. data/rbi/sentdm/models/webhook_retrieve_params.rbi +13 -2
  105. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +15 -1
  106. data/rbi/sentdm/models/webhook_test_params.rbi +19 -10
  107. data/rbi/sentdm/models/webhook_toggle_status_params.rbi +19 -10
  108. data/rbi/sentdm/models/webhook_update_params.rbi +19 -10
  109. data/rbi/sentdm/models.rbi +0 -12
  110. data/rbi/sentdm/resources/brands/campaigns.rbi +0 -95
  111. data/rbi/sentdm/resources/brands.rbi +0 -80
  112. data/rbi/sentdm/resources/contacts.rbi +37 -12
  113. data/rbi/sentdm/resources/lookup.rbi +0 -12
  114. data/rbi/sentdm/resources/me.rbi +25 -7
  115. data/rbi/sentdm/resources/messages.rbi +17 -4
  116. data/rbi/sentdm/resources/profiles.rbi +178 -38
  117. data/rbi/sentdm/resources/templates.rbi +47 -19
  118. data/rbi/sentdm/resources/users.rbi +47 -25
  119. data/rbi/sentdm/resources/webhooks.rbi +92 -20
  120. data/sig/sentdm/models/api_meta.rbs +2 -16
  121. data/sig/sentdm/models/brand_data.rbs +188 -142
  122. data/sig/sentdm/models/brand_with_kyc.rbs +184 -133
  123. data/sig/sentdm/models/contact_create_params.rbs +16 -5
  124. data/sig/sentdm/models/contact_delete_params.rbs +11 -1
  125. data/sig/sentdm/models/contact_list_params.rbs +8 -1
  126. data/sig/sentdm/models/contact_retrieve_params.rbs +12 -2
  127. data/sig/sentdm/models/contact_update_params.rbs +13 -6
  128. data/sig/sentdm/models/me_retrieve_params.rbs +14 -3
  129. data/sig/sentdm/models/me_retrieve_response.rbs +134 -7
  130. data/sig/sentdm/models/message_retrieve_activities_params.rbs +12 -2
  131. data/sig/sentdm/models/message_retrieve_activities_response.rbs +9 -4
  132. data/sig/sentdm/models/message_retrieve_status_params.rbs +12 -2
  133. data/sig/sentdm/models/message_retrieve_status_response.rbs +5 -0
  134. data/sig/sentdm/models/message_send_params.rbs +15 -8
  135. data/sig/sentdm/models/mutation_request.rbs +5 -5
  136. data/sig/sentdm/models/profile_complete_params.rbs +13 -6
  137. data/sig/sentdm/models/profile_create_params.rbs +111 -7
  138. data/sig/sentdm/models/profile_delete_params.rbs +23 -13
  139. data/sig/sentdm/models/profile_detail.rbs +105 -84
  140. data/sig/sentdm/models/profile_list_params.rbs +14 -3
  141. data/sig/sentdm/models/profile_retrieve_params.rbs +8 -1
  142. data/sig/sentdm/models/profile_update_params.rbs +86 -17
  143. data/sig/sentdm/models/template_create_params.rbs +15 -8
  144. data/sig/sentdm/models/template_delete_params.rbs +16 -5
  145. data/sig/sentdm/models/template_list_params.rbs +13 -1
  146. data/sig/sentdm/models/template_retrieve_params.rbs +12 -2
  147. data/sig/sentdm/models/template_update_params.rbs +15 -8
  148. data/sig/sentdm/models/template_variable.rbs +5 -0
  149. data/sig/sentdm/models/user_invite_params.rbs +13 -6
  150. data/sig/sentdm/models/user_list_params.rbs +14 -3
  151. data/sig/sentdm/models/user_remove_params.rbs +23 -13
  152. data/sig/sentdm/models/user_retrieve_params.rbs +8 -1
  153. data/sig/sentdm/models/user_update_role_params.rbs +17 -17
  154. data/sig/sentdm/models/webhook_create_params.rbs +13 -6
  155. data/sig/sentdm/models/webhook_delete_params.rbs +12 -2
  156. data/sig/sentdm/models/webhook_list_event_types_params.rbs +13 -3
  157. data/sig/sentdm/models/webhook_list_events_params.rbs +13 -1
  158. data/sig/sentdm/models/webhook_list_params.rbs +13 -1
  159. data/sig/sentdm/models/webhook_retrieve_params.rbs +12 -2
  160. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -1
  161. data/sig/sentdm/models/webhook_test_params.rbs +13 -6
  162. data/sig/sentdm/models/webhook_toggle_status_params.rbs +17 -5
  163. data/sig/sentdm/models/webhook_update_params.rbs +13 -6
  164. data/sig/sentdm/models.rbs +0 -12
  165. data/sig/sentdm/resources/brands/campaigns.rbs +0 -29
  166. data/sig/sentdm/resources/brands.rbs +0 -25
  167. data/sig/sentdm/resources/contacts.rbs +7 -2
  168. data/sig/sentdm/resources/lookup.rbs +0 -5
  169. data/sig/sentdm/resources/me.rbs +1 -0
  170. data/sig/sentdm/resources/messages.rbs +4 -1
  171. data/sig/sentdm/resources/profiles.rbs +19 -8
  172. data/sig/sentdm/resources/templates.rbs +9 -3
  173. data/sig/sentdm/resources/users.rbs +10 -7
  174. data/sig/sentdm/resources/webhooks.rbs +18 -5
  175. metadata +1 -40
  176. data/lib/sentdm/models/api_response_brand_with_kyc.rb +0 -43
  177. data/lib/sentdm/models/brand_create_params.rb +0 -41
  178. data/lib/sentdm/models/brand_delete_params.rb +0 -34
  179. data/lib/sentdm/models/brand_list_params.rb +0 -14
  180. data/lib/sentdm/models/brand_list_response.rb +0 -43
  181. data/lib/sentdm/models/brand_update_params.rb +0 -48
  182. data/lib/sentdm/models/brands/campaign_create_params.rb +0 -50
  183. data/lib/sentdm/models/brands/campaign_delete_params.rb +0 -43
  184. data/lib/sentdm/models/brands/campaign_list_params.rb +0 -22
  185. data/lib/sentdm/models/brands/campaign_list_response.rb +0 -47
  186. data/lib/sentdm/models/brands/campaign_update_params.rb +0 -57
  187. data/lib/sentdm/models/lookup_retrieve_phone_info_params.rb +0 -20
  188. data/lib/sentdm/models/lookup_retrieve_phone_info_response.rb +0 -104
  189. data/rbi/sentdm/models/api_response_brand_with_kyc.rbi +0 -74
  190. data/rbi/sentdm/models/brand_create_params.rbi +0 -68
  191. data/rbi/sentdm/models/brand_delete_params.rbi +0 -68
  192. data/rbi/sentdm/models/brand_list_params.rbi +0 -27
  193. data/rbi/sentdm/models/brand_list_response.rbi +0 -71
  194. data/rbi/sentdm/models/brand_update_params.rbi +0 -74
  195. data/rbi/sentdm/models/brands/campaign_create_params.rbi +0 -79
  196. data/rbi/sentdm/models/brands/campaign_delete_params.rbi +0 -84
  197. data/rbi/sentdm/models/brands/campaign_list_params.rbi +0 -37
  198. data/rbi/sentdm/models/brands/campaign_list_response.rbi +0 -82
  199. data/rbi/sentdm/models/brands/campaign_update_params.rbi +0 -85
  200. data/rbi/sentdm/models/lookup_retrieve_phone_info_params.rbi +0 -38
  201. data/rbi/sentdm/models/lookup_retrieve_phone_info_response.rbi +0 -183
  202. data/sig/sentdm/models/api_response_brand_with_kyc.rbs +0 -39
  203. data/sig/sentdm/models/brand_create_params.rbs +0 -36
  204. data/sig/sentdm/models/brand_delete_params.rbs +0 -36
  205. data/sig/sentdm/models/brand_list_params.rbs +0 -14
  206. data/sig/sentdm/models/brand_list_response.rbs +0 -39
  207. data/sig/sentdm/models/brand_update_params.rbs +0 -45
  208. data/sig/sentdm/models/brands/campaign_create_params.rbs +0 -47
  209. data/sig/sentdm/models/brands/campaign_delete_params.rbs +0 -46
  210. data/sig/sentdm/models/brands/campaign_list_params.rbs +0 -25
  211. data/sig/sentdm/models/brands/campaign_list_response.rbs +0 -41
  212. data/sig/sentdm/models/brands/campaign_update_params.rbs +0 -52
  213. data/sig/sentdm/models/lookup_retrieve_phone_info_params.rbs +0 -23
  214. data/sig/sentdm/models/lookup_retrieve_phone_info_response.rbs +0 -102
@@ -7,10 +7,10 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
- # @!attribute path_profile_id
10
+ # @!attribute profile_id
11
11
  #
12
12
  # @return [String]
13
- required :path_profile_id, String
13
+ required :profile_id, String
14
14
 
15
15
  # @!attribute allow_contact_sharing
16
16
  # Whether contacts are shared across profiles (optional)
@@ -30,12 +30,35 @@ module Sentdm
30
30
  # @return [Boolean, nil]
31
31
  optional :allow_template_sharing, Sentdm::Internal::Type::Boolean, nil?: true
32
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
+
33
41
  # @!attribute billing_model
34
- # 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.
35
49
  #
36
50
  # @return [String, nil]
37
51
  optional :billing_model, String, nil?: true
38
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
+
39
62
  # @!attribute description
40
63
  # Profile description (optional)
41
64
  #
@@ -78,11 +101,20 @@ module Sentdm
78
101
  # @return [String, nil]
79
102
  optional :name, String, nil?: true
80
103
 
81
- # @!attribute body_profile_id
82
- # 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.
83
108
  #
84
- # @return [String, nil]
85
- 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
86
118
 
87
119
  # @!attribute sending_phone_number
88
120
  # Direct phone number for SMS sending (optional)
@@ -103,18 +135,13 @@ module Sentdm
103
135
  optional :sending_whatsapp_number_profile_id, String, nil?: true
104
136
 
105
137
  # @!attribute short_name
106
- # 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".
107
141
  #
108
142
  # @return [String, nil]
109
143
  optional :short_name, String, nil?: true
110
144
 
111
- # @!attribute test_mode
112
- # Test mode flag - when true, the operation is simulated without side effects
113
- # Useful for testing integrations without actual execution
114
- #
115
- # @return [Boolean, nil]
116
- optional :test_mode, Sentdm::Internal::Type::Boolean
117
-
118
145
  # @!attribute whatsapp_phone_number
119
146
  # Direct phone number for WhatsApp sending (optional)
120
147
  #
@@ -126,11 +153,16 @@ module Sentdm
126
153
  # @return [String, nil]
127
154
  optional :idempotency_key, String
128
155
 
129
- # @!method initialize(path_profile_id:, 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: {})
130
162
  # Some parameter documentations has been truncated, see
131
163
  # {Sentdm::Models::ProfileUpdateParams} for more details.
132
164
  #
133
- # @param path_profile_id [String]
165
+ # @param profile_id [String]
134
166
  #
135
167
  # @param allow_contact_sharing [Boolean, nil] Whether contacts are shared across profiles (optional)
136
168
  #
@@ -138,7 +170,11 @@ module Sentdm
138
170
  #
139
171
  # @param allow_template_sharing [Boolean, nil] Whether templates are shared across profiles (optional)
140
172
  #
141
- # @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).
142
178
  #
143
179
  # @param description [String, nil] Profile description (optional)
144
180
  #
@@ -154,7 +190,9 @@ module Sentdm
154
190
  #
155
191
  # @param name [String, nil] Profile name (optional)
156
192
  #
157
- # @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
158
196
  #
159
197
  # @param sending_phone_number [String, nil] Direct phone number for SMS sending (optional)
160
198
  #
@@ -162,15 +200,97 @@ module Sentdm
162
200
  #
163
201
  # @param sending_whatsapp_number_profile_id [String, nil] Reference to another profile to use for WhatsApp configuration (optional)
164
202
  #
165
- # @param short_name [String, nil] Profile short name/abbreviation (optional)
166
- #
167
- # @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
168
204
  #
169
205
  # @param whatsapp_phone_number [String, nil] Direct phone number for WhatsApp sending (optional)
170
206
  #
171
207
  # @param idempotency_key [String]
172
208
  #
209
+ # @param x_profile_id [String]
210
+ #
173
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
174
294
  end
175
295
  end
176
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
@@ -19,14 +19,19 @@ module Sentdm
19
19
  # @return [Boolean, nil]
20
20
  optional :delete_from_meta, Sentdm::Internal::Type::Boolean, nil?: true
21
21
 
22
- # @!attribute test_mode
23
- # Test mode flag - when true, the operation is simulated without side effects
24
- # 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
25
25
  #
26
26
  # @return [Boolean, nil]
27
- optional :test_mode, Sentdm::Internal::Type::Boolean
27
+ optional :sandbox, Sentdm::Internal::Type::Boolean
28
28
 
29
- # @!method initialize(id:, delete_from_meta: nil, test_mode: nil, request_options: {})
29
+ # @!attribute x_profile_id
30
+ #
31
+ # @return [String, nil]
32
+ optional :x_profile_id, String
33
+
34
+ # @!method initialize(id:, delete_from_meta: nil, sandbox: nil, x_profile_id: nil, request_options: {})
30
35
  # Some parameter documentations has been truncated, see
31
36
  # {Sentdm::Models::TemplateDeleteParams} for more details.
32
37
  #
@@ -34,7 +39,9 @@ module Sentdm
34
39
  #
35
40
  # @param delete_from_meta [Boolean, nil] Whether to also delete the template from WhatsApp/Meta (optional, defaults to fa
36
41
  #
37
- # @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]
38
45
  #
39
46
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
40
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
@@ -12,8 +12,14 @@ module Sentdm
12
12
  # @return [String]
13
13
  required :id, String
14
14
 
15
- # @!method initialize(id:, request_options: {})
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: {})
16
21
  # @param id [String]
22
+ # @param x_profile_id [String]
17
23
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
18
24
  end
19
25
  end
@@ -36,25 +36,30 @@ module Sentdm
36
36
  # @return [String, nil]
37
37
  optional :name, String, nil?: true
38
38
 
39
- # @!attribute submit_for_review
40
- # 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
41
42
  #
42
43
  # @return [Boolean, nil]
43
- optional :submit_for_review, Sentdm::Internal::Type::Boolean
44
+ optional :sandbox, Sentdm::Internal::Type::Boolean
44
45
 
45
- # @!attribute test_mode
46
- # Test mode flag - when true, the operation is simulated without side effects
47
- # Useful for testing integrations without actual execution
46
+ # @!attribute submit_for_review
47
+ # Whether to submit the template for review after updating (default: false)
48
48
  #
49
49
  # @return [Boolean, nil]
50
- optional :test_mode, Sentdm::Internal::Type::Boolean
50
+ optional :submit_for_review, Sentdm::Internal::Type::Boolean
51
51
 
52
52
  # @!attribute idempotency_key
53
53
  #
54
54
  # @return [String, nil]
55
55
  optional :idempotency_key, String
56
56
 
57
- # @!method initialize(id:, 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: {})
58
63
  # Some parameter documentations has been truncated, see
59
64
  # {Sentdm::Models::TemplateUpdateParams} for more details.
60
65
  #
@@ -68,12 +73,14 @@ module Sentdm
68
73
  #
69
74
  # @param name [String, nil] Template display name
70
75
  #
71
- # @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
72
77
  #
73
- # @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)
74
79
  #
75
80
  # @param idempotency_key [String]
76
81
  #
82
+ # @param x_profile_id [String]
83
+ #
77
84
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
78
85
  end
79
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,35 +7,35 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
- # @!attribute path_user_id
10
+ # @!attribute user_id
11
11
  #
12
12
  # @return [String]
13
- required :path_user_id, String
13
+ required :user_id, String
14
14
 
15
- # @!attribute test_mode
16
- # Test mode flag - when true, the operation is simulated without side effects
17
- # Useful for testing integrations without actual execution
15
+ # @!attribute body
16
+ # Request to remove a user from an organization
18
17
  #
19
- # @return [Boolean, nil]
20
- optional :test_mode, Sentdm::Internal::Type::Boolean
18
+ # @return [Sentdm::Models::UserRemoveParams::Body]
19
+ required :body, -> { Sentdm::UserRemoveParams::Body }
21
20
 
22
- # @!attribute body_user_id
23
- # User ID from route parameter
21
+ # @!attribute x_profile_id
24
22
  #
25
23
  # @return [String, nil]
26
- optional :body_user_id, String, api_name: :user_id
24
+ optional :x_profile_id, String
27
25
 
28
- # @!method initialize(path_user_id:, test_mode: nil, body_user_id: nil, request_options: {})
29
- # Some parameter documentations has been truncated, see
30
- # {Sentdm::Models::UserRemoveParams} for more details.
26
+ # @!method initialize(user_id:, body:, x_profile_id: nil, request_options: {})
27
+ # @param user_id [String]
31
28
  #
32
- # @param path_user_id [String]
29
+ # @param body [Sentdm::Models::UserRemoveParams::Body] Request to remove a user from an organization
33
30
  #
34
- # @param test_mode [Boolean] Test mode flag - when true, the operation is simulated without side effects
35
- #
36
- # @param body_user_id [String] User ID from route parameter
31
+ # @param x_profile_id [String]
37
32
  #
38
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
39
39
  end
40
40
  end
41
41
  end
@@ -12,8 +12,14 @@ module Sentdm
12
12
  # @return [String]
13
13
  required :user_id, String
14
14
 
15
- # @!method initialize(user_id:, request_options: {})
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: {})
16
21
  # @param user_id [String]
22
+ # @param x_profile_id [String]
17
23
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
18
24
  end
19
25
  end