rcs 2.0.2 → 2.0.4

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 (112) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rcs/brands/client.rb +52 -90
  3. data/lib/rcs/brands/types/{brand_contact.rb → upsert_brand_schema_contact.rb} +20 -18
  4. data/lib/rcs/brands/types/upsert_brand_schema_entity_type.rb +16 -0
  5. data/lib/rcs/brands/types/upsert_brand_schema_sector.rb +28 -0
  6. data/lib/rcs/brands/types/upsert_brand_schema_type.rb +16 -0
  7. data/lib/rcs/campaigns/dlc/client.rb +12 -12
  8. data/lib/rcs/campaigns/dlc/types/{upsert_dlc_campaign_help_keywords.rb → dlc_campaign_help_keywords.rb} +5 -5
  9. data/lib/rcs/campaigns/dlc/types/{upsert_dlc_campaign_keywords.rb → dlc_campaign_keywords.rb} +20 -20
  10. data/lib/rcs/campaigns/dlc/types/{upsert_dlc_campaign_links.rb → dlc_campaign_links.rb} +5 -5
  11. data/lib/rcs/campaigns/dlc/types/{upsert_dlc_campaign_opt_in_keywords.rb → dlc_campaign_opt_in_keywords.rb} +5 -5
  12. data/lib/rcs/campaigns/dlc/types/{upsert_dlc_campaign_opt_out_keywords.rb → dlc_campaign_opt_out_keywords.rb} +5 -5
  13. data/lib/rcs/campaigns/dlc/types/{upsert_dlc_campaign_options.rb → dlc_campaign_options.rb} +5 -5
  14. data/lib/rcs/campaigns/dlc/types/{upsert_dlc_campaign_use_case.rb → dlc_campaign_use_case.rb} +5 -5
  15. data/lib/rcs/campaigns/rcs/client.rb +144 -51
  16. data/lib/rcs/campaigns/rcs/types/{upsert_rcs_agent.rb → rcs_agent.rb} +15 -9
  17. data/lib/rcs/campaigns/rcs/types/rcs_autofill_response.rb +122 -43
  18. data/lib/rcs/campaigns/rcs/types/{upsert_rcs_opt_out.rb → rcs_campaign_help_keywords.rb} +20 -19
  19. data/lib/rcs/campaigns/rcs/types/rcs_campaign_keywords.rb +98 -0
  20. data/lib/rcs/campaigns/rcs/types/rcs_campaign_opt_in_keywords.rb +87 -0
  21. data/lib/rcs/campaigns/rcs/types/rcs_campaign_opt_out_keywords.rb +83 -0
  22. data/lib/rcs/campaigns/rcs/types/rcs_campaign_traffic.rb +76 -0
  23. data/lib/rcs/campaigns/rcs/types/{upsert_rcs_links.rb → rcs_links.rb} +5 -5
  24. data/lib/rcs/campaigns/rcs/types/{upsert_rcs_use_case.rb → rcs_use_case.rb} +7 -7
  25. data/lib/rcs/campaigns/toll_free/client.rb +53 -10
  26. data/lib/rcs/campaigns/toll_free/types/toll_free_autofill_response.rb +54 -12
  27. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_help_keywords.rb +66 -0
  28. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_keywords.rb +86 -0
  29. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_links.rb +74 -0
  30. data/lib/rcs/campaigns/toll_free/types/{upsert_toll_free_schema_opt_in.rb → toll_free_campaign_opt_in.rb} +5 -5
  31. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_opt_in_keywords.rb +78 -0
  32. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_options.rb +64 -0
  33. data/lib/rcs/campaigns/toll_free/types/{upsert_toll_free_schema_use_case.rb → toll_free_campaign_use_case.rb} +5 -5
  34. data/lib/rcs/messages/blast/client.rb +419 -0
  35. data/lib/rcs/messages/blast/types/blast_mms_options.rb +82 -0
  36. data/lib/rcs/messages/blast/types/blast_mms_response.rb +60 -0
  37. data/lib/rcs/messages/blast/types/blast_rcs_options.rb +118 -0
  38. data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card.rb +82 -0
  39. data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card_image_alignment.rb +16 -0
  40. data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card_orientation.rb +15 -0
  41. data/lib/rcs/messages/blast/types/blast_rcs_response.rb +60 -0
  42. data/lib/rcs/messages/blast/types/blast_sms_options.rb +70 -0
  43. data/lib/rcs/messages/blast/types/blast_sms_response.rb +60 -0
  44. data/lib/rcs/messages/mms/client.rb +6 -6
  45. data/lib/rcs/messages/mms/types/mms_send_response.rb +4 -4
  46. data/lib/rcs/messages/rcs/client.rb +7 -7
  47. data/lib/rcs/messages/rcs/types/{rcs_send_response.rb → send_rich_message_response.rb} +11 -11
  48. data/lib/rcs/messages/schedule/client.rb +103 -0
  49. data/lib/rcs/messages/sms/client.rb +6 -6
  50. data/lib/rcs/messages/sms/types/sms_send_response.rb +4 -4
  51. data/lib/rcs/types/{rcs_base.rb → base_rich_message.rb} +10 -10
  52. data/lib/rcs/types/blast_details.rb +110 -0
  53. data/lib/rcs/types/company_entity_type_enum.rb +14 -0
  54. data/lib/rcs/types/dlc_campaign_with_extended_brand_and_status.rb +30 -2
  55. data/lib/rcs/types/dlc_with_extended_brand_and_status_mno_brand_tier.rb +15 -0
  56. data/lib/rcs/types/dlc_with_extended_brand_and_status_mno_tcr_tier.rb +22 -0
  57. data/lib/rcs/types/extended_brand.rb +10 -1
  58. data/lib/rcs/types/extended_brand_with_vetting.rb +10 -1
  59. data/lib/rcs/types/extended_rcs_campaign.rb +122 -51
  60. data/lib/rcs/types/message_schedule.rb +52 -24
  61. data/lib/rcs/types/message_status_enum.rb +1 -0
  62. data/lib/rcs/types/optional_brand_info.rb +10 -1
  63. data/lib/rcs/types/rcs_campaign.rb +122 -43
  64. data/lib/rcs/types/rcs_campaign_schema_extra_keywords.rb +94 -0
  65. data/lib/rcs/types/{rcs_campaign_schema_extra_opt_out.rb → rcs_campaign_schema_extra_keywords_help.rb} +18 -17
  66. data/lib/rcs/types/rcs_campaign_schema_extra_keywords_opt_in.rb +73 -0
  67. data/lib/rcs/types/rcs_campaign_schema_extra_keywords_opt_out.rb +73 -0
  68. data/lib/rcs/types/rcs_campaign_schema_extra_traffic.rb +72 -0
  69. data/lib/rcs/types/rcs_campaign_schema_extra_use_case.rb +2 -2
  70. data/lib/rcs/types/rcs_campaign_schema_keywords.rb +94 -0
  71. data/lib/rcs/types/{rcs_campaign_schema_opt_out.rb → rcs_campaign_schema_keywords_help.rb} +18 -17
  72. data/lib/rcs/types/rcs_campaign_schema_keywords_opt_in.rb +73 -0
  73. data/lib/rcs/types/rcs_campaign_schema_keywords_opt_out.rb +73 -0
  74. data/lib/rcs/types/rcs_campaign_schema_traffic.rb +72 -0
  75. data/lib/rcs/types/rcs_campaign_schema_use_case.rb +2 -2
  76. data/lib/rcs/types/rcs_cards_content_cards_item.rb +4 -2
  77. data/lib/rcs/types/rcs_content.rb +4 -4
  78. data/lib/rcs/types/rcs_messaging_type_enum.rb +17 -0
  79. data/lib/rcs/types/rcs_validate_content.rb +8 -8
  80. data/lib/rcs/types/rcs_validation_result.rb +9 -2
  81. data/lib/rcs/types/{rcs_cards_cards_item.rb → rich_card.rb} +9 -7
  82. data/lib/rcs/types/{rcs_cards.rb → rich_cards.rb} +9 -9
  83. data/lib/rcs/types/rich_cards_message.rb +9 -9
  84. data/lib/rcs/types/rich_media_message.rb +5 -5
  85. data/lib/rcs/types/{send_rcs_card_options_standalone_card.rb → rich_standalone_card_options.rb} +9 -7
  86. data/lib/rcs/types/{rcs_text_content.rb → rich_text.rb} +5 -5
  87. data/lib/rcs/types/rich_text_message.rb +5 -5
  88. data/lib/rcs/types/schedule_cancel_result.rb +58 -0
  89. data/lib/rcs/types/scheduled_blast_details.rb +76 -0
  90. data/lib/rcs/types/scheduled_blast_response_config.rb +89 -0
  91. data/lib/rcs/types/{scheduled_messaage.rb → scheduled_message.rb} +5 -5
  92. data/lib/rcs/types/{send_rcs_card_options.rb → send_rich_cards_options.rb} +18 -14
  93. data/lib/rcs/types/{rcs_base_options.rb → send_rich_message_options.rb} +5 -5
  94. data/lib/rcs/types/{sent_rcs_details.rb → sent_rich_message.rb} +5 -5
  95. data/lib/rcs/types/toll_free_campaign.rb +54 -12
  96. data/lib/rcs/types/toll_free_campaign_schema_keywords.rb +82 -0
  97. data/lib/rcs/types/toll_free_campaign_schema_keywords_help.rb +62 -0
  98. data/lib/rcs/types/toll_free_campaign_schema_keywords_opt_in.rb +74 -0
  99. data/lib/rcs/types/toll_free_campaign_schema_links.rb +70 -0
  100. data/lib/rcs/types/{upsert_toll_free_campaign_opt_in.rb → toll_free_campaign_schema_opt_in.rb} +5 -5
  101. data/lib/rcs/types/toll_free_campaign_schema_options.rb +60 -0
  102. data/lib/rcs/types/{upsert_toll_free_campaign_use_case.rb → toll_free_campaign_schema_use_case.rb} +5 -5
  103. data/lib/rcs/types/toll_free_campaign_with_extended_brand_and_status.rb +54 -12
  104. data/lib/requests.rb +2 -2
  105. data/lib/types_export.rb +70 -34
  106. metadata +74 -36
  107. data/lib/rcs/campaigns/rcs/types/upsert_rcs_opt_in.rb +0 -75
  108. data/lib/rcs/types/options.rb +0 -111
  109. data/lib/rcs/types/rcs_campaign_opt_in_method_enum.rb +0 -15
  110. data/lib/rcs/types/rcs_campaign_schema_extra_opt_in.rb +0 -71
  111. data/lib/rcs/types/rcs_campaign_schema_opt_in.rb +0 -71
  112. data/lib/rcs/types/upsert_contact.rb +0 -84
