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.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rcs/brands/client.rb +36 -24
  3. data/lib/rcs/campaigns/dlc/client.rb +36 -26
  4. data/lib/rcs/campaigns/rcs/client.rb +26 -22
  5. data/lib/rcs/campaigns/rcs/types/rcs_autofill_response.rb +6 -6
  6. data/lib/rcs/campaigns/toll_free/client.rb +32 -26
  7. data/lib/rcs/campaigns/toll_free/types/toll_free_autofill_response.rb +6 -6
  8. data/lib/rcs/contacts/client.rb +10 -8
  9. data/lib/rcs/conversations/client.rb +144 -16
  10. data/lib/rcs/conversations/types/conversations_list_messages_request_direction.rb +12 -0
  11. data/lib/rcs/conversations/types/conversations_list_messages_request_sort_order.rb +12 -0
  12. data/lib/rcs/conversations/types/conversations_list_messages_request_status.rb +17 -0
  13. data/lib/rcs/conversations/types/conversations_list_messages_request_type.rb +13 -0
  14. data/lib/rcs/messages/client.rb +12 -29
  15. data/lib/rcs/messages/rcs/client.rb +125 -1
  16. data/lib/rcs/messages/rcs/types/send_typing_indicator_schema_options.rb +66 -0
  17. data/lib/rcs/phone_numbers/campaign/client.rb +20 -6
  18. data/lib/rcs/phone_numbers/client.rb +0 -14
  19. data/lib/rcs/phone_numbers/webhook/client.rb +12 -10
  20. data/lib/rcs/rcs/client.rb +32 -18
  21. data/lib/rcs/status/get/client.rb +32 -16
  22. data/lib/rcs/tools/contact_card/client.rb +18 -8
  23. data/lib/rcs/tools/file/client.rb +92 -2
  24. data/lib/rcs/tools/file/types/upload_file_options.rb +21 -3
  25. data/lib/rcs/tools/url/client.rb +4 -2
  26. data/lib/rcs/types/attach_webhook_by_id_params.rb +5 -5
  27. data/lib/rcs/types/attach_webhook_response_webhook.rb +5 -3
  28. data/lib/rcs/types/autofill_campaign_params.rb +15 -3
  29. data/lib/rcs/types/autofill_dlc_campaign_response.rb +10 -6
  30. data/lib/rcs/types/autofill_dlc_response_keywords.rb +8 -10
  31. data/lib/rcs/types/autofill_dlc_response_keywords_help.rb +3 -3
  32. data/lib/rcs/types/autofill_dlc_response_keywords_opt_in.rb +6 -4
  33. data/lib/rcs/types/autofill_dlc_response_keywords_opt_out.rb +3 -3
  34. data/lib/rcs/types/autofill_dlc_response_options.rb +12 -12
  35. data/lib/rcs/types/brand_status.rb +5 -3
  36. data/lib/rcs/types/{inbound_button.rb → button_clicked.rb} +7 -7
  37. data/lib/rcs/types/button_clicked_data.rb +80 -0
  38. data/lib/rcs/types/button_clicked_data_button.rb +118 -0
  39. data/lib/rcs/types/{click_action_data.rb → button_clicked_data_button_raw.rb} +10 -8
  40. data/lib/rcs/types/button_clicked_data_button_type.rb +15 -0
  41. data/lib/rcs/types/campaign_query.rb +10 -2
  42. data/lib/rcs/types/contact.rb +5 -3
  43. data/lib/rcs/types/contact_id.rb +5 -3
  44. data/lib/rcs/types/conversation.rb +16 -8
  45. data/lib/rcs/types/conversation_by_id_params.rb +7 -3
  46. data/lib/rcs/types/conversation_contact.rb +5 -3
  47. data/lib/rcs/types/conversation_list.rb +50 -28
  48. data/lib/rcs/types/create_url_options.rb +4 -2
  49. data/lib/rcs/types/detached_webhook_info.rb +5 -3
  50. data/lib/rcs/types/dlc_campaign_status.rb +5 -3
  51. data/lib/rcs/types/dlc_campaign_with_extended_brand_and_status.rb +21 -19
  52. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_help.rb +3 -3
  53. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_opt_in.rb +6 -4
  54. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_opt_out.rb +6 -4
  55. data/lib/rcs/types/extended_brand.rb +25 -13
  56. data/lib/rcs/types/extended_brand_with_vetting.rb +25 -13
  57. data/lib/rcs/types/extended_rcs_campaign.rb +25 -14
  58. data/lib/rcs/types/link_click_event.rb +1 -17
  59. data/lib/rcs/types/message.rb +5 -3
  60. data/lib/rcs/types/message_content.rb +4 -4
  61. data/lib/rcs/types/message_event.rb +143 -0
  62. data/lib/rcs/types/message_event_content.rb +127 -0
  63. data/lib/rcs/types/message_event_conversation.rb +82 -0
  64. data/lib/rcs/types/message_event_direction.rb +11 -0
  65. data/lib/rcs/types/message_event_mms_content.rb +94 -0
  66. data/lib/rcs/types/message_event_rcs_button_data.rb +104 -0
  67. data/lib/rcs/types/message_event_rcs_cards_content.rb +99 -0
  68. data/lib/rcs/types/message_event_rcs_cards_content_cards_item.rb +94 -0
  69. data/lib/rcs/types/message_event_rcs_location_data.rb +91 -0
  70. data/lib/rcs/types/message_event_rcs_media_content.rb +94 -0
  71. data/lib/rcs/types/message_event_rcs_text_content.rb +92 -0
  72. data/lib/rcs/types/message_event_sms_content.rb +81 -0
  73. data/lib/rcs/types/{retrieved_conversations.rb → message_list.rb} +26 -25
  74. data/lib/rcs/types/message_with_reaction.rb +197 -0
  75. data/lib/rcs/types/message_with_reaction_direction.rb +11 -0
  76. data/lib/rcs/types/{error_response.rb → not_found_error_body.rb} +7 -7
  77. data/lib/rcs/types/options.rb +111 -0
  78. data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item_campaign.rb +7 -3
  79. data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item_campaign.rb +7 -3
  80. data/lib/rcs/types/pinnacle_file_upload_metadata.rb +18 -2
  81. data/lib/rcs/types/profile_status_enum.rb +4 -4
  82. data/lib/rcs/types/rcs_base_options.rb +12 -1
  83. data/lib/rcs/types/rcs_button_call.rb +11 -2
  84. data/lib/rcs/types/rcs_button_open_url.rb +38 -2
  85. data/lib/rcs/types/rcs_button_open_url_webview_mode.rb +19 -0
  86. data/lib/rcs/types/rcs_button_request_user_location.rb +15 -3
  87. data/lib/rcs/types/rcs_button_schedule_event.rb +9 -1
  88. data/lib/rcs/types/rcs_button_send_location.rb +22 -2
  89. data/lib/rcs/types/rcs_button_trigger.rb +8 -6
  90. data/lib/rcs/types/rcs_campaign.rb +3 -3
  91. data/lib/rcs/types/rcs_campaign_schema_extra_agent.rb +8 -8
  92. data/lib/rcs/types/rcs_campaign_status.rb +5 -3
  93. data/lib/rcs/types/reaction_result.rb +10 -6
  94. data/lib/rcs/types/refreshed_file.rb +67 -0
  95. data/lib/rcs/types/rich_cards_message.rb +10 -10
  96. data/lib/rcs/types/{rcs.rb → rich_message.rb} +3 -3
  97. data/lib/rcs/types/scheduled_messaage.rb +5 -3
  98. data/lib/rcs/types/send_rcs_card_options.rb +132 -0
  99. data/lib/rcs/types/send_rcs_card_options_standalone_card.rb +78 -0
  100. data/lib/rcs/types/send_rcs_card_options_standalone_card_image_alignment.rb +12 -0
  101. data/lib/rcs/types/send_rcs_card_options_standalone_card_orientation.rb +11 -0
  102. data/lib/rcs/types/send_typing_indicator_response.rb +100 -0
  103. data/lib/rcs/types/sent_mms_details.rb +4 -2
  104. data/lib/rcs/types/sent_rcs_details.rb +12 -13
  105. data/lib/rcs/types/sent_sms_details.rb +5 -3
  106. data/lib/rcs/types/toll_free_campaign.rb +3 -3
  107. data/lib/rcs/types/toll_free_campaign_status.rb +5 -3
  108. data/lib/rcs/types/toll_free_campaign_with_extended_brand_and_status.rb +3 -5
  109. data/lib/rcs/types/updated_contact_id.rb +5 -3
  110. data/lib/rcs/types/user_event.rb +83 -0
  111. data/lib/rcs/types/user_event_conversation.rb +78 -0
  112. data/lib/rcs/types/v_card_data.rb +5 -3
  113. data/lib/rcs/types/validate_campaign_params.rb +15 -3
  114. data/lib/rcs/types/vcard.rb +5 -3
  115. data/lib/rcs/types/vcard_content.rb +5 -3
  116. data/lib/rcs/types/vcard_resource.rb +5 -3
  117. data/lib/rcs/types/webhook_event_enum.rb +1 -0
  118. data/lib/rcs/types/webhooks.rb +5 -3
  119. data/lib/requests.rb +2 -2
  120. data/lib/types_export.rb +37 -7
  121. metadata +41 -11
  122. data/lib/rcs/types/click_action.rb +0 -73
  123. data/lib/rcs/types/click_action_data_metadata.rb +0 -69
