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
@@ -20,13 +20,13 @@ module Sentdm
20
20
  sig { params(event_type: String).void }
21
21
  attr_writer :event_type
22
22
 
23
- # Test mode flag - when true, the operation is simulated without side effects
24
- # Useful for testing integrations without actual execution
23
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
24
+ # for testing integrations without actual execution
25
25
  sig { returns(T.nilable(T::Boolean)) }
26
- attr_reader :test_mode
26
+ attr_reader :sandbox
27
27
 
28
- sig { params(test_mode: T::Boolean).void }
29
- attr_writer :test_mode
28
+ sig { params(sandbox: T::Boolean).void }
29
+ attr_writer :sandbox
30
30
 
31
31
  sig { returns(T.nilable(String)) }
32
32
  attr_reader :idempotency_key
@@ -34,22 +34,30 @@ module Sentdm
34
34
  sig { params(idempotency_key: String).void }
35
35
  attr_writer :idempotency_key
36
36
 
37
+ sig { returns(T.nilable(String)) }
38
+ attr_reader :x_profile_id
39
+
40
+ sig { params(x_profile_id: String).void }
41
+ attr_writer :x_profile_id
42
+
37
43
  sig do
38
44
  params(
39
45
  id: String,
40
46
  event_type: String,
41
- test_mode: T::Boolean,
47
+ sandbox: T::Boolean,
42
48
  idempotency_key: String,
49
+ x_profile_id: String,
43
50
  request_options: Sentdm::RequestOptions::OrHash
44
51
  ).returns(T.attached_class)
45
52
  end
46
53
  def self.new(
47
54
  id:,
48
55
  event_type: nil,
49
- # Test mode flag - when true, the operation is simulated without side effects
50
- # Useful for testing integrations without actual execution
51
- test_mode: nil,
56
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
57
+ # for testing integrations without actual execution
58
+ sandbox: nil,
52
59
  idempotency_key: nil,
60
+ x_profile_id: nil,
53
61
  request_options: {}
54
62
  )
55
63
  end
@@ -59,8 +67,9 @@ module Sentdm
59
67
  {
60
68
  id: String,
61
69
  event_type: String,
62
- test_mode: T::Boolean,
70
+ sandbox: T::Boolean,
63
71
  idempotency_key: String,
72
+ x_profile_id: String,
64
73
  request_options: Sentdm::RequestOptions
65
74
  }
66
75
  )
@@ -20,13 +20,13 @@ module Sentdm
20
20
  sig { params(is_active: T::Boolean).void }
21
21
  attr_writer :is_active
22
22
 
23
- # Test mode flag - when true, the operation is simulated without side effects
24
- # Useful for testing integrations without actual execution
23
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
24
+ # for testing integrations without actual execution
25
25
  sig { returns(T.nilable(T::Boolean)) }
26
- attr_reader :test_mode
26
+ attr_reader :sandbox
27
27
 
28
- sig { params(test_mode: T::Boolean).void }
29
- attr_writer :test_mode
28
+ sig { params(sandbox: T::Boolean).void }
29
+ attr_writer :sandbox
30
30
 
31
31
  sig { returns(T.nilable(String)) }
32
32
  attr_reader :idempotency_key
@@ -34,22 +34,30 @@ module Sentdm
34
34
  sig { params(idempotency_key: String).void }
35
35
  attr_writer :idempotency_key
36
36
 
37
+ sig { returns(T.nilable(String)) }
38
+ attr_reader :x_profile_id
39
+
40
+ sig { params(x_profile_id: String).void }
41
+ attr_writer :x_profile_id
42
+
37
43
  sig do
38
44
  params(
39
45
  id: String,
40
46
  is_active: T::Boolean,
41
- test_mode: T::Boolean,
47
+ sandbox: T::Boolean,
42
48
  idempotency_key: String,
49
+ x_profile_id: String,
43
50
  request_options: Sentdm::RequestOptions::OrHash
44
51
  ).returns(T.attached_class)
45
52
  end