@@ -8,7 +8,7 @@ module Pinnacle
8
8
  module Dlc
9
9
  module Types
10
10
  # Legal documentation links.
11
- class UpsertDlcCampaignLinks
11
+ class DlcCampaignLinks
12
12
  # @return [String] Privacy policy URL.
13
13
  attr_reader :privacy_policy
14
14
  # @return [String] Terms of service URL.
@@ -24,7 +24,7 @@ module Pinnacle
24
24
  # @param privacy_policy [String] Privacy policy URL.
25
25
  # @param terms_of_service [String] Terms of service URL.
26
26
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
27
- # @return [Pinnacle::Campaigns::Dlc::Types::UpsertDlcCampaignLinks]
27
+ # @return [Pinnacle::Campaigns::Dlc::Types::DlcCampaignLinks]
28
28
  def initialize(privacy_policy: OMIT, terms_of_service: OMIT, additional_properties: nil)
29
29
  @privacy_policy = privacy_policy if privacy_policy != OMIT
30
30
  @terms_of_service = terms_of_service if terms_of_service != OMIT
@@ -34,10 +34,10 @@ module Pinnacle
34
34
  end
35
35
  end
36
36
 
37
- # Deserialize a JSON object to an instance of UpsertDlcCampaignLinks
37
+ # Deserialize a JSON object to an instance of DlcCampaignLinks
38
38
  #
39
39
  # @param json_object [String]
40
- # @return [Pinnacle::Campaigns::Dlc::Types::UpsertDlcCampaignLinks]
40
+ # @return [Pinnacle::Campaigns::Dlc::Types::DlcCampaignLinks]
41
41
  def self.from_json(json_object:)
42
42
  struct = JSON.parse(json_object, object_class: OpenStruct)
43
43
  parsed_json = JSON.parse(json_object)
@@ -50,7 +50,7 @@ module Pinnacle
50
50
  )
51
51
  end
52
52
 
53
- # Serialize an instance of UpsertDlcCampaignLinks to a JSON object
53
+ # Serialize an instance of DlcCampaignLinks to a JSON object
54
54
  #