@@ -1,36 +1,66 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require_relative "conversation"
4
+ require "ostruct"
3
5
  require "json"
4
- require_relative "error_response"
5
- require_relative "retrieved_conversations"
6
6
 
7
7
  module Pinnacle
8
8
  module Types
9
9
  # Response for list conversation.
10
10
  class ConversationList
11
+ # @return [Integer] Total number of conversations matching the filter.
12
+ attr_reader :count
13
+ # @return [Array<Pinnacle::Types::Conversation>]
14
+ attr_reader :conversations
15
+ # @return [Boolean] Indicates if more conversations are available beyond the current page.
16
+ attr_reader :has_more
17
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
18
+ attr_reader :additional_properties
19
+ # @return [Object]
20
+ attr_reader :_field_set
21
+ protected :_field_set
22
+
23
+ OMIT = Object.new
24
+
25
+ # @param count [Integer] Total number of conversations matching the filter.
26
+ # @param conversations [Array<Pinnacle::Types::Conversation>]
27
+ # @param has_more [Boolean] Indicates if more conversations are available beyond the current page.
28
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
29
+ # @return [Pinnacle::Types::ConversationList]
30
+ def initialize(count:, conversations:, has_more:, additional_properties: nil)
31
+ @count = count
32
+ @conversations = conversations
33
+ @has_more = has_more
34
+ @additional_properties = additional_properties
35
+ @_field_set = { "count": count, "conversations": conversations, "hasMore": has_more }
36
+ end
37
+
11
38
  # Deserialize a JSON object to an instance of ConversationList
12
39
  #
13
40
  # @param json_object [String]
14
41
  # @return [Pinnacle::Types::ConversationList]
15
42
  def self.from_json(json_object:)
16
43
  struct = JSON.parse(json_object, object_class: OpenStruct)
