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
@@ -9,7 +9,7 @@ module Sentdm
9
9
  #
10
10
  # Creates a new webhook endpoint for the authenticated customer.
11
11
  #
12
- # @overload create(display_name: nil, endpoint_url: nil, event_types: nil, retry_count: nil, test_mode: nil, timeout_seconds: nil, idempotency_key: nil, request_options: {})
12
+ # @overload create(display_name: nil, endpoint_url: nil, event_types: nil, retry_count: nil, sandbox: nil, timeout_seconds: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
13
13
  #
14
14
  # @param display_name [String] Body param
15
15
  #
@@ -19,12 +19,14 @@ module Sentdm
19
19
  #
20
20
  # @param retry_count [Integer] Body param
21
21
  #
22
- # @param test_mode [Boolean] Body param: Test mode flag - when true, the operation is simulated without side
22
+ # @param sandbox [Boolean] Body param: Sandbox flag - when true, the operation is simulated without side ef
23
23
  #
24
24
  # @param timeout_seconds [Integer] Body param
25
25
  #
26
26
  # @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
27
27
  #
28
+ # @param x_profile_id [String] Header param: Profile UUID to scope the request to a child profile. Only organiz
29
+ #
28
30
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
29
31
  #
30
32
  # @return [Sentdm::Models::APIResponseWebhook]
@@ -32,7 +34,7 @@ module Sentdm
32
34
  # @see Sentdm::Models::WebhookCreateParams
33
35
  def create(params = {})
34
36
  parsed, options = Sentdm::WebhookCreateParams.dump_request(params)
35
- header_params = {idempotency_key: "idempotency-key"}
37
+ header_params = {idempotency_key: "idempotency-key", x_profile_id: "x-profile-id"}
36
38
  @client.request(
37
39
  method: :post,
38
40
  path: "v3/webhooks",
@@ -43,22 +45,30 @@ module Sentdm
43
45
  )
44
46
  end
45
47
 
48
+ # Some parameter documentations has been truncated, see
49
+ # {Sentdm::Models::WebhookRetrieveParams} for more details.
50
+ #
46
51
  # Retrieves a single webhook by ID for the authenticated customer.
47
52
  #
48
- # @overload retrieve(id, request_options: {})
53
+ # @overload retrieve(id, x_profile_id: nil, request_options: {})
49
54
  #
50
55
  # @param id [String]
56
+ #
57
+ # @param x_profile_id [String] Profile UUID to scope the request to a child profile. Only organization API keys
58
+ #
51
59
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
52
60
  #
53
61
  # @return [Sentdm::Models::APIResponseWebhook]
54
62
  #
55
63
  # @see Sentdm::Models::WebhookRetrieveParams
56
64
  def retrieve(id, params = {})
65
+ parsed, options = Sentdm::WebhookRetrieveParams.dump_request(params)
57
66
  @client.request(
58
67
  method: :get,
59
68
  path: ["v3/webhooks/%1$s", id],
69
+ headers: parsed.transform_keys(x_profile_id: "x-profile-id"),
60
70
  model: Sentdm::APIResponseWebhook,
61
- options: params[:request_options]
71
+ options: options
62
72
  )
63
73
  end
64
74
 
@@ -67,7 +77,7 @@ module Sentdm
67
77
  #
68
78
  # Updates an existing webhook for the authenticated customer.
69
79
  #
70
- # @overload update(id, display_name: nil, endpoint_url: nil, event_types: nil, retry_count: nil, test_mode: nil, timeout_seconds: nil, idempotency_key: nil, request_options: {})
80
+ # @overload update(id, display_name: nil, endpoint_url: nil, event_types: nil, retry_count: nil, sandbox: nil, timeout_seconds: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
71
81
  #
72
82
  # @param id [String] Path param
73
83
  #
@@ -79,12 +89,14 @@ module Sentdm
79
89
  #
80
90
  # @param retry_count [Integer] Body param
81
91
  #
82
- # @param test_mode [Boolean] Body param: Test mode flag - when true, the operation is simulated without side
92
+ # @param sandbox [Boolean] Body param: Sandbox flag - when true, the operation is simulated without side ef
83
93
  #
84
94
  # @param timeout_seconds [Integer] Body param