55
55
  # @return [String]
56
56
  def to_json(*_args)
@@ -8,7 +8,7 @@ module Pinnacle
8
8
  module Dlc
9
9
  module Types
10
10
  # Opt-in keyword settings.
11
- class UpsertDlcCampaignOptInKeywords
11
+ class DlcCampaignOptInKeywords
12
12
  # @return [String] Response message for opt-in keywords.
13
13
  attr_reader :message
14
14
  # @return [Array<String>] Keywords that trigger opt-in.
@@ -24,7 +24,7 @@ module Pinnacle
24
24
  # @param message [String] Response message for opt-in keywords.
25
25
  # @param values [Array<String>] Keywords that trigger opt-in.
26
26
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
27
- # @return [Pinnacle::Campaigns::Dlc::Types::UpsertDlcCampaignOptInKeywords]
27
+ # @return [Pinnacle::Campaigns::Dlc::Types::DlcCampaignOptInKeywords]
28
28
  def initialize(message: OMIT, values: OMIT, additional_properties: nil)
29
29
  @message = message if message != OMIT
30
30
  @values = values if values != OMIT
@@ -34,10 +34,10 @@ module Pinnacle
34
34
  end
35
35
  end
36
36
 
37
- # Deserialize a JSON object to an instance of UpsertDlcCampaignOptInKeywords
37
+ # Deserialize a JSON object to an instance of DlcCampaignOptInKeywords
38
38
  #
39
39
  # @param json_object [String]
40
- # @return [Pinnacle::Campaigns::Dlc::Types::UpsertDlcCampaignOptInKeywords]
40
+ # @return [Pinnacle::Campaigns::Dlc::Types::DlcCampaignOptInKeywords]
41
41
  def self.from_json(json_object:)
42
42
  struct = JSON.parse(json_object, object_class: OpenStruct)
43
43
  parsed_json = JSON.parse(json_object)
@@ -50,7 +50,7 @@ module Pinnacle
50
50
  )
51
51
  end
52
52
 
53
- # Serialize an instance of UpsertDlcCampaignOptInKeywords to a JSON object
53
+ # Serialize an instance of DlcCampaignOptInKeywords to a JSON object
54
54
  #
55
55
  # @return [String]
56
56
  def to_json(*_args)
@@ -8,7 +8,7 @@ module Pinnacle
8
8
  module Dlc
9
9
  module Types
10
10
  # Opt-out keyword settings.
11
- class UpsertDlcCampaignOptOutKeywords
11
+ class DlcCampaignOptOutKeywords
12
12
  # @return [String] Response message for opt-out keywords.
13
13
  attr_reader :message
14
14
  # @return [Array<String>] Keywords that trigger opt-out.
@@ -24,7 +24,7 @@ module Pinnacle
24
24
  # @param message [String] Response message for opt-out keywords.
25
25
  # @param values [Array<String>] Keywords that trigger opt-out.
26
26
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
27
- # @return [Pinnacle::Campaigns::Dlc::Types::UpsertDlcCampaignOptOutKeywords]
27
+ # @return [Pinnacle::Campaigns::Dlc::Types::DlcCampaignOptOutKeywords]
28
28
  def initialize(message: OMIT, values: OMIT, additional_properties: nil)
29
29
  @message = message if message != OMIT
30
30
  @values = values if values != OMIT
@@ -34,10 +34,10 @@ module Pinnacle
34
34
  end
35
35
  end
36
36
 
37
- # Deserialize a JSON object to an instance of UpsertDlcCampaignOptOutKeywords
37
+ # Deserialize a JSON object to an instance of DlcCampaignOptOutKeywords
38
38
  #
39
39
  # @param json_object [String]
40
- # @return [Pinnacle::Campaigns::Dlc::Types::UpsertDlcCampaignOptOutKeywords]
40
+ # @return [Pinnacle::Campaigns::Dlc::Types::DlcCampaignOptOutKeywords]
41
41
  def self.from_json(json_object:)
42
42
  struct = JSON.parse(json_object, object_class: OpenStruct)
43
43
  parsed_json = JSON.parse(json_object)
@@ -50,7 +50,7 @@ module Pinnacle
50
50
  )
51
51
  end
52
52
 
53
- # Serialize an instance of UpsertDlcCampaignOptOutKeywords to a JSON object
53
+ # Serialize an instance of DlcCampaignOptOutKeywords to a JSON object
54
54
  #
55
55
  # @return [String]
56
56
  def to_json(*_args)
@@ -8,7 +8,7 @@ module Pinnacle
8
8
  module Dlc
9
9
  module Types
10
10
  # Campaign configuration options.
11
- class UpsertDlcCampaignOptions
11
+ class DlcCampaignOptions
12
12
  # @return [Boolean] Whether the campaign uses affiliate marketing.
13
13
  attr_reader :affiliate_marketing
14
14
  # @return [Boolean] Whether the campaign is age-gated.
@@ -36,7 +36,7 @@ module Pinnacle
36
36
  # @param embedded_phone [Boolean] Whether messages include phone numbers.
37
37
  # @param number_pooling [Boolean] Whether the campaign uses number pooling.
38
38
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
39
- # @return [Pinnacle::Campaigns::Dlc::Types::UpsertDlcCampaignOptions]
39
+ # @return [Pinnacle::Campaigns::Dlc::Types::DlcCampaignOptions]
40
40
  def initialize(affiliate_marketing: OMIT, age_gated: OMIT, direct_lending: OMIT, embedded_link: OMIT,
41
41
  embedded_phone: OMIT, number_pooling: OMIT, additional_properties: nil)
42
42
  @affiliate_marketing = affiliate_marketing if affiliate_marketing != OMIT
@@ -58,10 +58,10 @@ module Pinnacle
58
58
  end
59
59
  end
60
60
 
61
- # Deserialize a JSON object to an instance of UpsertDlcCampaignOptions
61
+ # Deserialize a JSON object to an instance of DlcCampaignOptions
62
62
  #
63
63
  # @param json_object [String]
64
- # @return [Pinnacle::Campaigns::Dlc::Types::UpsertDlcCampaignOptions]
64
+ # @return [Pinnacle::Campaigns::Dlc::Types::DlcCampaignOptions]
65
65
  def self.from_json(json_object:)
66
66
  struct = JSON.parse(json_object, object_class: OpenStruct)
67
67
  parsed_json = JSON.parse(json_object)