17
- begin
18
- Pinnacle::Types::ErrorResponse.validate_raw(obj: struct)
19
- return Pinnacle::Types::ErrorResponse.from_json(json_object: struct) unless struct.nil?
20
-
21
- return nil
22
- rescue StandardError
23
- # noop
44
+ parsed_json = JSON.parse(json_object)
45
+ count = parsed_json["count"]
46
+ conversations = parsed_json["conversations"]&.map do |item|
47
+ item = item.to_json
48
+ Pinnacle::Types::Conversation.from_json(json_object: item)
24
49
  end
25
- begin
26
- Pinnacle::Types::RetrievedConversations.validate_raw(obj: struct)
27
- return Pinnacle::Types::RetrievedConversations.from_json(json_object: struct) unless struct.nil?
50
+ has_more = parsed_json["hasMore"]
51
+ new(
52
+ count: count,
53
+ conversations: conversations,
54
+ has_more: has_more,
55
+ additional_properties: struct
56
+ )
57
+ end
28
58
 
29
- return nil
30
- rescue StandardError
31
- # noop
32
- end
33
- struct
59
+ # Serialize an instance of ConversationList to a JSON object
60
+ #
61
+ # @return [String]
62
+ def to_json(*_args)
63
+ @_field_set&.to_json
34
64
  end
35
65
 
36
66
  # Leveraged for Union-type generation, validate_raw attempts to parse the given
@@ -40,17 +70,9 @@ module Pinnacle
40
70
  # @param obj [Object]
41
71
  # @return [Void]
42
72
  def self.validate_raw(obj:)
43
- begin
44
- return Pinnacle::Types::ErrorResponse.validate_raw(obj: obj)
45
- rescue StandardError
46
- # noop
47
- end
48
- begin
49
- return Pinnacle::Types::RetrievedConversations.validate_raw(obj: obj)
50
- rescue StandardError
51
- # noop
52
- end
53
- raise("Passed value matched no type within the union, validation failed.")
73
+ obj.count.is_a?(Integer) != false || raise("Passed value for field obj.count is not the expected type, validation failed.")
74
+ obj.conversations.is_a?(Array) != false || raise("Passed value for field obj.conversations is not the expected type, validation failed.")
75
+ obj.has_more.is_a?(Boolean) != false || raise("Passed value for field obj.has_more is not the expected type, validation failed.")
54
76
  end
55
77
  end
56
78
  end
@@ -7,7 +7,8 @@ module Pinnacle
7
7
  module Types
8
8
  class CreateUrlOptions
9
9
  # @return [String] Expiration date in ISO 8601 format for the shortened URL. <br>
10
- # If omitted, then a permalink is generated instead.
10
+ # If omitted, then a permalink is generated instead. Short permalinks contain a
11
+ # 30-digit link id. Short links with an expiration date contain a 8-digit link id.
11
12
  attr_reader :expires_at
12
13
  # @return [OpenStruct] Additional properties unmapped to the current class definition
13
14
  attr_reader :additional_properties
@@ -18,7 +19,8 @@ module Pinnacle
18
19
  OMIT = Object.new
19
20
 
20
21
  # @param expires_at [String] Expiration date in ISO 8601 format for the shortened URL. <br>
21
- # If omitted, then a permalink is generated instead.
22
+ # If omitted, then a permalink is generated instead. Short permalinks contain a
23
+ # 30-digit link id. Short links with an expiration date contain a 8-digit link id.
22
24
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
23
25
  # @return [Pinnacle::Types::CreateUrlOptions]
24
26
  def initialize(expires_at: OMIT, additional_properties: nil)
@@ -8,7 +8,8 @@ module Pinnacle
8
8
  class DetachedWebhookInfo
9
9
  # @return [String] Confirmation message.
10
10
  attr_reader :message
11
- # @return [Integer] ID of the detached webhook.
11
+ # @return [String] Unique identifier of the webhook within the account. This identifier is a string
12
+ # that always begins with the prefix `wh_`, for example: `wh_1234567890`.
12
13
  attr_reader :webhook_id
13
14
  # @return [String] Phone number the webhook was detached from in E.164 format.
14
15
  attr_reader :phone_number
@@ -21,7 +22,8 @@ module Pinnacle
21
22
  OMIT = Object.new
22
23
 
23
24
  # @param message [String] Confirmation message.
24
- # @param webhook_id [Integer] ID of the detached webhook.
25
+ # @param webhook_id [String] Unique identifier of the webhook within the account. This identifier is a string
26
+ # that always begins with the prefix `wh_`, for example: `wh_1234567890`.
25
27
  # @param phone_number [String] Phone number the webhook was detached from in E.164 format.
26
28
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
27
29
  # @return [Pinnacle::Types::DetachedWebhookInfo]
@@ -66,7 +68,7 @@ module Pinnacle
66
68
  # @return [Void]
67
69
  def self.validate_raw(obj:)
68
70
  obj.message.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
69
- obj.webhook_id.is_a?(Integer) != false || raise("Passed value for field obj.webhook_id is not the expected type, validation failed.")
71
+ obj.webhook_id.is_a?(String) != false || raise("Passed value for field obj.webhook_id is not the expected type, validation failed.")
70
72
  obj.phone_number.is_a?(String) != false || raise("Passed value for field obj.phone_number is not the expected type, validation failed.")
71
73
  end
72
74
  end
@@ -13,7 +13,8 @@ module Pinnacle
13
13
  # These errors may request additional information or point out erroneous and/or
14
14
  # missing fields.
15
15
  attr_reader :error
16
- # @return [Integer] Id of the DLC campaign.
16
+ # @return [String] The unique identifier of the 10DLC campaign. This identifier is a string that
17
+ # always begins with the prefix `dlc_`, for example: `dlc_1234567890`.
17
18
  attr_reader :id