85
95
  #
86
96
  # @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
87
97
  #
98
+ # @param x_profile_id [String] Header param: Profile UUID to scope the request to a child profile. Only organiz
99
+ #
88
100
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
89
101
  #
90
102
  # @return [Sentdm::Models::APIResponseWebhook]
@@ -92,7 +104,7 @@ module Sentdm
92
104
  # @see Sentdm::Models::WebhookUpdateParams
93
105
  def update(id, params = {})
94
106
  parsed, options = Sentdm::WebhookUpdateParams.dump_request(params)
95
- header_params = {idempotency_key: "idempotency-key"}
107
+ header_params = {idempotency_key: "idempotency-key", x_profile_id: "x-profile-id"}
96
108
  @client.request(
97
109
  method: :put,
98
110
  path: ["v3/webhooks/%1$s", id],
@@ -103,53 +115,77 @@ module Sentdm
103
115
  )
104
116
  end
105
117
 
118
+ # Some parameter documentations has been truncated, see
119
+ # {Sentdm::Models::WebhookListParams} for more details.
120
+ #
106
121
  # Retrieves a paginated list of webhooks for the authenticated customer.
107
122
  #
108
- # @overload list(page:, page_size:, is_active: nil, search: nil, request_options: {})
123
+ # @overload list(page:, page_size:, is_active: nil, search: nil, x_profile_id: nil, request_options: {})
124
+ #
125
+ # @param page [Integer] Query param
126
+ #
127
+ # @param page_size [Integer] Query param
128
+ #
129
+ # @param is_active [Boolean, nil] Query param
130
+ #
131
+ # @param search [String, nil] Query param
132
+ #
133
+ # @param x_profile_id [String] Header param: Profile UUID to scope the request to a child profile. Only organiz
109
134
  #
110
- # @param page [Integer]
111
- # @param page_size [Integer]
112
- # @param is_active [Boolean, nil]
113
- # @param search [String, nil]
114
135
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
115
136
  #
116
137
  # @return [Sentdm::Models::WebhookListResponse]
117
138
  #
118
139
  # @see Sentdm::Models::WebhookListParams
119
140
  def list(params)
141
+ query_params = [:page, :page_size, :is_active, :search]
120
142
  parsed, options = Sentdm::WebhookListParams.dump_request(params)
121
- query = Sentdm::Internal::Util.encode_query_params(parsed)
143
+ query = Sentdm::Internal::Util.encode_query_params(parsed.slice(*query_params))
122
144
  @client.request(
123
145
  method: :get,
124
146
  path: "v3/webhooks",
125
- query: query.transform_keys(page_size: "pageSize", is_active: "isActive"),
147
+ query: query,
148
+ headers: parsed.except(*query_params).transform_keys(x_profile_id: "x-profile-id"),
126
149
  model: Sentdm::Models::WebhookListResponse,
127
150
  options: options
128
151
  )
129
152
  end
130
153
 
154
+ # Some parameter documentations has been truncated, see
155
+ # {Sentdm::Models::WebhookDeleteParams} for more details.
156
+ #
131
157
  # Deletes a webhook for the authenticated customer.
132
158
  #
133
- # @overload delete(id, request_options: {})
159
+ # @overload delete(id, x_profile_id: nil, request_options: {})
134
160
  #
135
161
  # @param id [String]
162
+ #
163
+ # @param x_profile_id [String] Profile UUID to scope the request to a child profile. Only organization API keys
164
+ #
136
165
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
137
166
  #
138
167
  # @return [nil]
139
168
  #
140
169
  # @see Sentdm::Models::WebhookDeleteParams
141
170
  def delete(id, params = {})
171
+ parsed, options = Sentdm::WebhookDeleteParams.dump_request(params)
142
172
  @client.request(
143
173
  method: :delete,
144
174
  path: ["v3/webhooks/%1$s", id],
175
+ headers: parsed.transform_keys(x_profile_id: "x-profile-id"),
145
176
  model: NilClass,
146
- options: params[:request_options]
177
+ options: options
147
178
  )
148
179
  end
149
180
 
