rcs 2.0.0.pre.rc.5 → 2.0.1
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 +36 -24
- data/lib/rcs/campaigns/dlc/client.rb +36 -26
- data/lib/rcs/campaigns/rcs/client.rb +26 -22
- data/lib/rcs/campaigns/rcs/types/rcs_autofill_response.rb +6 -6
- data/lib/rcs/campaigns/toll_free/client.rb +32 -26
- data/lib/rcs/campaigns/toll_free/types/toll_free_autofill_response.rb +6 -6
- data/lib/rcs/contacts/client.rb +10 -8
- data/lib/rcs/conversations/client.rb +144 -16
- data/lib/rcs/conversations/types/conversations_list_messages_request_direction.rb +12 -0
- data/lib/rcs/conversations/types/conversations_list_messages_request_sort_order.rb +12 -0
- data/lib/rcs/conversations/types/conversations_list_messages_request_status.rb +17 -0
- data/lib/rcs/conversations/types/conversations_list_messages_request_type.rb +13 -0
- data/lib/rcs/messages/client.rb +12 -29
- data/lib/rcs/messages/rcs/client.rb +125 -1
- data/lib/rcs/messages/rcs/types/send_typing_indicator_schema_options.rb +66 -0
- data/lib/rcs/phone_numbers/campaign/client.rb +20 -6
- data/lib/rcs/phone_numbers/client.rb +0 -14
- data/lib/rcs/phone_numbers/webhook/client.rb +12 -10
- data/lib/rcs/rcs/client.rb +32 -18
- data/lib/rcs/status/get/client.rb +32 -16
- data/lib/rcs/tools/contact_card/client.rb +18 -8
- data/lib/rcs/tools/file/client.rb +92 -2
- data/lib/rcs/tools/file/types/upload_file_options.rb +21 -3
- data/lib/rcs/tools/url/client.rb +4 -2
- data/lib/rcs/types/attach_webhook_by_id_params.rb +5 -5
- data/lib/rcs/types/attach_webhook_response_webhook.rb +5 -3
- data/lib/rcs/types/autofill_campaign_params.rb +15 -3
- data/lib/rcs/types/autofill_dlc_campaign_response.rb +10 -6
- data/lib/rcs/types/autofill_dlc_response_keywords.rb +8 -10
- data/lib/rcs/types/autofill_dlc_response_keywords_help.rb +3 -3
- data/lib/rcs/types/autofill_dlc_response_keywords_opt_in.rb +6 -4
- data/lib/rcs/types/autofill_dlc_response_keywords_opt_out.rb +3 -3
- data/lib/rcs/types/autofill_dlc_response_options.rb +12 -12
- data/lib/rcs/types/brand_status.rb +5 -3
- data/lib/rcs/types/{inbound_button.rb → button_clicked.rb} +7 -7
- data/lib/rcs/types/button_clicked_data.rb +80 -0
- data/lib/rcs/types/button_clicked_data_button.rb +118 -0
- data/lib/rcs/types/{click_action_data.rb → button_clicked_data_button_raw.rb} +10 -8
- data/lib/rcs/types/button_clicked_data_button_type.rb +15 -0
- data/lib/rcs/types/campaign_query.rb +10 -2
- data/lib/rcs/types/contact.rb +5 -3
- data/lib/rcs/types/contact_id.rb +5 -3
- data/lib/rcs/types/conversation.rb +16 -8
- data/lib/rcs/types/conversation_by_id_params.rb +7 -3
- data/lib/rcs/types/conversation_contact.rb +5 -3
- data/lib/rcs/types/conversation_list.rb +50 -28
- data/lib/rcs/types/create_url_options.rb +4 -2
- data/lib/rcs/types/detached_webhook_info.rb +5 -3
- data/lib/rcs/types/dlc_campaign_status.rb +5 -3
- data/lib/rcs/types/dlc_campaign_with_extended_brand_and_status.rb +21 -19
- data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_help.rb +3 -3
- data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_opt_in.rb +6 -4
- data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_opt_out.rb +6 -4
- data/lib/rcs/types/extended_brand.rb +25 -13
- data/lib/rcs/types/extended_brand_with_vetting.rb +25 -13
- data/lib/rcs/types/extended_rcs_campaign.rb +25 -14
- data/lib/rcs/types/link_click_event.rb +1 -17
- data/lib/rcs/types/message.rb +5 -3
- data/lib/rcs/types/message_content.rb +4 -4
- data/lib/rcs/types/message_event.rb +143 -0
- data/lib/rcs/types/message_event_content.rb +127 -0
- data/lib/rcs/types/message_event_conversation.rb +82 -0
- data/lib/rcs/types/message_event_direction.rb +11 -0
- data/lib/rcs/types/message_event_mms_content.rb +94 -0
- data/lib/rcs/types/message_event_rcs_button_data.rb +104 -0
- data/lib/rcs/types/message_event_rcs_cards_content.rb +99 -0
- data/lib/rcs/types/message_event_rcs_cards_content_cards_item.rb +94 -0
- data/lib/rcs/types/message_event_rcs_location_data.rb +91 -0
- data/lib/rcs/types/message_event_rcs_media_content.rb +94 -0
- data/lib/rcs/types/message_event_rcs_text_content.rb +92 -0
- data/lib/rcs/types/message_event_sms_content.rb +81 -0
- data/lib/rcs/types/{retrieved_conversations.rb → message_list.rb} +26 -25
- data/lib/rcs/types/message_with_reaction.rb +197 -0
- data/lib/rcs/types/message_with_reaction_direction.rb +11 -0
- data/lib/rcs/types/{error_response.rb → not_found_error_body.rb} +7 -7
- data/lib/rcs/types/options.rb +111 -0
- data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item_campaign.rb +7 -3
- data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item_campaign.rb +7 -3
- data/lib/rcs/types/pinnacle_file_upload_metadata.rb +18 -2
- data/lib/rcs/types/profile_status_enum.rb +4 -4
- data/lib/rcs/types/rcs_base_options.rb +12 -1
- data/lib/rcs/types/rcs_button_call.rb +11 -2
- data/lib/rcs/types/rcs_button_open_url.rb +38 -2
- data/lib/rcs/types/rcs_button_open_url_webview_mode.rb +19 -0
- data/lib/rcs/types/rcs_button_request_user_location.rb +15 -3
- data/lib/rcs/types/rcs_button_schedule_event.rb +9 -1
- data/lib/rcs/types/rcs_button_send_location.rb +22 -2
- data/lib/rcs/types/rcs_button_trigger.rb +8 -6
- data/lib/rcs/types/rcs_campaign.rb +3 -3
- data/lib/rcs/types/rcs_campaign_schema_extra_agent.rb +8 -8
- data/lib/rcs/types/rcs_campaign_status.rb +5 -3
- data/lib/rcs/types/reaction_result.rb +10 -6
- data/lib/rcs/types/refreshed_file.rb +67 -0
- data/lib/rcs/types/rich_cards_message.rb +10 -10
- data/lib/rcs/types/{rcs.rb → rich_message.rb} +3 -3
- data/lib/rcs/types/scheduled_messaage.rb +5 -3
- data/lib/rcs/types/send_rcs_card_options.rb +132 -0
- data/lib/rcs/types/send_rcs_card_options_standalone_card.rb +78 -0
- data/lib/rcs/types/send_rcs_card_options_standalone_card_image_alignment.rb +12 -0
- data/lib/rcs/types/send_rcs_card_options_standalone_card_orientation.rb +11 -0
- data/lib/rcs/types/send_typing_indicator_response.rb +100 -0
- data/lib/rcs/types/sent_mms_details.rb +4 -2
- data/lib/rcs/types/sent_rcs_details.rb +12 -13
- data/lib/rcs/types/sent_sms_details.rb +5 -3
- data/lib/rcs/types/toll_free_campaign.rb +3 -3
- data/lib/rcs/types/toll_free_campaign_status.rb +5 -3
- data/lib/rcs/types/toll_free_campaign_with_extended_brand_and_status.rb +3 -5
- data/lib/rcs/types/updated_contact_id.rb +5 -3
- data/lib/rcs/types/user_event.rb +83 -0
- data/lib/rcs/types/user_event_conversation.rb +78 -0
- data/lib/rcs/types/v_card_data.rb +5 -3
- data/lib/rcs/types/validate_campaign_params.rb +15 -3
- data/lib/rcs/types/vcard.rb +5 -3
- data/lib/rcs/types/vcard_content.rb +5 -3
- data/lib/rcs/types/vcard_resource.rb +5 -3
- data/lib/rcs/types/webhook_event_enum.rb +1 -0
- data/lib/rcs/types/webhooks.rb +5 -3
- data/lib/requests.rb +2 -2
- data/lib/types_export.rb +37 -7
- metadata +41 -11
- data/lib/rcs/types/click_action.rb +0 -73
- data/lib/rcs/types/click_action_data_metadata.rb +0 -69
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require_relative "
|
|
3
|
+
require_relative "send_rcs_card_options"
|
|
4
4
|
require_relative "rcs_cards_cards_item"
|
|
5
5
|
require_relative "rich_button"
|
|
6
6
|
require "ostruct"
|
|
@@ -9,10 +9,10 @@ require "json"
|
|
|
9
9
|
module Pinnacle
|
|
10
10
|
module Types
|
|
11
11
|
class RichCardsMessage
|
|
12
|
+
# @return [Pinnacle::Types::SendRcsCardOptions]
|
|
13
|
+
attr_reader :options
|
|
12
14
|
# @return [String] Your RCS agent ID which must be prefixed with 'agent_'.
|
|
13
15
|
attr_reader :from
|
|
14
|
-
# @return [Pinnacle::Types::RcsBaseOptions] Configure how your RCS message is sent and tracked.
|
|
15
|
-
attr_reader :options
|
|
16
16
|
# @return [String] Recipient's phone number in E.164 format.
|
|
17
17
|
attr_reader :to
|
|
18
18
|
# @return [Array<Pinnacle::Types::RcsCardsCardsItem>] Collection of cards attached to the message.
|
|
@@ -27,23 +27,23 @@ module Pinnacle
|
|
|
27
27
|
|
|
28
28
|
OMIT = Object.new
|
|
29
29
|
|
|
30
|
+
# @param options [Pinnacle::Types::SendRcsCardOptions]
|
|
30
31
|
# @param from [String] Your RCS agent ID which must be prefixed with 'agent_'.
|
|
31
|
-
# @param options [Pinnacle::Types::RcsBaseOptions] Configure how your RCS message is sent and tracked.
|
|
32
32
|
# @param to [String] Recipient's phone number in E.164 format.
|
|
33
33
|
# @param cards [Array<Pinnacle::Types::RcsCardsCardsItem>] Collection of cards attached to the message.
|
|
34
34
|
# @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
|
|
35
35
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
36
36
|
# @return [Pinnacle::Types::RichCardsMessage]
|
|
37
37
|
def initialize(from:, to:, cards:, quick_replies:, options: OMIT, additional_properties: nil)
|
|
38
|
-
@from = from
|
|
39
38
|
@options = options if options != OMIT
|
|
39
|
+
@from = from
|
|
40
40
|
@to = to
|
|
41
41
|
@cards = cards
|
|
42
42
|
@quick_replies = quick_replies
|
|
43
43
|
@additional_properties = additional_properties
|
|
44
44
|
@_field_set = {
|
|
45
|
-
"from": from,
|
|
46
45
|
"options": options,
|
|
46
|
+
"from": from,
|
|
47
47
|
"to": to,
|
|
48
48
|
"cards": cards,
|
|
49
49
|
"quickReplies": quick_replies
|
|
@@ -59,13 +59,13 @@ module Pinnacle
|
|
|
59
59
|
def self.from_json(json_object:)
|
|
60
60
|
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
61
61
|
parsed_json = JSON.parse(json_object)
|
|
62
|
-
from = parsed_json["from"]
|
|
63
62
|
if parsed_json["options"].nil?
|
|
64
63
|
options = nil
|
|
65
64
|
else
|
|
66
65
|
options = parsed_json["options"].to_json
|
|
67
|
-
options = Pinnacle::Types::
|
|
66
|
+
options = Pinnacle::Types::SendRcsCardOptions.from_json(json_object: options)
|
|
68
67
|
end
|
|
68
|
+
from = parsed_json["from"]
|
|
69
69
|
to = parsed_json["to"]
|
|
70
70
|
cards = parsed_json["cards"]&.map do |item|
|
|
71
71
|
item = item.to_json
|
|
@@ -76,8 +76,8 @@ module Pinnacle
|
|
|
76
76
|
Pinnacle::Types::RichButton.from_json(json_object: item)
|
|
77
77
|
end
|
|
78
78
|
new(
|
|
79
|
-
from: from,
|
|
80
79
|
options: options,
|
|
80
|
+
from: from,
|
|
81
81
|
to: to,
|
|
82
82
|
cards: cards,
|
|
83
83
|
quick_replies: quick_replies,
|
|
@@ -99,8 +99,8 @@ module Pinnacle
|
|
|
99
99
|
# @param obj [Object]
|
|
100
100
|
# @return [Void]
|
|
101
101
|
def self.validate_raw(obj:)
|
|
102
|
+
obj.options.nil? || Pinnacle::Types::SendRcsCardOptions.validate_raw(obj: obj.options)
|
|
102
103
|
obj.from.is_a?(String) != false || raise("Passed value for field obj.from is not the expected type, validation failed.")
|
|
103
|
-
obj.options.nil? || Pinnacle::Types::RcsBaseOptions.validate_raw(obj: obj.options)
|
|
104
104
|
obj.to.is_a?(String) != false || raise("Passed value for field obj.to is not the expected type, validation failed.")
|
|
105
105
|
obj.cards.is_a?(Array) != false || raise("Passed value for field obj.cards is not the expected type, validation failed.")
|
|
106
106
|
obj.quick_replies.is_a?(Array) != false || raise("Passed value for field obj.quick_replies is not the expected type, validation failed.")
|
|
@@ -7,11 +7,11 @@ require_relative "rich_cards_message"
|
|
|
7
7
|
|
|
8
8
|
module Pinnacle
|
|
9
9
|
module Types
|
|
10
|
-
class
|
|
11
|
-
# Deserialize a JSON object to an instance of
|
|
10
|
+
class RichMessage
|
|
11
|
+
# Deserialize a JSON object to an instance of RichMessage
|
|
12
12
|
#
|
|
13
13
|
# @param json_object [String]
|
|
14
|
-
# @return [Pinnacle::Types::
|
|
14
|
+
# @return [Pinnacle::Types::RichMessage]
|
|
15
15
|
def self.from_json(json_object:)
|
|
16
16
|
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
17
17
|
begin
|
|
@@ -7,7 +7,8 @@ require "json"
|
|
|
7
7
|
module Pinnacle
|
|
8
8
|
module Types
|
|
9
9
|
class ScheduledMessaage
|
|
10
|
-
# @return [
|
|
10
|
+
# @return [String] Unique identifier for the scheduled send. This identifier is a string that
|
|
11
|
+
# always begins with the prefix `msg_sched_`, for example: `msg_sched_1234567890`.
|
|
11
12
|
attr_reader :schedule_id
|
|
12
13
|
# @return [Pinnacle::Types::ScheduledSendResponseConfig] Configuration for the scheduled message.
|
|
13
14
|
attr_reader :config
|
|
@@ -19,7 +20,8 @@ module Pinnacle
|
|
|
19
20
|
|
|
20
21
|
OMIT = Object.new
|
|
21
22
|
|
|
22
|
-
# @param schedule_id [
|
|
23
|
+
# @param schedule_id [String] Unique identifier for the scheduled send. This identifier is a string that
|
|
24
|
+
# always begins with the prefix `msg_sched_`, for example: `msg_sched_1234567890`.
|
|
23
25
|
# @param config [Pinnacle::Types::ScheduledSendResponseConfig] Configuration for the scheduled message.
|
|
24
26
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
25
27
|
# @return [Pinnacle::Types::ScheduledMessaage]
|
|
@@ -65,7 +67,7 @@ module Pinnacle
|
|
|
65
67
|
# @param obj [Object]
|
|
66
68
|
# @return [Void]
|
|
67
69
|
def self.validate_raw(obj:)
|
|
68
|
-
obj.schedule_id.is_a?(
|
|
70
|
+
obj.schedule_id.is_a?(String) != false || raise("Passed value for field obj.schedule_id is not the expected type, validation failed.")
|
|
69
71
|
Pinnacle::Types::ScheduledSendResponseConfig.validate_raw(obj: obj.config)
|
|
70
72
|
end
|
|
71
73
|
end
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "send_rcs_card_options_standalone_card"
|
|
4
|
+
require_relative "message_schedule"
|
|
5
|
+
require_relative "tracking"
|
|
6
|
+
require "ostruct"
|
|
7
|
+
require "json"
|
|
8
|
+
|
|
9
|
+
module Pinnacle
|
|
10
|
+
module Types
|
|
11
|
+
class SendRcsCardOptions
|
|
12
|
+
# @return [Pinnacle::Types::SendRcsCardOptionsStandaloneCard] Configure standalone card layout options for enhanced visual presentation.
|
|
13
|
+
# > **⚠️ Important Restriction**
|
|
14
|
+
# >
|
|
15
|
+
# > This option is **only valid for single card messages**. Using it with multiple
|
|
16
|
+
# cards will cause the request to fail with a validation error.
|
|
17
|
+
attr_reader :standalone_card
|
|
18
|
+
# @return [Pinnacle::Types::MessageSchedule]
|
|
19
|
+
attr_reader :schedule
|
|
20
|
+
# @return [Boolean] Send via the test agent to whitelisted test devices. Useful for development and
|
|
21
|
+
# debugging.
|
|
22
|
+
attr_reader :test_mode
|
|
23
|
+
# @return [Pinnacle::Types::Tracking]
|
|
24
|
+
attr_reader :tracking
|
|
25
|
+
# @return [Boolean] Media files and card media will be transcoded to a supported RCS format. This
|
|
26
|
+
# adds a small delay to sending the message. Ignored for rich text messages.
|
|
27
|
+
attr_reader :transcode
|
|
28
|
+
# @return [Boolean] Validate your message for any unsupported files. <br>
|
|
29
|
+
# If failed, errors will be thrown and the message will not send.
|
|
30
|
+
attr_reader :validate
|
|
31
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
32
|
+
attr_reader :additional_properties
|
|
33
|
+
# @return [Object]
|
|
34
|
+
attr_reader :_field_set
|
|
35
|
+
protected :_field_set
|
|
36
|
+
|
|
37
|
+
OMIT = Object.new
|
|
38
|
+
|
|
39
|
+
# @param standalone_card [Pinnacle::Types::SendRcsCardOptionsStandaloneCard] Configure standalone card layout options for enhanced visual presentation.
|
|
40
|
+
# > **⚠️ Important Restriction**
|
|
41
|
+
# >
|
|
42
|
+
# > This option is **only valid for single card messages**. Using it with multiple
|
|
43
|
+
# cards will cause the request to fail with a validation error.
|
|
44
|
+
# @param schedule [Pinnacle::Types::MessageSchedule]
|
|
45
|
+
# @param test_mode [Boolean] Send via the test agent to whitelisted test devices. Useful for development and
|
|
46
|
+
# debugging.
|
|
47
|
+
# @param tracking [Pinnacle::Types::Tracking]
|
|
48
|
+
# @param transcode [Boolean] Media files and card media will be transcoded to a supported RCS format. This
|
|
49
|
+
# adds a small delay to sending the message. Ignored for rich text messages.
|
|
50
|
+
# @param validate [Boolean] Validate your message for any unsupported files. <br>
|
|
51
|
+
# If failed, errors will be thrown and the message will not send.
|
|
52
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
53
|
+
# @return [Pinnacle::Types::SendRcsCardOptions]
|
|
54
|
+
def initialize(standalone_card: OMIT, schedule: OMIT, test_mode: OMIT, tracking: OMIT, transcode: OMIT,
|
|
55
|
+
validate: OMIT, additional_properties: nil)
|
|
56
|
+
@standalone_card = standalone_card if standalone_card != OMIT
|
|
57
|
+
@schedule = schedule if schedule != OMIT
|
|
58
|
+
@test_mode = test_mode if test_mode != OMIT
|
|
59
|
+
@tracking = tracking if tracking != OMIT
|
|
60
|
+
@transcode = transcode if transcode != OMIT
|
|
61
|
+
@validate = validate if validate != OMIT
|
|
62
|
+
@additional_properties = additional_properties
|
|
63
|
+
@_field_set = {
|
|
64
|
+
"standalone_card": standalone_card,
|
|
65
|
+
"schedule": schedule,
|
|
66
|
+
"test_mode": test_mode,
|
|
67
|
+
"tracking": tracking,
|
|
68
|
+
"transcode": transcode,
|
|
69
|
+
"validate": validate
|
|
70
|
+
}.reject do |_k, v|
|
|
71
|
+
v == OMIT
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# Deserialize a JSON object to an instance of SendRcsCardOptions
|
|
76
|
+
#
|
|
77
|
+
# @param json_object [String]
|
|
78
|
+
# @return [Pinnacle::Types::SendRcsCardOptions]
|
|
79
|
+
def self.from_json(json_object:)
|
|
80
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
81
|
+
parsed_json = JSON.parse(json_object)
|
|
82
|
+
if parsed_json["standalone_card"].nil?
|
|
83
|
+
standalone_card = nil
|
|
84
|
+
else
|
|
85
|
+
standalone_card = parsed_json["standalone_card"].to_json
|
|
86
|
+
standalone_card = Pinnacle::Types::SendRcsCardOptionsStandaloneCard.from_json(json_object: standalone_card)
|
|
87
|
+
end
|
|
88
|
+
if parsed_json["schedule"].nil?
|
|
89
|
+
schedule = nil
|
|
90
|
+
else
|
|
91
|
+
schedule = parsed_json["schedule"].to_json
|
|
92
|
+
schedule = Pinnacle::Types::MessageSchedule.from_json(json_object: schedule)
|
|
93
|
+
end
|
|
94
|
+
test_mode = parsed_json["test_mode"]
|
|
95
|
+
tracking = parsed_json["tracking"]
|
|
96
|
+
transcode = parsed_json["transcode"]
|
|
97
|
+
validate = parsed_json["validate"]
|
|
98
|
+
new(
|
|
99
|
+
standalone_card: standalone_card,
|
|
100
|
+
schedule: schedule,
|
|
101
|
+
test_mode: test_mode,
|
|
102
|
+
tracking: tracking,
|
|
103
|
+
transcode: transcode,
|
|
104
|
+
validate: validate,
|
|
105
|
+
additional_properties: struct
|
|
106
|
+
)
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# Serialize an instance of SendRcsCardOptions to a JSON object
|
|
110
|
+
#
|
|
111
|
+
# @return [String]
|
|
112
|
+
def to_json(*_args)
|
|
113
|
+
@_field_set&.to_json
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
117
|
+
# hash and check each fields type against the current object's property
|
|
118
|
+
# definitions.
|
|
119
|
+
#
|
|
120
|
+
# @param obj [Object]
|
|
121
|
+
# @return [Void]
|
|
122
|
+
def self.validate_raw(obj:)
|
|
123
|
+
obj.standalone_card.nil? || Pinnacle::Types::SendRcsCardOptionsStandaloneCard.validate_raw(obj: obj.standalone_card)
|
|
124
|
+
obj.schedule.nil? || Pinnacle::Types::MessageSchedule.validate_raw(obj: obj.schedule)
|
|
125
|
+
obj.test_mode&.is_a?(Boolean) != false || raise("Passed value for field obj.test_mode is not the expected type, validation failed.")
|
|
126
|
+
obj.tracking&.is_a?(Pinnacle::Types::Tracking) != false || raise("Passed value for field obj.tracking is not the expected type, validation failed.")
|
|
127
|
+
obj.transcode&.is_a?(Boolean) != false || raise("Passed value for field obj.transcode is not the expected type, validation failed.")
|
|
128
|
+
obj.validate&.is_a?(Boolean) != false || raise("Passed value for field obj.validate is not the expected type, validation failed.")
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "send_rcs_card_options_standalone_card_orientation"
|
|
4
|
+
require_relative "send_rcs_card_options_standalone_card_image_alignment"
|
|
5
|
+
require "ostruct"
|
|
6
|
+
require "json"
|
|
7
|
+
|
|
8
|
+
module Pinnacle
|
|
9
|
+
module Types
|
|
10
|
+
# Configure standalone card layout options for enhanced visual presentation.
|
|
11
|
+
# > **⚠️ Important Restriction**
|
|
12
|
+
# >
|
|
13
|
+
# > This option is **only valid for single card messages**. Using it with multiple
|
|
14
|
+
# cards will cause the request to fail with a validation error.
|
|
15
|
+
class SendRcsCardOptionsStandaloneCard
|
|
16
|
+
# @return [Pinnacle::Types::SendRcsCardOptionsStandaloneCardOrientation] The orientation of the standalone card.
|
|
17
|
+
attr_reader :orientation
|
|
18
|
+
# @return [Pinnacle::Types::SendRcsCardOptionsStandaloneCardImageAlignment] The alignment of the image in the standalone card. This field is ignored if
|
|
19
|
+
# orientation is VERTICAL.
|
|
20
|
+
attr_reader :image_alignment
|
|
21
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
22
|
+
attr_reader :additional_properties
|
|
23
|
+
# @return [Object]
|
|
24
|
+
attr_reader :_field_set
|
|
25
|
+
protected :_field_set
|
|
26
|
+
|
|
27
|
+
OMIT = Object.new
|
|
28
|
+
|
|
29
|
+
# @param orientation [Pinnacle::Types::SendRcsCardOptionsStandaloneCardOrientation] The orientation of the standalone card.
|
|
30
|
+
# @param image_alignment [Pinnacle::Types::SendRcsCardOptionsStandaloneCardImageAlignment] The alignment of the image in the standalone card. This field is ignored if
|
|
31
|
+
# orientation is VERTICAL.
|
|
32
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
33
|
+
# @return [Pinnacle::Types::SendRcsCardOptionsStandaloneCard]
|
|
34
|
+
def initialize(orientation: OMIT, image_alignment: OMIT, additional_properties: nil)
|
|
35
|
+
@orientation = orientation if orientation != OMIT
|
|
36
|
+
@image_alignment = image_alignment if image_alignment != OMIT
|
|
37
|
+
@additional_properties = additional_properties
|
|
38
|
+
@_field_set = { "orientation": orientation, "image_alignment": image_alignment }.reject do |_k, v|
|
|
39
|
+
v == OMIT
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# Deserialize a JSON object to an instance of SendRcsCardOptionsStandaloneCard
|
|
44
|
+
#
|
|
45
|
+
# @param json_object [String]
|
|
46
|
+
# @return [Pinnacle::Types::SendRcsCardOptionsStandaloneCard]
|
|
47
|
+
def self.from_json(json_object:)
|
|
48
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
49
|
+
parsed_json = JSON.parse(json_object)
|
|
50
|
+
orientation = parsed_json["orientation"]
|
|
51
|
+
image_alignment = parsed_json["image_alignment"]
|
|
52
|
+
new(
|
|
53
|
+
orientation: orientation,
|
|
54
|
+
image_alignment: image_alignment,
|
|
55
|
+
additional_properties: struct
|
|
56
|
+
)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# Serialize an instance of SendRcsCardOptionsStandaloneCard to a JSON object
|
|
60
|
+
#
|
|
61
|
+
# @return [String]
|
|
62
|
+
def to_json(*_args)
|
|
63
|
+
@_field_set&.to_json
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
67
|
+
# hash and check each fields type against the current object's property
|
|
68
|
+
# definitions.
|
|
69
|
+
#
|
|
70
|
+
# @param obj [Object]
|
|
71
|
+
# @return [Void]
|
|
72
|
+
def self.validate_raw(obj:)
|
|
73
|
+
obj.orientation&.is_a?(Pinnacle::Types::SendRcsCardOptionsStandaloneCardOrientation) != false || raise("Passed value for field obj.orientation is not the expected type, validation failed.")
|
|
74
|
+
obj.image_alignment&.is_a?(Pinnacle::Types::SendRcsCardOptionsStandaloneCardImageAlignment) != false || raise("Passed value for field obj.image_alignment is not the expected type, validation failed.")
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pinnacle
|
|
4
|
+
module Types
|
|
5
|
+
# The alignment of the image in the standalone card. This field is ignored if
|
|
6
|
+
# orientation is VERTICAL.
|
|
7
|
+
class SendRcsCardOptionsStandaloneCardImageAlignment
|
|
8
|
+
LEFT = "LEFT"
|
|
9
|
+
RIGHT = "RIGHT"
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "date"
|
|
4
|
+
require "ostruct"
|
|
5
|
+
require "json"
|
|
6
|
+
|
|
7
|
+
module Pinnacle
|
|
8
|
+
module Types
|
|
9
|
+
# Response schema confirming the typing indicator was sent.
|
|
10
|
+
class SendTypingIndicatorResponse
|
|
11
|
+
# @return [Boolean] Indicates whether the typing indicator was successfully sent.
|
|
12
|
+
attr_reader :success
|
|
13
|
+
# @return [String] The RCS agent that sent the typing indicator.
|
|
14
|
+
attr_reader :agent_id
|
|
15
|
+
# @return [String] The recipient's phone number that received the typing indicator.
|
|
16
|
+
attr_reader :recipient
|
|
17
|
+
# @return [DateTime] Timestamp when the typing indicator was started (ISO 8601 format).
|
|
18
|
+
attr_reader :started_at
|
|
19
|
+
# @return [DateTime] Timestamp when the typing indicator will automatically expire (ISO 8601 format).
|
|
20
|
+
# <br>
|
|
21
|
+
# This is typically one minute after `startedAt` unless a message is sent first.
|
|
22
|
+
attr_reader :ended_at
|
|
23
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
24
|
+
attr_reader :additional_properties
|
|
25
|
+
# @return [Object]
|
|
26
|
+
attr_reader :_field_set
|
|
27
|
+
protected :_field_set
|
|
28
|
+
|
|
29
|
+
OMIT = Object.new
|
|
30
|
+
|
|
31
|
+
# @param success [Boolean] Indicates whether the typing indicator was successfully sent.
|
|
32
|
+
# @param agent_id [String] The RCS agent that sent the typing indicator.
|
|
33
|
+
# @param recipient [String] The recipient's phone number that received the typing indicator.
|
|
34
|
+
# @param started_at [DateTime] Timestamp when the typing indicator was started (ISO 8601 format).
|
|
35
|
+
# @param ended_at [DateTime] Timestamp when the typing indicator will automatically expire (ISO 8601 format).
|
|
36
|
+
# <br>
|
|
37
|
+
# This is typically one minute after `startedAt` unless a message is sent first.
|
|
38
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
39
|
+
# @return [Pinnacle::Types::SendTypingIndicatorResponse]
|
|
40
|
+
def initialize(success:, agent_id:, recipient:, started_at:, ended_at:, additional_properties: nil)
|
|
41
|
+
@success = success
|
|
42
|
+
@agent_id = agent_id
|
|
43
|
+
@recipient = recipient
|
|
44
|
+
@started_at = started_at
|
|
45
|
+
@ended_at = ended_at
|
|
46
|
+
@additional_properties = additional_properties
|
|
47
|
+
@_field_set = {
|
|
48
|
+
"success": success,
|
|
49
|
+
"agentId": agent_id,
|
|
50
|
+
"recipient": recipient,
|
|
51
|
+
"startedAt": started_at,
|
|
52
|
+
"endedAt": ended_at
|
|
53
|
+
}
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Deserialize a JSON object to an instance of SendTypingIndicatorResponse
|
|
57
|
+
#
|
|
58
|
+
# @param json_object [String]
|
|
59
|
+
# @return [Pinnacle::Types::SendTypingIndicatorResponse]
|
|
60
|
+
def self.from_json(json_object:)
|
|
61
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
62
|
+
parsed_json = JSON.parse(json_object)
|
|
63
|
+
success = parsed_json["success"]
|
|
64
|
+
agent_id = parsed_json["agentId"]
|
|
65
|
+
recipient = parsed_json["recipient"]
|
|
66
|
+
started_at = (DateTime.parse(parsed_json["startedAt"]) unless parsed_json["startedAt"].nil?)
|
|
67
|
+
ended_at = (DateTime.parse(parsed_json["endedAt"]) unless parsed_json["endedAt"].nil?)
|
|
68
|
+
new(
|
|
69
|
+
success: success,
|
|
70
|
+
agent_id: agent_id,
|
|
71
|
+
recipient: recipient,
|
|
72
|
+
started_at: started_at,
|
|
73
|
+
ended_at: ended_at,
|
|
74
|
+
additional_properties: struct
|
|
75
|
+
)
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# Serialize an instance of SendTypingIndicatorResponse to a JSON object
|
|
79
|
+
#
|
|
80
|
+
# @return [String]
|
|
81
|
+
def to_json(*_args)
|
|
82
|
+
@_field_set&.to_json
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
86
|
+
# hash and check each fields type against the current object's property
|
|
87
|
+
# definitions.
|
|
88
|
+
#
|
|
89
|
+
# @param obj [Object]
|
|
90
|
+
# @return [Void]
|
|
91
|
+
def self.validate_raw(obj:)
|
|
92
|
+
obj.success.is_a?(Boolean) != false || raise("Passed value for field obj.success is not the expected type, validation failed.")
|
|
93
|
+
obj.agent_id.is_a?(String) != false || raise("Passed value for field obj.agent_id is not the expected type, validation failed.")
|
|
94
|
+
obj.recipient.is_a?(String) != false || raise("Passed value for field obj.recipient is not the expected type, validation failed.")
|
|
95
|
+
obj.started_at.is_a?(DateTime) != false || raise("Passed value for field obj.started_at is not the expected type, validation failed.")
|
|
96
|
+
obj.ended_at.is_a?(DateTime) != false || raise("Passed value for field obj.ended_at is not the expected type, validation failed.")
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
@@ -6,7 +6,8 @@ require "json"
|
|
|
6
6
|
module Pinnacle
|
|
7
7
|
module Types
|
|
8
8
|
class SentMmsDetails
|
|
9
|
-
# @return [Array<
|
|
9
|
+
# @return [Array<String>] Array of unique identifiers for the sent MMS messages. This identifiers are
|
|
10
|
+
# strings that always begin with the prefix `msg_`, for example: `msg_1234567890`.
|
|
10
11
|
attr_reader :message_ids
|
|
11
12
|
# @return [Float] Total number of segments used across the message.
|
|
12
13
|
attr_reader :segments
|
|
@@ -26,7 +27,8 @@ module Pinnacle
|
|
|
26
27
|
|
|
27
28
|
OMIT = Object.new
|
|
28
29
|
|
|
29
|
-
# @param message_ids [Array<
|
|
30
|
+
# @param message_ids [Array<String>] Array of unique identifiers for the sent MMS messages. This identifiers are
|
|
31
|
+
# strings that always begin with the prefix `msg_`, for example: `msg_1234567890`.
|
|
30
32
|
# @param segments [Float] Total number of segments used across the message.
|
|
31
33
|
# @param total_cost [Float] Total cost of sending the message.
|
|
32
34
|
# @param sender [String] Sender's phone number in E.164 format.
|
|
@@ -6,8 +6,9 @@ require "json"
|
|
|
6
6
|
module Pinnacle
|
|
7
7
|
module Types
|
|
8
8
|
class SentRcsDetails
|
|
9
|
-
# @return [
|
|
10
|
-
|
|
9
|
+
# @return [String] Unique identifier for the sent RCS message. This identifier is a string that
|
|
10
|
+
# always begins with the prefix `msg_`, for example: `msg_1234567890`.
|
|
11
|
+
attr_reader :message_id
|
|
11
12
|
# @return [Integer] Total number of segments used across the message.
|
|
12
13
|
attr_reader :segments
|
|
13
14
|
# @return [Float] Total cost of sending the message.
|
|
@@ -26,7 +27,8 @@ module Pinnacle
|
|
|
26
27
|
|
|
27
28
|
OMIT = Object.new
|
|
28
29
|
|
|
29
|
-
# @param
|
|
30
|
+
# @param message_id [String] Unique identifier for the sent RCS message. This identifier is a string that
|
|
31
|
+
# always begins with the prefix `msg_`, for example: `msg_1234567890`.
|
|
30
32
|
# @param segments [Integer] Total number of segments used across the message.
|
|
31
33
|
# @param total_cost [Float] Total cost of sending the message.
|
|
32
34
|
# @param sender [String] Sender's phone number in E.164 format.
|
|
@@ -34,9 +36,8 @@ module Pinnacle
|
|
|
34
36
|
# @param status [String] Current status of the message.
|
|
35
37
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
36
38
|
# @return [Pinnacle::Types::SentRcsDetails]
|
|
37
|
-
def initialize(segments:, total_cost:, sender:, recipient:, status:,
|
|
38
|
-
|
|
39
|
-
@message_ids = message_ids if message_ids != OMIT
|
|
39
|
+
def initialize(message_id:, segments:, total_cost:, sender:, recipient:, status:, additional_properties: nil)
|
|
40
|
+
@message_id = message_id
|
|
40
41
|
@segments = segments
|
|
41
42
|
@total_cost = total_cost
|
|
42
43
|
@sender = sender
|
|
@@ -44,15 +45,13 @@ module Pinnacle
|
|
|
44
45
|
@status = status
|
|
45
46
|
@additional_properties = additional_properties
|
|
46
47
|
@_field_set = {
|
|
47
|
-
"
|
|
48
|
+
"messageId": message_id,
|
|
48
49
|
"segments": segments,
|
|
49
50
|
"totalCost": total_cost,
|
|
50
51
|
"sender": sender,
|
|
51
52
|
"recipient": recipient,
|
|
52
53
|
"status": status
|
|
53
|
-
}
|
|
54
|
-
v == OMIT
|
|
55
|
-
end
|
|
54
|
+
}
|
|
56
55
|
end
|
|
57
56
|
|
|
58
57
|
# Deserialize a JSON object to an instance of SentRcsDetails
|
|
@@ -62,14 +61,14 @@ module Pinnacle
|
|
|
62
61
|
def self.from_json(json_object:)
|
|
63
62
|
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
64
63
|
parsed_json = JSON.parse(json_object)
|
|
65
|
-
|
|
64
|
+
message_id = parsed_json["messageId"]
|
|
66
65
|
segments = parsed_json["segments"]
|
|
67
66
|
total_cost = parsed_json["totalCost"]
|
|
68
67
|
sender = parsed_json["sender"]
|
|
69
68
|
recipient = parsed_json["recipient"]
|
|
70
69
|
status = parsed_json["status"]
|
|
71
70
|
new(
|
|
72
|
-
|
|
71
|
+
message_id: message_id,
|
|
73
72
|
segments: segments,
|
|
74
73
|
total_cost: total_cost,
|
|
75
74
|
sender: sender,
|
|
@@ -93,7 +92,7 @@ module Pinnacle
|
|
|
93
92
|
# @param obj [Object]
|
|
94
93
|
# @return [Void]
|
|
95
94
|
def self.validate_raw(obj:)
|
|
96
|
-
obj.
|
|
95
|
+
obj.message_id.is_a?(String) != false || raise("Passed value for field obj.message_id is not the expected type, validation failed.")
|
|
97
96
|
obj.segments.is_a?(Integer) != false || raise("Passed value for field obj.segments is not the expected type, validation failed.")
|
|
98
97
|
obj.total_cost.is_a?(Float) != false || raise("Passed value for field obj.total_cost is not the expected type, validation failed.")
|
|
99
98
|
obj.sender.is_a?(String) != false || raise("Passed value for field obj.sender is not the expected type, validation failed.")
|
|
@@ -7,7 +7,8 @@ require "json"
|
|
|
7
7
|
module Pinnacle
|
|
8
8
|
module Types
|
|
9
9
|
class SentSmsDetails
|
|
10
|
-
# @return [
|
|
10
|
+
# @return [String] Unique identifier for the sent message. This identifier is a string that always
|
|
11
|
+
# begins with the prefix `msg_`, for example: `msg_1234567890`.
|
|
11
12
|
attr_reader :message_id
|
|
12
13
|
# @return [Pinnacle::Types::SendSmsResponseSegments] Details about how the message was segmented for sending.
|
|
13
14
|
attr_reader :segments
|
|
@@ -27,7 +28,8 @@ module Pinnacle
|
|
|
27
28
|
|
|
28
29
|
OMIT = Object.new
|
|
29
30
|
|
|
30
|
-
# @param message_id [
|
|
31
|
+
# @param message_id [String] Unique identifier for the sent message. This identifier is a string that always
|
|
32
|
+
# begins with the prefix `msg_`, for example: `msg_1234567890`.
|
|
31
33
|
# @param segments [Pinnacle::Types::SendSmsResponseSegments] Details about how the message was segmented for sending.
|
|
32
34
|
# @param total_cost [Float] Total cost of sending the message.
|
|
33
35
|
# @param sender [String] Sender's phone number in E.164 format.
|
|
@@ -96,7 +98,7 @@ module Pinnacle
|
|
|
96
98
|
# @param obj [Object]
|
|
97
99
|
# @return [Void]
|
|
98
100
|
def self.validate_raw(obj:)
|
|
99
|
-
obj.message_id.is_a?(
|
|
101
|
+
obj.message_id.is_a?(String) != false || raise("Passed value for field obj.message_id is not the expected type, validation failed.")
|
|
100
102
|
Pinnacle::Types::SendSmsResponseSegments.validate_raw(obj: obj.segments)
|
|
101
103
|
obj.total_cost.is_a?(Float) != false || raise("Passed value for field obj.total_cost is not the expected type, validation failed.")
|
|
102
104
|
obj.sender.is_a?(String) != false || raise("Passed value for field obj.sender is not the expected type, validation failed.")
|
|
@@ -9,7 +9,7 @@ require "json"
|
|
|
9
9
|
module Pinnacle
|
|
10
10
|
module Types
|
|
11
11
|
class TollFreeCampaign
|
|
12
|
-
# @return [
|
|
12
|
+
# @return [String] Unique identifier for the campaign. Must begin with the prefix `tf_`.
|
|
13
13
|
attr_reader :campaign_id
|
|
14
14
|
# @return [Pinnacle::Types::MessageVolumeEnum]
|
|
15
15
|
attr_reader :monthly_volume
|
|
@@ -29,7 +29,7 @@ module Pinnacle
|
|
|
29
29
|
|
|
30
30
|
OMIT = Object.new
|
|
31
31
|
|
|
32
|
-
# @param campaign_id [
|
|
32
|
+
# @param campaign_id [String] Unique identifier for the campaign. Must begin with the prefix `tf_`.
|
|
33
33
|
# @param monthly_volume [Pinnacle::Types::MessageVolumeEnum]
|
|
34
34
|
# @param name [String] Display name of the campaign.
|
|
35
35
|
# @param opt_in [Pinnacle::Types::UpsertTollFreeCampaignOptIn] Opt-in keyword settings.
|
|
@@ -106,7 +106,7 @@ module Pinnacle
|
|
|
106
106
|
# @param obj [Object]
|
|
107
107
|
# @return [Void]
|
|
108
108
|
def self.validate_raw(obj:)
|
|
109
|
-
obj.campaign_id&.is_a?(
|
|
109
|
+
obj.campaign_id&.is_a?(String) != false || raise("Passed value for field obj.campaign_id is not the expected type, validation failed.")
|
|
110
110
|
obj.monthly_volume&.is_a?(Pinnacle::Types::MessageVolumeEnum) != false || raise("Passed value for field obj.monthly_volume is not the expected type, validation failed.")
|
|
111
111
|
obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
|
112
112
|
obj.opt_in.nil? || Pinnacle::Types::UpsertTollFreeCampaignOptIn.validate_raw(obj: obj.opt_in)
|
|
@@ -12,7 +12,8 @@ module Pinnacle
|
|
|
12
12
|
# These errors may request additional information or point out erroneous and/or
|
|
13
13
|
# missing fields.
|
|
14
14
|
attr_reader :error
|
|
15
|
-
# @return [
|
|
15
|
+
# @return [String] The unique identifier of the toll-free campaign. This identifier is a string
|
|
16
|
+
# that always begins with the prefix `tf_`, for example: `tf_1234567890`.
|
|
16
17
|
attr_reader :id
|
|
17
18
|
# @return [Pinnacle::Types::GetTollFreeCampaignStatusResponseUpdates] Status of phone numbers that are being attached to this campaign. <br>
|
|
18
19
|
# Note that phone numbers can only be attached to `VERIFIED` campaigns via the
|
|
@@ -29,7 +30,8 @@ module Pinnacle
|
|
|
29
30
|
# @param error [String] Summary of errors related to the verification process. <br>
|
|
30
31
|
# These errors may request additional information or point out erroneous and/or
|
|
31
32
|
# missing fields.
|
|
32
|
-
# @param id [
|
|
33
|
+
# @param id [String] The unique identifier of the toll-free campaign. This identifier is a string
|
|
34
|
+
# that always begins with the prefix `tf_`, for example: `tf_1234567890`.
|
|
33
35
|
# @param updates [Pinnacle::Types::GetTollFreeCampaignStatusResponseUpdates] Status of phone numbers that are being attached to this campaign. <br>
|
|
34
36
|
# Note that phone numbers can only be attached to `VERIFIED` campaigns via the
|
|
35
37
|
# [attach campaign endpoint](../phone-numbers/attach-campaign).
|
|
@@ -83,7 +85,7 @@ module Pinnacle
|
|
|
83
85
|
# @return [Void]
|
|
84
86
|
def self.validate_raw(obj:)
|
|
85
87
|
obj.error&.is_a?(String) != false || raise("Passed value for field obj.error is not the expected type, validation failed.")
|
|
86
|
-
obj.id.is_a?(
|
|
88
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
|
87
89
|
Pinnacle::Types::GetTollFreeCampaignStatusResponseUpdates.validate_raw(obj: obj.updates)
|
|
88
90
|
end
|
|
89
91
|
end
|