18
19
  # @return [Pinnacle::Types::ProfileStatusEnum] Current review status of the DLC campaign. <br>
19
20
  # `INCOMPLETE`: Not submitted.<br>
@@ -37,7 +38,8 @@ module Pinnacle
37
38
  # @param error [String] Summary of errors related to the verification process. <br>
38
39
  # These errors may request additional information or point out erroneous and/or
39
40
  # missing fields.
40
- # @param id [Integer] Id of the DLC campaign.
41
+ # @param id [String] The unique identifier of the 10DLC campaign. This identifier is a string that
42
+ # always begins with the prefix `dlc_`, for example: `dlc_1234567890`.
41
43
  # @param status [Pinnacle::Types::ProfileStatusEnum] Current review status of the DLC campaign. <br>
42
44
  # `INCOMPLETE`: Not submitted.<br>
43
45
  # `IN REVIEW`: Being reviewed by carriers.<br>
@@ -98,7 +100,7 @@ module Pinnacle
98
100
  # @return [Void]
99
101
  def self.validate_raw(obj:)
100
102
  obj.error.is_a?(String) != false || raise("Passed value for field obj.error is not the expected type, validation failed.")
101
- obj.id.is_a?(Integer) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
103
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
102
104
  obj.status.is_a?(Pinnacle::Types::ProfileStatusEnum) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
103
105
  Pinnacle::Types::GetDlcCampaignStatusResponseUpdates.validate_raw(obj: obj.updates)
104
106
  end
@@ -17,7 +17,8 @@ module Pinnacle
17
17
  attr_reader :auto_renew
18
18
  # @return [Pinnacle::Types::ExtendedBrand] Brand associated with this campaign.
19
19
  attr_reader :brand
20
- # @return [Integer] Unique identifier for the campaign.
20
+ # @return [String] Unique identifier for the campaign. This identifier is a string that always
21
+ # begins with the prefix `dlc_`, for example: `dlc_1234567890`.
21
22
  attr_reader :campaign_id
22
23
  # @return [String] Description of the campaign.
23
24
  attr_reader :description
@@ -33,11 +34,11 @@ module Pinnacle
33
34
  attr_reader :options
34
35
  # @return [Array<String>] Example messages for the campaign.
35
36
  attr_reader :sample_messages
36
- # @return [Pinnacle::Types::ProfileStatusEnum] Current review status of the campaign.<br>
37
- # `INCOMPLETE`: Not submitted.<br>
38
- # `IN REVIEW`: Being reviewed by carriers.<br>
39
- # `VERIFIED`: Approved and ready to send messages.<br>
40
- # `FAILED`: Issues and errors related to the campaign's details.<br>
37
+ # @return [Pinnacle::Types::ProfileStatusEnum] Current review status of the campaign. <br>
38
+ # `INCOMPLETE`: Not submitted. <br>
39
+ # `IN REVIEW`: Being reviewed by carriers. <br>
40
+ # `VERIFIED`: Approved and ready to send messages. <br>
41
+ # `FAILED`: Issues and errors related to the campaign's details.
41
42
  attr_reader :status
42
43
  # @return [Pinnacle::Types::DlcWithExtendedBrandAndStatusUseCase] Use case for the campaign.
43
44
  attr_reader :use_case
@@ -51,7 +52,8 @@ module Pinnacle
51
52
 
52
53
  # @param auto_renew [Boolean] Whether the campaign renews automatically.
53
54
  # @param brand [Pinnacle::Types::ExtendedBrand] Brand associated with this campaign.
54
- # @param campaign_id [Integer] Unique identifier for the campaign.
55
+ # @param campaign_id [String] Unique identifier for the campaign. This identifier is a string that always
56
+ # begins with the prefix `dlc_`, for example: `dlc_1234567890`.
55
57
  # @param description [String] Description of the campaign.
56
58
  # @param keywords [Pinnacle::Types::DlcWithExtendedBrandAndStatusKeywords] Keyword response configuration.
57
59
  # @param links [Pinnacle::Types::DlcWithExtendedBrandAndStatusLinks] Legal documentation links.
@@ -59,25 +61,25 @@ module Pinnacle
59
61
  # @param name [String] Display name of the campaign.
60
62
  # @param options [Pinnacle::Types::DlcWithExtendedBrandAndStatusOptions] Campaign configuration options.
61
63
  # @param sample_messages [Array<String>] Example messages for the campaign.
62
- # @param status [Pinnacle::Types::ProfileStatusEnum] Current review status of the campaign.<br>
63
- # `INCOMPLETE`: Not submitted.<br>
64
- # `IN REVIEW`: Being reviewed by carriers.<br>
65
- # `VERIFIED`: Approved and ready to send messages.<br>
66
- # `FAILED`: Issues and errors related to the campaign's details.<br>
64
+ # @param status [Pinnacle::Types::ProfileStatusEnum] Current review status of the campaign. <br>
65
+ # `INCOMPLETE`: Not submitted. <br>
66
+ # `IN REVIEW`: Being reviewed by carriers. <br>
67
+ # `VERIFIED`: Approved and ready to send messages. <br>
68
+ # `FAILED`: Issues and errors related to the campaign's details.
67
69
  # @param use_case [Pinnacle::Types::DlcWithExtendedBrandAndStatusUseCase] Use case for the campaign.
68
70
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
69
71
  # @return [Pinnacle::Types::DlcCampaignWithExtendedBrandAndStatus]