181
+ # Some parameter documentations has been truncated, see
182
+ # {Sentdm::Models::WebhookListEventTypesParams} for more details.
183
+ #
150
184
  # Retrieves all available webhook event types that can be subscribed to.
151
185
  #
152
- # @overload list_event_types(request_options: {})
186
+ # @overload list_event_types(x_profile_id: nil, request_options: {})
187
+ #
188
+ # @param x_profile_id [String] Profile UUID to scope the request to a child profile. Only organization API keys
153
189
  #
154
190
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
155
191
  #
@@ -157,34 +193,47 @@ module Sentdm
157
193
  #
158
194
  # @see Sentdm::Models::WebhookListEventTypesParams
159
195
  def list_event_types(params = {})
196
+ parsed, options = Sentdm::WebhookListEventTypesParams.dump_request(params)
160
197
  @client.request(
161
198
  method: :get,
162
199
  path: "v3/webhooks/event-types",
200
+ headers: parsed.transform_keys(x_profile_id: "x-profile-id"),
163
201
  model: Sentdm::Models::WebhookListEventTypesResponse,
164
- options: params[:request_options]
202
+ options: options
165
203
  )
166
204
  end
167
205
 
206
+ # Some parameter documentations has been truncated, see
207
+ # {Sentdm::Models::WebhookListEventsParams} for more details.
208
+ #
168
209
  # Retrieves a paginated list of delivery events for the specified webhook.
169
210
  #
170
- # @overload list_events(id, page:, page_size:, search: nil, request_options: {})
211
+ # @overload list_events(id, page:, page_size:, search: nil, x_profile_id: nil, request_options: {})
212
+ #
213
+ # @param id [String] Path param
214
+ #
215
+ # @param page [Integer] Query param
216
+ #
217
+ # @param page_size [Integer] Query param
218
+ #
219
+ # @param search [String, nil] Query param
220
+ #
221
+ # @param x_profile_id [String] Header param: Profile UUID to scope the request to a child profile. Only organiz
171
222
  #
172
- # @param id [String]
173
- # @param page [Integer]
174
- # @param page_size [Integer]
175
- # @param search [String, nil]
176
223
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
177
224
  #
178
225
  # @return [Sentdm::Models::WebhookListEventsResponse]
179
226
  #
180
227
  # @see Sentdm::Models::WebhookListEventsParams
181
228
  def list_events(id, params)
229
+ query_params = [:page, :page_size, :search]
182
230
  parsed, options = Sentdm::WebhookListEventsParams.dump_request(params)
183
- query = Sentdm::Internal::Util.encode_query_params(parsed)
231
+ query = Sentdm::Internal::Util.encode_query_params(parsed.slice(*query_params))
184
232
  @client.request(
185
233
  method: :get,
186
234
  path: ["v3/webhooks/%1$s/events", id],
187
- query: query.transform_keys(page_size: "pageSize"),
235
+ query: query,
236
+ headers: parsed.except(*query_params).transform_keys(x_profile_id: "x-profile-id"),
188
237
  model: Sentdm::Models::WebhookListEventsResponse,
189
238
  options: options
190
239
  )
@@ -196,7 +245,7 @@ module Sentdm
196
245
  # Generates a new signing secret for the specified webhook. The old secret is
197
246
  # immediately invalidated.
198
247
  #
199
- # @overload rotate_secret(id, body:, idempotency_key: nil, request_options: {})
248
+ # @overload rotate_secret(id, body:, idempotency_key: nil, x_profile_id: nil, request_options: {})
200
249
  #
201
250
  # @param id [String] Path param
202
251
  #
@@ -204,6 +253,8 @@ module Sentdm
204
253
  #
205
254
  # @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
206
255
  #
256
+ # @param x_profile_id [String] Header param: Profile UUID to scope the request to a child profile. Only organiz
257
+ #
207
258
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
208
259
  #
209
260
  # @return [Sentdm::Models::WebhookRotateSecretResponse]
