rcs 2.0.0.pre.rc.2 → 2.0.0.pre.rc.3

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 (77) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rcs/brands/client.rb +6 -6
  3. data/lib/rcs/brands/types/{autofill_brand_schema_options.rb → autofill_brand_options.rb} +5 -5
  4. data/lib/rcs/campaigns/dlc/client.rb +12 -12
  5. data/lib/rcs/campaigns/dlc/types/{upsert_dlc_schema_keywords_help.rb → upsert_dlc_campaign_help_keywords.rb} +5 -5
  6. data/lib/rcs/campaigns/dlc/types/{upsert_dlc_schema_keywords.rb → upsert_dlc_campaign_keywords.rb} +20 -20
  7. data/lib/rcs/campaigns/dlc/types/{upsert_dlc_schema_links.rb → upsert_dlc_campaign_links.rb} +5 -5
  8. data/lib/rcs/campaigns/dlc/types/{upsert_dlc_schema_keywords_opt_in.rb → upsert_dlc_campaign_opt_in_keywords.rb} +5 -5
  9. data/lib/rcs/campaigns/dlc/types/{upsert_dlc_schema_keywords_opt_out.rb → upsert_dlc_campaign_opt_out_keywords.rb} +5 -5
  10. data/lib/rcs/campaigns/dlc/types/{upsert_dlc_schema_options.rb → upsert_dlc_campaign_options.rb} +5 -5
  11. data/lib/rcs/campaigns/dlc/types/{upsert_dlc_schema_use_case.rb → upsert_dlc_campaign_use_case.rb} +5 -5
  12. data/lib/rcs/campaigns/rcs/client.rb +25 -25
  13. data/lib/rcs/campaigns/rcs/types/{upsert_rcs_schema_agent_emails_item.rb → rcs_agent_email.rb} +5 -5
  14. data/lib/rcs/campaigns/rcs/types/{upsert_rcs_schema_agent_phones_item.rb → rcs_agent_phone.rb} +5 -5
  15. data/lib/rcs/campaigns/rcs/types/{upsert_rcs_schema_agent_websites_item.rb → rcs_agent_website.rb} +5 -5
  16. data/lib/rcs/campaigns/rcs/types/{upsert_rcs_schema_agent.rb → upsert_rcs_agent.rb} +17 -17
  17. data/lib/rcs/campaigns/rcs/types/{upsert_rcs_schema_links.rb → upsert_rcs_links.rb} +5 -5
  18. data/lib/rcs/campaigns/rcs/types/{upsert_rcs_schema_opt_in.rb → upsert_rcs_opt_in.rb} +13 -13
  19. data/lib/rcs/campaigns/rcs/types/{upsert_rcs_schema_opt_out.rb → upsert_rcs_opt_out.rb} +5 -5
  20. data/lib/rcs/campaigns/rcs/types/{upsert_rcs_schema_use_case.rb → upsert_rcs_use_case.rb} +5 -5
  21. data/lib/rcs/campaigns/toll_free/client.rb +4 -4
  22. data/lib/rcs/campaigns/toll_free/types/toll_free_autofill_response.rb +10 -10
  23. data/lib/rcs/campaigns/toll_free/types/upsert_toll_free_schema_opt_in.rb +8 -8
  24. data/lib/rcs/conversations/client.rb +2 -2
  25. data/lib/rcs/messages/client.rb +24 -10
  26. data/lib/rcs/messages/mms/client.rb +118 -0
  27. data/lib/rcs/messages/{send/types/send_mms_response.rb → mms/types/mms_send_response.rb} +4 -4
  28. data/lib/rcs/messages/{send/types/send_mms_schema_options.rb → mms/types/send_mms_options.rb} +6 -6
  29. data/lib/rcs/messages/rcs/client.rb +68 -0
  30. data/lib/rcs/messages/{send/types/send_rcs_response.rb → rcs/types/rcs_send_response.rb} +4 -4
  31. data/lib/rcs/messages/sms/client.rb +198 -0
  32. data/lib/rcs/messages/{send/types/send_sms_schema_options.rb → sms/types/send_sms_options.rb} +6 -6
  33. data/lib/rcs/messages/{send/types/send_sms_response.rb → sms/types/sms_send_response.rb} +4 -4
  34. data/lib/rcs/messages/types/{message_reaction_schema_options.rb → react_message_options.rb} +5 -5
  35. data/lib/rcs/phone_numbers/client.rb +18 -18
  36. data/lib/rcs/phone_numbers/types/{phone_details_schema_options_enhanced_contact_info.rb → enhanced_contact_info.rb} +5 -7
  37. data/lib/rcs/phone_numbers/types/{phone_details_schema_options.rb → retrieve_phone_number_details_options.rb} +10 -10
  38. data/lib/rcs/phone_numbers/types/{search_schema_number.rb → search_phone_number_by_digits.rb} +5 -5
  39. data/lib/rcs/phone_numbers/types/{search_schema_location.rb → search_phone_number_by_location.rb} +5 -5
  40. data/lib/rcs/phone_numbers/types/{search_schema_options.rb → search_phone_number_options.rb} +5 -5
  41. data/lib/rcs/phone_numbers/webhook/client.rb +2 -2
  42. data/lib/rcs/tools/file/client.rb +3 -3
  43. data/lib/rcs/tools/file/types/{file_upload_schema_options_download.rb → download_options.rb} +5 -5
  44. data/lib/rcs/tools/file/types/{file_upload_schema_options.rb → upload_file_options.rb} +10 -10
  45. data/lib/rcs/types/{attach_webhook_schema_webhook_id.rb → attach_webhook_by_id_params.rb} +5 -5
  46. data/lib/rcs/types/attach_webhook_params.rb +8 -8
  47. data/lib/rcs/types/{get_conversation_request_id.rb → conversation_by_id_params.rb} +5 -5
  48. data/lib/rcs/types/{get_conversation_request_recipient.rb → conversation_by_participants_params.rb} +5 -5
  49. data/lib/rcs/types/{attach_webhook_schema_name.rb → create_and_attach_webhook_by_url_params.rb} +5 -5
  50. data/lib/rcs/types/get_conversation_params.rb +8 -8
  51. data/lib/rcs/types/link_click_event.rb +8 -8
  52. data/lib/rcs/types/message.rb +8 -8
  53. data/lib/rcs/types/rcs.rb +12 -12
  54. data/lib/rcs/types/rcs_campaign_schema_extra_opt_in.rb +8 -8
  55. data/lib/rcs/types/rcs_campaign_schema_opt_in.rb +8 -8
  56. data/lib/rcs/types/rcs_cards.rb +4 -4
  57. data/lib/rcs/types/rcs_cards_cards_item.rb +4 -4
  58. data/lib/rcs/types/rcs_cards_content.rb +4 -4
  59. data/lib/rcs/types/rcs_cards_content_cards_item.rb +4 -4
  60. data/lib/rcs/types/rcs_media_content.rb +4 -4
  61. data/lib/rcs/types/rcs_text_content.rb +4 -4
  62. data/lib/rcs/types/{rcs_button_content.rb → rich_button.rb} +10 -10
  63. data/lib/rcs/types/{rcs_card.rb → rich_cards_message.rb} +9 -9
  64. data/lib/rcs/types/{rcs_media.rb → rich_media_message.rb} +9 -9
  65. data/lib/rcs/types/{rcs_text.rb → rich_text_message.rb} +9 -9
  66. data/lib/rcs/types/toll_free_campaign.rb +10 -10
  67. data/lib/rcs/types/toll_free_campaign_with_extended_brand_and_status.rb +10 -10
  68. data/lib/rcs/types/{nullable_contact.rb → upsert_contact.rb} +5 -5
  69. data/lib/rcs/types/{toll_free_campaign_schema_opt_in.rb → upsert_toll_free_campaign_opt_in.rb} +13 -13
  70. data/lib/rcs/types/{toll_free_campaign_schema_use_case.rb → upsert_toll_free_campaign_use_case.rb} +5 -5
  71. data/lib/rcs.rb +0 -7
  72. data/lib/requests.rb +2 -2
  73. data/lib/types_export.rb +40 -40
  74. metadata +43 -45
  75. data/lib/rcs/message/client.rb +0 -30
  76. data/lib/rcs/message/sms/client.rb +0 -96
  77. data/lib/rcs/messages/send/client.rb +0 -318