70
- def initialize(auto_renew:, brand:, status:, campaign_id: OMIT, description: OMIT, keywords: OMIT, links: OMIT,
71
- message_flow: OMIT, name: OMIT, options: OMIT, sample_messages: OMIT, use_case: OMIT, additional_properties: nil)
72
+ def initialize(auto_renew:, brand:, keywords:, options:, status:, campaign_id: OMIT, description: OMIT, links: OMIT,
73
+ message_flow: OMIT, name: OMIT, sample_messages: OMIT, use_case: OMIT, additional_properties: nil)
72
74
  @auto_renew = auto_renew
73
75
  @brand = brand
74
76
  @campaign_id = campaign_id if campaign_id != OMIT
75
77
  @description = description if description != OMIT
76
- @keywords = keywords if keywords != OMIT
78
+ @keywords = keywords
77
79
  @links = links if links != OMIT
78
80
  @message_flow = message_flow if message_flow != OMIT
79
81
  @name = name if name != OMIT
80
- @options = options if options != OMIT
82
+ @options = options
81
83
  @sample_messages = sample_messages if sample_messages != OMIT
82
84
  @status = status
83
85
  @use_case = use_case if use_case != OMIT
@@ -178,13 +180,13 @@ module Pinnacle
178
180
  def self.validate_raw(obj:)
179
181
  obj.auto_renew.is_a?(Boolean) != false || raise("Passed value for field obj.auto_renew is not the expected type, validation failed.")
180
182
  Pinnacle::Types::ExtendedBrand.validate_raw(obj: obj.brand)
181
- obj.campaign_id&.is_a?(Integer) != false || raise("Passed value for field obj.campaign_id is not the expected type, validation failed.")
183
+ obj.campaign_id&.is_a?(String) != false || raise("Passed value for field obj.campaign_id is not the expected type, validation failed.")
182
184
  obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
183
- obj.keywords.nil? || Pinnacle::Types::DlcWithExtendedBrandAndStatusKeywords.validate_raw(obj: obj.keywords)
185
+ Pinnacle::Types::DlcWithExtendedBrandAndStatusKeywords.validate_raw(obj: obj.keywords)
184
186
  obj.links.nil? || Pinnacle::Types::DlcWithExtendedBrandAndStatusLinks.validate_raw(obj: obj.links)
185
187
  obj.message_flow&.is_a?(String) != false || raise("Passed value for field obj.message_flow is not the expected type, validation failed.")
186
188
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
187
- obj.options.nil? || Pinnacle::Types::DlcWithExtendedBrandAndStatusOptions.validate_raw(obj: obj.options)
189
+ Pinnacle::Types::DlcWithExtendedBrandAndStatusOptions.validate_raw(obj: obj.options)
188
190
  obj.sample_messages&.is_a?(Array) != false || raise("Passed value for field obj.sample_messages is not the expected type, validation failed.")
189
191
  obj.status.is_a?(Pinnacle::Types::ProfileStatusEnum) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
190
192
  obj.use_case.nil? || Pinnacle::Types::DlcWithExtendedBrandAndStatusUseCase.validate_raw(obj: obj.use_case)
@@ -23,9 +23,9 @@ module Pinnacle
23
23
  # @param values [Array<String>] Keywords that trigger help response.
24
24
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
25
25
  # @return [Pinnacle::Types::DlcWithExtendedBrandAndStatusKeywordsHelp]
26
- def initialize(message: OMIT, values: OMIT, additional_properties: nil)
26
+ def initialize(values:, message: OMIT, additional_properties: nil)
27
27
  @message = message if message != OMIT
28
- @values = values if values != OMIT
28
+ @values = values
29
29
  @additional_properties = additional_properties
30
30
  @_field_set = { "message": message, "values": values }.reject do |_k, v|
31
31
  v == OMIT
@@ -65,7 +65,7 @@ module Pinnacle
65
65
  # @return [Void]
66
66
  def self.validate_raw(obj:)
67
67
  obj.message&.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
68
- obj.values&.is_a?(Array) != false || raise("Passed value for field obj.values is not the expected type, validation failed.")
68
+ obj.values.is_a?(Array) != false || raise("Passed value for field obj.values is not the expected type, validation failed.")
69
69
  end
70
70
  end
71
71
  end
@@ -23,11 +23,13 @@ module Pinnacle
23
23
  # @param values [Array<String>] Keywords that trigger opt-in.
24
24
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
25
25
  # @return [Pinnacle::Types::DlcWithExtendedBrandAndStatusKeywordsOptIn]
26
- def initialize(message:, values:, additional_properties: nil)
27
- @message = message
26
+ def initialize(values:, message: OMIT, additional_properties: nil)
27
+ @message = message if message != OMIT
28
28
  @values = values
29
29
  @additional_properties = additional_properties
30
- @_field_set = { "message": message, "values": values }
30
+ @_field_set = { "message": message, "values": values }.reject do |_k, v|
31
+ v == OMIT
32
+ end
31
33
  end
32
34
 
33
35
  # Deserialize a JSON object to an instance of
@@ -62,7 +64,7 @@ module Pinnacle
62
64
  # @param obj [Object]
63
65
  # @return [Void]
64
66
  def self.validate_raw(obj:)
65
- obj.message.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
67
+ obj.message&.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
66
68
  obj.values.is_a?(Array) != false || raise("Passed value for field obj.values is not the expected type, validation failed.")
67
69
  end
68
70
  end
@@ -23,11 +23,13 @@ module Pinnacle
23
23
  # @param values [Array<String>] Keywords that trigger opt-out.
24
24
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
25
25
  # @return [Pinnacle::Types::DlcWithExtendedBrandAndStatusKeywordsOptOut]
26
- def initialize(message:, values:, additional_properties: nil)
27
- @message = message
26
+ def initialize(values:, message: OMIT, additional_properties: nil)
27
+ @message = message if message != OMIT
28
28
  @values = values