@@ -82,7 +82,7 @@ module Pinnacle
82
82
  )
83
83
  end
84
84
 
85
- # Serialize an instance of UpsertDlcCampaignOptions to a JSON object
85
+ # Serialize an instance of DlcCampaignOptions to a JSON object
86
86
  #
87
87
  # @return [String]
88
88
  def to_json(*_args)
@@ -10,7 +10,7 @@ module Pinnacle
10
10
  module Dlc
11
11
  module Types
12
12
  # Use case for the campaign.
13
- class UpsertDlcCampaignUseCase
13
+ class DlcCampaignUseCase
14
14
  # @return [Array<Pinnacle::Types::SubUseCaseEnum>] Sub-use case categories.
15
15
  attr_reader :sub
16
16
  # @return [Pinnacle::Types::DlcCampaignUseCaseEnum]
@@ -26,7 +26,7 @@ module Pinnacle
26
26
  # @param sub [Array<Pinnacle::Types::SubUseCaseEnum>] Sub-use case categories.
27
27
  # @param value [Pinnacle::Types::DlcCampaignUseCaseEnum]
28
28
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
29
- # @return [Pinnacle::Campaigns::Dlc::Types::UpsertDlcCampaignUseCase]
29
+ # @return [Pinnacle::Campaigns::Dlc::Types::DlcCampaignUseCase]
30
30
  def initialize(sub: OMIT, value: OMIT, additional_properties: nil)
31
31
  @sub = sub if sub != OMIT
32
32
  @value = value if value != OMIT
@@ -36,10 +36,10 @@ module Pinnacle
36
36
  end
37
37
  end
38
38
 
39
- # Deserialize a JSON object to an instance of UpsertDlcCampaignUseCase
39
+ # Deserialize a JSON object to an instance of DlcCampaignUseCase
40
40
  #
41
41
  # @param json_object [String]
42
- # @return [Pinnacle::Campaigns::Dlc::Types::UpsertDlcCampaignUseCase]
42
+ # @return [Pinnacle::Campaigns::Dlc::Types::DlcCampaignUseCase]
43
43
  def self.from_json(json_object:)
44
44
  struct = JSON.parse(json_object, object_class: OpenStruct)
45
45
  parsed_json = JSON.parse(json_object)
@@ -52,7 +52,7 @@ module Pinnacle
52
52
  )
53
53
  end
54
54
 
55
- # Serialize an instance of UpsertDlcCampaignUseCase to a JSON object
55
+ # Serialize an instance of DlcCampaignUseCase to a JSON object
56
56
  #
57
57
  # @return [String]
58
58
  def to_json(*_args)
@@ -5,11 +5,12 @@ require_relative "../../types/autofill_campaign_params"
5
5
  require_relative "types/rcs_autofill_response"
6
6
  require_relative "../../types/extended_rcs_campaign"
7
7
  require_relative "../../types/campaign_submission_result"
8
- require_relative "types/upsert_rcs_agent"
9
- require_relative "types/upsert_rcs_links"
10
- require_relative "types/upsert_rcs_opt_in"
11
- require_relative "types/upsert_rcs_opt_out"
12
- require_relative "types/upsert_rcs_use_case"
8
+ require_relative "types/rcs_agent"
9
+ require_relative "types/rcs_links"
10
+ require_relative "types/rcs_use_case"
11
+ require_relative "../../types/rcs_messaging_type_enum"
12
+ require_relative "types/rcs_campaign_keywords"
13
+ require_relative "types/rcs_campaign_traffic"
13
14
  require_relative "../../types/validate_campaign_params"
14
15
  require_relative "../../types/campaign_validation_result"
15
16
  require "async"
@@ -127,7 +128,7 @@ module Pinnacle
127
128
  # Create a new RCS campaign or updates an existing one. <br>
128
129
  # Omit campaignId to create a campaign.
129
130
  #
130
- # @param agent [Hash] Create an agent for the campaign.Request of type Pinnacle::Campaigns::Rcs::Types::UpsertRcsAgent, as a Hash
131
+ # @param agent [Hash] Create an agent for the campaign.Request of type Pinnacle::Campaigns::Rcs::Types::RcsAgent, as a Hash
131
132
  # * :color (String)
132
133
  # * :description (String)
133
134
  # * :emails (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentEmail>)
@@ -136,24 +137,49 @@ module Pinnacle
136
137
  # * :name (String)
137
138
  # * :phones (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentPhone>)
138
139
  # * :websites (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentWebsite>)
139
- # @param brand_verification_url [String] Link to document verifying the brand's name. This may be the certificate of
140
- # incorporation, business license, or other relevant document. You can typically
141
- # find this on the Secretary of State website.
142
140
  # @param brand [String] Unique identifier for the brand.
143
141
  # @param campaign_id [String] Unique identifier for the campaign.
144
142
  # @param expected_agent_responses [Array<String>] List of what the agent might say to users (1-5 required).
145
- # @param links [Hash] Legal documentation links.Request of type Pinnacle::Campaigns::Rcs::Types::UpsertRcsLinks, as a Hash
143
+ # @param links [Hash] Legal documentation links.Request of type Pinnacle::Campaigns::Rcs::Types::RcsLinks, as a Hash
146
144
  # * :privacy_policy (String)
147
145
  # * :terms_of_service (String)
148
- # @param opt_in [Hash] Opt-in configuration.Request of type Pinnacle::Campaigns::Rcs::Types::UpsertRcsOptIn, as a Hash
149
- # * :method_ (Pinnacle::Types::RcsCampaignOptInMethodEnum)
150
- # * :terms_and_conditions (String)
151
- # @param opt_out [Hash] Opt-out configuration.Request of type Pinnacle::Campaigns::Rcs::Types::UpsertRcsOptOut, as a Hash
152
- # * :description (String)
153
- # * :keywords (Array<String>)
154
- # @param use_case [Hash] Use case classification for the campaign.Request of type Pinnacle::Campaigns::Rcs::Types::UpsertRcsUseCase, as a Hash
146
+ # @param use_case [Hash] Use case classification for the campaign.Request of type Pinnacle::Campaigns::Rcs::Types::RcsUseCase, as a Hash
155
147
  # * :behavior (String)
156
148
  # * :value (Pinnacle::Types::RcsCampaignUseCaseEnum)