@@ -1,318 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../../../requests"
4
- require_relative "types/send_sms_schema_options"
5
- require_relative "types/send_sms_response"
6
- require_relative "types/send_mms_schema_options"
7
- require_relative "types/send_mms_response"
8
- require_relative "../../types/rcs"
9
- require_relative "types/send_rcs_response"
10
- require "async"
11
-
12
- module Pinnacle
13
- module Messages
14
- class SendClient
15
- # @return [Pinnacle::RequestClient]
16
- attr_reader :request_client
17
-
18
- # @param request_client [Pinnacle::RequestClient]
19
- # @return [Pinnacle::Messages::SendClient]
20
- def initialize(request_client:)
21
- @request_client = request_client
22
- end
23
-
24
- # Send a SMS message immediately or schedule it for future delivery.
25
- #
26
- # @param from [String] Phone number that sends the message in E.164 format.
27
- # @param options [Hash] Additional settings to customize SMS delivery.Request of type Pinnacle::Messages::Send::Types::SendSmsSchemaOptions, as a Hash
28
- # * :schedule (Hash)
29
- # * :end_date (DateTime)
30
- # * :recurrence (String)
31
- # * :send_at (String)
32
- # * :timezone (String)
33
- # * :tracking (Pinnacle::Types::Tracking)
34
- # @param text [String] Message content.
35
- # @param to [String] Recipient's phone number in E.164 format.
36
- # @param request_options [Pinnacle::RequestOptions]
37
- # @return [Pinnacle::Types::SentSmsDetails, Pinnacle::Types::ScheduledMessaage]
38
- # @example
39
- # api = Pinnacle::Client.new(
40
- # base_url: "https://api.example.com",
41
- # environment: Pinnacle::Environment::DEFAULT,
42
- # api_key: "YOUR_API_KEY"
43
- # )
44
- # api.messages.send.sms(
45
- # from: "+14155164736",
46
- # text: "Hey! 😂",
47
- # to: "+14154746461"
48
- # )
49
- def sms(from:, text:, to:, options: nil, request_options: nil)
50
- response = @request_client.conn.post do |req|
51
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
52
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
53
- req.headers = {
54
- **(req.headers || {}),
55
- **@request_client.get_headers,
56
- **(request_options&.additional_headers || {})
57
- }.compact
58
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
59
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
60
- end
61
- req.body = {
62
- **(request_options&.additional_body_parameters || {}),
63
- from: from,
64
- options: options,
65
- text: text,
66
- to: to
67
- }.compact
68
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/send/sms"
69
- end
70
- Pinnacle::Messages::Send::Types::SendSmsResponse.from_json(json_object: response.body)
71
- end
72
-
73
- # Send a MMS immediately or schedule it for future delivery.
74
- #
75
- # @param from [String] Phone number you want to send the message from in E.164 format.
76
- # @param media_urls [Array<String>] Media file URLs to send.<br>
77
- # See [supported media
78
- # types](https://app.pinnacle.sh/supported-file-types?type=MMS).
79
- # @param options [Hash] Control how your MMS is processed and delivered.Request of type Pinnacle::Messages::Send::Types::SendMmsSchemaOptions, as a Hash
80
- # * :multiple_messages (Boolean)
81
- # * :schedule (Hash)
82
- # * :end_date (DateTime)
83
- # * :recurrence (String)
84
- # * :send_at (String)
85
- # * :timezone (String)
86
- # * :tracking (Pinnacle::Types::Tracking)
87
- # * :validate (Boolean)
88
- # @param text [String] Message text to accompany the media.
89
- # @param to [String] Recipient's phone number in E.164 format.
90
- # @param request_options [Pinnacle::RequestOptions]
91
- # @return [Pinnacle::Types::SentMmsDetails, Pinnacle::Types::ScheduledMessaage]
92
- # @example
93
- # api = Pinnacle::Client.new(
94
- # base_url: "https://api.example.com",
95
- # environment: Pinnacle::Environment::DEFAULT,
96
- # api_key: "YOUR_API_KEY"
97
- # )
98
- # api.messages.send.mms(
99
- # from: "+14155164736",
100
- # media_urls: ["https://fastly.picsum.photos/id/941/300/300.jpg?hmac=mDxM9PWSqRDjecwSCEpzU4bj35gqnG7yA25OL29uNv0"],
101
- # options: { multiple_messages: true, validate: true },
102
- # text: "Check out this image!",
103
- # to: "+14154746461"
104
- # )
105
- def mms(from:, media_urls:, text:, to:, options: nil, request_options: nil)
106
- response = @request_client.conn.post do |req|
107
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
108
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
109
- req.headers = {
110
- **(req.headers || {}),
111
- **@request_client.get_headers,
112
- **(request_options&.additional_headers || {})
113
- }.compact
114
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
115
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
116
- end
117
- req.body = {
118
- **(request_options&.additional_body_parameters || {}),
119
- from: from,
120
- mediaUrls: media_urls,
121
- options: options,
122
- text: text,
123
- to: to
124
- }.compact
125
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/send/mms"
126
- end
127
- Pinnacle::Messages::Send::Types::SendMmsResponse.from_json(json_object: response.body)
128
- end
129
-
130
- # Send a RCS message immediately or schedule it for future delivery. <br>
131
- # Requires an active RCS agent and recipient devices that support RCS Business
132
- # Messaging.
133
- #
134
- # @param request [Pinnacle::Types::RcsText, Pinnacle::Types::RcsMedia, Pinnacle::Types::RcsCard]
135
- # @param request_options [Pinnacle::RequestOptions]
136
- # @return [Pinnacle::Types::SentRcsDetails, Pinnacle::Types::ScheduledMessaage]
137
- # @example
138
- # api = Pinnacle::Client.new(
139
- # base_url: "https://api.example.com",
140
- # environment: Pinnacle::Environment::DEFAULT,
141
- # api_key: "YOUR_API_KEY"
142
- # )
143
- # api.messages.send.rcs(request: { quick_replies: , text: "text", from: "from", to: "to" })
144
- def rcs(request:, request_options: nil)
145
- response = @request_client.conn.post do |req|
146
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
147
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
148
- req.headers = {
149
- **(req.headers || {}),
150
- **@request_client.get_headers,
151
- **(request_options&.additional_headers || {})
152
- }.compact
153
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
154
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
155
- end
156
- req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
157
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/send/rcs"
158
- end
159
- Pinnacle::Messages::Send::Types::SendRcsResponse.from_json(json_object: response.body)
160
- end
161
- end
162
-
163
- class AsyncSendClient
164
- # @return [Pinnacle::AsyncRequestClient]
165
- attr_reader :request_client
166
-
167
- # @param request_client [Pinnacle::AsyncRequestClient]
168
- # @return [Pinnacle::Messages::AsyncSendClient]
169
- def initialize(request_client:)
170
- @request_client = request_client
171
- end
172
-
173
- # Send a SMS message immediately or schedule it for future delivery.
174
- #
175
- # @param from [String] Phone number that sends the message in E.164 format.
176
- # @param options [Hash] Additional settings to customize SMS delivery.Request of type Pinnacle::Messages::Send::Types::SendSmsSchemaOptions, as a Hash
177
- # * :schedule (Hash)
178
- # * :end_date (DateTime)
179
- # * :recurrence (String)
180
- # * :send_at (String)
181
- # * :timezone (String)
182
- # * :tracking (Pinnacle::Types::Tracking)
183
- # @param text [String] Message content.
184
- # @param to [String] Recipient's phone number in E.164 format.
185
- # @param request_options [Pinnacle::RequestOptions]
186
- # @return [Pinnacle::Types::SentSmsDetails, Pinnacle::Types::ScheduledMessaage]
187
- # @example
188
- # api = Pinnacle::Client.new(
189
- # base_url: "https://api.example.com",
190
- # environment: Pinnacle::Environment::DEFAULT,
191
- # api_key: "YOUR_API_KEY"
192
- # )
193
- # api.messages.send.sms(
194
- # from: "+14155164736",
195
- # text: "Hey! 😂",
196
- # to: "+14154746461"
197
- # )
198
- def sms(from:, text:, to:, options: nil, request_options: nil)
199
- Async do
200
- response = @request_client.conn.post do |req|
201
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
202
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
203
- req.headers = {
204
- **(req.headers || {}),
205
- **@request_client.get_headers,
206
- **(request_options&.additional_headers || {})
207
- }.compact
208
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
209
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
210
- end
211
- req.body = {
212
- **(request_options&.additional_body_parameters || {}),
213
- from: from,
214
- options: options,
215
- text: text,
216
- to: to
217
- }.compact
218
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/send/sms"
219
- end
220
- Pinnacle::Messages::Send::Types::SendSmsResponse.from_json(json_object: response.body)
221
- end
222
- end
223
-
224
- # Send a MMS immediately or schedule it for future delivery.
225
- #
226
- # @param from [String] Phone number you want to send the message from in E.164 format.
227
- # @param media_urls [Array<String>] Media file URLs to send.<br>
228
- # See [supported media
229
- # types](https://app.pinnacle.sh/supported-file-types?type=MMS).
230
- # @param options [Hash] Control how your MMS is processed and delivered.Request of type Pinnacle::Messages::Send::Types::SendMmsSchemaOptions, as a Hash
231
- # * :multiple_messages (Boolean)
232
- # * :schedule (Hash)
233
- # * :end_date (DateTime)
234
- # * :recurrence (String)
235
- # * :send_at (String)
236
- # * :timezone (String)
237
- # * :tracking (Pinnacle::Types::Tracking)
238
- # * :validate (Boolean)
239
- # @param text [String] Message text to accompany the media.
240
- # @param to [String] Recipient's phone number in E.164 format.
241
- # @param request_options [Pinnacle::RequestOptions]
242
- # @return [Pinnacle::Types::SentMmsDetails, Pinnacle::Types::ScheduledMessaage]
243
- # @example
244
- # api = Pinnacle::Client.new(
245
- # base_url: "https://api.example.com",
246
- # environment: Pinnacle::Environment::DEFAULT,
247
- # api_key: "YOUR_API_KEY"
248
- # )
249
- # api.messages.send.mms(
250
- # from: "+14155164736",
251
- # media_urls: ["https://fastly.picsum.photos/id/941/300/300.jpg?hmac=mDxM9PWSqRDjecwSCEpzU4bj35gqnG7yA25OL29uNv0"],
252
- # options: { multiple_messages: true, validate: true },
253
- # text: "Check out this image!",
254
- # to: "+14154746461"
255
- # )
256
- def mms(from:, media_urls:, text:, to:, options: nil, request_options: nil)
257
- Async do
258
- response = @request_client.conn.post do |req|
259
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
260
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
261
- req.headers = {
262
- **(req.headers || {}),
263
- **@request_client.get_headers,
264
- **(request_options&.additional_headers || {})
265
- }.compact
266
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
267
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
268
- end
269
- req.body = {
270
- **(request_options&.additional_body_parameters || {}),
271
- from: from,
272
- mediaUrls: media_urls,
273
- options: options,
274
- text: text,
275
- to: to
276
- }.compact
277
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/send/mms"
278
- end
279
- Pinnacle::Messages::Send::Types::SendMmsResponse.from_json(json_object: response.body)
280
- end
281
- end
282
-
283
- # Send a RCS message immediately or schedule it for future delivery. <br>
284
- # Requires an active RCS agent and recipient devices that support RCS Business
285
- # Messaging.
286
- #
287
- # @param request [Pinnacle::Types::RcsText, Pinnacle::Types::RcsMedia, Pinnacle::Types::RcsCard]
288
- # @param request_options [Pinnacle::RequestOptions]
289
- # @return [Pinnacle::Types::SentRcsDetails, Pinnacle::Types::ScheduledMessaage]
290
- # @example
291
- # api = Pinnacle::Client.new(
292
- # base_url: "https://api.example.com",
293
- # environment: Pinnacle::Environment::DEFAULT,
294
- # api_key: "YOUR_API_KEY"
295
- # )
296
- # api.messages.send.rcs(request: { quick_replies: , text: "text", from: "from", to: "to" })
297
- def rcs(request:, request_options: nil)
298
- Async do
299
- response = @request_client.conn.post do |req|
300
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
301
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
302
- req.headers = {
303
- **(req.headers || {}),
304
- **@request_client.get_headers,
305
- **(request_options&.additional_headers || {})
306
- }.compact
307
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
308
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
309
- end
310
- req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
311
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/send/rcs"
312
- end
313
- Pinnacle::Messages::Send::Types::SendRcsResponse.from_json(json_object: response.body)
314
- end
315
- end
316
- end
317
- end
318
- end