29
29
  @additional_properties = additional_properties
30
- @_field_set = { "message": message, "values": values }
30
+ @_field_set = { "message": message, "values": values }.reject do |_k, v|
31
+ v == OMIT
32
+ end
31
33
  end
32
34
 
33
35
  # Deserialize a JSON object to an instance of
@@ -62,7 +64,7 @@ module Pinnacle
62
64
  # @param obj [Object]
63
65
  # @return [Void]
64
66
  def self.validate_raw(obj:)
65
- obj.message.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
67
+ obj.message&.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
66
68
  obj.values.is_a?(Array) != false || raise("Passed value for field obj.values is not the expected type, validation failed.")
67
69
  end
68
70
  end
@@ -12,15 +12,21 @@ module Pinnacle
12
12
  class ExtendedBrand
13
13
  # @return [String] ISO 8601 formatted timestamp of when this brand was added to our system.
14
14
  attr_reader :created_at
15
- # @return [Integer] The brand's ID.
15
+ # @return [String] The brand's ID. This identifier is a string that always begins with the prefix
16
+ # `b_`, for example: `b_1234567890`.
16
17
  attr_reader :id
17
18
  # @return [Boolean] Indicates if this brand is archived.
18
19
  attr_reader :is_archived
19
- # @return [Pinnacle::Types::BrandStatusEnum] Current review status of the campaign.<br>
20
- # `INCOMPLETE`: Not submitted.<br>
21
- # `IN REVIEW`: Being reviewed by carriers.<br>
22
- # `VERIFIED`: Approved and ready to send messages.<br>
23
- # `FAILED`: Issues and errors related to the campaign's details.
20
+ # @return [Pinnacle::Types::BrandStatusEnum] Current review status of the brand. <br>
21
+ # `INCOMPLETE`: Not submitted. <br>
22
+ # `IN REVIEW`: Being reviewed by carriers. <br>
23
+ # `VERIFIED`: Approved and ready to send messages. <br>
24
+ # `FAILED`: Issues and errors related to the campaign's details. <br>
25
+ # `VETTED`: Has undergone additional vetting by a third party service post the
26
+ # brand being verified. Your brand will be assigned a trust score, with higher
27
+ # trust scores having higher message volumes. <br>
28
+ # `UNVERIFIED`: Brand details have been updated, and the brand will need to
29
+ # undergo re-verification.
24
30
  attr_reader :status
25
31
  # @return [String] ISO 8601 formatted timestamp of when this brand was last updated.
26
32
  attr_reader :updated_at
@@ -53,13 +59,19 @@ module Pinnacle
53
59
  OMIT = Object.new
54
60
 
55
61
  # @param created_at [String] ISO 8601 formatted timestamp of when this brand was added to our system.
56
- # @param id [Integer] The brand's ID.
62
+ # @param id [String] The brand's ID. This identifier is a string that always begins with the prefix
63
+ # `b_`, for example: `b_1234567890`.
57
64
  # @param is_archived [Boolean] Indicates if this brand is archived.
58
- # @param status [Pinnacle::Types::BrandStatusEnum] Current review status of the campaign.<br>
59
- # `INCOMPLETE`: Not submitted.<br>
60
- # `IN REVIEW`: Being reviewed by carriers.<br>
61
- # `VERIFIED`: Approved and ready to send messages.<br>
62
- # `FAILED`: Issues and errors related to the campaign's details.
65
+ # @param status [Pinnacle::Types::BrandStatusEnum] Current review status of the brand. <br>
66
+ # `INCOMPLETE`: Not submitted. <br>
67
+ # `IN REVIEW`: Being reviewed by carriers. <br>
68
+ # `VERIFIED`: Approved and ready to send messages. <br>
69
+ # `FAILED`: Issues and errors related to the campaign's details. <br>
70
+ # `VETTED`: Has undergone additional vetting by a third party service post the
71
+ # brand being verified. Your brand will be assigned a trust score, with higher
72
+ # trust scores having higher message volumes. <br>
73
+ # `UNVERIFIED`: Brand details have been updated, and the brand will need to
74
+ # undergo re-verification.
63
75
  # @param updated_at [String] ISO 8601 formatted timestamp of when this brand was last updated.
64
76
  # @param address [String] Primary brand address where this brand is located.
65
77
  # @param contact [Pinnacle::Types::OptionalContacts]
@@ -174,7 +186,7 @@ module Pinnacle
174
186
  # @return [Void]
175
187
  def self.validate_raw(obj:)
176
188
  obj.created_at.is_a?(String) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
177
- obj.id.is_a?(Integer) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
189
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
178
190
  obj.is_archived.is_a?(Boolean) != false || raise("Passed value for field obj.is_archived is not the expected type, validation failed.")
179
191
  obj.status.is_a?(Pinnacle::Types::BrandStatusEnum) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
180
192
  obj.updated_at.is_a?(String) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
@@ -20,15 +20,21 @@ module Pinnacle
20
20
  attr_reader :vetting_history
21
21
  # @return [String] ISO 8601 formatted timestamp of when this brand was added to our system.
22
22
  attr_reader :created_at
23
- # @return [Integer] The brand's ID.
23
+ # @return [String] The brand's ID. This identifier is a string that always begins with the prefix
24
+ # `b_`, for example: `b_1234567890`.
24
25
  attr_reader :id
25
26
  # @return [Boolean] Indicates if this brand is archived.
26
27
  attr_reader :is_archived