46
53
  def self.new(
47
54
  id:,
48
55
  is_active: nil,
49
- # Test mode flag - when true, the operation is simulated without side effects
50
- # Useful for testing integrations without actual execution
51
- test_mode: nil,
56
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
57
+ # for testing integrations without actual execution
58
+ sandbox: nil,
52
59
  idempotency_key: nil,
60
+ x_profile_id: nil,
53
61
  request_options: {}
54
62
  )
55
63
  end
@@ -59,8 +67,9 @@ module Sentdm
59
67
  {
60
68
  id: String,
61
69
  is_active: T::Boolean,
62
- test_mode: T::Boolean,
70
+ sandbox: T::Boolean,
63
71
  idempotency_key: String,
72
+ x_profile_id: String,
64
73
  request_options: Sentdm::RequestOptions
65
74
  }
66
75
  )
@@ -38,13 +38,13 @@ module Sentdm
38
38
  sig { params(retry_count: Integer).void }
39
39
  attr_writer :retry_count
40
40
 
41
- # Test mode flag - when true, the operation is simulated without side effects
42
- # Useful for testing integrations without actual execution
41
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
42
+ # for testing integrations without actual execution
43
43
  sig { returns(T.nilable(T::Boolean)) }
44
- attr_reader :test_mode
44
+ attr_reader :sandbox
45
45
 
46
- sig { params(test_mode: T::Boolean).void }
47
- attr_writer :test_mode
46
+ sig { params(sandbox: T::Boolean).void }
47
+ attr_writer :sandbox
48
48
 
49
49
  sig { returns(T.nilable(Integer)) }
50
50
  attr_reader :timeout_seconds
@@ -58,6 +58,12 @@ module Sentdm
58
58
  sig { params(idempotency_key: String).void }
59
59
  attr_writer :idempotency_key
60
60
 
61
+ sig { returns(T.nilable(String)) }
62
+ attr_reader :x_profile_id
63
+
64
+ sig { params(x_profile_id: String).void }
65
+ attr_writer :x_profile_id
66
+
61
67
  sig do
62
68
  params(
63
69
  id: String,
@@ -65,9 +71,10 @@ module Sentdm
65
71
  endpoint_url: String,
66
72
  event_types: T::Array[String],
67
73
  retry_count: Integer,
68
- test_mode: T::Boolean,
74
+ sandbox: T::Boolean,
69
75
  timeout_seconds: Integer,
70
76
  idempotency_key: String,
77
+ x_profile_id: String,
71
78
  request_options: Sentdm::RequestOptions::OrHash
72
79
  ).returns(T.attached_class)
73
80
  end
@@ -77,11 +84,12 @@ module Sentdm
77
84
  endpoint_url: nil,
78
85
  event_types: nil,
79
86
  retry_count: nil,
80
- # Test mode flag - when true, the operation is simulated without side effects
81
- # Useful for testing integrations without actual execution
82
- test_mode: nil,
87
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
88
+ # for testing integrations without actual execution
89
+ sandbox: nil,
83
90
  timeout_seconds: nil,
84
91
  idempotency_key: nil,
92
+ x_profile_id: nil,
85
93
  request_options: {}
86
94
  )
87
95
  end
@@ -94,9 +102,10 @@ module Sentdm
94
102
  endpoint_url: String,
95
103
  event_types: T::Array[String],
96
104
  retry_count: Integer,
97
- test_mode: T::Boolean,
105
+ sandbox: T::Boolean,
98
106
  timeout_seconds: Integer,
99
107
  idempotency_key: String,
108
+ x_profile_id: String,
100
109
  request_options: Sentdm::RequestOptions
101
110
  }
102
111
  )
@@ -5,8 +5,6 @@ module Sentdm
5
5
 
6
6
  APIMeta = Sentdm::Models::APIMeta
7
7
 
8
- APIResponseBrandWithKYC = Sentdm::Models::APIResponseBrandWithKYC
9
-
10
8
  APIResponseContact = Sentdm::Models::APIResponseContact
11
9
 
12
10
  APIResponseOfProfileDetail = Sentdm::Models::APIResponseOfProfileDetail
@@ -17,18 +15,10 @@ module Sentdm
17
15
 