149
+ # @param opt_in_terms_and_conditions [String] Details on how opt-in is acquired. If it is done through a website or app,
150
+ # provide the link.
151
+ # @param messaging_type [Pinnacle::Types::RcsMessagingTypeEnum]
152
+ # @param carrier_description [String] Description of the agent's purpose, shown to carriers for approval.
153
+ # @param keywords [Hash] Request of type Pinnacle::Campaigns::Rcs::Types::RcsCampaignKeywords, as a Hash
154
+ # * :help (Hash)
155
+ # * :message (String)
156
+ # * :keywords (Array<String>)
157
+ # * :opt_in (Hash)
158
+ # * :message (String)
159
+ # * :keywords (Array<String>)
160
+ # * :opt_out (Hash)
161
+ # * :message (String)
162
+ # * :keywords (Array<String>)
163
+ # @param traffic [Hash] Request of type Pinnacle::Campaigns::Rcs::Types::RcsCampaignTraffic, as a Hash
164
+ # * :monthly_website (Integer)
165
+ # * :monthly_rcs_estimate (Integer)
166
+ # @param agent_triggers [String] Explanation of how the agent is triggered. This includes how the first message
167
+ # is delivered, whether messages follow a schedule or triggered by user actions,
168
+ # and any external triggers.
169
+ # @param interaction_description [String] Description of all agent interactions.
170
+ # @param is_conversational [Boolean] Whether the agent supports conversational flows or respond to P2A messages from
171
+ # the users. Set to false for one-way messages from agent to user.
172
+ # @param cta_language [String] Required text that appears next to the opt-in checkbox for your opt-in form.
173
+ # This checkbox has to be unchecked by default. The text should meet the US CTIA
174
+ # requirements and is usually in the following format: <br>
175
+ # [Program description of the company sending the messages and what type of
176
+ # messages are being sent]. Msg&data rates may apply. [Message frequency: How
177
+ # frequently messages are sent]. [Privacy statement or link to privacy policy].
178
+ # [Link to full mobile
179
+ # T&Cs page].
180
+ # @param demo_trigger [String] Instructions on how an external reviewer can trigger messages and an example
181
+ # flow from the agent. This is usually an inbound text message to the agent that
182
+ # will start a flow of messages between the agent and the user.
157
183
  # @param request_options [Pinnacle::RequestOptions]
158
184
  # @return [Pinnacle::Types::ExtendedRcsCampaign]
159
185
  # @example
@@ -163,18 +189,32 @@ module Pinnacle
163
189
  # api_key: "YOUR_API_KEY"
164
190
  # )
165
191
  # api.campaigns.rcs.upsert(
166
- # agent: { color: "#000000", description: "Engaging campaigns with RBM next-gen SMS marketing with rich content and better analytics.", emails: [{ email: "founders@trypinnacle.app", label: "Email Us" }], hero_url: "https://agent-logos.storage.googleapis.com/_/m0bk9mmw7kfynqiKSPfsaoc6", icon_url: "https://agent-logos.storage.googleapis.com/_/m0bk9gvlDunZEw1krfruZmw3", name: "Pinnacle Software Development", phones: [{ label: "Contact us directly", phone: "+14154467821" }], websites: [{ label: "Get started with Pinnacle", url: "https://www.trypinnacle.app/" }] },
167
- # brand_verification_url: "https://www.pinnacle.sh/articles-of-incorporation.pdf",
192
+ # agent: { color: "#000000", description: "Experience the power of RCS messaging with interactive demos. Test rich features like carousels, suggested replies, and media sharing. Get started with our developer-friendly APIs.", emails: [{ email: "founders@trypinnacle.app", label: "Email Us" }], hero_url: "https://pncl.to/D6pDSqGxqgfbCfQmw4gXdnlHu4uSB4", icon_url: "https://pncl.to/mq_tdIDenRb5eYpJiM8-3THCaUBrZP", name: "Pinnacle - RCS Demo", phones: [{ label: "Contact us directly", phone: "+14154467821" }], websites: [{ label: "Get started with Pinnacle", url: "https://www.trypinnacle.app/" }] },
168
193
  # brand: "b_1234567890",
169
194
  # campaign_id: "rcs_1234567890",
170
195
  # expected_agent_responses: ["Here are the things I can help you with.", "I can assist you with booking an appointment, or you may choose to book manually.", "Here are the available times to connect with a representative tomorrow.", "Your appointment has been scheduled."],
171
196
  # links: { privacy_policy: "https://www.trypinnacle.app/privacy", terms_of_service: "https://www.trypinnacle.app/terms" },
172
- # opt_in: { method_: WEBSITE, terms_and_conditions: "Would you like to subscribe to Pinnacle?" },
173
- # opt_out: { description: "Reply STOP to opt-out anytime.", keywords: ["STOP", "UNSUBSCRIBE", "END"] },
174
- # use_case: { behavior: "Acts as a customer service representative.", value: OTHER }
197
+ # use_case: { behavior: "Pinnacle is a developer-focused RCS assistant that helps teams design, test, and optimize rich messaging experiences across SMS, MMS, and RCS. The agent acts as both an “onboarding guide” for new customers and a “best-practices coach” for existing teams exploring higher-value RCS workflows like rich cards, carousels, and suggested actions.<br>
198
+ # The agent delivers a mix of operational updates and educational content (2–6 messages/month). Content includes important platform notices (e.g., deliverability or throughput changes), implementation tips with sample RCS templates, and personalized recommendations on how to upgrade existing SMS campaigns into richer, higher-converting RCS conversations.
199
+ # ", value: OTHER },
200
+ # opt_in_terms_and_conditions: "We ensure consent through an explicit opt-in process that follows 10DLC best practices.Users must agree to receive messages from Pinnacle before the agent sends them any messages.<br>
201
+ # Users agree to these messages by signing an opt-in paper form that they can be found online at https://www.pinnacle.sh/opt-in. We only send messages once users have filled out the form and submitted it to us via email or through the dashboard.
202
+ # ",
203
+ # messaging_type: MULTI_USE,
204
+ # carrier_description: "Demonstrate the power of RCS to medium and large companies already sending massive SMS/MMS volumes through our platform. These clients send conversational messages in industries such as commerce, appointments, and customer support.",
205
+ # keywords: { help: { message: "Email founders@trypinnacle.app for support.", keywords: ["HELP", "SUPPORT"] }, opt_in: { message: "Welcome back to Pinnacle!<br>
206
+ # 🔔 You're now subscribed to Pinnacle - RCS Demo and will continue receiving important updates and news. Feel free to contact this us at any time for help.<br>
207
+ # Reply STOP to opt out and HELP for support. Message & rates may apply.
208
+ # ", keywords: ["START", "SUBSCRIBE"] }, opt_out: { message: "You've been unsubscribed from Pinnacle - RCS Demo and will no longer receive notifications. If you ever change your mind, reply START or SUBSCRIBE to rejoin anytime.", keywords: ["STOP", "UNSUBSCRIBE", "END"] } },
209
+ # traffic: { monthly_website: 10000, monthly_rcs_estimate: 10000 },
210
+ # agent_triggers: "The agent sends the first message when the user subscribes to Pinnacle. Messages are based on user actions such as pressing suggestion buttons. External triggers such as reminders can be setup by users in advance for a later time.",
211
+ # interaction_description: "The agent's primary interaction will be customer service — helping users with questions, troubleshooting issues, and providing quick assistance through chat. Other interactions include appointment management and sending notifications to the user.",
212
+ # is_conversational: true,
213
+ # cta_language: "By checking this box and submitting this form, you consent to receive transactional text messages for support, appointment, and reminder messages from Pinnacle Software Development Inc. Reply STOP to opt out. Reply HELP for help. Standard message and data rates may apply. Message frequency may vary. View our Terms and Conditions at https://www.pinnacle.sh/terms. View our Privacy Policy at https://www.pinnacle.sh/privacy.",
214
+ # demo_trigger: "Text "START" to trigger the flow."
175
215
  # )