27
- # @return [Pinnacle::Types::BrandStatusEnum] Current review status of the campaign.<br>
28
- # `INCOMPLETE`: Not submitted.<br>
29
- # `IN REVIEW`: Being reviewed by carriers.<br>
30
- # `VERIFIED`: Approved and ready to send messages.<br>
31
- # `FAILED`: Issues and errors related to the campaign's details.
28
+ # @return [Pinnacle::Types::BrandStatusEnum] Current review status of the brand. <br>
29
+ # `INCOMPLETE`: Not submitted. <br>
30
+ # `IN REVIEW`: Being reviewed by carriers. <br>
31
+ # `VERIFIED`: Approved and ready to send messages. <br>
32
+ # `FAILED`: Issues and errors related to the campaign's details. <br>
33
+ # `VETTED`: Has undergone additional vetting by a third party service post the
34
+ # brand being verified. Your brand will be assigned a trust score, with higher
35
+ # trust scores having higher message volumes. <br>
36
+ # `UNVERIFIED`: Brand details have been updated, and the brand will need to
37
+ # undergo re-verification.
32
38
  attr_reader :status
33
39
  # @return [String] ISO 8601 formatted timestamp of when this brand was last updated.
34
40
  attr_reader :updated_at
@@ -64,13 +70,19 @@ module Pinnacle
64
70
  # @param tcr_feedback [Array<Pinnacle::Types::VettingFeedback>] Feedback from The Campaign Registry if TCR vetting was performed.
65
71
  # @param vetting_history [Array<Pinnacle::Types::VettingHistory>] History of all external vetting attempts for this brand.
66
72
  # @param created_at [String] ISO 8601 formatted timestamp of when this brand was added to our system.
67
- # @param id [Integer] The brand's ID.
73
+ # @param id [String] The brand's ID. This identifier is a string that always begins with the prefix
74
+ # `b_`, for example: `b_1234567890`.
68
75
  # @param is_archived [Boolean] Indicates if this brand is archived.
69
- # @param status [Pinnacle::Types::BrandStatusEnum] Current review status of the campaign.<br>
70
- # `INCOMPLETE`: Not submitted.<br>
71
- # `IN REVIEW`: Being reviewed by carriers.<br>
72
- # `VERIFIED`: Approved and ready to send messages.<br>
73
- # `FAILED`: Issues and errors related to the campaign's details.
76
+ # @param status [Pinnacle::Types::BrandStatusEnum] Current review status of the brand. <br>
77
+ # `INCOMPLETE`: Not submitted. <br>
78
+ # `IN REVIEW`: Being reviewed by carriers. <br>
79
+ # `VERIFIED`: Approved and ready to send messages. <br>
80
+ # `FAILED`: Issues and errors related to the campaign's details. <br>
81
+ # `VETTED`: Has undergone additional vetting by a third party service post the
82
+ # brand being verified. Your brand will be assigned a trust score, with higher
83
+ # trust scores having higher message volumes. <br>
84
+ # `UNVERIFIED`: Brand details have been updated, and the brand will need to
85
+ # undergo re-verification.
74
86
  # @param updated_at [String] ISO 8601 formatted timestamp of when this brand was last updated.
75
87
  # @param address [String] Primary brand address where this brand is located.
76
88
  # @param contact [Pinnacle::Types::OptionalContacts]
@@ -206,7 +218,7 @@ module Pinnacle
206
218
  obj.tcr_feedback&.is_a?(Array) != false || raise("Passed value for field obj.tcr_feedback is not the expected type, validation failed.")
207
219
  obj.vetting_history.is_a?(Array) != false || raise("Passed value for field obj.vetting_history is not the expected type, validation failed.")
208
220
  obj.created_at.is_a?(String) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
209
- obj.id.is_a?(Integer) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
221
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
210
222
  obj.is_archived.is_a?(Boolean) != false || raise("Passed value for field obj.is_archived is not the expected type, validation failed.")
211
223
  obj.status.is_a?(Pinnacle::Types::BrandStatusEnum) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
212
224
  obj.updated_at.is_a?(String) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
@@ -3,6 +3,7 @@
3
3
  require_relative "rcs_campaign_schema_extra_agent"
4
4
  require_relative "extended_brand"
5
5
  require_relative "rcs_campaign_schema_extra_links"
6
+ require_relative "profile_status_enum"
6
7
  require_relative "rcs_campaign_schema_extra_opt_in"
7
8
  require_relative "rcs_campaign_schema_extra_opt_out"
8
9
  require_relative "rcs_campaign_schema_extra_use_case"
@@ -24,12 +25,15 @@ module Pinnacle
24
25
  attr_reader :brand_verification_url
25
26
  # @return [Boolean] Indicates whether the brand has provided an attestation.
26
27
  attr_reader :brand_attestation
27
- # @return [Integer] Unique identifier for the campaign.
28
+ # @return [String] Unique identifier for the campaign. This identifier is a string that always
29
+ # begins with the prefix `rcs_`, for example: `rcs_1234567890`.
28
30
  attr_reader :campaign_id
29
31
  # @return [Array<String>] List of what the agent might say to users.
30
32
  attr_reader :expected_agent_responses
31
33
  # @return [Pinnacle::Types::RcsCampaignSchemaExtraLinks] Legal documentation links.
32
34
  attr_reader :links
35
+ # @return [Pinnacle::Types::ProfileStatusEnum]
36
+ attr_reader :status
33
37
  # @return [Pinnacle::Types::RcsCampaignSchemaExtraOptIn] Opt-in configuration.
34
38
  attr_reader :opt_in
35
39
  # @return [Pinnacle::Types::RcsCampaignSchemaExtraOptOut] Opt-out configuration.
@@ -51,27 +55,30 @@ module Pinnacle
51
55
  # incorporation, business license, or other relevant document. You can typically
52
56
  # find this on the Secretary of State website.
53
57
  # @param brand_attestation [Boolean] Indicates whether the brand has provided an attestation.