18
16
  APIResponseWebhook = Sentdm::Models::APIResponseWebhook
19
17
 
20
- BrandCreateParams = Sentdm::Models::BrandCreateParams
21
-
22
18
  BrandData = Sentdm::Models::BrandData
23
19
 
24
- BrandDeleteParams = Sentdm::Models::BrandDeleteParams
25
-
26
- BrandListParams = Sentdm::Models::BrandListParams
27
-
28
20
  Brands = Sentdm::Models::Brands
29
21
 
30
- BrandUpdateParams = Sentdm::Models::BrandUpdateParams
31
-
32
22
  BrandWithKYC = Sentdm::Models::BrandWithKYC
33
23
 
34
24
  Contact = Sentdm::Models::Contact
@@ -45,8 +35,6 @@ module Sentdm
45
35
 
46
36
  DestinationCountry = Sentdm::Models::DestinationCountry
47
37
 
48
- LookupRetrievePhoneInfoParams = Sentdm::Models::LookupRetrievePhoneInfoParams
49
-
50
38
  MeRetrieveParams = Sentdm::Models::MeRetrieveParams
51
39
 
52
40
  MessageRetrieveActivitiesParams =
@@ -3,102 +3,7 @@
3
3
  module Sentdm
4
4
  module Resources
5
5
  class Brands
6
- # Register and manage 10DLC brands for SMS compliance
7
6
  class Campaigns
8
- # Creates a new campaign scoped under a specific brand. The campaign is linked to
9
- # the specified brand. Each campaign must include at least one use case with
10
- # sample messages.
11
- sig do
12
- params(
13
- brand_id: String,
14
- campaign: Sentdm::Brands::CampaignData::OrHash,
15
- test_mode: T::Boolean,
16
- idempotency_key: String,
17
- request_options: Sentdm::RequestOptions::OrHash
18
- ).returns(Sentdm::Brands::APIResponseTcrCampaignWithUseCases)
19
- end
20
- def create(
21
- # Path param: Brand ID from route
22
- brand_id,
23
- # Body param: Campaign data
24
- campaign:,
25
- # Body param: Test mode flag - when true, the operation is simulated without side
26
- # effects Useful for testing integrations without actual execution
27
- test_mode: nil,
28
- # Header param: Unique key to ensure idempotent request processing. Must be 1-255
29
- # alphanumeric characters, hyphens, or underscores. Responses are cached for 24
30
- # hours per key per customer.
31
- idempotency_key: nil,
32
- request_options: {}
33
- )
34
- end
35
-
36
- # Updates an existing campaign scoped under a specific brand. Cannot update
37
- # campaigns that have already been submitted to TCR.
38
- sig do
39
- params(
40
- campaign_id: String,
41
- brand_id: String,
42
- campaign: Sentdm::Brands::CampaignData::OrHash,
43
- test_mode: T::Boolean,
44
- idempotency_key: String,
45
- request_options: Sentdm::RequestOptions::OrHash
46
- ).returns(Sentdm::Brands::APIResponseTcrCampaignWithUseCases)
47
- end
48
- def update(
49
- # Path param: Campaign ID from route
50
- campaign_id,
51
- # Path param: Brand ID from route
52
- brand_id:,
53
- # Body param: Campaign data
54
- campaign:,
55
- # Body param: Test mode flag - when true, the operation is simulated without side
56
- # effects Useful for testing integrations without actual execution
57
- test_mode: nil,
58
- # Header param: Unique key to ensure idempotent request processing. Must be 1-255
59
- # alphanumeric characters, hyphens, or underscores. Responses are cached for 24
60
- # hours per key per customer.
61
- idempotency_key: nil,
62
- request_options: {}
63
- )
64
- end
65
-
66
- # Retrieves all campaigns linked to a specific brand, including their use cases
67
- # and sample messages.
68
- sig do
69
- params(
70
- brand_id: String,
71
- request_options: Sentdm::RequestOptions::OrHash
72
- ).returns(Sentdm::Models::Brands::CampaignListResponse)
73
- end
74
- def list(
75
- # Brand ID from route
76
- brand_id,
77
- request_options: {}
78
- )
79
- end
80
-
81
- # Deletes a campaign by ID within a specific brand. The brand must belong to the
82
- # authenticated customer.
83
- sig do
84
- params(
85
- campaign_id: String,
86
- brand_id: String,
87
- body: Sentdm::Brands::CampaignDeleteParams::Body::OrHash,
88
- request_options: Sentdm::RequestOptions::OrHash
89
- ).void
90
- end
91
- def delete(
92
- # Path param: Campaign ID from route parameter
93
- campaign_id,
94
- # Path param: Brand ID from route parameter
95
- brand_id:,
96
- # Body param: Request to delete a campaign from a brand
97
- body:,
98
- request_options: {}
99
- )
100
- end
101
-
102
7
  # @api private