176
- def upsert(agent: nil, brand_verification_url: nil, brand: nil, campaign_id: nil, expected_agent_responses: nil,
177
- links: nil, opt_in: nil, opt_out: nil, use_case: nil, request_options: nil)
216
+ def upsert(agent: nil, brand: nil, campaign_id: nil, expected_agent_responses: nil, links: nil, use_case: nil,
217
+ opt_in_terms_and_conditions: nil, messaging_type: nil, carrier_description: nil, keywords: nil, traffic: nil, agent_triggers: nil, interaction_description: nil, is_conversational: nil, cta_language: nil, demo_trigger: nil, request_options: nil)
178
218
  response = @request_client.conn.post do |req|
179
219
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
180
220
  req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
@@ -189,14 +229,21 @@ module Pinnacle
189
229
  req.body = {
190
230
  **(request_options&.additional_body_parameters || {}),
191
231
  agent: agent,
192
- brandVerificationUrl: brand_verification_url,
193
232
  brand: brand,
194
233
  campaignId: campaign_id,
195
234
  expectedAgentResponses: expected_agent_responses,
196
235
  links: links,
197
- optIn: opt_in,
198
- optOut: opt_out,
199
- useCase: use_case
236
+ useCase: use_case,
237
+ optInTermsAndConditions: opt_in_terms_and_conditions,
238
+ messagingType: messaging_type,
239
+ carrierDescription: carrier_description,
240
+ keywords: keywords,
241
+ traffic: traffic,
242
+ agentTriggers: agent_triggers,
243
+ interactionDescription: interaction_description,
244
+ isConversational: is_conversational,
245
+ ctaLanguage: cta_language,
246
+ demoTrigger: demo_trigger
200
247
  }.compact
201
248
  req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs"
202
249
  end
@@ -354,7 +401,7 @@ module Pinnacle
354
401
  # Create a new RCS campaign or updates an existing one. <br>
355
402
  # Omit campaignId to create a campaign.
356
403
  #
357
- # @param agent [Hash] Create an agent for the campaign.Request of type Pinnacle::Campaigns::Rcs::Types::UpsertRcsAgent, as a Hash
404
+ # @param agent [Hash] Create an agent for the campaign.Request of type Pinnacle::Campaigns::Rcs::Types::RcsAgent, as a Hash
358
405
  # * :color (String)
359
406
  # * :description (String)
360
407
  # * :emails (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentEmail>)
@@ -363,24 +410,49 @@ module Pinnacle
363
410
  # * :name (String)
364
411
  # * :phones (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentPhone>)
365
412
  # * :websites (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentWebsite>)
366
- # @param brand_verification_url [String] Link to document verifying the brand's name. This may be the certificate of
367
- # incorporation, business license, or other relevant document. You can typically
368
- # find this on the Secretary of State website.
369
413
  # @param brand [String] Unique identifier for the brand.
370
414
  # @param campaign_id [String] Unique identifier for the campaign.
371
415
  # @param expected_agent_responses [Array<String>] List of what the agent might say to users (1-5 required).
372
- # @param links [Hash] Legal documentation links.Request of type Pinnacle::Campaigns::Rcs::Types::UpsertRcsLinks, as a Hash
416
+ # @param links [Hash] Legal documentation links.Request of type Pinnacle::Campaigns::Rcs::Types::RcsLinks, as a Hash
373
417
  # * :privacy_policy (String)
374
418
  # * :terms_of_service (String)
375
- # @param opt_in [Hash] Opt-in configuration.Request of type Pinnacle::Campaigns::Rcs::Types::UpsertRcsOptIn, as a Hash
376
- # * :method_ (Pinnacle::Types::RcsCampaignOptInMethodEnum)
377
- # * :terms_and_conditions (String)
378
- # @param opt_out [Hash] Opt-out configuration.Request of type Pinnacle::Campaigns::Rcs::Types::UpsertRcsOptOut, as a Hash
379
- # * :description (String)
380
- # * :keywords (Array<String>)
381
- # @param use_case [Hash] Use case classification for the campaign.Request of type Pinnacle::Campaigns::Rcs::Types::UpsertRcsUseCase, as a Hash
419
+ # @param use_case [Hash] Use case classification for the campaign.Request of type Pinnacle::Campaigns::Rcs::Types::RcsUseCase, as a Hash
382
420
  # * :behavior (String)
383
421
  # * :value (Pinnacle::Types::RcsCampaignUseCaseEnum)
