rcs 2.0.0.pre.rc.1 → 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.
- checksums.yaml +4 -4
- data/lib/rcs/brands/client.rb +6 -6
- data/lib/rcs/brands/types/{autofill_brand_schema_options.rb → autofill_brand_options.rb} +5 -5
- data/lib/rcs/campaigns/dlc/client.rb +12 -12
- data/lib/rcs/campaigns/dlc/types/{upsert_dlc_schema_keywords_help.rb → upsert_dlc_campaign_help_keywords.rb} +5 -5
- data/lib/rcs/campaigns/dlc/types/{upsert_dlc_schema_keywords.rb → upsert_dlc_campaign_keywords.rb} +20 -20
- data/lib/rcs/campaigns/dlc/types/{upsert_dlc_schema_links.rb → upsert_dlc_campaign_links.rb} +5 -5
- data/lib/rcs/campaigns/dlc/types/{upsert_dlc_schema_keywords_opt_in.rb → upsert_dlc_campaign_opt_in_keywords.rb} +5 -5
- data/lib/rcs/campaigns/dlc/types/{upsert_dlc_schema_keywords_opt_out.rb → upsert_dlc_campaign_opt_out_keywords.rb} +5 -5
- data/lib/rcs/campaigns/dlc/types/{upsert_dlc_schema_options.rb → upsert_dlc_campaign_options.rb} +5 -5
- data/lib/rcs/campaigns/dlc/types/{upsert_dlc_schema_use_case.rb → upsert_dlc_campaign_use_case.rb} +5 -5
- data/lib/rcs/campaigns/rcs/client.rb +25 -25
- data/lib/rcs/campaigns/rcs/types/{upsert_rcs_schema_agent_emails_item.rb → rcs_agent_email.rb} +5 -5
- data/lib/rcs/campaigns/rcs/types/{upsert_rcs_schema_agent_phones_item.rb → rcs_agent_phone.rb} +5 -5
- data/lib/rcs/campaigns/rcs/types/{upsert_rcs_schema_agent_websites_item.rb → rcs_agent_website.rb} +5 -5
- data/lib/rcs/campaigns/rcs/types/{upsert_rcs_schema_agent.rb → upsert_rcs_agent.rb} +17 -17
- data/lib/rcs/campaigns/rcs/types/{upsert_rcs_schema_links.rb → upsert_rcs_links.rb} +5 -5
- data/lib/rcs/campaigns/rcs/types/{upsert_rcs_schema_opt_in.rb → upsert_rcs_opt_in.rb} +13 -13
- data/lib/rcs/campaigns/rcs/types/{upsert_rcs_schema_opt_out.rb → upsert_rcs_opt_out.rb} +5 -5
- data/lib/rcs/campaigns/rcs/types/{upsert_rcs_schema_use_case.rb → upsert_rcs_use_case.rb} +5 -5
- data/lib/rcs/campaigns/toll_free/client.rb +4 -4
- data/lib/rcs/campaigns/toll_free/types/toll_free_autofill_response.rb +10 -10
- data/lib/rcs/campaigns/toll_free/types/upsert_toll_free_schema_opt_in.rb +8 -8
- data/lib/rcs/conversations/client.rb +2 -2
- data/lib/rcs/messages/client.rb +24 -3
- data/lib/rcs/messages/mms/client.rb +118 -0
- data/lib/rcs/messages/{send/types/send_mms_response.rb → mms/types/mms_send_response.rb} +4 -4
- data/lib/rcs/messages/{send/types/send_mms_schema_options.rb → mms/types/send_mms_options.rb} +6 -6
- data/lib/rcs/messages/rcs/client.rb +68 -0
- data/lib/rcs/messages/{send/types/send_rcs_response.rb → rcs/types/rcs_send_response.rb} +4 -4
- data/lib/rcs/messages/sms/client.rb +198 -0
- data/lib/rcs/messages/{send/types/send_sms_schema_options.rb → sms/types/send_sms_options.rb} +6 -6
- data/lib/rcs/messages/{send/types/send_sms_response.rb → sms/types/sms_send_response.rb} +4 -4
- data/lib/rcs/messages/types/{message_reaction_schema_options.rb → react_message_options.rb} +5 -5
- data/lib/rcs/phone_numbers/client.rb +32 -18
- data/lib/rcs/phone_numbers/types/{phone_details_schema_options_enhanced_contact_info.rb → enhanced_contact_info.rb} +5 -7
- data/lib/rcs/phone_numbers/types/{phone_details_schema_options.rb → retrieve_phone_number_details_options.rb} +10 -10
- data/lib/rcs/phone_numbers/types/{search_schema_number.rb → search_phone_number_by_digits.rb} +5 -5
- data/lib/rcs/phone_numbers/types/{search_schema_location.rb → search_phone_number_by_location.rb} +5 -5
- data/lib/rcs/phone_numbers/types/{search_schema_options.rb → search_phone_number_options.rb} +5 -5
- data/lib/rcs/phone_numbers/webhook/client.rb +2 -2
- data/lib/rcs/tools/file/client.rb +3 -3
- data/lib/rcs/tools/file/types/{file_upload_schema_options_download.rb → download_options.rb} +5 -5
- data/lib/rcs/tools/file/types/{file_upload_schema_options.rb → upload_file_options.rb} +10 -10
- data/lib/rcs/types/{attach_webhook_schema_webhook_id.rb → attach_webhook_by_id_params.rb} +5 -5
- data/lib/rcs/types/attach_webhook_params.rb +8 -8
- data/lib/rcs/types/{get_conversation_request_id.rb → conversation_by_id_params.rb} +5 -5
- data/lib/rcs/types/{get_conversation_request_recipient.rb → conversation_by_participants_params.rb} +5 -5
- data/lib/rcs/types/{attach_webhook_schema_name.rb → create_and_attach_webhook_by_url_params.rb} +5 -5
- data/lib/rcs/types/get_conversation_params.rb +8 -8
- data/lib/rcs/types/link_click_event.rb +8 -8
- data/lib/rcs/types/message.rb +8 -8
- data/lib/rcs/types/rcs.rb +12 -12
- data/lib/rcs/types/rcs_campaign_schema_extra_opt_in.rb +8 -8
- data/lib/rcs/types/rcs_campaign_schema_opt_in.rb +8 -8
- data/lib/rcs/types/rcs_cards.rb +4 -4
- data/lib/rcs/types/rcs_cards_cards_item.rb +4 -4
- data/lib/rcs/types/rcs_cards_content.rb +4 -4
- data/lib/rcs/types/rcs_cards_content_cards_item.rb +4 -4
- data/lib/rcs/types/rcs_media_content.rb +4 -4
- data/lib/rcs/types/rcs_text_content.rb +4 -4
- data/lib/rcs/types/{rcs_button_content.rb → rich_button.rb} +10 -10
- data/lib/rcs/types/{rcs_card.rb → rich_cards_message.rb} +9 -9
- data/lib/rcs/types/{rcs_media.rb → rich_media_message.rb} +9 -9
- data/lib/rcs/types/{rcs_text.rb → rich_text_message.rb} +9 -9
- data/lib/rcs/types/toll_free_campaign.rb +10 -10
- data/lib/rcs/types/toll_free_campaign_with_extended_brand_and_status.rb +10 -10
- data/lib/rcs/types/{nullable_contact.rb → upsert_contact.rb} +5 -5
- data/lib/rcs/types/{toll_free_campaign_schema_opt_in.rb → upsert_toll_free_campaign_opt_in.rb} +13 -13
- data/lib/rcs/types/{toll_free_campaign_schema_use_case.rb → upsert_toll_free_campaign_use_case.rb} +5 -5
- data/lib/rcs.rb +0 -7
- data/lib/requests.rb +2 -2
- data/lib/types_export.rb +40 -40
- metadata +43 -45
- data/lib/rcs/message/client.rb +0 -30
- data/lib/rcs/message/sms/client.rb +0 -96
- 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
|