103
8
  sig { params(client: Sentdm::Client).returns(T.attached_class) }
104
9
  def self.new(client:)
@@ -2,90 +2,10 @@
2
2
 
3
3
  module Sentdm
4
4
  module Resources
5
- # Register and manage 10DLC brands for SMS compliance
6
5
  class Brands
7
- # Register and manage 10DLC brands for SMS compliance
8
6
  sig { returns(Sentdm::Resources::Brands::Campaigns) }
9
7
  attr_reader :campaigns
10
8
 
11
- # Creates a new brand and associated information. This endpoint automatically sets
12
- # inheritTcrBrand=false when a brand is created.
13
- sig do
14
- params(
15
- brand: Sentdm::BrandData::OrHash,
16
- test_mode: T::Boolean,
17
- idempotency_key: String,
18
- request_options: Sentdm::RequestOptions::OrHash
19
- ).returns(Sentdm::APIResponseBrandWithKYC)
20
- end
21
- def create(
22
- # Body param: Brand and KYC information
23
- brand:,
24
- # Body param: Test mode flag - when true, the operation is simulated without side
25
- # effects Useful for testing integrations without actual execution
26
- test_mode: nil,
27
- # Header param: Unique key to ensure idempotent request processing. Must be 1-255
28
- # alphanumeric characters, hyphens, or underscores. Responses are cached for 24
29
- # hours per key per customer.
30
- idempotency_key: nil,
31
- request_options: {}
32
- )
33
- end
34
-
35
- # Updates an existing brand and its associated information. Cannot update brands
36
- # that have already been submitted to TCR or inherited brands.
37
- sig do
38
- params(
39
- brand_id: String,
40
- brand: Sentdm::BrandData::OrHash,
41
- test_mode: T::Boolean,
42
- idempotency_key: String,
43
- request_options: Sentdm::RequestOptions::OrHash
44
- ).returns(Sentdm::APIResponseBrandWithKYC)
45
- end
46
- def update(
47
- # Path param: Brand ID from route
48
- brand_id,
49
- # Body param: Brand and KYC information
50
- brand:,
51
- # Body param: Test mode flag - when true, the operation is simulated without side
52
- # effects Useful for testing integrations without actual execution
53
- test_mode: nil,
54
- # Header param: Unique key to ensure idempotent request processing. Must be 1-255
55
- # alphanumeric characters, hyphens, or underscores. Responses are cached for 24
56
- # hours per key per customer.
57
- idempotency_key: nil,
58
- request_options: {}
59
- )
60
- end
61
-
62
- # Retrieves all brands for the authenticated customer with information in a
63
- # flattened structure. Includes inherited brands if inheritTcrBrand=true.
64
- sig do
65
- params(request_options: Sentdm::RequestOptions::OrHash).returns(
66
- Sentdm::Models::BrandListResponse
67
- )
68
- end
69
- def list(request_options: {})
70
- end
71
-
72
- # Delete a brand by ID. The brand must belong to the authenticated customer.
73
- sig do
74
- params(
75
- brand_id: String,
76
- body: Sentdm::BrandDeleteParams::Body::OrHash,
77
- request_options: Sentdm::RequestOptions::OrHash
78
- ).void
79
- end
80
- def delete(
81
- # Brand ID from route parameter
82
- brand_id,
83
- # Request to delete a brand
84
- body:,
85
- request_options: {}
86
- )
87
- end
88
-
89
9
  # @api private