422
+ # @param opt_in_terms_and_conditions [String] Details on how opt-in is acquired. If it is done through a website or app,
423
+ # provide the link.
424
+ # @param messaging_type [Pinnacle::Types::RcsMessagingTypeEnum]
425
+ # @param carrier_description [String] Description of the agent's purpose, shown to carriers for approval.
426
+ # @param keywords [Hash] Request of type Pinnacle::Campaigns::Rcs::Types::RcsCampaignKeywords, as a Hash
427
+ # * :help (Hash)
428
+ # * :message (String)
429
+ # * :keywords (Array<String>)
430
+ # * :opt_in (Hash)
431
+ # * :message (String)
432
+ # * :keywords (Array<String>)
433
+ # * :opt_out (Hash)
434
+ # * :message (String)
435
+ # * :keywords (Array<String>)
436
+ # @param traffic [Hash] Request of type Pinnacle::Campaigns::Rcs::Types::RcsCampaignTraffic, as a Hash
437
+ # * :monthly_website (Integer)
438
+ # * :monthly_rcs_estimate (Integer)
439
+ # @param agent_triggers [String] Explanation of how the agent is triggered. This includes how the first message
440
+ # is delivered, whether messages follow a schedule or triggered by user actions,
441
+ # and any external triggers.
442
+ # @param interaction_description [String] Description of all agent interactions.
443
+ # @param is_conversational [Boolean] Whether the agent supports conversational flows or respond to P2A messages from
444
+ # the users. Set to false for one-way messages from agent to user.
445
+ # @param cta_language [String] Required text that appears next to the opt-in checkbox for your opt-in form.
446
+ # This checkbox has to be unchecked by default. The text should meet the US CTIA
447
+ # requirements and is usually in the following format: <br>
448
+ # [Program description of the company sending the messages and what type of
449
+ # messages are being sent]. Msg&data rates may apply. [Message frequency: How
450
+ # frequently messages are sent]. [Privacy statement or link to privacy policy].
451
+ # [Link to full mobile
452
+ # T&Cs page].
453
+ # @param demo_trigger [String] Instructions on how an external reviewer can trigger messages and an example
454
+ # flow from the agent. This is usually an inbound text message to the agent that
455
+ # will start a flow of messages between the agent and the user.
384
456
  # @param request_options [Pinnacle::RequestOptions]
385
457
  # @return [Pinnacle::Types::ExtendedRcsCampaign]
386
458
  # @example
@@ -390,18 +462,32 @@ module Pinnacle
390
462
  # api_key: "YOUR_API_KEY"
391
463
  # )
392
464
  # api.campaigns.rcs.upsert(
393
- # agent: { color: "#000000", description: "Engaging campaigns with RBM next-gen SMS marketing with rich content and better analytics.", emails: [{ email: "founders@trypinnacle.app", label: "Email Us" }], hero_url: "https://agent-logos.storage.googleapis.com/_/m0bk9mmw7kfynqiKSPfsaoc6", icon_url: "https://agent-logos.storage.googleapis.com/_/m0bk9gvlDunZEw1krfruZmw3", name: "Pinnacle Software Development", phones: [{ label: "Contact us directly", phone: "+14154467821" }], websites: [{ label: "Get started with Pinnacle", url: "https://www.trypinnacle.app/" }] },
394
- # brand_verification_url: "https://www.pinnacle.sh/articles-of-incorporation.pdf",
465
+ # agent: { color: "#000000", description: "Experience the power of RCS messaging with interactive demos. Test rich features like carousels, suggested replies, and media sharing. Get started with our developer-friendly APIs.", emails: [{ email: "founders@trypinnacle.app", label: "Email Us" }], hero_url: "https://pncl.to/D6pDSqGxqgfbCfQmw4gXdnlHu4uSB4", icon_url: "https://pncl.to/mq_tdIDenRb5eYpJiM8-3THCaUBrZP", name: "Pinnacle - RCS Demo", phones: [{ label: "Contact us directly", phone: "+14154467821" }], websites: [{ label: "Get started with Pinnacle", url: "https://www.trypinnacle.app/" }] },
395
466
  # brand: "b_1234567890",
396
467
  # campaign_id: "rcs_1234567890",
397
468
  # expected_agent_responses: ["Here are the things I can help you with.", "I can assist you with booking an appointment, or you may choose to book manually.", "Here are the available times to connect with a representative tomorrow.", "Your appointment has been scheduled."],
398
469
  # links: { privacy_policy: "https://www.trypinnacle.app/privacy", terms_of_service: "https://www.trypinnacle.app/terms" },
399
- # opt_in: { method_: WEBSITE, terms_and_conditions: "Would you like to subscribe to Pinnacle?" },
400
- # opt_out: { description: "Reply STOP to opt-out anytime.", keywords: ["STOP", "UNSUBSCRIBE", "END"] },
401
- # use_case: { behavior: "Acts as a customer service representative.", value: OTHER }
470
+ # use_case: { behavior: "Pinnacle is a developer-focused RCS assistant that helps teams design, test, and optimize rich messaging experiences across SMS, MMS, and RCS. The agent acts as both an “onboarding guide” for new customers and a “best-practices coach” for existing teams exploring higher-value RCS workflows like rich cards, carousels, and suggested actions.<br>
471
+ # The agent delivers a mix of operational updates and educational content (2–6 messages/month). Content includes important platform notices (e.g., deliverability or throughput changes), implementation tips with sample RCS templates, and personalized recommendations on how to upgrade existing SMS campaigns into richer, higher-converting RCS conversations.
472
+ # ", value: OTHER },
473
+ # opt_in_terms_and_conditions: "We ensure consent through an explicit opt-in process that follows 10DLC best practices.Users must agree to receive messages from Pinnacle before the agent sends them any messages.<br>
474
+ # Users agree to these messages by signing an opt-in paper form that they can be found online at https://www.pinnacle.sh/opt-in. We only send messages once users have filled out the form and submitted it to us via email or through the dashboard.
475
+ # ",
476
+ # messaging_type: MULTI_USE,
477
+ # carrier_description: "Demonstrate the power of RCS to medium and large companies already sending massive SMS/MMS volumes through our platform. These clients send conversational messages in industries such as commerce, appointments, and customer support.",
478
+ # keywords: { help: { message: "Email founders@trypinnacle.app for support.", keywords: ["HELP", "SUPPORT"] }, opt_in: { message: "Welcome back to Pinnacle!<br>
479
+ # 🔔 You're now subscribed to Pinnacle - RCS Demo and will continue receiving important updates and news. Feel free to contact this us at any time for help.<br>
480
+ # Reply STOP to opt out and HELP for support. Message & rates may apply.
481
+ # ", keywords: ["START", "SUBSCRIBE"] }, opt_out: { message: "You've been unsubscribed from Pinnacle - RCS Demo and will no longer receive notifications. If you ever change your mind, reply START or SUBSCRIBE to rejoin anytime.", keywords: ["STOP", "UNSUBSCRIBE", "END"] } },
482
+ # traffic: { monthly_website: 10000, monthly_rcs_estimate: 10000 },
483
+ # agent_triggers: "The agent sends the first message when the user subscribes to Pinnacle. Messages are based on user actions such as pressing suggestion buttons. External triggers such as reminders can be setup by users in advance for a later time.",
484
+ # interaction_description: "The agent's primary interaction will be customer service — helping users with questions, troubleshooting issues, and providing quick assistance through chat. Other interactions include appointment management and sending notifications to the user.",
485
+ # is_conversational: true,
486
+ # cta_language: "By checking this box and submitting this form, you consent to receive transactional text messages for support, appointment, and reminder messages from Pinnacle Software Development Inc. Reply STOP to opt out. Reply HELP for help. Standard message and data rates may apply. Message frequency may vary. View our Terms and Conditions at https://www.pinnacle.sh/terms. View our Privacy Policy at https://www.pinnacle.sh/privacy.",
487
+ # demo_trigger: "Text "START" to trigger the flow."
402
488
  # )