54
- # @param campaign_id [Integer] Unique identifier for the campaign.
58
+ # @param campaign_id [String] Unique identifier for the campaign. This identifier is a string that always
59
+ # begins with the prefix `rcs_`, for example: `rcs_1234567890`.
55
60
  # @param expected_agent_responses [Array<String>] List of what the agent might say to users.
56
61
  # @param links [Pinnacle::Types::RcsCampaignSchemaExtraLinks] Legal documentation links.
62
+ # @param status [Pinnacle::Types::ProfileStatusEnum]
57
63
  # @param opt_in [Pinnacle::Types::RcsCampaignSchemaExtraOptIn] Opt-in configuration.
58
64
  # @param opt_out [Pinnacle::Types::RcsCampaignSchemaExtraOptOut] Opt-out configuration.
59
65
  # @param use_case [Pinnacle::Types::RcsCampaignSchemaExtraUseCase] Use case classification for the campaign.
60
66
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
61
67
  # @return [Pinnacle::Types::ExtendedRcsCampaign]
62
- def initialize(agent:, agent_id:, brand:, brand_attestation:, campaign_id:, links:, opt_in:, opt_out:, use_case:, brand_verification_url: OMIT,
63
- expected_agent_responses: OMIT, additional_properties: nil)
68
+ def initialize(agent:, agent_id:, brand:, brand_attestation:, status:, brand_verification_url: OMIT, campaign_id: OMIT,
69
+ expected_agent_responses: OMIT, links: OMIT, opt_in: OMIT, opt_out: OMIT, use_case: OMIT, additional_properties: nil)
64
70
  @agent = agent
65
71
  @agent_id = agent_id
66
72
  @brand = brand
67
73
  @brand_verification_url = brand_verification_url if brand_verification_url != OMIT
68
74
  @brand_attestation = brand_attestation
69
- @campaign_id = campaign_id
75
+ @campaign_id = campaign_id if campaign_id != OMIT
70
76
  @expected_agent_responses = expected_agent_responses if expected_agent_responses != OMIT
71
- @links = links
72
- @opt_in = opt_in
73
- @opt_out = opt_out
74
- @use_case = use_case
77
+ @links = links if links != OMIT
78
+ @status = status
79
+ @opt_in = opt_in if opt_in != OMIT
80
+ @opt_out = opt_out if opt_out != OMIT
81
+ @use_case = use_case if use_case != OMIT
75
82
  @additional_properties = additional_properties
76
83
  @_field_set = {
77
84
  "agent": agent,
@@ -82,6 +89,7 @@ module Pinnacle
82
89
  "campaignId": campaign_id,
83
90
  "expectedAgentResponses": expected_agent_responses,
84
91
  "links": links,
92
+ "status": status,
85
93
  "optIn": opt_in,
86
94
  "optOut": opt_out,
87
95
  "useCase": use_case
@@ -120,6 +128,7 @@ module Pinnacle
120
128
  links = parsed_json["links"].to_json
121
129
  links = Pinnacle::Types::RcsCampaignSchemaExtraLinks.from_json(json_object: links)
122
130
  end
131
+ status = parsed_json["status"]
123
132
  if parsed_json["optIn"].nil?
124
133
  opt_in = nil
125
134
  else
@@ -147,6 +156,7 @@ module Pinnacle
147
156
  campaign_id: campaign_id,
148
157
  expected_agent_responses: expected_agent_responses,
149
158
  links: links,
159
+ status: status,
150
160
  opt_in: opt_in,
151
161
  opt_out: opt_out,
152
162
  use_case: use_case,
@@ -173,12 +183,13 @@ module Pinnacle
173
183
  Pinnacle::Types::ExtendedBrand.validate_raw(obj: obj.brand)
174
184
  obj.brand_verification_url&.is_a?(String) != false || raise("Passed value for field obj.brand_verification_url is not the expected type, validation failed.")
175
185
  obj.brand_attestation.is_a?(Boolean) != false || raise("Passed value for field obj.brand_attestation is not the expected type, validation failed.")
176
- obj.campaign_id.is_a?(Integer) != false || raise("Passed value for field obj.campaign_id is not the expected type, validation failed.")
186
+ obj.campaign_id&.is_a?(String) != false || raise("Passed value for field obj.campaign_id is not the expected type, validation failed.")
177
187
  obj.expected_agent_responses&.is_a?(Array) != false || raise("Passed value for field obj.expected_agent_responses is not the expected type, validation failed.")
178
- Pinnacle::Types::RcsCampaignSchemaExtraLinks.validate_raw(obj: obj.links)
179
- Pinnacle::Types::RcsCampaignSchemaExtraOptIn.validate_raw(obj: obj.opt_in)
180
- Pinnacle::Types::RcsCampaignSchemaExtraOptOut.validate_raw(obj: obj.opt_out)
181
- Pinnacle::Types::RcsCampaignSchemaExtraUseCase.validate_raw(obj: obj.use_case)
188
+ obj.links.nil? || Pinnacle::Types::RcsCampaignSchemaExtraLinks.validate_raw(obj: obj.links)
189
+ obj.status.is_a?(Pinnacle::Types::ProfileStatusEnum) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
190
+ obj.opt_in.nil? || Pinnacle::Types::RcsCampaignSchemaExtraOptIn.validate_raw(obj: obj.opt_in)
191
+ obj.opt_out.nil? || Pinnacle::Types::RcsCampaignSchemaExtraOptOut.validate_raw(obj: obj.opt_out)
192
+ obj.use_case.nil? || Pinnacle::Types::RcsCampaignSchemaExtraUseCase.validate_raw(obj: obj.use_case)
182
193
  end
183
194
  end
184
195
  end