90
10
  sig { params(client: Sentdm::Client).returns(T.attached_class) }
91
11
  def self.new(client:)
@@ -9,21 +9,26 @@ module Sentdm
9
9
  sig do
10
10
  params(
11
11
  phone_number: String,
12
- test_mode: T::Boolean,
12
+ sandbox: T::Boolean,
13
13
  idempotency_key: String,
14
+ x_profile_id: String,
14
15
  request_options: Sentdm::RequestOptions::OrHash
15
16
  ).returns(Sentdm::APIResponseContact)
16
17
  end
17
18
  def create(
18
19
  # Body param: Phone number of the contact to create
19
20
  phone_number: nil,
20
- # Body param: Test mode flag - when true, the operation is simulated without side
21
+ # Body param: Sandbox flag - when true, the operation is simulated without side
21
22
  # effects Useful for testing integrations without actual execution
22
- test_mode: nil,
23
+ sandbox: nil,
23
24
  # Header param: Unique key to ensure idempotent request processing. Must be 1-255
24
25
  # alphanumeric characters, hyphens, or underscores. Responses are cached for 24
25
26
  # hours per key per customer.
26
27
  idempotency_key: nil,
28
+ # Header param: Profile UUID to scope the request to a child profile. Only
29
+ # organization API keys can use this header. The profile must belong to the
30
+ # calling organization.
31
+ x_profile_id: nil,
27
32
  request_options: {}
28
33
  )
29
34
  end
@@ -34,12 +39,16 @@ module Sentdm
34
39
  sig do
35
40
  params(
36
41
  id: String,
42
+ x_profile_id: String,
37
43
  request_options: Sentdm::RequestOptions::OrHash
38
44
  ).returns(Sentdm::APIResponseContact)
39
45
  end
40
46
  def retrieve(
41
47
  # Contact ID from route parameter
42
48
  id,
49
+ # Profile UUID to scope the request to a child profile. Only organization API keys
50
+ # can use this header. The profile must belong to the calling organization.
51
+ x_profile_id: nil,
43
52
  request_options: {}
44
53
  )
45
54
  end
@@ -51,8 +60,9 @@ module Sentdm
51
60
  id: String,
52
61
  default_channel: T.nilable(String),
53
62
  opt_out: T.nilable(T::Boolean),
54
- test_mode: T::Boolean,
63
+ sandbox: T::Boolean,
55
64
  idempotency_key: String,
65
+ x_profile_id: String,
56
66
  request_options: Sentdm::RequestOptions::OrHash
57
67
  ).returns(Sentdm::APIResponseContact)
58
68
  end
@@ -63,13 +73,17 @@ module Sentdm
63
73
  default_channel: nil,
64
74
  # Body param: Whether the contact has opted out of messaging
65
75
  opt_out: nil,
66
- # Body param: Test mode flag - when true, the operation is simulated without side
76
+ # Body param: Sandbox flag - when true, the operation is simulated without side
67
77
  # effects Useful for testing integrations without actual execution
68
- test_mode: nil,
78
+ sandbox: nil,
69
79
  # Header param: Unique key to ensure idempotent request processing. Must be 1-255
70
80
  # alphanumeric characters, hyphens, or underscores. Responses are cached for 24
71
81
  # hours per key per customer.
72
82
  idempotency_key: nil,
83
+ # Header param: Profile UUID to scope the request to a child profile. Only
84
+ # organization API keys can use this header. The profile must belong to the
85
+ # calling organization.
86
+ x_profile_id: nil,
73
87
  request_options: {}
74
88
  )
75
89
  end
@@ -83,19 +97,25 @@ module Sentdm
83
97
  channel: T.nilable(String),
84
98
  phone: T.nilable(String),
85
99
  search: T.nilable(String),
100
+ x_profile_id: String,
86
101
  request_options: Sentdm::RequestOptions::OrHash
87
102
  ).returns(Sentdm::Models::ContactListResponse)
88
103
  end