@@ -214,7 +265,10 @@ module Sentdm
214
265
  @client.request(
215
266
  method: :post,
216
267
  path: ["v3/webhooks/%1$s/rotate-secret", id],
217
- headers: parsed.except(:body).transform_keys(idempotency_key: "idempotency-key"),
268
+ headers: parsed.except(:body).transform_keys(
269
+ idempotency_key: "idempotency-key",
270
+ x_profile_id: "x-profile-id"
271
+ ),
218
272
  body: parsed[:body],
219
273
  model: Sentdm::Models::WebhookRotateSecretResponse,
220
274
  options: options
@@ -226,16 +280,18 @@ module Sentdm
226
280
  #
227
281
  # Sends a test event to the specified webhook endpoint to verify connectivity.
228
282
  #
229
- # @overload test_(id, event_type: nil, test_mode: nil, idempotency_key: nil, request_options: {})
283
+ # @overload test_(id, event_type: nil, sandbox: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
230
284
  #
231
285
  # @param id [String] Path param
232
286
  #
233
287
  # @param event_type [String] Body param
234
288
  #
235
- # @param test_mode [Boolean] Body param: Test mode flag - when true, the operation is simulated without side
289
+ # @param sandbox [Boolean] Body param: Sandbox flag - when true, the operation is simulated without side ef
236
290
  #
237
291
  # @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
238
292
  #
293
+ # @param x_profile_id [String] Header param: Profile UUID to scope the request to a child profile. Only organiz
294
+ #
239
295
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
240
296
  #
241
297
  # @return [Sentdm::Models::WebhookTestResponse]
@@ -243,7 +299,7 @@ module Sentdm
243
299
  # @see Sentdm::Models::WebhookTestParams
244
300
  def test_(id, params = {})
245
301
  parsed, options = Sentdm::WebhookTestParams.dump_request(params)
246
- header_params = {idempotency_key: "idempotency-key"}
302
+ header_params = {idempotency_key: "idempotency-key", x_profile_id: "x-profile-id"}
247
303
  @client.request(
248
304
  method: :post,
249
305
  path: ["v3/webhooks/%1$s/test", id],
@@ -259,16 +315,18 @@ module Sentdm
259
315
  #
260
316
  # Activates or deactivates a webhook for the authenticated customer.
261
317
  #
262
- # @overload toggle_status(id, is_active: nil, test_mode: nil, idempotency_key: nil, request_options: {})
318
+ # @overload toggle_status(id, is_active: nil, sandbox: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
263
319
  #
264
320
  # @param id [String] Path param
265
321
  #
266
322
  # @param is_active [Boolean] Body param
267
323
  #
268
- # @param test_mode [Boolean] Body param: Test mode flag - when true, the operation is simulated without side
324
+ # @param sandbox [Boolean] Body param: Sandbox flag - when true, the operation is simulated without side ef
269
325
  #
270
326
  # @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
271
327
  #
328
+ # @param x_profile_id [String] Header param: Profile UUID to scope the request to a child profile. Only organiz
329
+ #
272
330
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
273
331
  #
274
332
  # @return [Sentdm::Models::APIResponseWebhook]
@@ -276,7 +334,7 @@ module Sentdm
276
334
  # @see Sentdm::Models::WebhookToggleStatusParams
277
335
  def toggle_status(id, params = {})
278
336
  parsed, options = Sentdm::WebhookToggleStatusParams.dump_request(params)
279
- header_params = {idempotency_key: "idempotency-key"}
337
+ header_params = {idempotency_key: "idempotency-key", x_profile_id: "x-profile-id"}
280
338
  @client.request(
281
339
  method: :patch,
282
340
  path: ["v3/webhooks/%1$s/toggle-status", id],
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sentdm
4
- VERSION = "0.3.1"
4
+ VERSION = "0.4.0"
5
5
  end
data/lib/sentdm.rb CHANGED
@@ -52,32 +52,21 @@ require_relative "sentdm/errors"
52
52
  require_relative "sentdm/internal/transport/base_client"
53
53
  require_relative "sentdm/internal/transport/pooled_net_requester"
54
54
  require_relative "sentdm/client"
55
- require_relative "sentdm/models/mutation_request"
56
55
  require_relative "sentdm/models/brands/base_dto"
56
+ require_relative "sentdm/models/mutation_request"
57
57
  require_relative "sentdm/models/api_error"
58
58
  require_relative "sentdm/models/api_meta"
59
- require_relative "sentdm/models/api_response_brand_with_kyc"
60
59
  require_relative "sentdm/models/api_response_contact"
61
60
  require_relative "sentdm/models/api_response_of_profile_detail"
62
61
  require_relative "sentdm/models/api_response_of_user"
63
62
  require_relative "sentdm/models/api_response_template"
64
63
  require_relative "sentdm/models/api_response_webhook"
65
- require_relative "sentdm/models/brand_create_params"
66
64
  require_relative "sentdm/models/brand_data"
67
- require_relative "sentdm/models/brand_delete_params"
68
- require_relative "sentdm/models/brand_list_params"
69
- require_relative "sentdm/models/brand_list_response"
70
65
  require_relative "sentdm/models/brands/api_response_tcr_campaign_with_use_cases"
71
- require_relative "sentdm/models/brands/campaign_create_params"
72
66
  require_relative "sentdm/models/brands/campaign_data"
73
- require_relative "sentdm/models/brands/campaign_delete_params"
74
- require_relative "sentdm/models/brands/campaign_list_params"
75
- require_relative "sentdm/models/brands/campaign_list_response"
76
- require_relative "sentdm/models/brands/campaign_update_params"
77
67
  require_relative "sentdm/models/brands/messaging_use_case_us"
78
68
  require_relative "sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data"
79
69
  require_relative "sentdm/models/brands/tcr_campaign_with_use_cases"
80
- require_relative "sentdm/models/brand_update_params"
81
70
  require_relative "sentdm/models/brand_with_kyc"
82
71
  require_relative "sentdm/models/contact"
83
72
  require_relative "sentdm/models/contact_create_params"
@@ -87,8 +76,6 @@ require_relative "sentdm/models/contact_list_response"
87
76
  require_relative "sentdm/models/contact_retrieve_params"
88
77
  require_relative "sentdm/models/contact_update_params"
89
78
  require_relative "sentdm/models/destination_country"
90
- require_relative "sentdm/models/lookup_retrieve_phone_info_params"
91
- require_relative "sentdm/models/lookup_retrieve_phone_info_response"
92
79
  require_relative "sentdm/models/me_retrieve_params"
93
80
  require_relative "sentdm/models/me_retrieve_response"
94
81
  require_relative "sentdm/models/message_retrieve_activities_params"
@@ -42,7 +42,6 @@ module Sentdm
42
42
  sig { returns(Sentdm::Resources::Contacts) }
43
43
  attr_reader :contacts
44
44
 
45
- # Register and manage 10DLC brands for SMS compliance
46
45
  sig { returns(Sentdm::Resources::Brands) }
47
46
  attr_reader :brands
48
47
 
@@ -13,10 +13,6 @@ module Sentdm
13
13
  sig { params(request_id: String).void }
14
14
  attr_writer :request_id
15
15
 
16
- # Response time in milliseconds (optional)
17
- sig { returns(T.nilable(Integer)) }
18
- attr_accessor :response_time_ms
19
-
20
16
  # Server timestamp when the response was generated
21
17
  sig { returns(T.nilable(Time)) }
22
18
  attr_reader :timestamp
@@ -33,18 +29,13 @@ module Sentdm
33
29
 
34
30
  # Request and response metadata
35
31
  sig do
36
- params(
37
- request_id: String,
38
- response_time_ms: T.nilable(Integer),
39
- timestamp: Time,
40
- version: String
41
- ).returns(T.attached_class)
32
+ params(request_id: String, timestamp: Time, version: String).returns(
33
+ T.attached_class
34
+ )
42
35
  end
43
36
  def self.new(
44
37
  # Unique identifier for this request (for tracing and support)
45
38
  request_id: nil,
46
- # Response time in milliseconds (optional)
47
- response_time_ms: nil,
48
39
  # Server timestamp when the response was generated
49
40
  timestamp: nil,
50
41
  # API version used for this request
@@ -54,12 +45,7 @@ module Sentdm
54
45
 
55
46
  sig do
56
47
  override.returns(
57
- {
58
- request_id: String,
59
- response_time_ms: T.nilable(Integer),
60
- timestamp: Time,
61
- version: String
62
- }
48
+ { request_id: String, timestamp: Time, version: String }
63
49
  )
64
50
  end
65
51
  def to_hash