403
- def upsert(agent: nil, brand_verification_url: nil, brand: nil, campaign_id: nil, expected_agent_responses: nil,
404
- links: nil, opt_in: nil, opt_out: nil, use_case: nil, request_options: nil)
489
+ def upsert(agent: nil, brand: nil, campaign_id: nil, expected_agent_responses: nil, links: nil, use_case: nil,
490
+ opt_in_terms_and_conditions: nil, messaging_type: nil, carrier_description: nil, keywords: nil, traffic: nil, agent_triggers: nil, interaction_description: nil, is_conversational: nil, cta_language: nil, demo_trigger: nil, request_options: nil)
405
491
  Async do
406
492
  response = @request_client.conn.post do |req|
407
493
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -417,14 +503,21 @@ module Pinnacle
417
503
  req.body = {
418
504
  **(request_options&.additional_body_parameters || {}),
419
505
  agent: agent,
420
- brandVerificationUrl: brand_verification_url,
421
506
  brand: brand,
422
507
  campaignId: campaign_id,
423
508
  expectedAgentResponses: expected_agent_responses,
424
509
  links: links,
425
- optIn: opt_in,
426
- optOut: opt_out,
427
- useCase: use_case
510
+ useCase: use_case,
511
+ optInTermsAndConditions: opt_in_terms_and_conditions,
512
+ messagingType: messaging_type,
513
+ carrierDescription: carrier_description,
514
+ keywords: keywords,
515
+ traffic: traffic,
516
+ agentTriggers: agent_triggers,
517
+ interactionDescription: interaction_description,
518
+ isConversational: is_conversational,
519
+ ctaLanguage: cta_language,
520
+ demoTrigger: demo_trigger
428
521
  }.compact
429
522
  req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs"
430
523
  end
@@ -11,11 +11,13 @@ module Pinnacle
11
11
  module Rcs
12
12
  module Types
13
13
  # Create an agent for the campaign.
14
- class UpsertRcsAgent
14
+ class RcsAgent
15
15
  # @return [String] Color of the agent's buttons. <br>
16
16
  # Must have sufficient contrast with white.
17
17
  attr_reader :color
18
- # @return [String] Description of the agent.
18
+ # @return [String] Description of the agent. <br>
19
+ # Be clear, concise, user-focused, and highlight what the agent does and the
20
+ # benefits it provides for the user.
19
21
  attr_reader :description
20
22
  # @return [Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentEmail>] List of emails (1-3 required).
21
23
  attr_reader :emails
@@ -23,7 +25,8 @@ module Pinnacle
23
25
  attr_reader :hero_url
24
26
  # @return [String] Link to the agent's icon. Icon must be an image file with dimensions 224x224px.
25
27
  attr_reader :icon_url
26
- # @return [String] Name of the agent.
28
+ # @return [String] Name of the agent. <br>
29
+ # Recommended format: [Brand Name] - [1-2 word description of purpose]
27
30
  attr_reader :name
28
31
  # @return [Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentPhone>] List of phone numbers (1-3 required).
29
32
  attr_reader :phones
@@ -39,15 +42,18 @@ module Pinnacle
39
42
 
40
43
  # @param color [String] Color of the agent's buttons. <br>
41
44
  # Must have sufficient contrast with white.
42
- # @param description [String] Description of the agent.
45
+ # @param description [String] Description of the agent. <br>
46
+ # Be clear, concise, user-focused, and highlight what the agent does and the
47
+ # benefits it provides for the user.
43
48
  # @param emails [Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentEmail>] List of emails (1-3 required).
44
49
  # @param hero_url [String] Link to the agent's hero. Hero must be an image file with dimensions 1440x448px.
45
50
  # @param icon_url [String] Link to the agent's icon. Icon must be an image file with dimensions 224x224px.
46
- # @param name [String] Name of the agent.
51
+ # @param name [String] Name of the agent. <br>
52
+ # Recommended format: [Brand Name] - [1-2 word description of purpose]
47
53
  # @param phones [Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentPhone>] List of phone numbers (1-3 required).
48
54
  # @param websites [Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentWebsite>] List of urls (1-3 required).
49
55
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
50
- # @return [Pinnacle::Campaigns::Rcs::Types::UpsertRcsAgent]
56
+ # @return [Pinnacle::Campaigns::Rcs::Types::RcsAgent]
51
57
  def initialize(color: OMIT, description: OMIT, emails: OMIT, hero_url: OMIT, icon_url: OMIT, name: OMIT,
52
58
  phones: OMIT, websites: OMIT, additional_properties: nil)
53
59
  @color = color if color != OMIT
@@ -73,10 +79,10 @@ module Pinnacle
73
79
  end
74
80
  end
75
81
 
76
- # Deserialize a JSON object to an instance of UpsertRcsAgent
82
+ # Deserialize a JSON object to an instance of RcsAgent
77
83
  #
78
84
  # @param json_object [String]
79
- # @return [Pinnacle::Campaigns::Rcs::Types::UpsertRcsAgent]
85
+ # @return [Pinnacle::Campaigns::Rcs::Types::RcsAgent]
80
86
  def self.from_json(json_object:)
81
87
  struct = JSON.parse(json_object, object_class: OpenStruct)
82
88
  parsed_json = JSON.parse(json_object)
@@ -110,7 +116,7 @@ module Pinnacle
110
116
  )
111
117
  end
112
118
 
113
- # Serialize an instance of UpsertRcsAgent to a JSON object
119
+ # Serialize an instance of RcsAgent to a JSON object
114
120
  #
115
121
  # @return [String]
116
122
  def to_json(*_args)