89
104
  def list(
90
- # Page number (1-indexed)
105
+ # Query param: Page number (1-indexed)
91
106
  page:,
107
+ # Query param: Number of items per page
92
108
  page_size:,
93
- # Optional channel filter (sms, whatsapp)
109
+ # Query param: Optional channel filter (sms, whatsapp)
94
110
  channel: nil,
95
- # Optional phone number filter (alternative to list view)
111
+ # Query param: Optional phone number filter (alternative to list view)
96
112
  phone: nil,
97
- # Optional search term for filtering contacts
113
+ # Query param: Optional search term for filtering contacts
98
114
  search: nil,
115
+ # Header param: Profile UUID to scope the request to a child profile. Only
116
+ # organization API keys can use this header. The profile must belong to the
117
+ # calling organization.
118
+ x_profile_id: nil,
99
119
  request_options: {}
100
120
  )
101
121
  end
@@ -106,14 +126,19 @@ module Sentdm
106
126
  params(
107
127
  id: String,
108
128
  body: Sentdm::ContactDeleteParams::Body::OrHash,
129
+ x_profile_id: String,
109
130
  request_options: Sentdm::RequestOptions::OrHash
110
131
  ).void
111
132
  end
112
133
  def delete(
113
- # Contact ID from route parameter
134
+ # Path param: Contact ID from route parameter
114
135
  id,
115
- # Request to delete/dissociate a contact
136
+ # Body param: Request to delete/dissociate a contact
116
137
  body:,
138
+ # Header param: Profile UUID to scope the request to a child profile. Only
139
+ # organization API keys can use this header. The profile must belong to the
140
+ # calling organization.
141
+ x_profile_id: nil,
117
142
  request_options: {}
118
143
  )
119
144
  end
@@ -3,18 +3,6 @@
3
3
  module Sentdm
4
4
  module Resources
5
5
  class Lookup
6
- # Validates a phone number and retrieves formatting, country, and timezone
7
- # information from the internal index. Provider-agnostic and works for all
8
- # customers.
9
- sig do
10
- params(
11
- phone_number: String,
12
- request_options: Sentdm::RequestOptions::OrHash
13
- ).returns(Sentdm::Models::LookupRetrievePhoneInfoResponse)
14
- end
15
- def retrieve_phone_info(phone_number, request_options: {})
16
- end
17
-
18
6
  # @api private
19
7
  sig { params(client: Sentdm::Client).returns(T.attached_class) }
20
8
  def self.new(client:)
@@ -4,15 +4,33 @@ module Sentdm
4
4
  module Resources
5
5
  # Retrieve account details
6
6
  class Me
7
- # Returns the account associated with the API key. For organization API keys,
8
- # returns the organization with its profiles. For profile API keys, returns the
9
- # profile with its settings.
7
+ # Returns the account associated with the provided API key. The response includes
8
+ # account identity, contact information, messaging channel configuration, and
9
+ # depending on the account type — either a list of child profiles or the profile's
10
+ # own settings.
11
+ #
12
+ # **Account types:**
13
+ #
14
+ # - `organization` — Has child profiles. The `profiles` array is populated.
15
+ # - `user` — Standalone account with no profiles.
16
+ # - `profile` — Child of an organization. Includes `organization_id`,
17
+ # `short_name`, `status`, and `settings`.
18
+ #
19
+ # **Channels:** The `channels` object always includes `sms`, `whatsapp`, and
20
+ # `rcs`. Each channel has a `configured` boolean. Configured channels expose
21
+ # additional details such as `phone_number`.
10
22
  sig do
11
- params(request_options: Sentdm::RequestOptions::OrHash).returns(
12
- Sentdm::Models::MeRetrieveResponse
13
- )
23
+ params(
24
+ x_profile_id: String,
25
+ request_options: Sentdm::RequestOptions::OrHash
26
+ ).returns(Sentdm::Models::MeRetrieveResponse)
14
27
  end
15
- def retrieve(request_options: {})
28
+ def retrieve(
29
+ # Profile UUID to scope the request to a child profile. Only organization API keys
30
+ # can use this header. The profile must belong to the calling organization.
31
+ x_profile_id: nil,
32
+ request_options: {}
33
+ )
16
34
  end
17
35
 
18
36
  # @api private